还剩16页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
科学技术学院SCIENCETECHNOLOGYCOLLEGEOFNANCHANGUNIVERSITY《课程设计》报告REPORTONCURRICULUMDESIGN题目图像通信系统设计与仿真学科部、系信息学科部电子系专业班级通信工程111班学号7023811008学生姓名钟金颖指导教师曾萍萍谢芳娟起讫日期
2014.
11.16—
2014.
11.28目录TOC\o1-3\h\u目录I摘要II第一章图像通信系统的概述
11.1图像通信通信课程设计的任务与要求
11.
1.1设计任务
11.
1.2设计要求
11.2图像通信通信课程设计流程1第二章图像的编码与解码
22.1哈弗曼编码的原理
22.2哈弗曼解码的原理2第三章数字信号的调制与解调
33.1数字信号的调制
33.
1.1调制的概念及分类
33.
1.2调制的原理
33.2数字信号的解调
43.
2.1解调的概念
43.
2.2解调的原理4第四章图形用户界面的设计与制作
64.1图形用户界面GUI的概述
64.2图形用户界面(GUI)的设计与制作6第五章总结7参考文献8附录1图像通信在在MATLAB中算法实现9摘要图像通信是以图像通信的基本原理、基本技术理论为基础发展的新技术,具体内容包括图像与数字图像通信、图像分析与正交变换、图像压缩编码、静止图像编码、活动图像编码、图像通信中的信道编码与传输技术本课程设计主要研究图像通信系统的设计和仿真,在MATLAB中对图像进行读取、压缩和哈弗曼编码,将数字化后的图像进行数字调制,已调后的信号可以传输和交换,到达接收端,经解调和解码还原成图像,从而完成了图像信号传送和接收利用图形用户界面GUI,通过窗口、菜单、按键等方式来方便地对本次课程设计的图像通信进行操作,观察本文通过对图像进行哈弗曼编码,对比ASKFSKPSK三种调制方式进行传输,利用相干解调方式,然后再进行哈弗曼解码,在图形用户界面上实现图像通信操作仿真关键词图像通信系统,传输接收,压缩,哈弗曼编码解码,调制,相干解调,图形用户界面第一章图像通信系统的概述
1.1图像通信通信课程设计的任务与要求
1.
1.1设计任务1学习并掌握图像通信的基本原理,学会利用仿真的手段对于实用通信系统的基本理论,基本算法进行实际验证;2学习通信系统仿真软件MATLAB的基本使用方法,解决实际系统出现的问题;3通过MATLAB进行仿真,并制作图形用户界面GUI加深对图像通信系统理论的理解;
1.
1.2设计要求1编码读入一幅图像,对图像进行哈弗曼编码;2调制采用振幅键控ASK),相移键控(PSK),频移键控(FSK)三种方式对编码后产生的数字信号进行调制;3解调采用相干解调方式;4解码哈弗曼解码输出原图像;
1.2图像通信通信课程设计流程根据系统设计的任务要求,确定该系统的设计流程方框图,如图
1.1所示图
1.1图像的设计流程方框图第二章图像的编码与解码
2.1哈弗曼编码的原理哈弗曼编码过程分为两步骤第一,消减信源符号数量;第二,对每一个信源符号赋值基于哈夫曼编码图像压缩的基本原理是在对数据进行编码时可以对那些经常出现的数据指定较少的位数表示而那些不常出现的数据指定较多的位数表示每个数据的代码各不相同这是一种典型的无损编码方式这些代码都是二进制码且码字长度是不均匀的、平均码率可以接近信息源熵值的一种编码哈夫曼编码是一种常用的压缩编码算法采用变长码编码属于无损压缩算法的一种由于进行的是无损压缩所以要扫描图像的所有像素点压缩过程分为四步:1 扫描统计像素出现的概率并按大小排列;2 建立最优二叉树;3 哈夫曼编码;4 保存编码
2.2哈弗曼解码的原理哈夫曼解码过程是文件编码过程的逆过程,由于哈夫曼编码可即时解码,因此只要得到一个码字则通过查找哈夫曼编码表得到相应的字符,映射过程是编码时映射的逆过程因此,每从压缩文件中读出一个码字,就从通过查找哈夫曼编码表用字符替换相应的码字,当压缩文件中所有的码字被字符替换掉,也就宣告解压过程完成了第三章数字信号的调制与解调
3.1数字信号的调制
3.
1.1调制的概念及分类用基带信号对载波(通常为余弦或正弦)波形的某些参数(如幅度、相位和频率)进行控制,使这些参数随基带信号的变化而变化因此,数字信号的调制可分为振幅键控ASK),相移键控(PSK),频移键控(FSK)
3.
1.2调制的原理1M进制振幅键控MASK)基本原理M进制数字振幅调制信号的载波幅度有M种取值,在每个符号时间间隔Ts内发送M个幅度中的一种幅度的载波表达式a.gt为基带信号波形b.Ts为符号时间间隔c.an为幅度值2M制频移键控(MFSK)基本原理表达式式中为载波角频率,共有M种取值通常可选载波频率f=n/2Ts,n为正整数此时M种发送信号相互正交3M进制相移键控(MPSK)基本原理表达式式中a.gt--信号包络波形,通常为矩形波,幅度为1b.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相干解调方框图如图所示第四章图形用户界面的设计与制作图形用户界面或图形用户接口GraphicalUserInterface,GUI是指采用图形方式显示的计算机操作环境用户接口与早期计算机使用的命令行界面相比,图形界面对于用户来说更为简便易用GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用人们从此不再需要死记硬背大量的命令,取而代之的是可用用通过窗口、菜单、按键等方式来方便地进行操作而嵌入式GUI具有下面几个方面的基本要求轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点
4.1图形用户界面GUI的概述图形用户界面GUI是一种包含多种对象的图形窗口,并为GUI开发提供一个方便高效的集成开发环境GUIDEGUIDE主要是一个界面设计工具集,MATLAB将所有GUI支持的控件都集成在这个环境中GUIDE将设计好的GUI保存在一个FIG文件中,同时生成M文件框架FIG文件该文件包括GUI图形窗口及其所有FIG文件包含序列化的图形窗口对象;M文件该文件包括GUI设计、控制函数以及定义为子函数的用户控件回调函数GUIDE可以根据GUI设计过程直接自动生成M文件框架,优点如下a.M文件已经包含一些必要的代码;b.管理图形对象句柄并执行回调函数子程序;c.提供管理全局数据的途径;d.支持自动插入回调函数原型
4.2图形用户界面(GUI)的设计与制作1GUI创建包括界面设计和控件编程两部分,主要步骤如下a.通过设置GUIDE应用程序的选项来运行GUIDE;b.使用界面设计编辑器进行界面设计;c.编写控件行为响应控制(即回调函数)代码2图像通信系统的的图形用户界面GUI第五章总结图像通信系统为目前广泛使用的技术,以图像通信理论为基础,反映了当代图像通信发展的新技术对基本原理和技术的分析同时涉及模拟图像通信和数字图像通信,并以数字图像的分析为主具体内容包括图像与数字图像通信、图像分析与正交变换、图像压缩编码、静止图像编码、活动图像编码、图像通信中的信道编码与传输技术、图像编码方法的新进展和数字图像通信系统本次图像通信系统设计与仿真是对图像通信系统在MATLAB中的简单应用通过在MATLAB中对图像进行读取、压缩和哈弗曼编码,将数字化后的图像进行数字调制,已调后的信号可以传输和交换,到达接收端,经解调和解码还原成图像,从而完成了图像信号传送和接收利用图形用户界面GUI,通过窗口、菜单、按键等方式来方便地对本次课程设计的图像通信进行操作,观察本文通过对图像进行哈弗曼编码,对比ASKFSKPSK三种调制方式进行传输,利用相干解调方式,然后再进行哈弗曼解码,在图形用户界面上实现图像通信操作仿真让我们深入了解图像通信系统及其技术应用参考文献
[1]娄莉·图像通信原理与技术[M].北京清华大学出版社,2010
[2]章毓晋.图像处理和分析教程[M].北京人民邮电出版社,2009
[3]夏良正.数字图像处理(第2版).南京东南大学出版社,2005
[4]姚敏.数字图像处理.北京机械工业出版社,2005
[5]李朝晖.数字图像处理及应用(含1CD).北京机械工业出版社,2005
[6]何东健,耿楠,张义宽.数字图像处理..西安西安电子科技大学出版社,2004
[7]贾永红.数字图像处理.武汉武汉大学出版社,2004附录1图像通信在在MATLAB中算法实现
1、哈弗曼编码在MATLAB中的算法
1.function[ratiorowsBcolsBdictionaryHuffcode_I]=HuffEncodeI
2.K=imreadcameraman.tif;
3.I=imresizeK
[2020];
4.maxI=maxmaxI;%求图像灰度级最大值
5.H=zeros1maxI+1;%直方图矩阵初始化
6.[rowscols]=sizeI;
7.rowsB=tentotworows;%调用十进制转换成二进制的程序
8.colsB=tentotwocols;
9.fori=1:rows
10.forj=1:cols
11.HIij+1=HIij+1+1;
12.end
13.end
14.H=H/rows*cols;
15.[IndexHn]=sortDezeroH;%调用sortDezero函数
16.IndexCell=num2CellIndex;%Huffman树的下标变成元包数组
17.lenIndex=lengthIndex;
18.codeWord=cell1maxI+1;%定义元包数组存放码字
19.fori=1:lenIndex-
120.index1=IndexCell{1};
21.index2=IndexCell{2};forj=1:lengthindex
122.codeWordindex1j={[0codeWord{index1j}]};
23.end
24.forj=1:lengthindex
225.codeWordindex2j={[1codeWord{index2j}]};
26.end
27.IndexCell=[{[index1index2]}IndexCell{3:end}];
28.Hn=[sumHn1:2Hn3:end];
29.[IndexHn]=sortHHn;
30.IndexCell=IndexCellIndex;
31.end
32.Lavg=0;
33.fori=1:lengthH
34.Lavg=Lavg+Hi*lengthcodeWord{i};
35.end
36.ratio=8/Lavg;%计算压缩比
37.II=I:;
38.Huffcode_I=[];%存储图像的Huffman编码
39.fori=1:lengthII
40.Huffcode_I=[Huffcode_IcodeWord{IIi+1}];
41.end
42.Huffcode_I=logicalHuffcode_I;
43.dictionary=zeros1uint16maxI+1*16;%字典的传送
44.A=[];
45.fori=1:doublemaxI+
146.num=lengthcodeWord{i};
47.Y=num;
48.ifnum~=
049.fork=1:
450.B=modY2;
51.dictionary16*i-1+5-k=B;
52.Y=floorY/2;
53.end
54.A=codeWord{i};
55.forj=1:num
56.dictionary16*i-1+4+j=Aj;
57.end
58.end
59.End哈弗曼编码在MATLAB中的算法如下
1.functionDI=HuffDecoderowsBcolsBdictionaryHuffcode_I
2.rows=0;%图像列数
3.fori=1:lengthrowsB
4.ifrowsBi~=
05.rows=rows+2^lengthrowsB-i;
6.end
7.end
8.cols=0;%图像行数
9.fori=1:lengthcolsB
10.ifcolsBi~=
011.cols=cols+2^lengthcolsB-i;
12.end
13.end
14.codeWord=cell1256;%字典解码接收字典解码存放码字
15.fori=1:
25616.num=dictionary16*i-1+1*8+dictionary16*i-1+2*4+dictionary16*i-1+3*2+dictionary16*i-1+4;
17.ifnum~=
018.codeWordi={dictionary16*i-1+5:16*i-1+4+num};
19.end
20.iflengthdictionary16*i+1:end
121.maxI=i;
22.break;
23.end
24.end
25.len=lengthHuffcode_I;%图像解码
26.D=zeros1rows*cols;
27.k=1;q=1;
28.forq=1:rows*cols
29.fori=1:maxI+
130.num=lengthcodeWord{i};
31.ifnum~=
032.iflen-k+1=num
33.ifHuffcode_Ik:k+num-1==codeWord{i}
34.Dq=i-1;%解码
35.k=k+num;
36.break;
37.end
38.end
39.end
40.end
41.end
42.DI=reshapeD[rowscols];
2、调制在MATLAB中的算法如下
1.function[ethetbn]=digtalmodfsfcanMRbdfmodType
2.Tr=fs/Rb;
3.ifM~=
24.bn=bin2decxieanM;
5.else
6.bn=an;
7.end
8.N0=lengthbn;
9.T=N0/Rb;%N个码元的传输时间
10.t=0:1/fs:T-1/fs;
11.fori=1:lengthbn
12.si-1*Tr+1:i*Tr=bni;
13.end
14.switchmodType
15.caseASK
116.et=s.*cos2*pi*fc*t;%ASK
17.caseFSK
218.et=cos2*pi*fc+s*df.*t;%FSK
19.casePSK
320.et=cos2*pi*fc*t+s*2*pi/M;
21.end
22.eth=hilbertet;解调在MATLAB中的算法如下
1.functionbn0=digitaldemodethfsfcRbMmodType
2.T=lengtheth/fs;
3.t=0:1/fs:T-1/fs;
4.Tr=fs/Rb;
5.eth=hilberteth;
6.switchmodType
7.caseASK
18.des=abseth;
9.caseFSK
210.phi=unwrapangleeth;
11.des=diffphi;
12.casePSK
313.eth=eth.*exp-j*2*pi*fc*t;
14.des=angleeth;
15.desfinddes-
0.1=desfinddes-
0.1+2*pi;
16.end
17.des=medfilt1desfloor
0.65*Tr;%%中值滤波
18.a=maxdes2*Tr:end-2*Tr;
19.b=mindes2*Tr:end-2*Tr;
20.d=a-b/M-1;
21.ddes=desTr/2:Tr:end;
22.fork=0:M-
123.index=findddesb+d*2*k-1/2ddesb+d*2*k+1/2;
24.bn0index=k;
25.end
26.ifM~=
227.k=log2M;%确定M进制需要多少位二进制
28.A=zeros1k*lengthbn0;
29.fori=1:lengthbn
030.forf=1:k
31.Ak*i-1+k-f+1=modbn0i2;
32.bn0i=floorbn0i/2;
33.end
34.end
35.bn0=A;
36.end课程设计成绩评定表专业电子信息班级电子1班学号7020910031姓名徐智宝课题名称图像通信系统的设计与仿真方案、结论与改进之处图像通信系统技术,内容包括图像与数字图像通信、图像分析与正交变换、图像压缩编码、静止图像编码、活动图像编码、图像通信中的信道编码与传输技术本课程设计主要研究图像通信系统的设计和仿真,在MATLAB中对图像进行读取、压缩和哈弗曼编码,将数字化后的图像进行数字调制,已调后的信号可以传输和交换,到达接收端,经解调和解码还原成图像,从而完成了图像信号传送和接收利用图形用户界面GUI,通过窗口、菜单、按键等方式来方便地对本次课程设计的图像通信进行操作,观察本文通过对图像进行哈弗曼编码,对比ASKFSKPSK三种调制方式进行传输,利用相干解调方式,然后再进行哈弗曼解码,在图形用户界面上实现图像通信操作仿真指导教师评语建议成绩指导教师课程小组评定评定成绩课程负责人时间2013年月日。