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

上传人:yh****1 文档编号:178983591 上传时间:2021-04-07 格式:DOC 页数:6 大小:57.50KB
返回 下载 相关 举报
实验二 香农编码的计算与分析_第1页
第1页 / 共6页
实验二 香农编码的计算与分析_第2页
第2页 / 共6页
实验二 香农编码的计算与分析_第3页
第3页 / 共6页
实验二 香农编码的计算与分析_第4页
第4页 / 共6页
实验二 香农编码的计算与分析_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《实验二 香农编码的计算与分析》由会员分享,可在线阅读,更多相关《实验二 香农编码的计算与分析(6页珍藏版)》请在金锄头文库上搜索。

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=

3、array(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(max1) if (in) for k=(maxN-1):-1:i P(:,k+1)=P(:,k); end end end P(:,i)=MAX; end p=P(1,:); x=P(2,:);(2)Shannon编码算法% shan

4、non编码生成器 % 函数说明: % W,L,q=shannon(p) 为 Shannon编码函数 % p 为信源的概率矢量,W为编码返回的码字 % L 为编码返回的平均码字长度,q 为编码概率 % * %function W,L,q =shannon(p)% 提示错误信息 % if (length(find(p10e-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=

5、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(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; % 计算编码效率f

6、or 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编码平均码字长度L:;s3=Shannon编码的编码效率q:;disp(s0);disp(s1),disp(B),disp(W);disp(s2),disp(L);disp(s3),disp(q);- - -优质专业-

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 总结/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号