《信道容量迭代计算实验报告》由会员分享,可在线阅读,更多相关《信道容量迭代计算实验报告(4页珍藏版)》请在金锄头文库上搜索。
1、信道容量迭代计算实验报告(总3页)-本页仅作为文档封面,使用时请直接删除即可-内页可以根据需求调整合适字体及大小-信道容量迭代计算 实验报告王升信科1002信道容量迭代计算实验报告一、实验目的: 了解信道容量的定义和计算方法,能编写出正确的程序进行迭代计算得出 信道容量。二、实验要求:1)输入:输入信源个数、信宿个数和信道容量的精度,程序能任意生成随机的信道 转移概率矩阵。2)输出:输出最佳信源分布和信道容量。三、实验环境:Matlab、实验原理:p(硝3输入厂p(bt a.)悶=r Lpt乞讯叩巩眄丨码)Jd)Ci it 十 L/i)二】n 工 p(at 疣Cn + ,ra - ln( tt
2、isk a )C(n 11 .in 匚J(inC=C(il五、源程序代码: clear;r=i nput(输入信源个数:);s=input(输入信宿个数:);deta=i nput(输入信道容量的精度:); Q=rand(r,s); %创建m*n随机分布矩阵 A=sum(Q,2);B=repmat(A,1,s);disp(信源转移概率矩阵:),p=Q./B%信源转移概率矩阵i=1:1:r;q(i)=1/r;disp(原始信源分布:),qc=-10e-8;C=repmat(q,1,s);for k=1:1:100000m=p.*C; %后验概率的分子部分 a=sum(m); %后验概率的分母部分
3、 su1=repmat(a,r,1);t=m./su1;%后验概率矩阵D=exp(sum(p.*log(t),2); %信源分布的分子部分 su2=sum(D);%信源分布的分母部分q=D/su2;%信源分布C=repmat(q,1,s); c(k+1)=log(sum(exp(sum(p.*log(t),2)/log(2); kk=abs(c(k+1)-c(k)/c(k+1);if(kk=break;endenddisp(最大信道容量时的信源分布:q=),disp(q)disp(最大信道容量:c=),disp(c(k+1)六、实验结果:输入ft源个埶:2输入信宿亍埶:3输入信道容里的精度:0. 000001信源转移拯率矩蹲:P =0.43920. 35720. 19350.3146.0320.5335原始信源分布:0.=0.50000.5000最夭信道容里时的信鴉分布:尸0.49380. 5J02最夭信道容里:c=0. 1480