编码理论实验报告实验二信源编码——霍夫曼编码.doc_第1页
编码理论实验报告实验二信源编码——霍夫曼编码.doc_第2页
编码理论实验报告实验二信源编码——霍夫曼编码.doc_第3页
编码理论实验报告实验二信源编码——霍夫曼编码.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验名称 实验二 信源编码-霍夫曼编码一、 实验目的1. 掌握信息熵的定义、性质和计算;2. 掌握平均码字长度和编码效率的计算;3 掌握霍夫曼编码的原理;4 熟练掌握二进制霍夫曼码的编码步骤;5 正确使用C语言实现霍夫曼编码。二、实验内容1. 熟练画出霍夫曼编码图,正确求出字符串的二进制霍夫曼编码;2. 用C语言正确编程,实现霍夫曼编码、解码,并在Visual C+环境中验证。三、 实验原理1. 霍夫曼编码的基本原理按照概率大小顺序排列信源符号,并设法按逆顺序分配码字字长,使编码的码字为可辨识的。2. 平均码长:L=p(si)*li (单位为:码符号/信源符号)其中,p(si)为信源si在q个信源中出现的概率,li为信源si的二进制霍夫曼编码。3. 信息熵:H(S)=- p(si) *log2 p(si) (单位为:比特/信源符号)其中,p(si)为信源si在q个信源中出现的概率。4. 编码效率:= H(S)/ L其中,H(S)为信息熵,L为平均码长。四、 实验步骤:1. 将q个信源符号按概率分布的大小,以递减次序排列起来,设 2. 用“0”和“1”码符号分别代表概率最小的两个信源符号,并将这两个概率最小的符号合并成一个符号,合并的符号概率为两个符号概率之和,从而得到只包含q-1个符号的新信源,称为缩减信源。 3. 把缩减信源的符号仍旧按概率大小以递减次序排列,再将其概率最小的两个信源符号分别用“0”和“1”表示,并将其合并成一个符号,概率为两符号概率之和,这样又形成了 q 2 个符号的缩减信源。4. 依此继续下去,直至信源只剩下两个符号为止。将这最后两个信源符号分别用“0”和“1”表示。5. 然后从最后一级缩减信源开始,向前返回,就得出各信源符号所对应的码符号序列,即对应的码字。五、实验参考程序见Huffman.c程序。运行结果:实验思考1. 霍夫曼编码构造二叉树时父节点、左节点、右结点分别是什么? 左右结点是当前两个最小权值的树根,父结点为这两个结点权值之和。2. 为何说霍夫曼编码能够有效压缩码长? 霍夫曼编码的码长是变化的,对于出现频率高的信息,编码的长度较短;而对于出现频率低的信息,编码长度较长。这样,处理全部信息的总码长一定小于实际信息的符号长度。实验心得:通过本次试验进一步加深了对霍夫

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论