摘要:提出了一种基于LDPC码的物理层包编码方法。在该方法中,通过建立多个码块特定位置上简单异或关系,使得任何一个码块在译码过程中、在该特定位置上从其他码块获得一份额外的边信息,并且译码过程中还引入了类似码字串行干扰抵消(SIC)接收机的思想。该方法具有性能增益明显,复杂度低,接收延迟小,克服突发差错好等优势,非常适合未来5G的应用场景。
关键词: 包编码;物理层;单奇偶校验编码;最小和译码;迭代译码;低密度奇偶校验码
Abstract: In this paper, we propose a physical layer packet coding method based on low density parity check codes (LDPC). By establishing the simple XOR relationship on specific position of multiple codes blocks, any code block in the specific position can get additional extrinsic information from other code blocks in the process of decoding, and the idea of serial interference cancellation (SIC) receiver is also used. This method has many advantages, including obvious performance gain, low complexity, low receiving latency and well performance on combating burst errors, and is very suitable for the future 5G application.
packet code; physical layer; single parity code; min-sum algorithm; iterative decode; low density parity check codes
目前,学术界和众多企业单位也密切关注着5G相关技术的研究和发展[1]。大量智能终端和移动设备的应用,均要求未来5G移动通信系统具有更大的系统容量和更高品质的用户体验。5G移动通信主要有3个场景:增强移动宽带(eMBB)、大规模机器通信(mMTC)和高可靠低延迟通信(URLLC)。
在5G时代的eMBB场景中,小编码块和大传输块(源数据包)将成为趋势,小的编码块可以保证足够低的接收延迟,足够快的处理速度,并能更好地应对突发差错;大的传输块可以保证承载足够多的传输数据。包编码技术一方面可以改善首次传输和重复传输的性能,另一方面可以明显减少码块的接收延迟,同时可以保证足够低的硬件实现复杂度,因此具有很好的应用前景。
在传统数据包中,码块分割后的每个纠错编码块之间不存在关联,只要有一个纠错码块出错,整个传输块都可能接收失败。整个数据包的误包率(BLER)和每个纠错编码块的误码率(BCER)之间的关系为:BLER = 1 - (1-BCER)n≈n×BCER。其中,n为数据包中纠错编码块的数目。从该公式可以看出:如果系统传输的数据包比较大或者数据量比较大时,进行码块分割后得到的纠错编码块数就会比较多。如果数据包的整体BLER要求在较低工作点时,就要求纠错编码块的BCER工作点更低。这会导致系统需要付出较大的信噪比,特别是在信道条件比较差的情况下系统效率将受到很明显的限制。
在5G移动通信系统中,eMMB、URLLC和mMTC的共存将变成突出问题,大量mMTC设备和URLLC设备产生大量的短突发数据包,eMMB设备则产生大的数据包,所以在组网时,eMMB设备的大数据包上将出现少量的突发差错,码块级的包编码方法可以更加有效地克服突发差错。
数据包编码的概念及应用起源于在数据应用层或者链路层对数据包进行编码,以提高应用层多传输数据包的误包率性能。但是,由于应用层的数据包都是硬比特(即0或1),所以其最大纠错能力比较有限[2-4]。目前,低密度奇偶校验码(LDPC)[5]在WiFi标准、全球微波互联接入(WiMAX)标准、数字广播标准有所应用,LDPC码具有内在并行特征和较低的成本,非常适合于超高速的链路,有较大可能在5G的高频通信或者超密网络的本地网络中应用。
5G系统要求更低的传输时延和更高的吞吐量。从物理层信道编码的角度出发,可以将一个传输块分割为多个独立编码的短码块,这样有利于减小译码器的复杂度并降低处理时延。然而,经典的编码理论告诉我们:编码块变小会使得整个传输块的编码增益下降,从而导致译码器的吞吐量降低。为了解决这一矛盾,我们提出一种基于LDPC码的物理层包编码方法,在该方法中,多个码块还是保持各自的独立性编译码,通过建立多个码块特定位置上简单异或关系,任何一个码块在译码过程中在该特定位置上可以从其他码块获得一份额外的边信息,并且译码过程中还引入了类似码字串行干扰抵消(SIC)接收机的思想,译码的主要复杂度还是在各个码块本身。这种方法能够在保证传输块性能的前提下,极大地降低译码器的复杂度,并实现基于在线译码的处理时延。物理层包编码技术非常适合未来5G的应用场景。
1 基于LDPC码的包编码
技术原理
1.1 基于LDPC码的包编码发送
具体包编码方案如图1所示,大概分为如下的步骤:
(1)传输块(源数据包)进行码块分割a块子数据块;
(2)对每个子数据块添加码块的循环冗余校验码(CRC)序列;
(3)对每个子数据块进行纠错编码处理;
(4)数据包编码(奇偶校验编码)得到1个校验数据包;
(5)比特选择将得到发送的数据包Y。
对比于传统数据包,这里主要添加了步骤(2)、步骤(4)和步骤(5)。
在步骤(2)中,包编码的译码需要采用CRC辅助的译码算法,同时需要采用类似码字级SIC的译码过程,所以每个LDPC编码块都需要增加码块CRC,码块CRC为8 bit。
在步骤(4)中,总共有a块纠错编码块(C0,C1,…,Ca-1),经过数据包编码得到1块校验数据包,包编码过程包括:将所有纠错编码块的第j个比特构成长度为a bit的序列Sj;再对该序列Sj进行奇偶校验编码并得到1 bit的第j个校验序列Pj;将序列Sj和校验序列Pj串联起来得到第j个奇偶校验编码序列Tj=[Sj, Pj],其中j=1,2,…,n,n是纠错编码块的比特长度。将所有校验序列Pj (j =1,2,…,n)顺序组合起来得到1块校验数据包Ca,即Ca= C0⊕C1,…,Ca-2⊕Ca-1。合并原始a个纠错编码块和数据包编码得到校验数据包,进而得到需要发送的数据包Y。当然,这里的包编码可以采用其他的编码方式,如多重奇偶校验码、汉明码等。
由于采用了包编码,相对传统的编码后数据而言增加了一个额外的校验包,使得编码后数据块长度变大了。在步骤(5)中,为了与传统的信道编码保持相同的码率,还需要一个额外的比特选择模块,将一些码字比特打孔掉,打孔比特数目就是校验包的比特数目,最终使得整体编码后的数据块长度保持不变,也就是说码率不变。
在步骤(5)中,比特选择后的总数据大小要与包编码之前的总比特数相等。此时,每个纠错编码码块和校验包打掉的比特数基本按照平均打掉原则,这里的纠错编码编码方法采用IEEE 802.11ad高频通信标准的LDPC编码[6],编码后码块长N总是为672 bit,扩展因子z = 42,基础矩阵大小是Mb*Nb,其中Nb=16,支持的码率包括1/2、5/8、3/4和13/16。比特选择中,对于每个编码块或校验包被打掉的比特数需要按照如下的2个规则确定:
(1)如果码块数小于等于15,则每个LDPC码块打掉42 bit,这里的42正好是等于扩展因子的大小,剩余(672-42*a) bit由校验包打掉;
(2)如果码块数大于15,此时生成一个长度为672 bit的校验包,然后对每个编码码块以及校验包进行均匀地打孔,打孔后每个编码块或者校验包具有相同的长度或者相差1 bit,并选择打孔后码字作为最终编码输出。根据这种方法,所有码块和校验包性能差不多,从而可以让整体数据包的性能达到最优。
1.2基于LDPC码的包编码接收
接收端解调计算出每个比特的对数似然比(LLR)信息,然后进行LDPC码译码和包编码译码,其中LDPC码译码和包译码结合一起进行迭代译码,迭代步骤如下:
(1)对每个LDPC编码块进行译码,更新译码输出每比特的LLR值。
(2)根据码块CRC判断每个LDPC编码块的正确性,如果正确则输出,则标识其正确;如果错误,则标识其错误;如果所有LDPC编码块都正确,则进入步骤(4)。
(3)通过单奇偶校验码(SPC)译码计算出每个错误码块的新LLR值,进入步骤(1)。
(4)结束译码。
在步骤(1)中,如果是首次译码,则需要对所有LDPC编码块进行译码;如果进入迭代译码时,只需要对错误译码的LDPC编码块进行译码更新。LDPC译码输出软比特信息,其中包括系统位部分的LLR信息和校验位部分的LLR信息,如果校验包长度大于系统比特数,由于其是LDPC码字空间,需要进行LDPC译码输出LLR值,否则只要解调输出的LLR值。在步骤(2)中,我们可以通过CRC序列以及码字空间等判断出LDPC码块正确性。以上步骤是一种迭代过程,所以可以设置最大迭代次数,当迭代达到一定次数后即退出译码。在迭代译码过程中,任何一个码块可获得从其他码块在特定比特位置上提供的一份额外边信息。判断正确的LDPC码字索引集合为[Ψ1],而错误索引集合为[Ψ2]。一旦遇到译码正确的LDPC编码块则直接采用硬比特结果来迭代译码,即在不断迭代过程中减去译码正确的LDPC码字,该迭代译码方法类似于SIC操作。
包编码每个比特的译码过程如公式(1)和(2):
[LLR's=LLRs+LLRextrinsics] (1)
在公式(1)和(2)中,[LLRs]是更新前的所有译码错误中的第s块LDPC纠错编码块[LLR]矢量,[LLRextrinsics]为其他码块提供给第s个码块的纠正信息,[LLR's]是更新后LLR矢量,[Δns]是所有译码正确LDPC码块中对应索引比特为1的数目矢量,[φs]是指所有译码错误LDPC码块索引集合[Ψ2]中除了第s块以外的其他码块索引矢量,[n's]是指所计算的索引集合为[φs]的对应每比特的LLR值中符号为正数的数目矢量。
2 比特选择方法对LDPC
包编码的性能影响
每个LDPC码块打掉比特位置的不同,也会影响到整体数据包的译码性能,所以我们需要选择一种最优的比特选择方法,使得接收译码性能达到最好。
2.1 4种比特选择的方法
在比特选择方法介绍中,主要以码块数a=10为例进行介绍,对应每个LDPC码块打掉比特数为42,而校验包打掉的比特数为252。
比特选择的方法包括如下4种方式(如图2所示):
(1)对于每个LDPC编码块都从后到前打掉一些比特,对于校验包则从前到后打掉一些比特;
(2)对于每个LDPC编码码块从前到后打掉一些比特,对于校验包是从后到前打掉一些比特;
(3)对于每个LDPC码块和校验包依次从后到前打掉一些比特,对于所有LDPC码块和校验包打掉比特的位置索引都没有相同的;
(4)对于每个LDPC码块和校验包依次从前到后打掉一些比特,对于所有LDPC码块和校验包打掉比特的位置索引都没有相同的。
2.2 4种方法的性能比较
我们对4种方法在加性高斯白噪声(AWGN)信道下的性能进行比较,共分4种情况:码率为1/2(低码率),码率为3/4(高码率),编码块数目为10个和50个,这里采用一次单奇偶校验(SPC)译码。
通过以上仿真,我们得到以下结论:在图3(a)中方法1稍好于其他方法;在图3(b)中方法3和4明显好于方法1,且略好于方法2;在图3(c)中4种方法性能相当;在图3(d)中方法3和4明显好于方法1,且略好于方法2。基于以上结果的折衷,方法3和方法4是优先选择。
3 包编码方案的性能增益
我们给出了有包编码方案和传统的无包编码方案的性能比较,信道为AWGN,调制为QPSK,码率为1/2(低码率)和码率为13/16(高码率),编码块数目分别为10、50和100个,共有4种仿真情况,比特选择方法采用方法4,采用至多4次SPC译码,码块CRC被看为编码开销而不是信息比特,New是指有包编码方案,Trad是指无包编码的传统方案。
根据以上仿真结果,图4(a)中包编码在码块数目为10、50、100和码率为1/2条件下带来了0.3 dB、0.5 dB和0.5 dB的性能增益;图4(b)中包编码在码块数目为10、50、100和码率为13/16条件下带来了0.5 dB、1 dB和1 dB的性能增益;图4(c)中包编码在调制为16QAM、码块数目为20和码率分别为1/2和3/4条件下分别带来了0.55 dB和0.5 dB的性能增益;图4(d)中包编码在调制为64QAM、码块数目为20和码率分别为5/8、3/4和13/16条件下带来了0.6 dB、0.55 dB和1 dB的性能增益。
4 结束语
文章首先介绍了基于LDPC码的包编码技术原理,随后给出了不同比特选择方法对包编码方案的性能影响,最后给出了有包编码方案和传统的无包编码方案的性能比较。从仿真结果可以看出:基于LDPC码的包编码技术方案技术具有明显的性能优势。我们对物理层包编码技术方案的优势进行总结:
(1)有较明显的性能增益。包编码方法可以有效地提高一个包括多个编码块的传输块的链路性能,在码块数目较多和码率较高条件下尤为明显。
(2)复杂度较低。在发送端进行包编码时,只需要比较少量的异或门,所以编码复杂度很低。在接收端,虽然SPC外迭代导致了额外的复杂度,但是外迭代次数至多4次,码块间的SPC译码很简单且可串行实现,外迭代仅需对少量错误码块进行LDPC译码,所以额外的复杂度比较低,是可以接受的。
(3)接收延迟小。包编码方法可以将较大编码块划分成短编码块,每接收到一个短编码块即可进行译码,进而可以采用在线译码,减少整体译码时延。
(4)大大提升混合自动重传请求(HARQ)重传性能。如果首传是包括多个编码块的源数据包,并且重传是校验包,重传性能得到大大提高,仿真论证了这一点。
综上所述,物理层包编码技术不仅可以提升链路性能,而且可以减少硬件复杂度和降低时延,还可以克服突发差错,非常适合未来5G的应用场景。
参考文献
[1] 徐俊. 5G链路增强技术进展[J]. 中兴通讯技术(简讯), 2014, 12: 12-14
[2] GOMEZ- BARQUERO D, BRIA A. Forward Error Correction for File Delivery in DVB-H [C]// 2007 IEEE 65th Vehicular Technology Conference - VTC2007-Spring. USA: IEEE, 2007: 2951- 2955. DOI: 10.1109/VETECS.2007.605
[3] SHOKROLLAHI A. Raptor Codes [J]. IEEE Transactions on Information Theory, 2006, 52(6): 2251-2567
[4] STOCKHAMMER T, SHOKROLLAHI A, WATSON M, et al. Application Layer Forward Error Correction for Mobile Multimedia Broadcasting [M]. Handbook of Mobile Broadcasting: DVB-H, DMB, ISDB-T and Media Flo. USA: CRC Press, 2008
[5] GALLAGER R G. Low-density Parity Check Codes [J]. IRE Transactions Information Theory, 1962, 8: 21-28
[6] IEEE. IEEE802.11ad:Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications Amendment 3: Enhancements for Very High Throughput in the 60 GHz Band [S]. 2012