信息理论编码之实验一 绘制二进制熵函数曲线
一、实验目的 熟悉工作环境及工具箱 掌握绘图函数的运用 理解熵函数表达式及其性质 二、实验原理 熵 自信息量是针对信源的单个符号而言的,而符号是随机发生的,因此单个符号的不确定性不足于代表信源的不确定性性质,为此,可对所有符号的自信息量进行统计平均,从而得到平均不确定性。 熵的表示 注意的问题 熵是自信息量的统计平均,因此单位与自信息量的单位相同,与熵公式中所用对数的底有关: bit/符号、nat/符号、dit/符号、r进制单位/符号。 特殊公式 某个pk=0时,0log0=0 ( ) 在熵的定义中忽略零概率事件。 离散熵的性质 对称性 可扩展性 非负性 强可加性 可加性 渐化性 凸状性 H(p1,p2,…,pk)是上凸函数。 极值性 三、实验内容 用 Matlab 软件绘制二进熵函数曲线。 二元信源 二元信源的熵为 Matlab程序 p=0.00001:0.001:1; h=-p.*log2(p)-(1-p).*log2(1-p); plot(p,h); title('二进熵函数曲线'); ylabel('H(p,1-p)') 绘制三元信源的熵 三元信源 三元信源的熵为 Matlab程序 p=linspace(eps,1-eps,100); q=linspace(eps,1-eps,100); [P,Q]=meshgrid(p,q); P_Q=P+Q; for n=1:100 for m=1:100 if P_Q(n,m)>=1 Q(n,m)=nan; end end end H=-P.*log2(P)-Q.*log2(Q)-(1-P-Q).*log2(1-P-Q); mesh(P,Q,H) title('三维熵函数的图形') 熵函数是非负函数、上凸函数,并且等概率时达到最大值。 绘制平均互信息量图形 平均互信息量(I(X;Y)) 是统计平均意义下的先验不确定性与后验不确定性之 差,是互信息量的统计平均。 Matlab程序 arr = linspace(0.001, 0.999, 100); Z = zeros(length(arr), length(arr)); for i = 1:length(arr) for j = 1:length(arr) Z(i,j) = InterInfor(arr(i), arr(j), 1 - arr(j)); end end mesh(arr, arr, Z); xlabel('P(Y|X)') ylabel('P(X)') zlabel('I(X;Y)') title('平均互信息量的函数图形') 四、实验报告要求 简述实验目的; 简述实验原理; 分别绘制二元信源和三元信源的熵及平均互信息量图形。 通过图形分析他们的特点。 * * 实验一 绘制二进制熵函数曲线 *