matlab-信道容量的迭代计算.doc

matlab-信道容量的迭代计算.doc

ID:60748187

大小:17.00 KB

页数:3页

时间:2020-12-13

matlab-信道容量的迭代计算.doc_第1页
matlab-信道容量的迭代计算.doc_第2页
matlab-信道容量的迭代计算.doc_第3页
资源描述:

《matlab-信道容量的迭代计算.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《信息论基础》课程实验报告(四)班级:计算072班姓名:白梅学号:实验内容:信道容量的迭代计算。实验要求:1.输入一个信道矩阵;2.输出下列内容:(1)最佳输入概率分布;(2)信道容量;(3)迭代次数;(4)输入符号的个数;(5)输出符号的个数;(6)迭代计算精度;3.实验报告中要包括源代码和输入、输出结果。实验源程序如下:function[CC,Paa]=ChannelCap(P,k)if(length(find(P<0))~=0)error('Notaprob.vector,negativecomponent,不是概率分布');endif(abs(sum(P')-1)>10e-10

2、)error('Notaprob.vector,componentdonotaddupto1。不是概率分布');end[r,s]=size(P);Pa=(1/(r+eps))*ones(1,r);sumrow=zeros(1,r);Pba=P;n=0;C=0;CC=1;whileabs(CC-C)>=kn=n+1;Pb=zeros(1,s);forj=1:sfori=1:rPb(j)=Pb(j)+Pa(i)*Pba(i,j);endendsuma=zeros(1,s);forj=1:sfori=1:rPab(j,i)=Pa(i)*Pba(i,j)/(Pb(j)+eps);suma(j)

3、=suma(j)+Pa(i)*Pba(i,j)*log2((Pab(j,i)+eps)/(Pa(i)+eps));endendC=sum(suma);L=zeros(1,r);sumaa=0;fori=1:rforj=1:sL(i)=L(i)+Pba(i,j)*log(Pab(j,i)+eps);enda(i)=exp(L(i));endsumaa=sum(a);fori=1:rPaa(i)=a(i)/(sumaa+eps);endCC=log2(sumaa);Pa=Paa;s0='很好!输入正确,迭代结果如下:';s1='最佳输入概率分布Pa:';s2='信道容量C:';s3='迭代

4、次数n:';s4='输入符号数r:';s5='输出符号数s:';s6='迭代计算精度k:';fori=1:rB{i}=i;endenddisp(s0);disp(s1),disp(B),disp(Paa);disp(s4),disp(r);disp(s5),disp(s);disp(s2),disp(CC);disp(s6),disp(k);disp(s3),disp(n);设置k=0.00001>>k=0.00001k=1.0000e-005输入信道矩阵P:>>P=[1/21/20;0.20.30.5]P=0.50000.500000.20000.30000.5000得到输出结果:>

5、>ChannelCap(P,k)很好!输入正确,迭代结果如下:最佳输入概率分布Pa:[1][2]0.59490.4051输入符号数r:2输出符号数s:3信道容量C:0.3263迭代计算精度k:1.0000e-005迭代次数n:8ans=0.3263

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

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

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