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

武汉理工大学信息理论编码实验.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
武汉理工大学信息理论编码实验

实验1 1.p=0.00001:0.001:0.99999; h=-p.*log2(p)-(1-p).*log2(1-p); plot(p,h); title(二进熵函数曲线); ylabel(H(p,1-p)) 2. p=linspace(eps,1-eps,100); q=linspace(eps,1-eps,100); [P,Q]=meshgrid(p,q); P_Q=P+Q; for n=1:100 for m=1:100 if P_Q(n,m)=1 Q(n,m)=nan; end end end H=-P.*log2(P)-Q.*log2(Q)-(1-P-Q).*log2(1-P-Q); mesh(P,Q,H) title(三维熵函数的图形) 3.function H=entropy(p) %该函数用来计算包含任意多个符号的信源熵 %p为DMS的概率分布,行向量 if sum(p)~=1 %判断是否满足概率完备性 error(!!!不满足概率完备性,重新输入信源分布) return else L=length(p) %得到信源符号的个数 H=0; %熵值初始化为零 for i=1:L H=H-p(i)*log2(p(i)); %累加熵函数各个子项 end end 3.[p,q]=meshgrid(0.000001:0.01:1,0.000001:0.01:1); Hnoise=-p.*log2(p)-(1-p).*log2(1-p); % 噪声熵 x=(1-p).*q+p.*(1-q); I=-x.*log2(x)-(1-x).*log2(1-x)-Hnoise; mesh(p , q , I) 实验2 代码 clc;clear all; N = input(输入信源符号X的个数N=); M = input(输出信源符号Y的个数M=); p_yx=zeros(N,M); %程序设计需要信道矩阵初始化为零 fprintf(输入信道矩阵概率\n) for i=1:N for j=1:M p_yx(i,j)=input(p_yx=);%输入信道矩阵概率 if p_yx(i)0 error(不符合概率分布) end end end for i=1:N %各行概率累加求和 s(i)=0; for j=1:M s(i)=s(i)+p_yx(i,j); end end for i=1:N %判断是否符合概率分布 if (s(i)=0.999999||s(i)=1.000001) error(不符合概率分布) end end b=input(输入迭代精度:);%输入迭代精度 for i=1:N p(i)=1.0/N; %取初始概率为均匀分布 end for j=1:M %计算q(j) q(j)=0; for i=1:N q(j)=q(j)+p(i)*p_yx(i,j); end end for i=1:N %计算a(i) d(i)=0; for j=1:M if(p_yx(i,j)==0) d(i)=d(i)+0; else d(i)=d(i)+p_yx(i,j)*log(p_yx(i,j)/q(j)); end end a(i)=exp(d(i)); end u=0; for i=1:N %计算u u=u+p(i)*a(i); end IL=log2(u); %计算IL IU=log2(max(a));%计算IU n=1; while((IU-IL)=b) %迭代计算 for i=1:N p(i)=p(i)*a(i)/u; %重新赋值p(i) end for j=1:M %计算q(j) q(j)=0; for i=1:N q(j)=q(j)+p(i)*p_yx(i,j); end end for i=1:N %计算a(i) d(i)=0; for j=1:M if(p_yx(i,j)==0) d(i)=d(i)+0;

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档