信息论与编码实验报告 下载本文

内容发布更新时间 : 2024/5/17 3:53:59星期一 下面是文章的全部内容请认真阅读。

输过程中的错误概率Pe和信道疑义度H(X|Y)之间满足下列关系式,也即著名的费诺不等式:

费诺不等式的物理意义:

进行一次判决后,关于X的疑义度可分为两项: 1、是否判对,疑义度为 ;

2、如果判决出错(概率为 ),错在k-1个符号中的哪一个?疑义度不会超过log(k-1)。

三、 实验结果

四、 实验结果分析

根据极大离散熵定理,信源的消息个数为M,则H(X)≤logM,等号当且仅当信源X中各消息等概时成立。如图所示,各消息等概分布时,信道疑义度即信源熵最大为log(r)。

如图所示,当错误概率为1时,判决出错,错误发生在k-1个符号中,疑义度最大为log(k-1)。

五、 实验总结

使用Matlab模拟时, 和 的值不能直接取到0和1,这样围不成一个封闭区域, 和 可以取到两个无限接近0和1的值。很好地掌握极大离散熵定理是理解费诺不等式的基础。

实验四 香农编码

一、 实验要求

1、根据香农编码的方法和步骤,编写香农编码程序,得到码字和编码效率;

2、用编写的源程序验证书中例题的正确性,并用图表示码长结果。

二、 实验原理及理论分析

香农编码法是一种常用的变长编码法,对于证明变长编码定理起了很重要的作用。

香农编码具体步骤如下:

1、将信源发出的M个消息,按其概率递减顺序进行排列,得 ;

2、计算出各消息的-log 值,m=1,2,…,M;

3、根据: 为整数时取等。计算出每个消息的二进制代码的长度 (m=1,2,…,M), 取正整数;

4、为得到唯一可译码,计算出第m个消息的累加概率 ,再将 变换成二进制小数,取小数点后面 位作为第m个消息的码字。

三、 实验结果

四、 程序流程图

开始代码初始化判断信源是否合法否重新输入是按递减顺序排列,并计算累加概率计算码字长度k十进制小数转二进制小数取小数点后k位作为码字顺序重排计算平均码长、信源熵、编码效率结束 五、 实验结果分析

香农编码严格意义上来说不是最佳码,它是采用信源符号的累计概率分布函数来分配码字。从结果中可以看出,香农编码法中,码符号概率大的用短码表示,概率小的是用长码表示。香农编码的编码效率并不是特别高。

六、 实验总结

和后面两种编码方法相比,香农编码的效率不高,实用性不大。按照香农编码方法编出来的码,其平均码长不是最短的,不是最佳码。但是对其他编码方法有很好的理论指导意义,所以我们也应该掌握。

实验五 费诺编码

一、 实验要求

1、根据费诺编码的方法和步骤编写费诺编码程序,得到码字和编码效率; 2、用编写的源程序验证书中例题的正确性,并用图表示码长结果。

二、 实验原理及理论分析

香农第一定理的物理意义阐明:信源等概分布时,信息传输率最大,应用到对信源进行编码,应使编码后的码集尽可能等概分布,如果将该码集看成一个新的信源,这时新信源所包含的信息量最大。据此,产生了费诺编码法。

费诺编码法的具体步骤如下:

1、将信源发出的M个消息,按其概率递减顺序进行排列,得 ,把消息集 按其概率大小分解成两个子集,使两个子集的概率之和尽可能相等,把第一个子集编码为“0”,第二个子集编码为“1”,作为代码组的第一个码元;

2、对子集做第二次分解,同样分解成两个子集,并使两个子集的概率之和尽可能接近相等,再把第一个子集编码为“0”,第二个子集编码为“1”,作为代码组的第二个码元;

3、如此一直进行下去,直到各子集仅含一个消息为止;

4、将逐次分解过程当中得到的码元排列起来就是各消息的代码。

三、 实验结果

四、 程序流程图

开始代码初始化判断信源是否合法否重新输入是按概率递减顺序排列否判断信源个数是否大于2是累加求和,确定分组后每组概率累加和尽可能相近第一组的信源码字加0,第二组的信源码字加1判断分组点是不是第一个编号是分组点为新分组的第一个编号,其他依次编号否是分组点为新分组的最后一个编号,其他编号不变判断分组点是不是该组倒数第二个否以分组点为界,重新编号分为两组计算平均码长、信源熵、编码效率

五、 实验结果分析

结束

从结果中可以看出来,费诺编码法中,码符号概率大的,分解次数小;码符号概率小的,分解次数大。这种编码方法不一定能使短码得到充分利用。尤其当信源符号较多,并且有一些符号概率分布很接近时,分两大组的组合方法就很多。可能存在某种分配结果,会出现后面分组的概率和相差较远,因而使平均码长增加,所以费诺编码不一定是最佳码。