欢迎来到天天文库
浏览记录
ID:19830841
大小:123.83 KB
页数:16页
时间:2018-10-06
《信息编码实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、信息论与编码技术实验报告实验题目香浓编码学生专业班级信息与计算科学1001学生姓名(学号)曹雪萍(20104590)指导教师吴慧完成时间2013年5月18日2013年5月18日信息论与编码技术实验报告实验题目Huffman编码软件实现学生专业班级信息与计算科学1001学生姓名(学号)曹雪萍(20104590)指导教师吴慧完成时间2013年5月19日2013年5月19日实验一 香农编码的实验报告一、实验目的1.了解香农编码的基本原理及其特点;2.熟悉掌握香农编码的方法和步骤;3.掌握C语言或者Matlab编写香
2、农编码的程序。二、实验要求对于给定的信源的概率分布,按照香农编码的方法进行计算机实现.三、实验原理给定某个信源符号的概率分布,通过以下的步骤进行香农编码1.信源符号按概率从大到小排列2.对信源符号求累加概率,表达式:Gi=Gi-1+p(xi)3.求自信息量,确定码字长度。自信息量I(xi)=-log(p(xi));码字长度取大于等于自信息量的最小整数。4.将累加概率用二进制表示,并取小数点后码字的长度的码。四、实验内容离散无记忆信源符号S的概率分布:SP(S)=0.200.190.180.170.150.10
3、0.01对离散无记忆信源分布S进行香农编码1.画出程序设计的流程图,开始计算平均码长按概率分布大小对信源排序判断概率和S是否等于1输入对应符号的概率P(i)输入信源符号的个数计算编码效率计算累加概率计算自信息量将累加概率转化为二进制码字输出累加概率,码长,码字,自信息量,平均码长,编码效率结束2.写出程序代码,N=input('N=');%输入信源符号的个数s=0;l=0;H=0;fori=1:Np(i)=input('p=');%输入信源符号概率分布矢量,p(i)<1s=s+p(i)H=H+(-p(i)*l
4、og2(p(i)));I(i)=-log2(p(i));%计算信源信息熵endifabs(s-1)>0,error('不符合概率分布')endfori=1:N-1forj=i+1:Nifp(i)
5、)=0fori=2:NP(i)=0;forj=1:i-1P(i)=P(i)+p(j);endend%计算累加概率fori=1:Nforj=1:wW(i,j)=fix(P(i)*2);P(i)=P(i)*2-fix(P(i)*2);endend%将累加概率转化为L(i)位二进制码字disp(W)%显示码字disp(l)%显示平均码长disp(n)%显示编码效率disp(I)%显示自信息量3.写出在调试过程中出现的问题,问题1:自信量程序不会编写问题2:累加概率时注意P(1)=0问题3:程序运行时要依次输入各个符
6、号概率4.对实验的结果进行分析由程序运行结果,得2.342.412.482.562.743.346.66所以我们得到每个信源符号的自信息量为I(s1)=2.34I(s2)=2.41I(s3)=2.48I(s4)=2.56I(s5)=2.74I(s6)=3.34I(s7)=6.66根据公式,我们得到每个信源符号的码长为l1=3l2=3l3=3l4=3l5=3l6=4l7=7由程序运行结果,0000000001100001100001001000101100011100001111110我们得到每个信源符号的为对
7、应的二进制数为:G1=0.0000000G2=0.0011000G3=0.0110000G4=0.1001000G5=0.1011000G6=0.1110000G7=0.1111110所以我们得到每个信源符号的码字为:S1=000s2=001s3=011s4=100s5=101s6=1110s7=1111110平均码长为:3.14编码效率为:0.831五、实验结论与心得此次实验让我认识和熟悉了及步骤,对MATLAB软件也有更加深刻的掌握,会用它求某个符号信源的香农编码程序算法,对我的实验能力有所提高。Huff
8、man编码软件实现实验报告一、实验目的1.进一步熟悉Huffman编码过程;2.掌握Matlab程序的设计和调试技术。二、实验要求1.输入:信源符号个数r、信源的概率分布P;2.输出:每个信源符号对应的Huffman编码的码字,编码效率。三、实验原理:1.二进制Huffman编码的基本原理设信源s={}其中对应的概率分布为P()={}则其编码步骤如下:(1)将q个信源符号按概率递减的方式排列。(2)
此文档下载收益归作者所有