
(1)求该信源符号熵H(X)。
(2)用哈夫曼编码编成二元变长码,计算其编码效率。
(3)要求译码错误小于,采用定长二元码达到(2)中的哈夫曼编码效率,问需要多少个信源符号连在一起编?
解:(1)信源符号熵为
(2)
该哈夫曼码的平均码长为
编码效率为
(3)信源序列的自信息方差为
所以,至少需要1.62×105个信源符号一起编码才能满足要求。
5-12 已知一信源包含8个消息符号,其出现的概率,则求:
(1)该信源在每秒内发出1个符号,求该信源的熵及信息传输速率。
(2)对这8个符号作哈夫曼编码,写出相应码字,并求出编码效率。
(3)采用香农编码,写出相应码字,求出编码效率。
(4)进行费诺编码,写出相应码字,求出编码效率。
解:(1)信源熵
信息传输速率为
(2)哈夫曼编码:
信源各符号的对应哈夫曼曼码字如下:
| 0.1 | 0.18 | 0.4 | 0.05 | 0.06 | 0.1 | 0.07 | 0.04 |
| 011 | 001 | 1 | 00010 | 0101 | 0000 | 0100 | 00011 |
编码效率为
(2)香农编码如下:
| 信源符号 | 符号概率 | 码字长度
| 累加概率
| 二进制
| 码字 | |
| 0.4 | 1.32 | 2 | 0 | 0 | 00 | |
| 0.18 | 2.47 | 3 | 0.4 | 0.011001... | 011 | |
| 0.1 | 3.32 | 4 | 0.58 | 0.100101... | 1001 | |
| 0.1 | 3.32 | 4 | 0.68 | 0.101011... | 1010 | |
| 0.07 | 3.84 | 4 | 0.78 | 0.110001... | 1100 | |
| 0.06 | 4.06 | 5 | 0.85 | 0.110110... | 11011 | |
| 0.05 | 4.32 | 5 | 0.91 | 0.111010... | 11101 | |
| 0.04 | 4. | 5 | 0.96 | 0.111101... | 11110 |
编码效率为
(4)费诺编码
| 消息符号 | 符号概率 | 第一次分组 | 第二次分组 | 第三次分组 | 第四次分组 | 码字 |
| 0.4 | 0 | 0 | 00 | |||
| 0.18 | 1 | 01 | ||||
| 0.1 | 1 | 0 | 0 | 100 | ||
| 0.1 | 1 | 101 | ||||
| 0.07 | 1 | 0 | 0 | 1100 | ||
| 0.06 | 1 | 1101 | ||||
| 0.05 | 1 | 0 | 1110 | |||
| 0.04 | 1 | 1111 | ||||
编码效率为
