实验二 香农编码的计算与分析1.doc

实验二 香农编码的计算与分析1.doc

ID:56483674

大小:54.50 KB

页数:6页

时间:2020-06-24

实验二 香农编码的计算与分析1.doc_第1页
实验二 香农编码的计算与分析1.doc_第2页
实验二 香农编码的计算与分析1.doc_第3页
实验二 香农编码的计算与分析1.doc_第4页
实验二 香农编码的计算与分析1.doc_第5页
资源描述:

《实验二 香农编码的计算与分析1.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验二香农编码的计算与分析一、[实验目的]1、理解香农第一定理指出平均码长与信源之间的关系。2、加深理解香农编码具有的重要理论意义。3、掌握Shannon编码的原理。4、掌握Shannon编码的方法和步骤。5、熟悉shannnon编码的各种效率二、[实验环境]windowsXP,MATLAB7三、[实验原理]香农第一定理:设离散无记忆信源为熵为H(S),其N次扩展信源为熵为H(SN)。码符号集X=(x1,x2,…,xr)。先对信源进行编码,总可以找到一种编码方法,构成惟一可以码,使S中每个信源符号所需的平均码长满足:当N时是平均码长是对应的码字长度四、[实验内容]1、根据实验原理,设计s

2、hannon编码方法,在给定SP=s1s2s3s4s5s6s70.010.170.190.100.150.180.2条件下,实现香农编码并算出编码效率。2、请自己构造两个信源空间,根据求Shannon编码结果说明其物理意义。五、[实验过程]每个实验项目包括:1)设计思路2)实验中出现的问题及解决方法;要求:1)有标准的实验报告(10分)2)程序设计和基本算法合理(30分)3)实验仿真具备合理性(30分)4)实验分析合理(20分)5)能清晰的对实验中出现的问题进行分析并提出解决方案(10分)附录:程序设计与算法描述参考(1))按降序排列概率的函数%[p,x]=array(P)为按降序排序的

3、函数%%P为信源的概率矢量,x为概率元素的下标矢量%%P为排序后返回的信源的概率矢量%%x为排序后返回的概率元素的下标矢量%%******************************%function[p,x]=array(P)n=length(P);X=1:n;P=[P;X];fori=1:nmax=P(1,i);maxN=i;MAX=P(:,i);forj=i:nif(max1)if(i

4、(:,i)=MAX;endp=P(1,:);x=P(2,:);(2)Shannon编码算法%shannon编码生成器%%函数说明:%%[W,L,q]=shannon(p)为Shannon编码函数%%p为信源的概率矢量,W为编码返回的码字%%L为编码返回的平均码字长度,q为编码概率%%*******************************************************%function[W,L,q]=shannon(p)%提示错误信息%if(length(find(p<=0))~=0)error('Notaprob.vector.negativecomponent

5、');%判断是否符合概率分布条件end%1)排序if(abs(sum(p)-1)>10e-10)error('Notaprob.vetor.componentdonotaddupto1')%判断是否符合概率和为1end[p,x]=array(p);%2)计算代码组长度ll=ceil(-log2(p));%3)计算累加概率PP(1)=0;n=length(p);fori=2:nP(i)=P(i-1)+p(i-1);end%4)求得二进制代码组W%a)将十进制数转为二进制数fori=1:nforj=1:l(i)temp(i,j)=floor(P(i)*2);P(i)=P(i)*2-temp(

6、i,j);endend%b)给W赋ASCII码值,用于显示二进制代码组Wfori=1:nforj=1:l(i)if(temp(i,j)==0)W(i,j)=48;elseW(i,j)=49;endendendL=sum(p.*l);%计算平均码字长度H=entropy1(p,2);%计算信源熵q=H/L;%计算编码效率fori=1:nB{i}=x(i);end%[n,m]=size(W);%TEMP=32*ones(n,6);%W=[W,TEMP];%W=W';%[n,m]=size(W);%W=reshape(W,1,n*m);%W=sprintf('%s',W);[m,n]=size

7、(W);TEMP=blanks(m);W=[W,TEMP',TEMP',TEMP'];[m,n]=size(W);W=reshape(W',1,m*n);s0='很好!输入正确,编码结果如下:';s1='Shannon编码所得码字W:';s2='Shannon编码平均码字长度L:';s3='Shannon编码的编码效率q:';disp(s0);disp(s1),disp(B),disp(W);disp(s2),disp(L);dis

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

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

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