深入理解喷泉码------喷泉码度分布生成流程

引言

       在上篇文章中我们讲到了LT码的编译码算法流程,这次我们着重来讲度分布生成流程,编译码算法是教会你怎么用,但如果你想理解LT码的核心原理,那么你一定要对度分布的生成有一点直观的感觉。OK,这篇文章会尽量的从简单的角度来引导你思考为什么要怎么去设计度分布,度分布的设计的理念和意义在哪里。但是本文并不会告诉你为什么最终选择了这样一个度分布(好吧,其实可能Luby也是拍脑袋想出来的,他的灵感来自于水的纹波谐振的过程,呃...所以说大佬真的是大佬),下面开始我们的正题。

思考

       如果我们想要设计一个数字喷泉的算法,我们应该怎么做呢?最容易想到的,就是我每次随机发送一个原始数据包嘛,反正我一直发,接收端接收到足够多的数据包,也肯定能恢复出原始数据的。是的,这就是数字喷泉的含义,但我们也能明显的感受到,这么发的冗余度太高了,要接收很多很多包才能恢复原始数据。根据香农第二定律我们知道,肯定有码字能逼近香农限的,那我们如何去设计这个码子让他既能贴近香农限,又可以拥有数字喷泉的能力呢?OK,稍微回忆下我们的LT码编译码过程,如果不了解LT码的编译码过程的,请看我的上一篇博文,下面我们开始对LT码的度分布设计进行分析。

LT码的度分布设计

       回忆LT码的编译码过程,我们以度数来表示一个编码包中所包含的原始数据包数量,根据我们刚才的分析,我们需要LT码能够达到条件(1):接受方能够在接收到尽可能少的数据包的情况下成功恢复出源数据,尽可能的逼近香农限,提高信道利用率。反映在喷泉码的编码算法上,就是每次编码产生的编码包应该尽量多包含一些源数据的信息,也就是生成编码包时选取的度数应该尽可能的大。同时,度数高也就意味着要进行的异或预算次数高,算法复杂度高,为了让这个码字实用性更强,那么意味着我们要满足条件(2):在能够成功译码的条件下,度数尽可能的小,以保障较小的译码开销。

       对于极端条件下的条件(1),,每一个编码数据包为所有原始数据包做异或的结果,但在这种情况下,数据是无法完成译码的。而对于极端条件下的条件(2)呢?就是我们在思考部分提出的最简单的数字喷泉算法了,我们对这个方法进行数学建模,可以将其抽象为统计概率论中的一个经典问题——投球问题,投球问题的具体描述为:假设独立地把n个球扔到k个筐中,球扔到每一个筐中的概率均为1/k,求每个筐中至少有一个球的概率。对应到LT码上,原始数据的每一个分片就是盒子,当每个被编上序号的盒子都至少有一个对应编号的球的时候,则代表此时的原始数据是可以成功译码的,当k相对较大时,在扔了n个球后,某个盒子仍为空盒子的概率为:

                                                                        

       则此时不存在空盒子的概率为:

                                                                              

       我们定义译码失败的概率为\delta,则有:

                                                                        

       可得

                                                                      

       可以看到,在条件(2)的思路下当\delta较小时, n 的值会非常大,所以,单独考虑条件(1)或条件(2)的编码方式实用性很差,而在实际情况的度分布设计是在这两个条件下不断折中的过程。

       Luby提出了两种尽可能让所需的编码符号数和总的符号模二加次数达到最少的度分布,理想孤波分布(Ideal Solition distribution)和鲁棒孤波分布(Robust Solition distribution),这两种分布的设计都是从孤波分布中得到的启发,这种分布的特点是纹波的扩散和折射处于完全平衡的状态,形象的来说,就像石子投入到湖中产生的涟漪。而在LT码中,考虑BP译码算法,每次会选取一个度数为1的数据包开始译码,这个度数为1 的数据包就类似于头入水中的石头,产生的纹波就是与这个数据包相关联的其它源数据分片,随着译码过程的进行,不断会译码出新的源数据分片,根据这些新的分片又可以产生新的纹波,每进行一次
译码,纹波的振幅就会减小,当一个纹波对应的所有源数据分片均可译时,这个纹波就会消失。一个良好的LT码度分布,纹波的产生速率应该和其处理速率相等。

结语

       文章到这里基本就说完了,本文想阐明的是LT码设计的原则,思路,以及核心目的。至于为什么最终鲁棒孤波分布达到了特别好的效果,我想这就是大佬们的积累和灵感迸发出的火花吧,当然你也可以根据度分布的原则来创造自己的良好度分布,但是,这真的不是一个很容易的过程。

  • 12
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值