实验报告-3-信道容量
《信息与编码》课内实验报
告
学生姓名: 及 学 号:
学 院: 班 级: 课程名称: 实验题目: 指导教师 姓名及职称:
信息与编码 离散信道容量
2015年4月20日
目 录
一、实验目的............................................................................................. 1 二、实验内容............................................................................................. 1 三、实验要点及说明 ................................................................................ 1 四、实现方法............................................................................................. 1 五、实验结果............................................................................................. 1 六、源程序清单 ........................................................................................ 2 七、思考及总结 ........................................................................................ 3
一、实验目的
1.掌握离散信道的信道容量的计算方法;
2.理解不同类型信道的不同特点与不同的计算方法;
二、实验内容
1.进一步熟悉一般离散信道的信道容量计算方法; 2.进一步复习巩信道性质与实际应用; 3.学习如何将复杂的公式转化为程序。
三、实验要点及说明
准确理解信道容量计算公式意义及如何计算,并能通过matlab 编程计算相应信道容量;
要编写一个通用的程序,计算不同类型的信道的容量,进一步分析影响信道容量的因素。
四、实现方法
以matlab 软件为基础,以通过编程, 1)计算对称信道的信道容量。 2)计算非对称信道的信道容量。 3)分析影响信道容量的因素。
五、实验结果
1:计算对称信道的信道容量
>> dcxdrl([.2 .8;.8 .2]) ans =
0.2781
2:计算非对称信道的信道容量
fdcrl([.2 .8 ;.1 .9]) ans =
0.0144
3:影响信道容量的因素 影响信道容量的因素有:信源和信宿的个数,以及各个信道的概率,虽然说,这个过程中会有信息量的损失,但是这个我们在计算信道容量的时候也是计算在内。
六、源程序清单
1:对称
function y=dcxdrl(p) %计算对称信道容量 [h,l]=size(p); if h~=l
error('非对称信道矩阵非方阵') end
if abs(sum(p')-1)>0.00001*ones(1,h)
error('信道概率分布错误!') end
if abs(sum(p)-sum(p'))>0.0001*ones(1,h)
error('非对称信道!') end
y=log2(l)+sum(p(1,:).*log2(p(1,:)));
2:非对称
function y=fdcrl(p) %非对称信道容量 [l,m]=size(p);
if l~=m|max(abs(sum(p')-1))>0.001
error('信道矩阵非方阵或概率分布错误!') end
b=p.*log2(p); x=p\sum(b,2); y=log2(sum(2.^x));
七、思考及总结
通过这次课内实验更加理解了信道容量计算公式意义及如何计算,并且能通过matlab 编程计算相应信道容量,并能准确地计算出对称与非对称的信道容量。