欢迎来到天天文库
浏览记录
ID:28071732
大小:81.19 KB
页数:8页
时间:2018-12-07
《实验报告-3-信道容量》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、《信息与编码》课内实验报告学生姓名:及学号:学院:班级:课程名称:实验题目:指导教师姓名及职称:理学院信息与编码离散信道容量常志文副教授朱振菊讲师刘力实验师2014年4月3曰一、实验目的1二、实验内容1三、实验要点及说明1四、实现方法1五、实验结果2六、源程序清单4七、思考及总结6一、实验目的1.掌握离散信道的信道容量的计算方法;2.理解不同类型信道的不同特点与不同的计算方法;二、实验内容1.进一步熟悉一般离散信道的信道容量计算方法;2.进一步复习巩信道性质与实际应用;3.学习如何将复杂的公式转化为程序。三、实验要点及说明准确理解信道容量计算公式意
2、义及如何计算,并能通过matlab编程计算相应信道容量;要编写一个通用的程序,计算不同类型的信道的容量,进一步分析影响信道容量的因素。四、实现方法以matlab软件为基础,以通过编程,1)计算对称信道的信道容量。2)计算非对称信道的信道容量。3)分析影响信道容量的因素。五、实验结果1、计算非对称信道的信道容量。输入信源符号X的个数N=4输出信源符号Y的个数M=4输入信道矩阵概率p一yx二1/2p一yx=Op_yx=l/4p_yx二1/4p_yx=l/4p_yx=l/2p_yx=Op_yx二1/4p_yx=l/4p_yx二1/4p_yx二1/2P_y
3、x=Op_yx=Op_yx=l/4p_yx二1/4p_yx=l/2输入迭代精度:2信道矩阵为:0.500000.25000.25000.25000.500000.25000.25000.25000.5000000.25000.25000.5000迭代次数n=1信道容跫C=0.500000比特/符号〉〉2、计算对称信道的信道容量。输入信源符号X的个数N=4输出信源符号Y的个数M=4输入信道矩阵槪率p_yx=Op_yx=l/3p一yx=l/3p_yx=l/3p_yx=l/3p一yx=Op_yx=l/3p_yx=l/3p_yx=l/3p_yx=l/3p_
4、yx=Op一yx=l/3p一yx=l/3p_yx=l/3p_yx=l/3p一yx=O输入选代精度:3信道矩阵为:00.33330.33330.33330.333300.33330.33330.33330.333300.33330.33330.33330.33330迭代次数n=1信道容蚩C=0.415037比特/符号〉〉3、影响信道容量的因素。此处,我们的程序只实现了方阵信道信道容量的计算,但是实际上非方阵的也能容易计算。容易发现,影响信道容量因素有:信源和信宿的个数,以及各个信道的概率,虽然说,这个过程中会有信息量的损失,但是这个我们在计算信道容量
5、的时候也是计算在内的,所以不算是一个影响因素。六、源程序清单%信道容量C汁算的Matlab程序clc;clearall;N=i叩utf输入信源符号X的个数N=’);M=input(’输出信源符号Y的个数M=’);p_yx=zeros(N,M);%程序设计需要信道矩阵初始化为零fprintf(’输入信道矩阵概率’)fori=l:Nforj=l:Mp_yx(i,j)=input(’p_yx=*);%输入信道矩阵概率ifp_yx(i)<0error(’不符合概率分布')endendendfori=l:N%各行概率累加求和s(i)=0;forj=l:M
6、s(i)=s(i)+p_yx(i,j);endendfori=l:N%判断是否符合概率分布if(s⑴<=0.999999
7、
8、s⑴〉=1.000001)error(’不符合概率分布')endendb=input(
9、输入迭代精度:’);%输入迭代精度fori=l:Np(i)=1.0/N;%取初始概率为均匀分布endforj=l:M%计算q(j)q(j)=O;fori=l:Nq(j)=q(j)+p(O*P_yx(i,j);endendfori=l:N%计算3(0d(i)=0;forj=l:Mif(p_yx(i,j)==0)d(i)=d(i)+0;else
10、d(i)=d⑴+p__yx(i,j)*log(p_yx(i,j)/q①);endenda(i)=exp(d(i));endu=0;fori=l:N%计算11u=u+p(i)*a(i);endIL=log2(u);%计算儿IU=log2(max⑻);%计算IUn=l;while((IU-TL)〉=b)%迭代计算fori=l:Np(i)=p(i)*a(i)/u;%重新赋值p(i)endforj=l:M%计算q①q(j)=o;fori=l:Nqa)=q(j)+p(i)*p-yx(ij);endendfori=1:N%计算的)d(i)=0;forj=l:M
11、if(p_yx(i,j)==0)d(i)=d(i)+0;elsed(i)=d(i)+p_yx(i,j)*log(p_yx(
此文档下载收益归作者所有