图像通信系统设计与仿真课程设计Word格式.docx

上传人:b****5 文档编号:21768601 上传时间:2023-02-01 格式:DOCX 页数:11 大小:85.58KB
下载 相关 举报
图像通信系统设计与仿真课程设计Word格式.docx_第1页
第1页 / 共11页
图像通信系统设计与仿真课程设计Word格式.docx_第2页
第2页 / 共11页
图像通信系统设计与仿真课程设计Word格式.docx_第3页
第3页 / 共11页
图像通信系统设计与仿真课程设计Word格式.docx_第4页
第4页 / 共11页
图像通信系统设计与仿真课程设计Word格式.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

图像通信系统设计与仿真课程设计Word格式.docx

《图像通信系统设计与仿真课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《图像通信系统设计与仿真课程设计Word格式.docx(11页珍藏版)》请在冰豆网上搜索。

图像通信系统设计与仿真课程设计Word格式.docx

由于进行的是无损压缩,所以要扫描图像的所有像素点,压缩过程分为四步:

1 扫描统计像素出现的概率并按大小排列;

2 建立最优二叉树;

3 哈夫曼编码;

4 保存编码。

2.2哈弗曼解码的原理

哈夫曼解码过程是文件编码过程的逆过程,由于哈夫曼编码可即时解码,因此只要得到一个码字,则通过查找哈夫曼编码表得到相应的字符,映射过程是编码时映射的逆过程。

因此,每从压缩文件中读出一个码字,就从通过查找哈夫曼编码表用字符替换相应的码字,当压缩文件中所有的码字被字符替换掉,也就宣告解压过程完成了。

第三章数字信号的调制与解调

3.1数字信号的调制

3.1.1调制的概念及分类

用基带信号对载波(通常为余弦或正弦)波形的某些参数(如幅度、相位和频率)进行控制,使这些参数随基带信号的变化而变化。

因此,数字信号的调制可分为振幅键控(ASK),相移键控(PSK),频移键控(FSK)。

3.1.2调制的原理

1)M进制振幅键控(MASK)基本原理

M进制数字振幅调制信号的载波幅度有M种取值,在每个符号时间间隔Ts内发送M个幅度中的一种幅度的载波。

表达式:

a.g(t)为基带信号波形

b.Ts为符号时间间隔

c.an为幅度值

2)M制频移键控(MFSK)基本原理

式中

为载波角频率,共有M种取值。

通常可选载波频率f=n/2Ts,n为正整数,此时M种发送信号相互正交。

3)M进制相移键控(MPSK)基本原理

表达式:

式中

a.g(t)--信号包络波形,通常为矩形波,幅度为1

b.Ts--码元时间宽度

c.c--载波角频率

d.

--第n个码元对应的相位,共有M种取值

3.2数字信号的解调

3.2.1解调的概念

解调也叫检波,其作用就是从接收到的已调波中无失真地恢复出调制信号。

调幅信号的解调技术可大致分为两类:

相关解调和非相关解调。

1)相干解调(又称同步检波):

需要在接收端知道发射载波的频率和相位(恢复相干载波以用于与接收的已调信号相乘)。

其中乘机检波器也叫鉴相器,是将输入的带通信号变为基带信号的下变频电路。

2)非相干解调(又称包络检波):

即不需要知道有关的信息,它的输出信号与输入信号实际包络成正比。

3.2.2解调的原理

1.ASK信号的解调

2ASK相干解调方框图如图所示

2.FSK信号的解调

2FSK相干解调方框图如图所示

3.PSK信号的解调

2PSK相干解调方框图如图所示

第四章图形用户界面的设计与制作

4.1图形用户界面GUI的概述

图形用户界面GUI是一种包含多种对象的图形窗口,并为GUI开发提供一个方便高效的集成开发环境GUIDE。

GUIDE主要是一个界面设计工具集,MATLAB将所有GUI支持的控件都集成在这个环境中。

