欢迎来到天天文库
浏览记录
ID:56047985
大小:169.50 KB
页数:5页
时间:2020-06-19
《实验三香农编码.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、信息论与编码实验报告院系:哈尔滨理工大学荣成校区专业:电子信息工程学号:姓名:日期:2015年6月16日香农编码信息论与编码第三次实验报告一、实验目的和任务 1、 理解信源编码的意义; 2、 熟悉 MATLAB程序设计; 3、 掌握香农编码的方法及计算机实现; 4、 对给定信源进行香农编码,并计算编码效率; 二、实验原理介绍 给定某个信源符号的概率分布,通过以下的步骤进行香农编码 1、信源符号按概率从大到小排列; ³³ 2、确定满足下列不等式的整数码长为 <-+ 3、为了编成唯一可译码,计算第i个消息的累加概率: 4、将累加概率变换成二进制数; 5、取二进制数的小数
2、点后位即为该消息符号的二进制码字。三、实验设备1、计算机2、Matlab2014四、编码程序N=input('N=');%输入信源符号的个数s=0;%对行的概率进行初始化l=0;%对列的概率初始化H=0;%对信息熵初始化fori=1:Np(i)=input('p=');%输入信源符号概率分布矢量p(i)<1;%输入概率小于1s=s+p(i);%行概率求和H=H+(-p(i)*log2(p(i)));%计算信源信息熵endifabs(s-1)>0%若行概率和>1则报错error('不符合概率分布')endfori=1:N-1%for循环按概率分布大小对信源排序forj=i+1
3、:Nifp(i)
4、nd%计算累加概率fori=1:Nforj=1:wW(i,j)=fix(P(i)*2);%对每次的P(i)取码字,长度与a相同P(i)=P(i)*2-fix(P(i)*2);%将累加概率转化为L(i)位二进制码字endendW%显示码字r%显示平均码长n%显示编码效率H%显示信息熵H五、实验结果>>xiangnongN=6p=0.25p=0.25p=0.20p=0.15p=0.10p=0.05W=000000100010000101101101111110r=2.7000n=0.8975H=2.4232六、实验心得此次实验让我明白了做程序需要先进行需求分析,然后画出流程图,
5、根据流程图把每部分模块完成,然后再进行调试和编辑,提高了我做编程的能力
此文档下载收益归作者所有