信息论与编码实验讲义
宋毅
淮阴师范学院物电学院
2012年9月15日
序言
本实验讲义配合电子信息类专业开设的专业课《信息论与编码》而编写,作为《信息论与编码》的配套讲义,供该课程配套实验用。
信息论与编码是现代信息科学的基础技术之一,也是理论与实践不可分离的一门学科,本讲义力求注重实践和培养学生动手能力,同时注重信息技术的仿真应用实验。
由于水平限制,书中难免有不足和差错之处,恳请广大师生批评指正。
编者
2012年9月
实验一、绘制二进制熵函数曲线一、实验目的
1.掌握二进制符号熵的计算;
2.掌握MATLAB的应用;
3.掌握Matlab绘图函数;
4.掌握、理解熵函数表达式及其性质
二、实验条件
计算机一台,MATLAB仿真软件。
三、实验内容
(1)MATLAB的应用(请参阅相关书籍)
(2)打开MATLAB,在命令窗口中输入eidt,弹出编辑窗口,如图1:
图1 MATLAB的编辑窗口
(3)输入源程序:
clear;
x=0.001:0.001:0.999
y=-x.*log2(x)-(1-x).*log2(1-x);
plot(x,y);
grid on
(4)保存文件为entropy.m;
(5)单击Debug菜单下的Run,或直接按F5执行;
(6)执行后的结果图2:
四、实验分析
clear;
x=0.001:0.001:0.999
y=-x.*log2(x)-(1-x).*log2(1-x); plot(x,y);
xlabel('p');
ylabel('H(p)');
title('H(p)');
grid on
clear;
x=0.001:0.02:0.999
y=-x.*log2(x)-(1-x).*log2(1-x); plot(x,y);
xlabel('p');
title('H(p)');
grid on
clear;
x=0.009:0.002:0.991
y=-x.*log2(x)-(1-x).*log2(1-x); plot(x,y);
xlabel('p');
ylabel('H(p)');
grid on
分析总结:
(1)熵函数是一个严格上凸函数
(2)熵的极大值,二进符号的熵在p(x1)=p(x2)=0.5取得极大值
(3)调调整p(x1)的取值步长,重画该曲线。当步长改变为0.02,步长变大的时候,可以看到函数图像有一段缺失,且图像不对称。
(4)调整p(x1)的取值区间可以发现(3)的问题就解决了,函数图像仍有缺失,但是图像对称。可以发现当步长改变时,p(x1)取值区间也应该改变,否则图像不对称
(5)当二元信源符号0和1以等概率发生的时候,信源熵达到极大值,等于1bit信息量。