GUIDE将设计好的GUI保存在一个FIG文件中,同时生成M文件框架。

FIG文件:

该文件包括GUI图形窗口及其所有FIG文件包含序列化的图形窗口对象;

M文件:

该文件包括GUI设计、控制函数以及定义为子函数的用户控件回调函数。

GUIDE可以根据GUI设计过程直接自动生成M文件框架,优点如下:

a.M文件已经包含一些必要的代码;

b.管理图形对象句柄并执行回调函数子程序;

c.提供管理全局数据的途径;

d.支持自动插入回调函数原型。

4.2图形用户界面(GUI)的设计与制作

1)GUI创建包括界面设计和控件编程两部分,主要步骤如下:

a.通过设置GUIDE应用程序的选项来运行GUIDE;

b.使用界面设计编辑器进行界面设计;

c.编写控件行为响应控制(即回调函数)代码。

2)图像通信系统的的图形用户界面GUI

第五章总结

参考文献

附录1图像通信在在MATLAB中算法实现

1、哈弗曼编码在MATLAB中的算法

1.function[ratio,rowsB,colsB,dictionary,Huffcode_I]=HuffEncode(I)

2.K=imread('

cameraman.tif'

);

3.I=imresize(K,[20,20]);

4.maxI=max(max(I));

%求图像灰度级最大值

5.H=zeros(1,maxI+1);

%直方图矩阵初始化

6.[rows,cols]=size(I);

7.rowsB=tentotwo(rows);

%调用十进制转换成二进制的程序

8.colsB=tentotwo(cols);

9.fori=1:

rows

10.forj=1:

cols

11.H(I(i,j)+1)=H(I(i,j)+1)+1;

12.end

13.end

14.H=H/(rows*cols);

15.[Index,Hn]=sortDezero(H);

%调用sortDezero函数

16.IndexCell=num2Cell(Index);

%Huffman树的下标变成元包数组

17.lenIndex=length(Index);

18.codeWord=cell(1,maxI+1);

%定义元包数组存放码字

19.fori=1:

lenIndex-1

20.index1=IndexCell{1};

21.index2=IndexCell{2};

forj=1:

length(index1)

22.codeWord(index1(j))={[0,codeWord{index1(j)}]};

23.end

24.forj=1:

length(index2)

25.codeWord(index2(j))={[1,codeWord{index2(j)}]};

26.end

27.IndexCell=[{[index1,index2]},IndexCell{3:

end}];

28.Hn=[sum(Hn(1:

2)),Hn(3:

end)];

29.[Index,Hn]=sortH(Hn);

30.IndexCell=IndexCell(Index);

31.end

32.Lavg=0;

33.fori=1:

length(H)

34.Lavg=Lavg+H(i)*length(codeWord{i});

35.end

36.ratio=8/Lavg;

%计算压缩比

