实验二 香农编码的计算与分析_第1页
实验二 香农编码的计算与分析_第2页
实验二 香农编码的计算与分析_第3页
实验二 香农编码的计算与分析_第4页
实验二 香农编码的计算与分析_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、ray(P)为按降序排序的函数 %P为信源的概率矢量,x为概率元素的下标矢量%P为排序后返回的信源的概率矢量 %x为排序后返回的概率元素的下标矢量 %*%functionp,x=array(P) n=length(P); X=1:n; P=P;X; for i=1:n max=P(1,i); maxN=i; MAX=P(:,i); for j=i:n if(max<P(1,j) MAX=P(:,j); max=P(1,j); maxN=j; end end if (maxN>1) if (i<n) for k=(maxN-1):-1:i P(:,k+1)=P(:,k); en

4、d end end P(:,i)=MAX; end p=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('Not a prob.vector.negative component'); % 判断是否符合概率分

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

6、i)*2-temp(i,j); endend% b) 给W赋ASCII码值,用于显示二进制代码组Wfor i=1:n for j=1:l(i) if (temp(i,j)=0) W(i,j)=48; else W(i,j)=49; end endendL=sum(p.*l); % 计算平均码字长度H=entropy1(p,2); % 计算信源熵q=H/L; % 计算编码效率for i=1:n Bi=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(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编码平均码字长

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论