<信息论>[Matlab]-[实验一]离散信源的熵

实验一 离散信源的熵

一、信源熵的物理意义和概念

信源熵是信息论中用来衡量信源信息量有序化程度的一个概念

信源熵值与信源有序化程度成反比;有序度越高,信源熵值越低,反之亦成立。

二、离散信源熵计算的基本步骤

信源的数学模型抽象为

[ X p ( x ) ] = [ a 1 a 2 a 3 ⋯ a q p ( a 1 ) p ( a 2 ) p ( a 3 ) ⋯ p ( a q ) ] \Bigg[\begin{matrix}X\\p(x)\end{matrix}\Bigg] = \Bigg[\begin{matrix}a_1&a_2&a_3&\cdots&a_q\\p(a_1)&p(a_2)&p(a_3)&\cdots&p(a_q) \end{matrix}\Bigg] [Xp(x)]=[a1p(a1)a2p(a2)a3p(a3)aqp(aq)]

  1. 计算每个符号携带的自信息量 I ( a i ) = − l o g 2 p ( a i ) I(a_i) = -log_2p(a_i) I(ai)=log2p(ai)
  2. 根据公式计算信源的的信息熵 H ( x ) = − ∑ i = 1 q p ( a i ) l o g ( a i ) H(x)=-\sum_{i=1}^qp(a_i)log(a_i) H(x)=i=1qp(ai)log(ai)

程序流程图

在这里插入图片描述

三、源程序

clc
clear
a = input("输入离散信源的概率矩阵:");
H = 0;              %初始化信源熵
q = size(a,2);      %获取信源样本空间的大小
for i = 1:q
    H = H - a(i) * log2(a(i));  %离散信源熵的计算公式
end
fprintf('该离散信源的熵为:%f (bit/symbol)\n',H);    %输出结果

验证程序

%% 习题2.6
%% (1)
clear
a(1:128) = 1/128;   %定义离散信源
H = 0;              %初始化信源熵
q = size(a,2);      %获取信源样本空间的大小
for i = 1:q
    H = H - a(i) * log2(a(i));  %离散信源熵的计算公式
end
fprintf('习题2.6(1)信源的熵为:%f\n',H);    %输出结果
%% (2)
clear
a(1:10000) = 1/10000;   %定义离散信源
H = 0;                  %初始化信源熵
q = size(a,2);          %获取信源样本空间的大小
for i = 1:q
    H = H - a(i) * log2(a(i));  %离散信源熵的计算公式
end
fprintf('习题2.6(2)信源的熵为:%f\n',H);    %输出结果

在这里插入图片描述

%% 习题3.6
clear
px = [3/4 1/4];
Hx = 0;
qx = size(px,2);
for i = 1:qx
    Hx = Hx - px(i) * log2(px(i));
end
fprintf('H(X) = %f (bit/symbol)\n',Hx);    %输出结果
py = [7/12 5/12];
Hy = 0;
qy = size(py,2);
for j = 1:qy
    Hy = Hy - py(j) * log2(py(j));
end
fprintf('H(Y) = %f (bit/symbol)\n',Hy);    %输出结果
pxy = [1/2 1/4;1/12 1/6];
Hxy = 0;
for i = 1:qx
    for j = 1:qy
        Hxy  = Hxy - pxy(i,j) * log2(pxy(i,j));
    end
end
fprintf('H(XY) = %f (bit/symbol)\n',Hxy);    %输出结果
Hx_y = Hxy - Hy;
Hy_x = Hxy - Hx;
Ix_y = Hx - Hx_y;
fprintf('H(X|Y) = %f (bit/symbol)\n',Hx_y);    %输出结果
fprintf('H(Y|X) = %f (bit/symbol)\n',Hy_x);    %输出结果
fprintf('I(X;Y) = %f (bit)\n',Ix_y);    %输出结果

在这里插入图片描述

四、信源熵大小与前后符号之间相关性的关系

信源的相关性是信源符号间的依赖程度的度量。由于信源输出符号间的依赖关系也就是信源的相关性使信源的实际熵减小。信源输出符号间统计约束关系越长,信源的实际熵越小。当信源输出符号间彼此不存在依赖关系且为等概率分布时,信源的实际熵等于最大熵。

  • 1
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值