一、设计内容
1、根据霍夫曼编码算法,考虑一个有多种可能的符号(各种符号发生的概率不同的信源)得到霍夫曼编码和码树;
2、使用MATLAB进行编程,编写的函数具有通用性,理解每个函数的具体意义和适用范围,程序输出显示所有的码字,平均码长,编码效率。
列如:一个有n个符号的信源x,各个符号出现的概率为:P:x1 x2x3 x4 x5 x6.
例:P(X):0.40,0.18,0.15,0.10,0.07,0.05,0.03,0.02进行霍夫曼编码,计算出平均码长、编码效率、冗余度。
二、设计原理
1、霍夫曼编码步骤:
(1)将信源消息符号按其出现的概率大小依次排列;PI>P2>.>Pn
(2)取两个概率最小的字母分别配以0和1两个码元,并将这两个概率相加作为一个新的字母的概率,与未分配的二进制符号的字母重新排队。
(3)对電排后的两个频率级小伴复照(2)的过.Coma
(4)不断继续上述过程,直到最后两个符号配以0和1为止。
(5)从最后一级开始,向前返回得到各个信源符号所对应的码元序列,即相应的码字。