信息论与编码课程设计(哈夫曼编码的分析与实现).. 下载本文

内容发布更新时间 : 2024/6/27 2:21:18星期一 下面是文章的全部内容请认真阅读。

吉林建筑大学

电气与电子信息工程学院

信息理论与编码课程设计报告

设计题目: 哈夫曼编码的分析与实现 专业班级: 电子信息工程 101 学生姓名: 学 号: 指导教师: 吕卅 王超 设计时间: 2013.11.18-2013.11.29

教师评语: 成绩 评阅教师 日期

一、设计的作用、目的

《信息论与编码》是一门理论与实践密切结合的课程,课程设计是其实践性教学环节之一,同时也是对课堂所学理论知识的巩固和补充。其主要目的是加深对理论知识的理解,掌握查阅有关资料的技能,提高实践技能,培养独立分析问题、解决问题及实际应用的能力。

通过完成具体编码算法的程序设计和调试工作,提高编程能力,深刻理解信源编码、信道编译码的基本思想和目的,掌握编码的基本原理与编码过程,增强逻辑思维能力,培养和提高自学能力以及综合运用所学理论知识去分析解决实际问题的能力,逐步熟悉开展科学实践的程序和方法

二、设计任务及要求

通过课程设计各环节的实践,应使学生达到如下要求:

1. 理解无失真信源编码的理论基础,掌握无失真信源编码的基本方法; 2. 掌握哈夫曼编码/费诺编码方法的基本步骤及优缺点;

3. 深刻理解信道编码的基本思想与目的,理解线性分组码的基本原理与编码过程;

4. 能够使用MATLAB或其他语言进行编程,编写的函数要有通用性。

三、设计内容

一个有8个符号的信源X,各个符号出现的概率为:

x6x7x8?? X??x1,x2,x3,x4,x5,?P(X)???0.40.180.10.10.070.060.050.04?? ???编码方法:先将信源符号按其出现的概率大小依次排列,并取概率最小的字母分别配以0和1两个码元(先0后1或者先1后0,以后赋值固定),再将这两个概率相加作为一个新字母的概率,与未分配的二进制符号的字母重新排队。并不断重复这一过程,直到最后两个符号配以0和1为止。最后从最后一级开始,向前返回得到各个信源符号所对应的码元序列,即为对应的码字。

哈夫曼编码方式得到的码并非唯一的。在对信源缩减时,两个概率最小的符号合并后的概率与其他信源符号的概率相同时,这两者在缩减中的排序将会导致不同码字,但不同的排序将会影响码字的长度,一般讲合并的概率放在上面,

1

这样可获得较小的码方差。

四、设计原理

4.1哈夫曼编码步骤

(1)将信源消息符号按照其出现的概率大小依次排列为

p1?p2???pn

(2)取两个概率最小的字母分别配以0和1两个码元,并将这两个概率相

加作为一个新的概率,与未分配的二进制符号的字母重新排队。

(3)对重新排列后的两个最小符号重复步骤(2)的过程。 (4)不断重复上述过程,知道最后两个符号配以0和1为止。

(5)从最后一级开始,向前返回得到的各个信源符号所对应的码元序列,

即为相应的码字。

4.2哈夫曼编码特点

哈夫曼编码是用概率匹配的方法进行信源匹配方法进行信源。它的特点是: (1)哈夫曼的编码方法保证了概率大的符号对应于短码,概率小的符号对应于长码,充分应用了短码。

(2)缩减信源的最后两个码字总是最后一位不同,从而保证了哈夫曼编码是即时码。

(3)哈夫曼编码所形成的码字不是唯一的,但编码效率是唯一的,在对最小的两个速率符号赋值时可以规定大的为“1”,小得为“0”,如果两个符号的出现概率相等时,排列时无论哪个在前都可以,所以哈夫曼所构造的码字不是唯一的,对于同一个信息源,无论上述的顺序如何排列,他的平均码长是不会改变的,所以编码效率是唯一的。

(4)只有当信息源各符号出现的概率很不平均的时候,哈夫曼编码的效果才明显。

(5)哈夫曼编码必须精确的统计出原始文件中每个符号出现频率,如果没有这些精确的统计将达不到预期效果。哈夫曼编码通常要经过两遍操作 ,第一遍进行统计,第二遍产生编码,所以编码速度相对慢。另外实现电路复杂,各种长度的编码的编译过程也是比较复杂的,因此解压缩的过程也比较慢。

2