第三次作业

本文通过实例详细介绍了霍夫曼编码的过程及如何计算信源的熵,并进一步探讨了霍夫曼码的平均长度及其冗余度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.利用程序huff_enc和huff_dec进行以下操作(在每种情况下,利用由被压缩图像生成的码本)。

(a)对Sena,Sensin和Omaha图像进行编码。

所以压缩率一般是越小越好,但是压得越小,解压时间就越长。

4.一个信号源从符号集A={a1,a2,a3,a4,a5}中选择字母,其概率为P(a1)=0.15, P(a2)=0.04, P(a3)=0.26, P(a4)=0.05, P(a5)=0.50.

(a)计算这个信源的熵。

H(A)=-P(a1)log2P(a1)-P(a2)log2P(a2)-P(a3)log2P(a3)-P(a4)log2P(a4)-P(a5)log2P(a5)

         = -0.15*log20.15-0.04*log20.04-0.26*log20.26-0.05*log20.05-0.50*log20.50

         =0.15* 2.737+0.04*4.644+0.26*1.943+0.05*4.322+0.5*1

         =0.411+0.186+0.505+0.216+0.5

         =1.818(bits/symbol)         

(b)求这个信源的霍夫曼码。

          a1的编码为:001

          a2的编码为:0000

          a3的编码为:01

          a4的编码为:0001

          a5的编码为:1

(c)求(b)中代码的平均长度及其冗余度。

平均长度:L=P(a1)*L1+ P(a2)*L2+P(a3)*L3+P(a4)*L4+P(a5)*L5

                   =0.15*3+0.04*4+0.26*2+0.05*4+0.5*1

                   =0.45+0.16+0.52+0.2+0.5

                   =1.83(bits/symbol)

 冗余度:L-H(A)=1.83-1.818=0.012(bits/symbol)

转载于:https://www.cnblogs.com/yangnana/p/5888026.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值