信息论与编码课程作业huffman编码的matlab实现.docVIP

  • 66
  • 0
  • 约7.76千字
  • 约 8页
  • 2018-05-23 发布于重庆
  • 举报

信息论与编码课程作业huffman编码的matlab实现.doc

信息论与编码课程作业huffman编码的matlab实现

信息论与编码课程作业 ——霍夫曼编码求信源熵和存储前后的信息量的变化 一:设计目的: 学习离散信源平均信息量的计算方法。 理解和掌握huffman编码的基本原理,实现对信源符号的huffman编码 熟悉 Matlab 编程; 二:设计原理和思路 1.信源熵的计算: 公式: Matlab实现:I=log2(1/p) 或I=-log2(p) 熵(平均自信息)的计算公式 Matlab实现:HX=sum(-x.*log2(x));或者h=h-x(i)*log2(x(i)); 2.霍夫曼编码原理; 分为两步,首先是码树形成过程:对信源概率进行合并形成编码码树。然后是码树回溯过程:在码树上分配编码码字并最终得到Huffman 编码。 1、码树形成过程:将信源概率按照从小到大顺序排序并建立相应的位置索引。然后按上述规则进行信源合并,再对信源进行排序并建立新的位置索引,直到合并结束。在这一过程中每一次都把排序后的信源概率存入矩阵p中,位置索引存入矩阵m中。这样,由排序之后的概率矩阵?p以及索引矩阵m就可以恢复原概率矩阵P了,从而保证了回溯过程能够进行下去。 2、码树回溯过程:在码树上分配编码码字并最终得到Huffman 编码。从索引矩阵M 的末行开始回溯。 (1) 在p的末行2元素位置填入0和1。 (2) 根据该行索引1位置指示,将索引1位置的编码(‘1’)填入上一行的第一、第二

文档评论(0)

1亿VIP精品文档

相关文档