深空通信中基于喷泉码的前向纠删方法

2010-08-06 09:27超,
通信技术 2010年3期
关键词:信道编码码率译码

杜 超, 郭 庆

(哈尔滨工业大学 通信技术研究所, 黑龙江 哈尔滨 150001)

0 引言

深空通信的基本特征是传输距离异常遥远;并由此导致链路衰耗严重、误码率高,传输时延巨大,链路易中断等卫星通信和地面无线通信所不具备的特殊问题。信道编码技术作为保证通信系统可靠性的关键技术,对于解决上述问题具有重要意义。深空信道(自由空间段)通常被认为是一种理想的无记忆加性高斯白噪声信道,这种信道正是构成Shannon信道编码理论的基础信道,因此使得在该信道模型下进行的信道编码理论与仿真分析具有实际意义[1]。

传统深空通信信道编码技术主要针对物理层信息比特进行错误保护,当面对由于未纠正的比特错误引起的应用层错误帧接收情况时,只能采用自动重传请求(ARQ)机制来保证分组数据的可靠接收。但是,在深空通信中应用ARQ机制受到链路传输长时延的显著约束。文献[2]指出的联合物理层信道编码与上层面向分组纠删编码的方法为解决此问题提供了良好思路。

喷泉码作为新近兴起的一种纠删编码,可以在无需反馈信道的情况下提供一种高效可靠的前向恢复(纠删)方法,避免ARQ机制在深空通信应用中的瓶颈,非常适合于深空通信的特殊环境;同时在卫星广播通信等领域也具有良好的应用性[3]。本文将带有检错机制的Turbo码分组传输信道等效为删除信道,并应用系统 Raptor码作为具体的喷泉码实现方案,通过实际仿真分析了该方法的性能并与传统信道编码方法进行了比较。

1 喷泉码基本原理

喷泉码作为一种基于删除信道、面向数据分组的前向纠删编码方法,具有传统纠删编码所不具备的“无率”和“一致”特性:即对于任意删除信道模型,不论其统计特性如何,只要接收端能够从编码器生成的半无限长序列中准确接收到一定数量的编码符号,即可准确译码。

1.1 喷泉码构造方法

目前主要有两种喷泉码构造方法:LT(Luby Transform)码和Raptor码。

LT码是第一种喷泉码实现方案,其编码过程体现出喷泉编码的核心思想,具体步骤如下:

① 将原始信息分组成为k个输入符号(X1,X2,X3,…,Xk);

② 根据给定的编码度分布序列ρ(d) (d=1,2,3,…,k),随机选择di(i =1,2,3,…)个输入符号作为第i个编码符号的邻接节点;

2017年11月,华东理工大学学生社团趁早读书会组织了“21天阅读习惯养成”活动。在活动中,学生可以选择任意一本喜欢的书,每天完成一定的阅读,通过在微信活动群打卡,和大家分享喜欢的段落或读书感想,此外还会设置每日话题供读者讨论。活动结束后,读者收获很大,但是由于趁早读书会刚刚起步,人数比较少,活动影响力较小。

③ 对 di个输入符号进行逐次异或运算得到编码符号表示上的k维列向量,di个“1”元素的位置在vi中随机分布。

LT码编码过程可用分组码生成矩阵方法表述:令X表示输入符号集,vi表示第 i个编码符号的编码系数向量,定义LT码生成矩阵:

则LT编码即为由输入符号集根据编码生成矩阵GLT进行线性运算的过程:

其中E[1:n]即为生成的编码符号集。

Raptor码与LT码的主要不同之处是在LT编码之前,首先对k个输入符号进行C(n, k)线性变换,生成n个中间符号,再对其进行LT编码生成输出符号。Raptor码预编码冗余符号P由输入符号通过预编码生成矩阵Gpre(s × k)得到:

其中预编码常用方法包括Hamming码、LDPC码等[4];然后经过LT编码由中间符号M(MT=[XTPT])生成编码符号:

联立式(3)和式(4),得到:

1.2 喷泉码译码算法及复杂度

对于删除信道模型上的喷泉码,传输过程中编码符号以一定比例被删除(丢失),假设接收端能够接收到其中 r(r>k)个编码符号(Ei1,Ei2, Ei3,…,Eir),i∈(1,2,3,…,n),那么译码即为由此r个编码符号恢复全部输入符号(X1,X2,X3,…,Xk)的过程。喷泉码译码算法有两种(以LT码为例):

(1) 高斯消去法

