课 程 设 计 任 务 书 学生班级: 通信0802 班 学生姓名: 学号: 设计名称:编写Matlab函数实现哈夫曼编码的算法 起止日期:2011.6.21-2011.7.3 指导教师: 设计要求: 1. 理解无失真信源编码的理论基础,掌握无失真信源编码的基本方法; 2. 考虑一个有8 种可能符号的信源,各种符号发生的概率分别为:0.30、0.16、0.14、0.12、0.10、0.09、0.06、0.04; 3. 根据Huffman编码算法,得到码树和Huffman码; 4. 编写M 函数,以8 个信源产生的概率向量为变量,返回Huffman编码算法的编码结果,返回信源熵和编码的码字长度。 课 程 设 计 学 生 日 志 时间 设计内容 6.21—6.21 查阅资料,确定方案,了解哈夫曼编码的规则 6.22—6.22 设计总体方案 6.23—6.26 功能和要求的具体设计 6.27—6.27 完成设计报告 7.5—7.5 答辩 课 程 设 计 考 勤 表 周 星期一 星期二 星期三 星期四 星期五 课 程 设 计 评 语 表 指导教师评语: 成绩: 指导教师: 年 月 日 编写Matlab 函数实现哈夫曼编码的算法 一、 设计目的和意义 在当今信息化时代,数字信号充斥着各个角落。在数字信号的处理和传输中,信源编码是首先遇到的问题,一个信源编码的好坏优劣直接影响到了后面的处理和传输。如何无失真地编码,如何使编码的效率最高,成为了大家研究的对象。 哈夫曼编码就是其中的一种,哈夫曼编码是一种变长的编码方案。它由最优二叉树既哈夫曼树得到编码,码元内容为到根结点的路径中与父结点的左右子树的标识。所以哈夫曼在编码在数字通信中有着重要的意义。可以根据信源符号的使用概率的高低来确定码元的长度。既实现了信源的无失真地编码,又使得编码的效率最高。 二、 设计原理 哈夫曼编码(Huffman Coding)是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种。uffman 于 1952 年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长 度最短的码字,有时称之为最佳编码,一般就叫作 Huffman 编码。 而哈夫曼编码的第一步工作就是构造哈夫曼树。哈夫曼二叉树的构造方法原则如下,假设有 n 个权值,则构造出的哈夫曼树有 n 个叶子结点。 n个权值分别设为 w 1、w 2、…、w n,则哈夫曼树的构造规则为: (1) 将 w 1、w 2、…,w n 看成是有 n 棵树的森林(每棵树仅有一个结点); (2) 在森林中选出两个根结点的权值最小的树合并,作为一棵...