信息论与编码试验指导书
《信息论与编码》实验指导书 网络与通信工程学院 2014 年 6 月 目 录 实验一绘制信源熵函数曲线3 实验二 实验三 哈夫曼编解码6 离散信道容量10 1 1 实验一实验一绘制信源熵函数曲线(绘制信源熵函数曲线(2 2 学时)学时) 一、实验目的一、实验目的 1.掌握离散信源熵的原理和计算方法。 2.熟悉 matlab 软件的基本操作,练习应用 matlab 软件进行信源熵函数曲 线的绘制。 3.理解信源熵的物理意义,并能从信源熵函数曲线图上进行解释其物理意 义。 二、实验原理二、实验原理 1.离散信源相关的基本概念、原理和计算公式 产生离散信息的信源称为离散信源。离散信源只能产生有限种符号。 假定 X 是一个离散随机变量,即它的取值范围 R={x1,x2,x3,…}是有 限或可数的。设第 i 个变量 xi发生的概率为 pi=P{X=xi}。则: 定义一个随机事件的自信息量 I(xi)为其对应的随机变量xi出现概率对 数的负值。即: I(xi)= -log2p(xi) 定义随机事件 X 的平均不确定度 H(X)为离散随机变量 xi出现概率的 数学期望,即: H ( X ) p ( x )I ( x ) p ( x ) log iii ii 2 p ( x i ) 单位为 比特/符号 或 比特/符号序列。 平均不确定度 H(X)的定义公式与热力学中熵的表示形式相同,所以又 把平均不确定度 H(X)称为信源 X 的信源熵。 必须注意一下几点: a)某一信源, 不管它是否输出符号, 只有这些符号具有某些概率特性, 必有信源的熵值;这熵值是在总体平均上才有意义,因而是个确定 值,一般写成 H(X) ,X 是指随机变量的整体(包括概率分布) 。 b)信息量则只有当信源输出符号而被接收者收到后,才有意义,这就 是给与信息者的信息度量,这值本身也可以是随机量,也可以与接 收者的情况有关。 c)熵是在平均意义上来表征信源的总体特征的,信源熵是表征信源的 平均不确定度,平均自信息量是消除信源不确定度时所需要的信息 的量度,即收到一个信源符号,全部解除了这个符号的不确定度。 或者说获得这么大的信息量后,信源不确定度就被消除了。信源熵 和平均自信息量两者在数值上相等,但含义不同。 d)当某一符号 xi的概率 p(xi)为零时,p(xi)log p(xi) 在熵公式中无意义, 为此规定这时的 p(xi)log p(xi) 也为零。当信源 X 中只含有一个符号 x 时,必有 p(x)=1,此时信源熵 H(X)为零。 例 1-1,设信源符号集 X={0,1},每个符号发生的概率分别为 p(0)=p, p(1)=q,p+ q=1,即信源的概率空间为 X0 1 P p q 则该二元信源的信源熵为: H(X) = - p log p – q log q = - p log p – (1- p) log (1-p) 即:H (p) = - p log p – (1- p) log (1-p) 其中 0 ≤ p ≤1 P=0 时,H(0) = 0 P=1 时,H(1) = 0 2.MATLAB二维绘图 例对函数 y= f(x)进行绘图,则用 matlab 中的命令 plot(x, y)就可以自动绘 制出二维图来。如果打开过图形窗口,则在最近打开的图形窗口上绘制此图; 如果未打开图形窗口,则开一个新的图形窗口绘图。 例 1-2,在 matlab 上绘制余弦曲线图,y = cos x,其中 0 ≤ x ≤2。 x=0:0.1:2*pi; %生成横坐标向量,使其为 0,0.1,0.2,…,6.2 y=cos(x); %计算余弦向量 plot(x,y) %绘制图形 三、实验内容三、实验内容 用 matlab 软件绘制二源信源熵函数曲线。根据曲线说明信源熵的物理意义。 四、实验要求四、实验要求 1.提前预习实验,认真阅读实验原理以及相应的参考书。 2.认真高效的完成实验,实验中服从实验室管理人员以及实验指导老师的 管理。 3.认真填写实验报告。 五、实验结果:五、实验结果: 1、程序如下: p=0:0.001:1; h=-p.*log2(p)-(1-p).*log2(1-p); h(1)=0; h(end)=0; plot(p,h) xlabel( 概率p ); ylabel( 信道容量 ); 2、图形如下: 1 0.9 0.8 0.7 0.6 信 道 容 量 0.5 0.4 0.3 0.2 0.1 00 0.10.20.30.40.5 概 率 p 0.60.70.80.91 3、信源熵的物理意义: 熵是在平均意义上来表征信源的总体特性的,可以表征信源的平均不确定。 2 2 实验二实验二哈夫曼编码(哈夫曼编码(4 4 学时)学时) 一、实验目的一、实验目的 1.掌握哈夫曼编码的原理及编码步骤 2.练习 matlab 中哈夫曼编码函数的调用及通信工具箱的使用 二、实验原理二、实验原理 通信的根本问题是如何将信源输出的信息在接收端的信宿精确或近似的复 制出来。为了有效地复制信号,就通过对信源进行编码,使通信系统与信源的统 计特性相匹配。 若接收端要求无失真地精确地复制信源输出的信息, 这样的信源编码即为无 失真编码。 即使对于一个小的时间段内,连续信源输出的信息量也可以是无限大 的, 所以对其是无法实现无失真编码的;而离散信源输出的信息量却可以看成是 有限的,所以只有离散信源才可能实现无失真编码。 凡是能载荷一定的信息量, 且码字的平均长度最短,可分离的变长码的码字 集合都可以称为最佳码。为此必须将概率大的信息符号编以短的码字,概率小的 符号编以长的码字,使得平均码字长度最短。 变字长编码的最佳编码定理: 在变字长码中,对于概率大的信息符号编以短 字长的码; 对于概率小的信息符号编以长字长的码。如果码字长度严格按照符号 概率的大小顺序排列, 则平均码字长度一定小于俺任何顺序排列方式得到的码字 长度。 哈夫曼编码就是利用了这个定理, 讲等长分组的信源符号,根据其概率分布 采用不等长编码。概率大的分组,使用短的码字编码;概率小的分组,使用长的 码字编码。 哈夫曼编码把信源按概率大小顺序排列,并设法按逆次序分配码字的 长度。在分配码字的长度时,首先将出现概率最小的两个符号相加,合成一个概 率;第二步把这个合成的概率看成是一个新组合符号的概率,重复上述做法,直 到最后只剩下两个符号的概率为止。完成以上概率相加顺序排列后,再反过来逐 步向前进行编码。每一步有两个分支,各赋予一个二进制码,可以对概率大的编 为 0 码,概率小的编为 1 码。反之亦然。 哈夫曼编码的具体步骤归纳如下: 1.统计 n 个信源消息符号,得到 n 个不同概率的信息符号。 2.将这 n 个信源信息符号按其概率大小依次排序: p(x1) ≥ p(x2)≥ …≥ p(xn) 3.取两个概率最小的信息符号分别配以 0 和 1 两个码元,并将这两个概率 相加作为一个新的信息符号的概率,和未分配的信息符号构成新的信息 符号序列。 4.将剩余的信息符号,按概率大小重新进行排序。 5.重复步骤 3,将排序后的最后两个小概论相加