信息论大作业new

信息论大作业new

ID:38736831

大小:35.50 KB

页数:8页

时间:2019-06-18

信息论大作业new_第1页
信息论大作业new_第2页
信息论大作业new_第3页
信息论大作业new_第4页
信息论大作业new_第5页
资源描述:

《信息论大作业new》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、信息论大作业电子工程学院班号1.Huffman编码1.Huffman编码原理:①将信源符号按概率从大到小的顺序排列,令p(x1)≥p(x2)≥…≥p(xn)②给两个概率最小的信源符号p(xn-1)和p(xn)各分配一个码位“0”和“1”,将这两个信源符号合并成一个新符号,并用这两个最小的概率之和作为新符号的概率,结果得到一个只包含(n-1)个信源符号的新信源。称为信源的第一次缩减信源,用S1表示。③将缩减信源S1的符号仍按概率从大到小顺序排列,重复步骤2,得到只含(n-2)个符号的缩减信源S2。④重复上述步骤,直至缩减信源只剩两个符号为止,此时所剩两个符号的概率之

2、和必为1。然后从最后一级缩减信源开始,依编码路径向前返回,就得到各信源符号所对应的码字。2.霍夫曼编码优缺点:1)编出来的码都是异字头码,保证了码的唯一可译性。2)由于编码长度可变。因此译码时间较长,使得霍夫曼编码的压缩与还原相当费时。3)编码长度不统一,硬件实现有难度。4)对不同信号源的编码效率不同,当信号源的符号概率为2的负幂次方时,达到100%的编码效率;若信号源符号的概率相等,则编码效率最低。5)由于0与1的指定是任意的,故由上述过程编出的最佳码不是唯一的,但其平均码长是一样的,故不影响编码效率与数据压缩性能。3.编码流程:读入一幅图像的灰度值;1.将矩阵

3、的不同数统计在数组c的第一列中;2.将相同的数占站整个数组总数的比例统计在数组p中;3.找到最小的概率,相加直到等于1,把最小概率的序号存在tree第一列中,次小放在第二列,和放在p像素比例之后;4.C数组第一维表示值,第二维表示代码数值大小,第三维表示代码的位数;5.把概率小的值为1标识,概率大的值为0标识;6.计算信源的熵;7.计算平均码长;8.计算编码效率';9.计算冗余度。源程序:p=input('请输入数据:');n=length(p);fori=1:nifp(i)<0fprintf('提示:概率值不能小于0!');p=input('请重新输入数

4、据:');endendifabs(sum(p))>1fprintf('哈弗曼码中概率总和不能大于1!');p=input('请重新输入数据:');endq=p;a=zeros(n-1,n);%生成一个n-1行n列的数组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];endfori=1:n-1c(i,1:n*n)=blanks(n*n);endc(n-1,n)='0';c(n-1,2*n)='1';fori=2:n-1c(n-i,1:n-1)=c(

5、n-i+1,n*(find(a(n-i+1,:)==1))-(n-2):n*(find(a(n-i+1,:)==1)));c(n-i,n)='0';c(n-i,n+1:2*n-1)=c(n-i,1:n-1);c(n-i,2*n)='1';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));endend%完成huffman码字的分配fori=1:nh(i,1:n)=c(1,n*(find(a(1,:)==i)-1)+1:fi

6、nd(a(1,:)==i)*n);ll(i)=length(find(abs(h(i,:))~=32));%计算每一个huffman编码的长度endl=sum(p.*ll);%计算平均码长fprintf('Huffman编码结果为:');hfprintf('编码的平均码长为:');lhh=sum(p.*(-log2(p)));%计算信源熵fprintf('信源熵为:');hhfprintf('编码效率为:');t=hh/l%计算编码效率运行结果为:请输入数据:[0.1,0.1,0.1,0.2,0.1,0.1,0.2,0.1]Huff

7、man编码结果为:h=1100110101011101100010001编码的平均码长为:l=3信源熵为:hh=2.9219编码效率为:t=0.97402.fano编码:Fano码:费诺编码属于概率匹配编码,但它不是最佳的编码方法。不过有时也可以得到紧致码的性能。信源符号以概率递减的次序排列进来,将排列好的信源符号划分为两大组,使第组的概率和近于相同,并各赋于一个二元码符号”0”和”1”.然后,将每一大组的信源符号再分成两组,使同一组的两个小组的概率和近于相同,并又分别赋予一个二元码符号.依次下去,直至每一个小组只剩下一个信源符号为止.这样,信源符号所对应的码符号

8、序列则为编

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。