哈夫曼编码的分析与实现.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
x电气与电子信息工程学院 信息理论与编码课程设计报告 设计题目: 哈夫曼编码的分析与实现 专业班级: 电x1 学生姓名: x 学 号: xx 指导教师: xx 设计时间: 2012.11.19-2011.11.30 教师评语: 教师评语: 成绩 评阅教师 日期 设计的作用、目的 《信息论与编码》是一门理论与实践密切结合的课程,课程设计是其实践性 教学环节之一,同时也是对课堂所学理论知识的巩固和补充。其主要目的是加深对理论知识的理解,掌握查阅有关资料的技能,提高实践技能,培养独立分析问题、解决问题及实际应用的能力。 通过完成具体编码算法的程序设计和调试工作,提高编程能力,深刻理解信源编码、信道编译码的基本思想和目的,掌握编码的基本原理与编码过程,增强逻辑思维能力,培养和提高自学能力以及综合运用所学理论知识去分析解决实际问题的能力,逐步熟悉开展科学实践的程序和方法。 二、设计任务及要求 2.1 理解无失真信源编码的理论基础,掌握无失真信源编码的基本方法; 2.2 根据哈夫曼编码算法,考虑一个有多种可能符号(各种符号发生的概不同)的信源,得到哈夫曼编码和码树; 2.3 掌握哈夫曼编码的优缺点; 2.4 能够使用MATLAB或其他语言进行编程,编写的函数要有通用性要 理解 每个函数的具体意义和适用范围,对主要函数的功能和参数做详要求程序 输出显示所有的码字,平均码长,编码效率。 三、设计内容 一个有8个符号的信源X,各个符号出现的概率为: 进行哈夫曼编码,并计算平均码长、编码效率、冗余度。 四、设计原理 4.1哈夫曼编码步骤 (1)将信源消息符号按其出现的概率大小依次排列P1 ≥ P2 ≥ ??? ≥ Pn 。 (2)取两个概率最小的字母分别配以0和1两个码元,并将这两个概率相 加作为一个新的字母的概率,与未分配的二进制符号的字母重新排队。 对重排后的两个概率最小符号重复步骤(2)的过程。 不断继续上述过程,直到最后两个符号配以0和1为止。 从最后一级开始,向前返回得到各个信源符号所对应的码元序列,即 相应的码字 4.2哈夫曼编码特点 凡是能载荷一定的信息量,且码字的平均长度最短,可分离的 变长的码字集合称为最佳变长码。为此必须将概率大的信息符号编以短的码字,概率小符号编以长的码字,使得平均码字最短,为最佳编码方法。哈弗曼码是用用概率匹配的方法进行信源编码。它有两个显著特点:一是哈弗曼码的编码方法保证了概率大的符号对应于短吗,概率小的符号度对应于长码,充分利用了短码;二是缩减了心愿的最后两个码字总是最后一位不同,从而保证了哈弗曼码是即时码哈弗曼变长码的效率是相当高的,它可以单个信源符号编码或用L较小的信源序列编码,对编码的设计来说也是简单得多。但是应当注,要达到很高的效率仍然需要按长序列计算,这样才能使平均码字长度降低。 哈夫曼编码方法得到的码并非是唯一的,造成并非唯一的原因是:首先,每次对信源缩减时,赋予信源最后两个概率最小的符号,用0和1可以任意的,所以可以得到不同的哈夫曼码,但不会影响码字的长度。其次:对信源进行缩减时两个概率最小的符号合并后的概率与其他信源符号的概率相同时,这两者在缩减信源中进行概率排序,其位置放置次序是可以任意的,故会得到不同的哈夫曼码此时将影响码字的长度,一般将合并的概率放在上面,这样可以获得较小的码方差。 对于多进制哈夫曼编码,为了提高编码效率,就要使长码的符号数量尽量少、概率尽量小,所以信源符号数最好满足,其中r为进制数,n为缩减的次数。例如,要进行三进制编码,那么最好信源有7个符号,第1次合并后减少2个成为5个,第2次合并后又减少2个成为3个,这样给每一步赋予三进制符号就没有浪费了。但如果信源只有6个符号时,为了尽量减少最长码的数量,则应该在第1次合并时添置概率为零的虚拟符号1个,事实上只合并2个概率最小的符号,后面每次合并三个,就可以使得最长码的符号数量最少,也就是长码的概率最小,从而得到最高的编码效率。 哈夫曼编码在实际中已有应用,但它仍然存在一些分组码所具有的缺点。例如概率特性必须得到精确地测定,它若略有变化,还需要换码表,以及对于二元信源,常需要多个符号合起来编码,才能取得好的效果,但当合并的符号数不大时,编码效率提高不多,尤其对于相关信源,不能令人满意,而合并的符号数增大时,码表中的码字数很多,设备将

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档