




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
_实验一信息熵与图像熵计算(2学时)一、实验目的1.复习MATLAB的基本命令,熟悉MATLAB下的基本函数;谢谢阅读2.复习信息熵基本定义,能够自学图像熵定义和基本概念。精品文档放心下载二、实验内容1.能够写出MATLAB源代码,求信源的信息熵;2.根据图像熵基本知识,综合设计出MATLAB程序,求出给定图像的图像熵。感谢阅读三、实验仪器、设备1.计算机-系统最低配置256M内存、P4CPU;精品文档放心下载2.MATLAB编程软件。四 实验流程图五 实验数据及结果分析_四、实验原理1.MATLAB中数据类型、矩阵运算、图像文件输入与输出知识复习。精品文档放心下载2.利用信息论中信息熵概念,求出任意一个离散信源的熵(平均自信息量)。自信谢谢阅读息是一个随机变量,它是指某一信源发出某一消息所含有的信息量。所发出的消息不精品文档放心下载同,它们所含有的信息量也就不同。任何一个消息的自信息量都代表不了信源所包精品文档放心下载含的平均自信息量。不能作为整个信源的信息测度,因此定义自信息量的数学期望感谢阅读为信源的平均自信息量:1()1()[log]()log()iniipaiHEpapa X谢谢阅读信息熵的意义:信源的信息熵H是从整个信源的统计特性来考虑的。它是从平均意谢谢阅读_义上来表征信源的总体特性的。对于某特定的信源,其信息熵只有一个。不同的信谢谢阅读源因统计特性不同,其熵也不同。3.学习图像熵基本概念,能够求出图像一维熵和二维熵。感谢阅读图像熵是一种特征的统计形式,它反映了图像中平均信息量的多少。图像的一维熵谢谢阅读表示图像中灰度分布的聚集特征所包含的信息量,令Pi表示图像中灰度值为i的像素精品文档放心下载所占的比例,则定义灰度图像的一元灰度熵为:2550logiiipp H图像的一维熵可以表示图像灰度分布的聚集特征,却不能反映图像灰度分布的空间谢谢阅读特征,为了表征这种空间特征,可以在一维熵的基础上引入能够反映灰度分布空间精品文档放心下载特征的特征量来组成图像的二维熵。选择图像的邻域灰度均值作为灰度2感谢阅读_分布的空间特征量,与图像的像素灰度组成特征二元组,记为(i,j),其中i表示像素的灰度值(0<=i<=255),j表示邻域灰度(0<=j<=255),2(,)/ijpfijN感谢阅读上式能反应某像素位置上的灰度值与其周围像素灰度分布的综合特征,其中f(i,j)为特征二元组(i,j)出现的频数,N为图像的尺度,定义离散的图像二维熵为:感谢阅读2550logijijipp H构造的图像二维熵可以在图像所包含信息量的前提下,突出反映图像中像素位置的灰度信息和像素邻域内灰度分布的综合特征。五、实验步骤谢谢阅读1.求解信息熵过程:(1)输入一个离散信源,并检查该信源是否是完备集;(2)去除信源中符号分布概率为零的元素;(3)根据平均信息量公式,求出离散信源的熵。2.图像熵计算过程:(1)输入一幅图像,并将其转换成灰度图像;(2)统计出图像中每个灰度阶象素概率;(3)统计出图像中相邻两象素的灰度阶联合分布矩阵;(4)根据图像熵和二阶熵公式,计算出一幅图像的熵。六、实验报告要求1.按照本节内容后实验报告形式书写;2.实验总结和心得要详细,可以根据自己实验情况,写出建议。精品文档放心下载七、实验注意事项_1.MATLAB语言课下多复习,尽量采用模块化编程方法,通过函数调用形式运行程序。谢谢阅读2.仔细理解、体会图像熵的概念,能够将其联合熵的概念理解透彻。谢谢阅读八、思考题举例说明图像熵、信息熵在现实中有何实践指导意义?附录1:实验报告样式:实验报告班级:姓名:学号:组别:同组人:课程名称:实验室:实验时间:(使用实验报告纸的,以上内容可按照实验报告纸格式填写)精品文档放心下载实验一信息熵与图像熵计算3_一、实验目的:二、实验内容与原理:三、实验器材(设备、元器件、软件工具、平台):四、实验步骤:五、程序流程图:六、实验数据及结果分析:七、实验结论:八、思考题:九、编程、调试过程中遇到的问题及解决方法:十、其他:实验总结、心得体会及对本实验方法、手段及过程的改进建议等。精品文档放心下载附录2:图像一维二维熵程序:closeall;clc;I=imread('C:\DocumentsandSettings\AllUsers\Documents\My精品文档放心下载Pictures\picture\Sunset.jpg');精品文档放心下载img=rgb2gray(I);imview(I),imview(img);[ix,iy]=size(img);P1=imhist(img)/(ix*iy);temp=double(img);temp=[temp,temp(:,1)];CoefficientMat=zeros(256,256);精品文档放心下载forx=1:ix_fory=1:iyi=temp(x,y);j=temp(x,y+1);谢谢阅读CoefficientMat(i+1,j+1)=CoefficientMat(i+1,j+1)+1;谢谢阅读endendP2=CoefficientMat./(ix*iy);谢谢阅读H1=0;H2=0;fori=1:256ifP1(i)~=0H1=H1-P1(i)*log2(P1(i));endforj=1:256ifP2(i,j)~=0H2=H2-P2(i,j)*log2(P2(i,j));精品文档放心下载endendendH2=H2/2;sprintf('1ordimageentropyis:%d',H1)感谢阅读sprintf('2ordimageentropyis:%d',H2)、精品文档放心下载_实验二香农编码(2个学时)一、实验目的_1.了解香农编码的基本原理及其特点;2.熟悉掌握香农编码的方法和步骤;3.掌握MATLAB编写香农编码的程序。二、实验内容1.根据香农编码的方法和步骤,用香农编码编写程序;2.用编写的源程序验证书中例题的正确性。三、实验仪器、设备1.计算机-系统最低配置256M内存、P4CPU;谢谢阅读MATLAB编程软件。四、实验原理1.香农编码原理:香农第一定理指出了平均码长与信源之间的关系,同时也指出了可以通过编精品文档放心下载码使平均码长达到极限值,这是一个很重要的极限定理。香农第一定理指出,选择每个码字的长度iK满足下式:谢谢阅读就可以得到这种码,这种编码方法就是香农编码。2.香农编码算法:1.将信源消息符号按其出现的概率大小依次排列:12nP(X) P(X) ,, P(X)感谢阅读2.确定满足下列不等式整数码长iK;log2p()log2()1iii x K px精品文档放心下载3.为了编成唯一可译码,计算第i个消息的累加概率;精品文档放心下载_11()ikkppx4.将累加概率iP变成二进制数;5.取iP二进制数的小数点后iK位即为该消息符号的二进制码字。谢谢阅读五、实验步骤1.根据实验原理,设计香农编码程序;2.输入一组信源消息符号概率,可以求香农编码、平均码长和编码效率。精品文档放心下载六、实验报告要求5按照本节内容后实验报告形式书写;实验总结和心得要详细,可以根据自己情况写出建议。七、实验注意事项谢谢阅读1.香农编码是符号概率大的用短表示,小长程序中香农编码是符号概率大的用短表谢谢阅读_示,小长程序中香农编码是符号概率大的用短表示,小长程序中需要对概率进行精品文档放心下载排序,此我们调用MATLABMATLABMATLABMATLABMATLAB的库函数;感谢阅读2.最后需要注意的是,求得码字依次与排序符号概率对应;精品文档放心下载3.向无穷方取最小正整数位ceilceilceil函数。谢谢阅读八、思考题举例说明香农编码在现实中有际作用,列一个子并简要说明?谢谢阅读附录1:实验报告样式:实验报告班级:姓名:学号:组别:同组人:课程名称:实验室:实验时间:(使用实验报告纸的,以上内容可按照实验报告纸格式填写)精品文档放心下载_实验二香农编码一、实验目的:二、实验内容与原理:三、实验器材(设备、元器件、软件工具、平台):四、实验步骤:五、程序流程图:六、实验数据及结果分析:七、实验结论:八、思考题:_九、编程、调试过程中遇到的问题及解决方法:十、其他:实验总结、心得体会及对本实验方法、手段及过程的改进建议等。谢谢阅读附录2:香农编码程序:closeall;clc;n=input('输入信源符号个数:');p=zeros(1,n);fori=1:np(1,i)=input('输入信源符号概率:');感谢阅读endifsum(p)<1||sum(p)>1error('输入概率不符合概率分布')end6y=fliplr(sort(p));D=zeros(n,4);D(:,1)=y';fori=2:nD(1,2)=0;D(i,2)=D(i-1,1)+D(i-1,2);endfori=1:n_D(i,3)=-log2(D(i,1));D(i,4)=ceil(D(i,3));endDA=D(:,2)';B=D(:,4)';Code_length=0;forj=1:nCode_length=Code_length+p(j)*D(j,4);感谢阅读endH=0;forj=1:nH=H+p(j)*log2(1/p(j));endforj=1:nfprintf('输入信源符号概率为%f的码字为:',p(1,j));谢谢阅读C=deczbin(A(j),B(j));disp(C)endEfficiency=H/(Code_length)感谢阅读fprintf('平均码长:\n');disp(Code_length)_fprintf('\n香农编码效率:\n');disp(Efficiency)A:累加概率;B:码子长度。:码子长度。function[C]=deczbin(A,B)C=zeros(1,B);temp=A;fori=1:Btemp=temp*2;iftemp>1temp=temp-1;C(1,i)=1;elseC(1,i)=0;endend7实验三费诺编码(2学时)一、实验目的掌握费诺编码方法的基本步骤及优缺点。二、实验内容对于给定的信源的概率分布,按照费诺编码的方法进行计算机实现。感谢阅读三、实验仪器、设备1.计算机-系统最低配置256M内存、P4CPU;谢谢阅读_2.MATLAB编程软件。四、实验原理1.费诺编码原理:费诺编码就是通过使编码中各个句号出现的概率大致相等,实现概率均匀化,从而减少冗余度,提高编码效率。凡是能载荷一定的信息量,且码字的平均长度最短,可分离的变长码的码字集合称为最佳变长码。在编N进制码时首先将信源消息符号按其出现的额概率一次又小到大排列开来,并将排列好的心愿符号按概率值分N大组,使N组的概率之和近似相同,并对各组赋予一个N进制码元0、1...N-1。之后再针对每一个大组内的心愿符号做如上处理,即再分为概率相同的N组,赋予N进制码元。如此重复,直到每组只剩下一个心愿符号为止。此时每个信源符号所对应的码字即为费诺码。针对同一个心愿,费诺码比香农码平均码长小,消息出书速率大,编码效率高。费诺编码是一种信源编码,它编码后的费诺码要比香农码的平均码长小,消息传输速率大,编码效率高。但它属于概率匹配编码它不是最佳的编码方法。谢谢阅读2.费诺编码算法:(1)将信源消息符号按其出现的概率大小依次排列:12()()...()nPX PX PX感谢阅读(2)将依次排列的信源符号按概率值分为两大组,使两个组的概率之和近似相同,并对各组赋予一个二进制码元“0”和“1”;精品文档放心下载(3)将每一大组的信源符号再分成两组,使划分后的两个组的概率之和近似相同,并对各组赋予一个二进制符号“0”和“1”;(4)如此重复,直至每个组只剩下一个信源符号为止;精品文档放心下载_(5)信源符号所对应的码子即为费诺码。五、实验步骤1.根据实验原理,设计费诺编码程序;2.输入一组信源消息符号概率,可以求费诺编码,平均码长和编码效率。精品文档放心下载8六、实验报告要求按照本节内容后实验报告形式书写;实验总结和心得要详细,可以根据自己情况写出建议。七、实验注意事项感谢阅读1.MATLAB1.MATLAB1.MATLAB1.MATLAB1.MATLAB语言课下多复习,尽量采用模块化编程方法通过函数调形式语言课下多复习,尽量采用模块化编程方法通过函数调形式语言课下多复习,尽量采用模块化编程方法通过函数调形式语言课下多复习,尽量采用模块化编程方法通过函数调形式运行程序;谢谢阅读仔细理解、体会费诺编码。八、思考题举例说明费诺编码在现实中际应用,列举一个例子并简要说明?附录1:实验报告样式:谢谢阅读实验报告班级:姓名:学号:组别:同组人:课程名称:实验室:实验时间:(使用实验报告纸的,以上内容可按照实验报告纸格式填写)实验三费诺编码感谢阅读_一、实验目的:二、实验内容与原理:三、实验器材(设备、元器件、软件工具、平台):四、实验步骤:五、程序流程图:六、实验数据及结果分析:七、实验结论:八、思考题:九、编程、调试过程中遇到的问题及解决方法:十、其他:实验总结、心得体会及对本实验方法、手段及过程的改进建议等。精品文档放心下载附录2:费诺编程程序:clc;clearall;N=input('输入信源符号的个数:');s=0;精品文档放心下载l=0;H=0;fori=1:Nfprintf('第%d个',i);p(i)=input('p=');if(p(i)<=0)||(p(i)>=1)error('不符合分布概率');ends=s+p(i);_9H=H+(-p(i)*log2(p(i)));endif(s<=0.999999||s>=1.000001)感谢阅读error('不符合分布概率')endfori=1:N-1forj=i+1:Nifp(i)<p(j)m=p(j);p(j)=p(i);p(i)=m;endendendx=f1(1,N,p,1);fori=1:NL(i)=length(find(x(i,:)));感谢阅读l=l+p(i)*L(i);endn=H/l;fprintf('按概率降序排列的码子:\n');_disp(x)fprintf('平均码长:\n');disp(l)fprintf('编码效率:\n');disp(n)functionx=f1(i,j,p,r)globalx;x=char(x);if(j<=i)return;elseq=0;fort=i:jq=p(t)+q;y(t)=q;endfort=i:jv(t)=abs(y(t)-(q-y(t)));endfort=i:jif(v(t)==min(v))fork=i:t_x(k,r)='0';10endfork=(t+1):jx(k,r)='1';endd=t;f1(i,d,p,r+1);f2(d+1,j,p,r+1);f1(d+1,j,p,r+1);f2(i,d,p,r+1);elseendendendreturn;functionx=f2(i,j,p,r)globalx;x=char(x);if(j<=i)return;else_q=0;fort=i:jq=p(t)+q;y(t-i+1)=q;endfort=1:j-(i-1)v(t)=abs(y(t)-(q-y(t)));endfort=1:j-(i-1)if(v(t)==min(v))d=t+i-1;fork=i:dx(k,r)='0';endfork=(d+1):jx(k,r)='1';endf2(d+1,j,p,r+1);f1(i,d,p,r+1);f2(i,d,p,r+1);f1(d+1,j,p,r+1);elseend_endend11实验四哈夫曼编码(2学时)一、实验目的1.掌握哈夫曼编码原理;2.熟练掌握哈夫曼树的生成方法;3.学会利用MATLABMATLABMATLABMATLABMATLAB实现哈夫曼编码;谢谢阅读4.提高独立进行算法编程的能力。二、实验内容1.用MATLABMATLABMATLABMATLABMATLAB实现哈夫曼哈夫曼编码算法程序;精品文档放心下载2.要求程序输出显示所有的码字以及编效率;3.设计简单的输入界面(可以是文字提示信息),程序运行时用设计简单的输入界面(可以是文字提示信息),程序运行时用设计简单的输入界面(可以是文字提示信息),程序运行时用设计简单的输入界面(可以是文字提示信息),程序运行时用设计简单的输入界面(可以是文字提示信息),程序运行时用户输入代表信源符号概率的向量;要对用进行合法性检查户输入代表信源符号概率的向量;要对用进行合法性检查;精品文档放心下载4.(选做)随机生成一幅图像,随机生成一幅图像,实现哈夫曼图像编码,比较精品文档放心下载前后图像编码,比较前后图片大小。三、实验仪器设备_1.计算机-系统最低配置256M内存、P4CPUCPUCPU;谢谢阅读MATLABMATLABMATLABMATLABMATLAB编程软件。编程软件。四、实验原理谢谢阅读1.二进制哈夫曼编码的基本原理及算法(1)把信源符号集中的所有按概率从大到小排队把信源符号集中的所有按概率从大到小排队;精品文档放心下载(2)取概率最小的两个符号作为片叶子合并(缩减)到一节点取概率最小的两个符号作为片叶子合并(缩减)到一节点;精品文档放心下载(3)视此节点为新符号,其概率等于被合并(缩减)的两个之和参视此节点为新符号,其概率等于被合并(缩减)的两个之和参与概率排队;精品文档放心下载(4)重复(2)(3)(2)(3)两步骤,直至全部符号都被合并(缩减)到根两步骤,直至全部符号都被合并(缩减)到根;谢谢阅读(5)从根出发,对各分枝标记从根出发,对各分枝标记从根出发,对各分枝标记0和1。从根到叶的路径就给出了各个码字。从根到叶的路径就给出了各个码字编码和长。谢谢阅读2.哈夫曼树的编码原理(1)程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行谢谢阅读_程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行程序的输入:以一维数组形式要进行哈夫曼哈夫曼哈夫曼编码的信源符号编码的信源符号编码的信源符号编码的信源符号编码的信源符号编码的信源符号编码的信源符号编码的信源符号概率,在运行该程序前显示文字提信息所要输入的矢量;概率,在运行该程序前显示文字提信息所要输入的矢量;概率,在运行该程序前显示文字提信息所要输入的矢量;概率,在运行该程序前显示文字提信息所要输入的矢量;然后对输入的概率矢量进行合法性判断,原则为:如果中存在然后对输入的概率矢量进行合法性判断,原则为:如果中存在然后对输入的概率矢量进行合法性判断,原则为:如果中存在然后对输入的概率矢量进行合法性判断,原则为:如果中存在然后对输入的概率矢量进行合法性判断,原则为:如果中存在然后对输入的概率矢量进行合法性判断,原则为:如果中存在然后对输入的概率矢量进行合法性判断,原则为:如果中存在然后对输入的概率矢量进行合法性判断,原则为:如果中存在然后对输入的概率矢量进行合法性判断,原则为:如果中存在然后对输入的概率矢量进行合法性判断,原则为:如果中存在然后对输入的概率矢量进行合法性判断,原则为:如果中存在然后对输入的概率矢量进行合法性判断,原则为:如果中存在然后对输入的概率矢量进行合法性判断,原则为:如果中存在小于0的项,则输入不合法提示重新;如果概率矢量求和大于1,则输入也不合法,提示重新。感谢阅读在输入的概率矩阵p正确的前提条件下,对p进行排序,并用矩阵L记录p排序之前各元素的顺,然后将概率数组p的前两项,即概率最小的两个数加和,得到新一组序列重复以上过程后概率最小的两个数加和,得到新一组序列重复以上过谢谢阅读_程后概率最小的两个数加和,得到新一组序列重复以上过程后概率最小的两个数加和,得到新一组序列重复以上过程后概率最小的两个数加和,得到新一组序列重复以上过程后概率最小的两个数加和,得到新一组序列重复以上过程后概率最小的两个数加和,得到新一组序列重复以上过程后概率最小的两个数加和,得到新一组序列重复以上过程后概率最小的两个数加和,得到新一组序列重复以上过程后概率最小的两个数加和,得到新一组序列重复以上过程后概率最小的两个数加和,得到新一组序列重复以上过程后概率最小的两个数加和,得到新一组序列重复以上过程后概率最小的两个数加和,得到新一组序列重复以上过程后得到一个记录概率加和过程的矩阵p以及每次排序之前概率顺的矩阵;12感谢阅读新生成一个n-1行n列,并且每个元素含有n个字符的空白矩阵,然后进行哈夫曼编码。感谢阅读五、实验步骤1.输入一个离散信源,并检查该是否完备集;2.使用哈夫曼编码原理进行哈夫曼程序编写;谢谢阅读3.输出离散信源中每个符号的哈夫曼编码及平均码长和编码效率,并与手工,并与手工运算的结果进行比较。精品文档放心下载六、实验报告要求1.按照本节内容后实验报告形式书写;2.实验总结和心得要详细,可以根据自己情况写出建议。七、实验注意事项精品文档放心下载1.比较大小在MATLABMATLABMATLABMATLABMATLAB中,调用的是sort精品文档放心下载_函数;2.仔细理解、体会哈夫曼编码思想。八、思考题比较香农编码、费诺哈夫曼并说出他们的优缺点?附录1:实验报告样式:实验报告班级:姓名:学号:组别:同组人:课程名称:实验室:实验时间:(使用实验报告纸的,以上内容可按照实验报告纸格式填写)感谢阅读实验四哈夫曼编码一、实验目的:二、实验内容与原理:三、实验器材(设备、元器件、软件工具、平台):四、实验步骤:五、程序流程图:六、实验数据及结果分析:七、实验结论:八、思考题:九、编程、调试过程中遇到的问题及解决方法:十、其他:实验总结、心得体会及对本实验方法、手段及过程的改进建议等。感谢阅读附录2:哈夫曼编码程序:clearall;_closeall;clc;13n=input('输入信源符号数:');p=zeros(1,n);fori=1:np(1,i)=input('输入信源符号概率:');精品文档放心下载endq=p;ifsum(p)<1||sum(p)>1error('输入概率不符合概率分布')enda=zeros(n-1,n);n=length(p);谢谢阅读fori=1:n-1[q,l]=sort(q);a(i,:)=[l(1:n-i+1),zeros(1,i-1)];q=[q(1)+q(2),q(3:n),1];end感谢阅读fori=1:n-1c(i,1:n*n)=blanks(n*n);endc(n-1,n)='1';c(n-1,2*n)='0';感谢阅读fori=2:n-1c(n-i,1:n-1)=c(n-i+1,n*(find(a(n-i+1,:)==1))-(n-2):n*(find(a(n-i+1,:)==1)));谢谢阅读_c(n-i,n)='1';c(n-i,n+1:2*n-1)=c(n-i,1:n-1);精品文档放心下载c(n-i,2*n)='0';forj=1:i-1c(n-i,(j+1)*n+1:(j+2)*n)=c(n-i+1,n*(find(a(n-i+1,:)==j+1)-1)+1:n*find(a(n-i+精品文档放心下载1,:)==j+1));endendfori=1:nh(i,1:n)=c(1,n*(find(a(1,:)==i)-1)+1:find(a(1,:)==i)*n);感谢阅读ll(i)=length(find(abs(h(i,:))~=32));精品文档放心下载endCode_length=0;fori=1:nCode_length=Code_length+p(1,i)*ll(i);谢谢阅读EndEfficiency=H/(Code_length);精品文档放心下载fprintf('\n哈夫曼编码:\n');disp(h)fprintf('\n平均码长:\n');disp(Code_length)fprintf('\n哈夫曼编码效率:\n');_disp(Efficiency)14实验五算术编码(2学时)一、实验目的1.掌握算数编码原理;2.学习算术编码基本流程,学会调试算术编码程序;精品文档放心下载3.根据给出资料,自学适应0阶算术编码方法。二、实验内容利用MATLABMATLABMATLABMATLABMATLAB编写程序实现算数码;编写程序实现算数码;精品文档放心下载2.对文件符号进行概率统计,生成编码表;3.对文件进行压缩编码;3.(选做)对文件进行解压缩,比较原始数据和后的之间是否有损(选做)对文件进行解压缩,比较原始数据和后的之间是否有损(选做)对文件进行解压缩,比较原始数据和后的之间是否有损(选做)对文件进行解压缩,比较原始数据和后的之间是否有损耗。感谢阅读三实验仪器、设备1.计算机-系统最低配置256M内存、P4CPUP4CPUP4CPUP4CPU;精品文档放心下载2.MATLABMATLABMATLABMATLABMATLAB编程软件。四、实验原理感谢阅读算术编码的编码对象是一则消息或一个字符序列,其编码思路是将该消息或字符序列表示成0和1之间的一个间隔(Interval)上的一个浮点小数。在进行算术编码之前,感谢阅读_需要对字符序列中每个字符的出现概率进行统计,根据各字符出现概率的大小,将每个字符映射到[0,1]区间上的某个子区间中。然后,再利用递归算法,将整个字符序列映射到[0,1]区间上的某个Interval中。在进行编码时,只需从该Interval中任选一个小数,将其转化为二进制数。谢谢阅读符号序列越长,编码表示它的Interval的间隔就越小,表示这一间隔所需的二进制位感谢阅读数就越多,编码输出的码字就越长。五、实验步骤项目文件建立步骤同实验二,下面列出对给定序的算术编码:精品文档放心下载1.编码器在开始时将“当前间隔”[L,H)设置为设置为[0,1);谢谢阅读2.对每一事件,编码器按步骤(a)和(b)进行处理;谢谢阅读(a)编码器将“当前间隔”分为子,每一个事件;(b)一个子间隔的大小与下将出现事件概率成比例,编码器选择子间隔对应于下一个确切发生的事件相,并使它成为新“当前子间隔对应于下一个确切发生的事件相,并使它成为新“当前子间隔对应于下一个确切发生的事件相,并使它成为新“当前隔”。隔”。精品文档放心下载3.最后输出的“当前间隔”下边界就是该给定事件序列算术编码。感谢阅读六、实验报告要求1.按照本节内容后实验报告形式书写;152.算术编码学习心得,特别是根据自适应模型算术编码学习心得,特别是根据自适应模型0阶编码,调整概率分布方法。阶编码,调整概率分布方法。根据自己实验情况,写出的做中遇到具体问题对本提建根据自己实验情况,写出的做中遇到具谢谢阅读_体问题对本提建根据自己实验情况,写出的做中遇到具体问题对本提建议。感谢阅读七、实验注意事项编码概论累加分布;编码区间上限和下迭代算法;自适应模型0阶的编码原理。八、思考题算术编码的优缺点?附录1:实验报告样式:实验报告班级:姓名:学号:组别:同组人:课程名称:实验室:实验时间:(使用实验报告纸的,以上内容可按照实验报告纸格式填写)精品文档放心下载_实验五算术编码一、实验目的:二、实验内容与原理:三、实验器材(设备、元器件、软件工具、平台):四、实验步骤:五、程序流程图:六、实验数据及结果分析:七、实验结论:八、思考题:九、编程、调试过程中遇到的问题及解决方法:十、其他:实验总结、心得体会及对本实验方法、手段及过程的改进建议等。感谢阅读附录二:算术编码程序disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%start%%谢谢阅读%%%%%%%%%%%%%%%%%%%%%')disp('程序限定字符为:abcde');谢谢阅读str=input('请输入编码的字符串:');[j,k]=size(str);l=0;r=1;d=1;p=[0.20.30.10.150.25];精品文档放心下载pa=0.2;_pb=0.3;16pc=0.1;pd=0.15;pe=0.25;n=length(str);disp('abcde')disp(num2str(p))fori=1:kifi==1switchstr(i)case'a'm=1;a1=0;a2=pa;case'b'm=2;a1=pa;a2=pa+pb;case'c'm=3;a1=pa+pb;_a2=pa+pb+pc;case'd'm=4;a1=pa+pb+pc;a2=pa+pb+pc+pd;case'e'm=5;a1=pa+pb+pc+pd;a2=pa+pb+pc+pd+pe;endl=a2-a1;endif(i>=2)&(i<=k)switchstr(i)case'a'aa=a1;ab=a1+l*pa;a1=aa;a2=ab;case'b'aa=a1+l*pa;ab=a1+l*(pa+pb);a1=aa;_a2=ab;case'c'17aa=a1+l*(pa+pb);ab=a1+l*(pa+pb+pc);a1=aa;a2=ab;case'd'aa=a1+l*(pa+pb+pc);ab=a1+l*(pa+pb+pc+pd);a1=aa;a2=ab;case'e'aa=a1+l*(pa+pb+pc+pd);ab=a1+l*(pa+pb+pc+pc+pd+pe);谢谢阅读a1=aa;a2=ab;endl=a2-a1;endstrl=strcat('input',int2str(i),'编码区间起始值为:');disp(strl);精品文档放心下载_disp(a1)strl=strcat('input',int2str(i),'编码区间的终止值为:');谢谢阅读disp(strl);disp(a2)strl=strcat('input',int2str(i),'本程序选择区间中点作为编码是:');感谢阅读disp(strl);disp((a1+a2)/2)enddisp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%code_fin感谢阅读ish%%%%%%%%%%%%%%%%%')disp('是否要译码,请选择')disp('1、译码')disp('2、不译码?')disp('说明:输入相应的数字进行选择')disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%choice%谢谢阅读%%%%%%%%%%%%%%%%%%%%%')YN=input('您选择的是:');ifYN==1bm=(a1+a2)/2;SuansuJiema(bm,k)endifYN==2_disp('你选择了不译码。')disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%%end%%%%%%%谢谢阅读%%%%%%%%%%%%%%%%%%%%%%%')end解码函数:functionSuansuJiema(bm,num)精品文档放心下载18formatlongpa=0.2;pb=0.3;pc=0.1;pd=0.15;pe=0.25;谢谢阅读i=1;ym={};ym{1}(1)=YM(bm);bm0=bm;whilei>=1&i<numswitch1caseym{1}(i)=='a'bm0=(bm0-0)/pa;caseym{1}(i)=='b'bm0=(bm0-pa)/pb;caseym{1}(i)=='c'bm0=(bm0-pa-pb)/pc;caseym{1}(i)=='d'_bm0=(bm0-pa-pb-pc)/pd;caseym{1}(i)=='e'bm0=(bm0-pa-pb-pc-pd)/pe;endi=i+1;ym{1}(i)=YM(bm0);enddisp('%%%%%%%%%%%%%%%%%%%%%%%%%%%jiema_start%%%%精品文档放心下载%%%%%%%%%%%%%%%%%%%')disp(['译码结果是',ym{1}])disp('%%%%%%%%%%%%%%%%%%%%%%%%%%%jiema_end%%%%%谢谢阅读%%%%%%%%%%%%%%%%%%%%')函数二:functionym=YM(A)pa=0.2;pb=0.3;pc=0.1;pd=0.15;pe=0.25;谢谢阅读switch1case0<=A&A<paym='a';casepa<=A&A<pa+pbym='b';casepa+pb<=A&A<pa+pb+pcym='c';_casepa+pb+pc<=A&A<pa+pb+pc+pd谢谢阅读ym='d';casepa+pb+pc+pd<=A&A<pa+pb+pc+pd+peym='e';精品文档放心下载caseA>=1|A<0disp('该码子为错误编码')end19实验六线性分组码的信道编码和译码(2学时)一、实验目的1.熟悉MATLAB工作环境及工具箱;2.掌握线性分组码的编码、译码原理以及纠错原理。二、实验内容用MATLAB软件编程实现线性分组码的信道编码和译码。精品文档放心下载三、实验仪器、设备1.计算机-系统最低配置256M内存、P4CPU;精品文档放心下载2.MATLAB编程软件。四、实验原理1.线性分组码基本原理首先,将信息序列分成K个符号一组,然后,在信息组中加入一些校验码感谢阅读元,组成N长码字,由此得到(N,K)分组码。(N,K)分组码中任一码字的码长为N,所含的信息位数目为K,校验位数目为r=N-K,且码中任意两个码精品文档放心下载_字的和仍为码字。例如,对于(5,2)分组码,N=5,K=2,其编码函数f为:谢谢阅读11CM22CM31212CMMCC411CMC51212CMMCC编码函数可知:c(码字)=m(信息矩阵)G(生成矩阵)其中,生成矩阵为:感谢阅读1011101101G当生成矩阵G确定后,编码的问题就解决了。又由编码函数的后3个方程感谢阅读可以确定校验方程,对应的矩阵形式为0TCH或0TGH,式中,H称为一致精品文档放心下载性校验矩阵,一致性校验矩阵如下:111001001011001H_H和G的关系为: K*KK*rG IA, K*rr*rH AI。精品文档放心下载纠错译码时,若发送码字为C,则接收序列为y,校正子**TTs yH eH,感谢阅读因此,可以得到译码c y e(模2和)。其中,e称为差错图样。S是传输谢谢阅读是否出错的标志,称为伴随式。(5,2)线性分组码的最小汉明距离为dmin=3,感谢阅读20能够检出2位错误或纠正1位错误。2.线性分组编码、译码算法:(1)线性分组码信道编码:(a)输入生成矩阵G和原序列;(b)由矩阵G得到n,k和H;(c)根据公式生成编码。(2)线性分组码信道译码:(a)输入生成矩阵G和接收序列;(b)由矩阵G得到n,k和H;(c)根据公式生得到校正S;(d)求错误图样e;(e)译码c y e。五、实验步骤_1.根据实验原理能设计出线性分组编码、译码程序;2.输入矩阵G和原序列验证编码程序是否正确;3.输入矩阵G和接收序列验证译码程序是否正确。六、实验报告要求1.按照本节内容后实验报告形式书写;2.实验总结和心得要详细,可以根据自己实验情况,写出建议。谢谢阅读七、实验注意事项1.线性分组码中生成矩阵、校验矩阵、伴随式之间的关系。感谢阅读2.在计算矩阵时,注意位操作运算。八、思考题优化程序,提高运算速度?附录1:实验报告样式:实验报告班级:姓名:学号:组别:同组人:课程名称:实验室:实验时间:(使用实验报告纸的,以上内容可按照实验报告纸格式填写)精品文档放心下载实验六线性分组码的信道编码和译码一、实验目的:二、实验内容与原理:三、实验器材(设备、元器件、软件工具、平台):四、实验步骤:21_五、程序流程图:六、实验数据及结果分析:七、实验结论:八、思考题:九、编程、调试过程中遇到的问题及解决方法:十、其他:实验总结、心得体会及对本实验方法、手段及过程的改进建议等。感谢阅读附录二:附录二:线性分组码的信道编码和译码closeall;clc;G=input('请输入生产矩阵G,例如:G=[10111;01101]\nG=');谢谢阅读G;[k,n]=size(G);r=n-k;m=input('请输入需传送消息m,如m=[00011011]\nm=');谢谢阅读l=length(m);if(mod(l,k))disp('输入消息有误');elsege=l/k;temp1=[];fori=1:getemp1(i,:)=m(k*(i-1)+1:i*k);感谢阅读_endm=temp1;c=mod(m*G,2);A=G(:,k+1:n);H=[A',eye(r)];disp('校验矩阵');Hdisp('编码矩阵');cenddisp('敲回车键继续');pausey=input('输入接收序列y,如:y=[00000011011011110010]\ny=');精品文档放心下载temp2=[];fori=1:getemp2(i,:)=y(1,n*(i-1)+1:i*n);谢谢阅读endy=temp2s=mod(y*H',2);e=s*pinv(H');22fori=1:ge_forj=1:nif(e(i,j)>0.5-eps)e(i,j)=1;elsee(i,j)=0;endendendcc=mod(y+e,2);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025物业管理企业合同管理研究综述
- 2025跨国合作技术专利许可合同中文模板
- 2025标准店面租赁合同模板下载
- 瓷砖店做分销合同协议
- 理发设备租赁合同协议
- 电子版劳务合同协议
- 电控箱加工合同协议
- 电商卖衣服合同协议
- 环保设备施工合同协议
- 玻璃雨棚定做合同协议
- 正式展会合同协议
- 贯彻落实清理规范非融资性担保方案指导意见
- 工程甩项合同协议
- 期中模拟卷(新疆专用)-2024-2025学年八年级英语下学期核心素养素质调研模拟练习试题(考试版)A4
- 甲状旁腺切除术后的护理措施
- 2025广东省深圳市中考数学复习分类汇编《函数综合题》含答案解析
- 金融工程重点总结
- 渔业资源与渔场学课件蓝点马鲛学习资料
- 2024慢性鼻窦炎诊断和治疗指南解读课件
- 2025年度毛绒玩具采购合同
- (T8联考)2025届高三部分重点中学3月联合测评生物试卷(含答案详解)河北版
评论
0/150
提交评论