福建农林大学计算机与信息学院信息工程类信息论与编码课程实验报告组别:小组成员:102260004001杨汉兴102260004011林志102260004020陈莹莹102260004034文磊组长:杨汉兴提交日期:2012年01月14日成绩:实验项目列表序号实验项目名称成绩指导教师1信源建模黄习培2信源编码实验黄习培3连续信源模型与率失真函数黄习培4信道容量的迭代算法黄习培实验名称1:信源建模一、实验目的和要求(1)进一步熟悉信源建模;(2)掌握MATLAB程序设计和调试过程中数值的进制转换、数值与字符串之间的转换等技术。二、实验内容(1)假设在一个通信过程中主要传递的对象以数字文本的方式呈现。(2)我们用统计的方式,发现这八个消息分别是由N1,N2,…,N8个符号组成的。在这些消息是中出现了以下符号(符号1,符号2,…,符号M)每个符号总共现了(次数1,次数2,…,次数M)我们认为,传递对象的信源模型可表示为:X为随机变量(即每次一个字符);取值空间为:(符号1,符号2,…,符号M);其概率分布列为:(次数1/(N1+…+N8),…,次数M/(N1+…+N8))三、实验环境硬件:计算机软件:MATLAB四、实验原理图像和语声是最常用的两类主要信源。要充分描述一幅活动的立体彩色图像,须用一个四元的随机矢量场X(x,y,z,t),其中x,y,z为空间坐标;t为时间坐标;而X是六维矢量,即表示左、右眼的亮度、色度和饱和度。然而通常的黑白电视信号是对平面图像经过线性扫描而形成。这样,上述四元随机矢量场可简化为一个随机过程X(t)。图像信源的最主要客观统计特性是信源的幅度概率分布、自相关函数或功率谱。关于图像信源的幅度概率分布,虽然人们已经作了大量的统计和分析,但尚未得出比较一致的结论。至于图像的自相关函数,实验证明它大体上遵从负指数型分布。其指数的衰减速度完全取决于图像类型与图像的细节结构。实际上,由于信源的信号处理往往是在频域上进行,这时可以通过傅里叶变换将信源的自相关函数转换为功率谱密度。功率谱密度也可以直接测试。语声信号一般也可以用一个随机过程X(t)来表示。语声信源的统计特性主要有语声的幅度概率分布、自相关函数、语声平均功率谱以及语声共振峰频率分布等。实验结果表明语声的幅度概率分布可用伽玛(γ)分布或拉普拉斯分布来近似。语声信号的自相关函数,根据实验也可以大致认为属于负指数分布类型,且样点间相关性很强,一般高达0.9以上。语声信号的平均功率谱的测试表明,语声主要能量集中在1千赫以下。语声的共振峰频率是语声功率谱的主要峰值。这样的峰值并非一个,而且它的值随音调的变化有一定的变动范围。人们对汉语、英语的共振峰分布已获得一定的测试结果。五、算法程序functionDMS=Get_DMS_From_Message(storytxt_name)%storytxt_name:纯文本的文件名,注意这个文件应该与这个程序在同一目录里Message=textread('TheSecretGarden.txt','%c');MinChar=min(Message);MaxChar=max(Message);Message_Len=length(Message);%assumethatthecharbetweenMinCharandMaxCharwillbeuseinthe%message.Char_List=zeros(1,MaxChar-MinChar+1);fori=1:Message_LenChar_List(Message(i)-MinChar+1)=Char_List(Message(i)-MinChar+1)+1;endPro_List=Char_List/Message_Len;NumOfChar=length(Char_List);%DiscreteMemorylessSourceDMS=cell(NumOfChar,2);fori=1:NumOfCharDMS{i,1}=char(i+MinChar-1);DMS{i,2}=Pro_List(i);end六、实验小结由分形编码方法的数学原理可知,在编码过程中所得到的迭代函数系统IFS是紧缩的,它的吸引子可以通过对任意初始图像的不断迭代变换而得到。从严格的数学角度来说,需要迭代无数多次才能得到吸引子。但是在实际应用过程中,只需要迭代有限次N后即可收敛,在进行N+1迭代,图像的质量只是轻微的变化。一般情况下,N=8。实验2:信源编码实验一、实验目的和要求(1)进一步熟悉Shannon编码算法;(2)掌握MATLAB程序设计和调试过程中数值的进制转换、数值与字符串之间的转换等技术。二、实验内容和原理(1)输入:信源符号个数q、信源符号s、信源概率分布P;(2)输出:信源符号与码字的对应关系表(编码表)。(3)香农编码:a.将信源发出的N个消息符号按其概率的递减次序排列b.按下式计算第i个消息的二进制代码组的码长il,并取整log()log()1iiipslpsc.计算第i个消息的累加概率iP(为小数)11()iikkPpsd.将累加概率iP变换成二进制数012301232222iPaaaae.去掉小数点,并根据il取小数点后的前几位为对应的代码组三、实验环境硬件:计算机软件:MATLAB四、算法描述及实验步骤1、算法描述:(1)将q个信源符号按其概率的递减次序排列;(2)计算出各个信源符号的累加概率;(3)按下式计算第i个消息的二无代码组的码长li:li=log(1/p(si)),其中li取比结果大(或者等于)的最小整数;(4)将累加概率F(si)(十进制小数)变换成二进制小数。根据码长li取小数点后li个二进制符号作为第i个消息的码字。2、算法程序q=input('输入信源符号个数q=')p=zeros(1,q);%程序设计需要信道矩阵初始化为零fprintf('输入信源概率\n')fori=1:qp(1,i)=input('p=');%输入信源概率endp=sort(p,'descend');%从大到小依次排列信源概率p%从大到小依次输出信源概率f=zeros(1,q);l=zeros(1,q);fori=1:qfork=1:i-1f(i)=f(i)+p(k);endl(i)=-log2(p(i));l(i)=ceil(l(i));endfori=1:qx=f(i);p=zeros(1,l(i));fort=1:l(i)p(t)=floor(x*2);x=x*2-p(t);endpend运行结果:Code_Book='e''0000''t''0001''a''0011''o''0100''h''0101''n''0110''s''01111''r''10001''i''10011''d''10100''l''10110''w''101111''u''110000''g''110010''y''110011''m''110100''f''110101''c''110110''.''1101111''b''1110001''p''1110011''k''1110101'''''1110110''''1111000'',''1111001''v''11110101''M''11110111''I''11111000''T''111110011''S''111110101''-''111110110''H''1111101111''A''1111110001''W''1111110010''?''1111110100''q''1111110101''!''1111110110''B''11111101111''x''11111110000''D''11111110010''E''11111110100''Y''11111110101''j''11111110111''C''11111111000''N''11111111001''P''111111110101''O''111111110111''L''111111111000''R''111111111001'';''111111111011''z''1111111111000''`''1111111111010''G''11111111110111'':''11111111111001''F''111111111110100''J''111111111110110''V''111111111110111''Q''111111111111001''U''1111111111110100''(''1111111111110110''1''1111111111110111'')''1111111111111000''K''1111111111111001''0''11111111111110101’'2''11111111111110111''3''11111111111111000''4''11111111111111001''5''11111111111111010''6''11111111111111011''7''11111111111111100''8''11111111111111101''9''11111111111111110'五、实验小结:在实验过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。通过这次实验之后,一定把以前所学过的知识重新温故,第二次实验吸取经验,巩固知识,培养自己分析问题和解决问题的能力,提高编程和动手能力,从而具备解决综合性实际问题的能力,更好地完成教学任务和提升自己的能力。实验3:连续信源模型与率失真函数一、实验目的(1)理解信息率失真函数的定义与物理意义;(2)分析离散信源在误码失真下的信息率失真函数表达式;(3)率失真函数的绘制;(4)理解相关参数的变化对信源熵及信道容量的影响。二、实验内容(1)绘制率失真函数曲线;(2)分析曲线特性。三、实验原理二元对称信源的DR函数设二元信源1,0U,其分布概率21,1,up,而接收变量1,0V,设汉明失真矩阵为:0110D,因而最小失真度0minD。并能找到满足该最小失真的试验信道,且是一个无噪无损信道,其信道矩阵为:1001p,HVUIR;0,1min]1,111,00;0,110,00[min,minmaxdpdpdpdpvuduPDvUv要达到最大允许失真,唯一确定1010p,此时,可计算得信息传输率0;VUI,一般情况下,当max0DD时EVUPvupvuPvudvupdED)0,1()1,0(),(.,可以计算出二元对称信源信息率真函数为DDDHHDRDHHDR00四、实验步骤(1)输入二元对称信道概率w;(2)计算信源熵;(3)计算率失真函数;(4)绘制曲线五、实验结果(1)绘制曲线在matlab中输入w=0.6得到曲线:00.10.20.30.40.50.60.70.80.9100.511.5二元对称信源的信息率失真函数DR(比特/符号)Hww=Dmax(2)曲线特性00.050.10.150.20.250.30.350.40.450.500.10.20.30.40.50.60.70.80.91二元对称信源的信息率失真函数DR(比特/符号)(3)图像的分析a.R(D)在定义域内是失真度D的U型下凸函数;b.R(D)在定义域内是关于D的连续函数;c.R(D)是单调递减的,失真度越大,所要求的信息率越小,其中最小为0,最大为信源熵;d.当D相同时,信源越趋于等概率分布,R(D)就越大。六、实验小结通过这次实验,我们不仅