网站大量收购独家精品文档,联系QQ:2885784924

信息论与编码实验程序与结果图(matlab).docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
结果图 信源熵实验程序: clc; close all; clear; linwidd=1 fontt=20 p0=0; pd=1; N=20 p=linspace(p0,pd,N); I=-log2(p); plot(p,I,k); title(I=-log2(p) 函数图 ); xlabel(p);ylabel(I); clc; close all; clear; linwidd=1 fontt=20 p0=0; pd=1; N=20 p=linspace(p0,pd,N); H=-p.*log2(p)-(1-p).*log2(1-p); plot(p,H,k); title(H=-p.*log2(p)-(1-p).*log2(1-p) 函数图 ); xlabel(p);ylabel(H); 信道容量实验程序: clc; close all; clear; linwidd=1 fontt=20 p0=0; pd=1; N=20 p=linspace(p0,pd,N); r=4 c=log2(r)+(1-p).*log2(1-p)+p.*log2(p/(r-1)); plot(p,c,k); title( 强对称信道容量数值模拟图 ); 有噪信道编码 -- 费诺不等式程序: 结果图 clc;close all ;clear; r=3;p0=;pd=;N=2000; p=linspace(p0,pd,N); q=1-p; H=-p.*log2(p)-q.*log2(q); hold on HH=H+p.*log2(r-1) title( 费诺不等式示意图 );box on xlabel( PE ); ylabel( H(X/Y) ); plot(p,HH, k: ) hold on hold on fill([p,1],[HH,0],[,,]) stem((r-1)/r,, ) text,, 最大值 ) 香农编码程序: codelength=zeros(1,n);% 码长初始化 for ii=1:n clc;clear all;close all; fprintf([ 第,num2str(ii), 个消息对应为 ]); p=[ ]; disp(c{ii});%显示码字 if sum(p)1||sum(p)1 codelength(ii)=length(c{ii});% error( 输入概率不符合概率分布 ) end end n_average=sum(codelength.*p) % 平均码长 [p index]=sort(p,descend); fprintf( 平均码长为 );disp(n_average); n=length(p); H=-sum(p.*log2(p)); pa=zeros(n,1); fprintf( 信源熵 );disp(H); for ii=2:n x=H/(n_average.*log2(2)) pa(ii)=pa(ii-1)+p(ii-1); fprintf( 编码效率 );disp(x); end figure k=ceil(-log2(p));% 码字长度计算 h=stem(1:n,codelength);% c=cell(1,n);% 生成元胞数组, 用来存不同长度的 axis([0 n+1 0 n+1]); 码字 set(h,MarkerFaceColor,blue,linewidth,2) for ii=1:n 实验结果 结果图 c{ii}=; 第 1 个消息对应为 000 tmp=pa(ii); 第 2 个消息对应为 001 for jj=1:k(ii) 第 3 个消息对应为 011 tmp=tmp*2; 第 4 个消息对应为 100 if tmp=1 第 5 个消息对应为 101 tmp=tmp-1; 第 6 个消息对应为 1110 %c{ii}{jj}=1; 第 7 个消息对应为 1111110 c{ii}=[char(c{ii}),1]; n_average = else 平均码长为 %c{ii}{jj}=0; 信源熵 c{ii}=[char(c{ii}),0]; x = end 编码效率 end 费诺编码程序: end end c(index)=c;% 换回原来的顺序 for rr=2:2:needgroupnum*2 编码效率 );disp(x); index2=index_aftergroup(rr,:); for ii=index2(1):index2(2) c{ii}=[char(c{ii}),1]; end end flag=0; index_p=[]; for rr=1:needgroupnum*2 indextmp=i

文档评论(0)

153****3726 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档