Huffman编译码.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Huffman编译码

信息论与编码基础 实验报告 实验二 Huffman编译码 一 设计思想 Huffman编码是一种基于统计的可变长无损信源编码,编码效率最高。Huffman编码首先要统计出消息序列中每个符号的出现概率,根据概率来编码,对出现概率大的分配短码,出现概率小的分配长码,达到平均码长最小的效果。本实验要实现Huffman编译码以及模拟BSC信道传输过程,需要进行字符概率统计、编写编码算法、加入信道干扰、编写解码算法。 二 实现流程 (一)Huffman编码 图 1 编码基本流程 统计各字符概率 构建概率排序矩阵 将信源消息的概率按大小顺序重新排列,为第一列 把第一列两个最小的概率相加,和剩余的概率重新排队,作为第二列 把最小的两个概率相加,再重新排队,重复上述过程直到最后变成概率1 例如输入字符串“abccddeeee”,得到概率向量为[0.1 0.1 0.2 0.2 0.4],则概率排序矩阵为: 0.4000 0.4000 0.4000 0.6000 0.2000 0.2000 0.4000 0.4000 0.2000 0.2000 0.2000 0.1000 0.2000 0.1000 依据概率排序矩阵编码 规定每次将概率大的计为0,概率小的计为1;从最后一列开始编码,倒数第二列依据其概率排序情况,确定和最后一列编码的关系。以2中概率排序矩阵为例,倒数第二列编码基于概率矩阵中倒数第二列后两个概率的和是最后一列的首位,所以把最后一列的0直接挪到倒数第二列的后两位,作为第一位。按照这样的规律,依次可以作出之前列的编码。 1 1 1 0 01 01 00 1 000 000 01 0010 001 0011 (二)信道传输 用a1a2a3…an表示输入比特流,b1b2b3..bn表示信道错误转移的随机比特流,c1c2…cn表示输出比特流,则作用关系可以描述为: 其中 例如输入100 100 100,信道传输误码随机比特流001 000 000,则第三位传输错误,信 道输出为101 100 100。 (三)Huffman解码 解码算法采用查表的思想,即从第一个比特开始在码表中对应寻找符合的码值,如果符合则取出,若不符合则考察这一比特与下一比特的组合在码表是否有对应码,依次类推,循环进行,直到循环结束取出所有对应的码来。 三 结论分析 (一)对字符串进行Huffman编码、BSC信道传输、译码 对Where there is a will, there is a way. 进行编码, 设定错误转移概率Pe=0.01, 模拟传输和解码: 得到码表: 字符 概率 编码 字符 概率 编码 ‘ ’ [0.1892] 11 w [0.0541] 1011 e [0.1622] 000 s [0.0541] 1000 a [0.0811] 0100 t [0.0541] 1001 i [0.0811] 0101 . [0.0270] 01110 r [0.0811] 0010 y [0.0270] 01111 h [0.0811] 0011 , [0.0270] 01100 l [0.0541] 1010 W [0.0270] 01101 编码性能 平均码长=3.5676 熵=3.52889 编码效率=0.9892 输出码串: 011010011000001000011100100110000010000110101100011010011101101011010101001100100100110000010000110101100011010011101101000111101110计算压缩效率: 压缩前字符串一共有37个,ASCII码表示一共用去37*8=296bit 压缩后比特流一共有146bit 压缩效率为0.4932 BSC信道传输 接受码串: 011010011000001000011100100110000010000110101100011010011101101011010101001100100100110000010000110101100011010011101101000111101110 错误比特数:0 译码 输出字符串: Where there is a will, there is a way. 从输出结果可以看出,原字符串经过Huffman编码、BSC信道传输和译码,正确地得到了传输, Huffman编码实现了压缩,传输效率提高。 误码扩散效应 次数 错误位数 译码结果 1 2 Where there is a will, the,yew,W, a

文档评论(0)

didala + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档