一、实验目的
1、熟悉离散信源的特点;
2、学习仿真离散信源的方法;
3、学习离散信源平均信息量的计算方法;
4、熟悉Matlab编程。
二、实验内容
1、掌握离散信源与概率的关系,写出计算两个信源的熵和自信息的计算公式。
2、写出计算信息熵的Matlab 程序。
3、写出计算离散信源自信息的Matlab 程序。
4、将程序在计算机上仿真实现,验证程序的正确性并完成实验仿真。
实验仿真内容如下:
甲地天气预报构成的信源空间为:

乙地信源空间为:

求各种天气的自信息量,求此两个信源的熵。
三、实验原理及说明
1、自信息的计算公式:

Matlab实现:I=log2(1/p) 或I=-log2(p)
2.熵(平均自信息)的计算公式:

Matlab实现:HX=sum(-x.*log2(x));或者h=h-x(i)*log2(x(i));
四、实验设备
1、计算机
2、软件:Matlab
五、实验方法
实验仿真代码如下:
p1=[1/2,1/4,1/8,1/8];%p1代表甲信源对应的概率
p2=[7/8,1/8];%p2代表乙信源对应的概率
H1=0.0;
H2=0.0;
I=[];
J=[];
for i=1:4
H1=H1+p1(i)*log2(1/p1(i));
I(i)=log2(1/p1(i));
end
disp('自信息量分别为:');
I
disp('H1信源熵为:');
H1
for j=1:2
H2=H2+p2(j)*log2(1/p2(j));
J(j)=log2(1/p2(j));
end
disp('自信息量分别为:');
J
disp('H2信源熵为:');
H2

图 1-1信息熵值仿真结果图