编码理论实验报告实验二信源编码——霍夫曼编码

编码理论实验报告实验二信源编码——霍夫曼编码

ID:35235183

大小:220.32 KB

页数:3页

时间:2019-03-22

编码理论实验报告实验二信源编码——霍夫曼编码_第1页
编码理论实验报告实验二信源编码——霍夫曼编码_第2页
编码理论实验报告实验二信源编码——霍夫曼编码_第3页
资源描述:

《编码理论实验报告实验二信源编码——霍夫曼编码》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验名称实验二信源编码--------霍夫曼编码一、实验目的1.掌握信息熵的定义、性质和计算;2.掌握平均码字长度和编码效率的计算;3.掌握霍夫曼编码的原理;4.熟练掌握二进制霍夫曼码的编码步骤;5.正确使用C语言实现霍夫曼编码。二、实验内容1.熟练画出霍夫曼编码图,正确求出字符串的二进制霍夫曼编码;2.用C语言正确编程,实现霍夫曼编码、解码,并在VisualC++环境中验证。三、实验原理1.霍夫曼编码的基本原理按照概率大小顺序排列信源符号,并设法按逆顺序分配码字字长,使编码的码字为可辨识的。2.平均码长:L=∑p(si)*li(单位为:码符号/信源符号)其中,p(si)为信源si在

2、q个信源中出现的概率,li为信源si的二进制霍夫曼编码。3.信息熵:H(S)=-∑p(si)*log2p(si)(单位为:比特/信源符号)其中,p(si)为信源si在q个信源中出现的概率。4.编码效率:η=H(S)/L其中,H(S)为信息熵,L为平均码长。四、实验步骤:1.将q个信源符号按概率分布的大小,以递减次序排列起来,设2.用“0”和“1”码符号分别代表概率最小的两个信源符号,并将这两个概率最小的符号合并成一个符号,合并的符号概率为两个符号概率之和,从而得到只包含q-1个符号的新信源,称为缩减信源。3.把缩减信源的符号仍旧按概率大小以递减次序排列,再将其概率最小的两个信源符号分

3、别用“0”和“1”表示,并将其合并成一个符号,概率为两符号概率之和,这样又形成了q–2个符号的缩减信源。4.依此继续下去,直至信源只剩下两个符号为止。将这最后两个信源符号分别用“0”和“1”表示。5.然后从最后一级缩减信源开始,向前返回,就得出各信源符号所对应的码符号序列,即对应的码字。五、实验参考程序见Huffman.c程序。运行结果:实验思考1.霍夫曼编码构造二叉树时父节点、左节点、右结点分别是什么?左右结点是当前两个最小权值的树根,父结点为这两个结点权值之和。2.为何说霍夫曼编码能够有效压缩码长?霍夫曼编码的码长是变化的,对于出现频率高的信息,编码的长度较短;而对于出现频率低的

4、信息,编码长度较长。这样,处理全部信息的总码长一定小于实际信息的符号长度。实验心得:通过本次试验进一步加深了对霍夫曼编码的基本原理的理解以及很好地运用。掌握二进制霍夫曼码的编码步骤并使用C语言实现了计算霍夫曼编码。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。