删除信道上的最大似然译码等价于利用高斯消去法求解编码线性方程组。由式(2)可知,求解线性方程组 GLT(i1,i2,i3,…,ir) · X =[Ei1TEi2TEi3T… EirT]T的过程即为喷泉码的最大似然译码,只要编码生成矩阵GLT的秩大于k,即可成功译码。对于均匀分布的编码生成矩阵GLT,采用高斯消去法在译码失败概率为1/kc时的译码开销为O(ln(k)/k),随输入符号数目k增加而趋近于0;但是当码长逐渐增大时,高斯消去法译码代价(O(rk))成平方增大,因此适用于码长较短的情况。

(2) 消息传递MP (Message Passing)算法

MP算法广泛应用于基于稀疏图形的编码方法。对以删除信道为基础的喷泉码,MP算法尤为简单。均匀分布的度分布序列不能保证MP算法可靠译码,因此必须设计合理的度分布序列。根据文献[5]提出的鲁棒孤波分布可以得出,为保证可靠译码(译码失败概率为1/kc)所需的译码开销以及译码代价分别为O(ln2(k) /)和O(ln(k)),此时,译码开销随k增加同样趋近于0,而相比于高斯消去法具有更低的译码代价。

2 深空通信中基于喷泉码的前向纠删方法

深空通信信道模型近似为理想AWGN信道,而喷泉码研究的基础信道模型为删除信道。为了分析本文中基于喷泉码的前向纠删方法在AWGN信道下的性能,需要将应用层系统Raptor码与物理层Turbo码相结合,建立起对应关系。图1所示为仿真系统结构图,将带有CRC检错机制的Turbo码分组传输信道等效为删除信道,简化了仿真系统复杂度。

图1 仿真系统结构

2.1 系统Raptor码

LT码和Raptor码都是非系统码,而大多数实际系统期望得到系统码字输出,通过对Raptor码编码过程进行适当改进,可以得到系统Raptor码。本文采用系统Raptor码作为应用层前向纠删编码的具体实现方案,下面对其进行分析。

设Si表示输入符号,对于系统Raptor码,要求编码码字的前k位等于k个输入符号,即对任意Ei(i=1,2,3,…,k),有Ei≡Si成立。通过对Raptor编码输入符号集X进行一定的处理,可以保证上述要求。假设该关系表示为S[1:k]=E[1:k]=Gk· X,那么代入式(3)、式(4)得到:

直观来看,系统Raptor编码首先需要计算编码预处理矩阵Gk-1并由之得到输入符号集X=Gk-1·S,再根据Raptor码编码过程式(3)、式(4)得到编码符号。实际上,可以构造类似于式(5)的Raptor码编码约束矩阵A,使得

据此推出系统 Raptor码编码步骤:①根据编码约束矩阵由式(7)得到中间符号集M;②对中间符号集M进行LT编码得到系统Raptor码。

虽然喷泉码具有理论上的优良性能,但是目前实用喷泉码方案仅限于MBMS标准建议的系统Raptor码,参考3GPP标准系统Raptor码设计原则[6],对短码长(k=256, 512, 1024)的系统Rapotr码性能进行分析。图2所示仿真结果表明在信道删除概率f=0.1的情况下,只要接收到一定冗余数量(等价于译码开销)的编码符号,即可以在不同输入符号数目的情况下得到相同的译码性能。

图2 不同输入符号数目条件下系统Raptor码译码失败概率

图3所示为固定输入符号长度k=256时,在不同的信道删除概率下,系统 Raptor码的译码失败概率与编码/输入符号数目比之间的关系。可见,在不同删除信道条件下,当达到一定码率(即发送足够多的编码符号)时,系统Raptor码的具有一致的译码性能。

图3 不同删除概率条件下系统Raptor码译码失败概率

2.2 Turbo码

深空通信中采用系统Raptor码作为应用层纠删编码对数据分组提供前向恢复机制建立在物理层信道编码的基础上。Turbo码综合卷积码、伪随机交织、最大后验概率译码以及迭代译码思想,达到了接近 Shannon极限的性能,并已被选为CCSDS标准建议的深空通信信道编码方案之一,采用 Turbo码可以为系统提供尽可能大的编码增益。限于篇幅,有关Turbo码的原理介绍此处不作详述,相关内容参考文献[7]。