37.II=I(:

38.Huffcode_I=[];

%存储图像的Huffman编码

39.fori=1:

length(II)

40.Huffcode_I=[Huffcode_I,codeWord{II(i)+1}];

41.end

42.Huffcode_I=logical(Huffcode_I);

43.dictionary=zeros(1,uint16(maxI+1)*16);

%字典的传送

44.A=[];

45.fori=1:

double(maxI+1)

46.num=length(codeWord{i});

47.Y=num;

48.ifnum~=0

49.fork=1:

4

50.B=mod(Y,2);

51.dictionary(16*(i-1)+(5-k))=B;

52.Y=floor(Y/2);

53.end

54.A=codeWord{i};

55.forj=1:

num

56.dictionary(16*(i-1)+4+j)=A(j);

57.end

58.end

59.end

2、哈弗曼编码在MATLAB中的算法如下:

1.functionDI=HuffDecode(rowsB,colsB,dictionary,Huffcode_I)

2.rows=0;

%图像列数

3.fori=1:

length(rowsB)

4.ifrowsB(i)~=0

5.rows=rows+2^(length(rowsB)-i);

6.end

7.end

8.cols=0;

%图像行数

9.fori=1:

length(colsB)

10.ifcolsB(i)~=0

11.cols=cols+2^(length(colsB)-i);

13.end

14.codeWord=cell(1,256);

%字典解码接收,字典解码存放码字

15.fori=1:

256

16.num=dictionary(16*(i-1)+1)*8+dictionary(16*(i-1)+2)*4+dictionary(16*(i-1)+3)*2+dictionary(16*(i-1)+4);

17.ifnum~=0

18.codeWord(i)={dictionary((16*(i-1)+5):

(16*(i-1)+4+num))};

19.end

20.iflength(dictionary((16*i+1):

end))<

1

21.maxI=i;

22.break;

24.end

25.len=length(Huffcode_I);

%图像解码

26.D=zeros(1,rows*cols);

27.k=1;

q=1;

28.forq=1:

rows*cols

29.fori=1:

maxI+1

30.num=length(codeWord{i});

31.ifnum~=0

32.if(len-k+1)>

=num

33.ifHuffcode_I(k:

k+num-1)==codeWord{i}

34.D(q)=i-1;

%解码

35.k=k+num;

36.break;

37.end

38.end

39.end

40.end

42.DI=reshape(D,[rows,cols]);

3、调制在MATLAB中的算法如下:

1.function[ethetbn]=digtalmod(fs,fc,an,M,Rb,df,modType)

2.Tr=fs/Rb;

3.ifM~=2

4.bn=bin2decxie(an,M);

5.else

6.bn=an;

8.N0=length(bn);

9.T=N0/Rb;

%N个码元的传输时间

10.t=0:

1/fs:

T-1/fs;

11.fori=1:

length(bn)

12.s((i-1)*Tr+1:

i*Tr)=bn(i);

14.switchmodType

15.case'

ASK1'

16.et=s.*cos(2*pi*fc*t);

%ASK

17.case'

FSK2'

18.et=cos(2*pi*(fc+s*df).*t);

%FSK

19.case'

PSK3'

20.et=cos(2*pi*fc*t+s*2*pi/M);

21.end

22.eth=hilbert(et);

4、解调在MATLAB中的算法如下:

1.functionbn0=digitaldemod(eth,fs,fc,Rb,M,modType)

2.T=length(eth)/fs;

3.t=0:

4.Tr=fs/Rb;

5.eth=hilbert(eth);

6.switchmodType

7.case'

8.des=abs(eth);

9.case'

10.phi=unwrap(angle(eth));

11.des=diff(phi);

12.case'

13.eth=eth.*exp(-j*2*pi*fc*t);

14.des=angle(eth);

15.des(find(des<

-0.1))=des(find(des<

-0.1))+2*pi;

16.end

17.des=medfilt1(des,floor(0.65*Tr));

%%中值滤波

18.a=max(des(2*Tr:

end-2*Tr));

19.b=min(des(2*Tr:

20.d=(a-b)/(M-1);

21.ddes=des(Tr/2:

Tr:

end);

22.fork=0:

M-1

23.index=find(ddes>

(b+d*(2*k-1)/2)&

ddes<

(b+d*(2*k+1)/2));

24.bn0(index)=k;

25.end

26.ifM~=2

27.k=log2(M);

%确定M进制需要多少位二进制

28.A=zeros(1,k*length(bn0));

length(bn0)

30.forf=1:

k

31.A(k*(i-1)+(k-f+1))=mod(bn0(i),2);

32.bn0(i)=floor(bn0(i)/2);

33.end

34.end

35.bn0=A;

36.end

课程设计成绩评定表

专业:

班级:

学号:

姓名:

课题名称

图像通信系统设计与仿真

方案、结论与改进之处

指导教师评语

建议成绩:

指导教师:

课程小组评定

评定成绩:

课程负责人:

时间:

2013年月日

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1