由于Turbo码不能判断译码码字是否正确,因此需要引入帧错误控制域以判断Turbo码译码正确与否,通常采用循环冗余校验(CRC)码进行帧错误检验。值得注意的是,CRC校验存在一定的漏检概率,而应用层系统Raptor码译码时需要准确接收正确的译码分组,因此有必要对 CRC校验能力进行限制。分析可知,采用CRC-16进行检错,漏检概率p ≈3×10-5,此时虽然可以保证帧错误控制要求,但使得上层系统Raptor码接收到概率为p ≈ 3×10-5的错误译码符号,假设以编码符号长度1000为分组进行译码,相当于每100次译码中有3次出现错误译码符号,从而造成译码错误扩散。为此,应当采用生成多项式g(x) =x32+ x23+ x21+ x11+ x2+ 1的CRC-32编码,在漏检概率p ≈ 2×10-9的情况下,可以保证系统Raptor码译码要求。

2.3 仿真结果及分析

根据前文介绍的前向纠删方法,对其在AWGN信道下的性能进行仿真研究,其中Turbo码帧长为1784 bit。图4所示为1/2码率Turbo码在应用系统Raptor码作为应用层前向纠删编码前后的FER性能比较。其中,系统Raptor码编码符号数目k =512,采用等保护能力的设计方法,即对不同的信道删除概率,统一采用译码开销 (n - k) =12进行发送。表1所示为仿真系统参数;可见,当Eb/N0>0.7 dB时,FER达到10-4以下,满足深空通信系统对于链路丢包率的要求。

图4 1/2码率Turbo码在应用系统Raptor码前后性能比较

在图 4所示方案的基础上,考虑一种不等保护能力的系统 Raptor码编码方法,仿真结果如下页图 5所示。当系统Raptor码输入符号数目k=256时,相比于1/4码率的Turbo码,采用1/3码率Turbo码加系统Raptor码的前向纠删方法在码率大于前者的情况下即可达到更低的FER,如表1右半部分中Eb/N0>0.1dB的情况。在实际关注的区域(FER =10-4~10-5),即Eb/N0>0.4 dB时,该方法编码码率为1/(1.0625×3)≈0.32,相比于前者提高近7%,相当于在同等码率下获得了一定的编码增益,从而提高了系统的分组数据保护能力。

图5 1/4码率Turbo码与1/3码率Turbo码+系统Raptor码性能比较

表1 仿真系统参数

注意到,当Turbo码等效删除信道删除概率f >40%时,系统Raptor码码率很低,意味着接收端为了准确译码需要接收大量的编码冗余符号;此时,该前向纠删方法效率较低。但是,在适当的信道删除概率f<40%,系统Raptor码能够以较小的译码开销高效恢复丢失的编码分组,相比于单纯使用Turbo码的方法,具有更低的码率。

3 结语

深空通信的特殊环境决定了 ARQ机制作为数据分组可靠接收方法的瓶颈,联合物理层信道编码与上层面向分组的纠删编码可以有效解决此问题。基于喷泉码的前向纠删方法有效利用了喷泉码的无率和一致特性,确保在一定的信道删除概率范围内,能够高效恢复丢失数据分组;同时,相比于单纯使用Turbo码的方法,在一定范围内提高了系统的频带利用率。应用该方法对分组数据进行前向保护,避免了采用反馈链路重传所引起的巨大时延代价,保证了深空通信系统的可靠性和高效性。

[1] 张乃通,李晖,张钦宇.深空探测通信技术发展趋势及思考[J].宇航学报,2007,28(04): 786-793.

[2] Calzolari G P, Chiani M, Chiaraluce F, et al.Channel Coding for Future Space Missions: New Requirements and Trends[J].Proceedings of the IEEE, 2007,95(11):2157-2170.

[3] 葛新,龙红卫,刘榕,等.Raptor码在卫星广播通信中的应用及其分析[J].通信技术, 2009,42(05):5-7.

[4] Shokrollahi A.Raptor Codes[J].IEEE Transactions on Information Theory, 2006,52(06):2551-2567.

[5] Luby M.LT Codes[C]//IEEE. Proceedings of the 43rd Annual IEEE Symposium on Foundations of Computer Science. Canada: FOCS,2002:271-282.

[6] TS 26.346 V7.8.0.Multimedia Broadcast/Multicast Service(MBMS): Protocols and Codecs[S].France: 3GPP TSG-SA, 2008.

[7] Blue Book 131.0-B-1. TM Synchronization and Channel Coding[S].USA: CCSDS, 2003.

猜你喜欢
信道编码码率译码
分段CRC 辅助极化码SCL 比特翻转译码算法
基于校正搜索宽度的极化码译码算法研究
一种基于HEVC 和AVC 改进的码率控制算法
基于FPGA的多码率卷积编码器设计与实现
如何提升计算机在信道编码的处理应用效率
5G信道编码技术相关分析
华为:颁奖Polar码之父
基于状态机的视频码率自适应算法
从霍尔的编码译码理论看弹幕的译码
卫星数字电视信号部分信道编码的软件实现