摘要
针对低密度奇偶校验(low-density parity-check,LDPC)码的多种动态调度残差值置信度传播(residual belief propagation,RBP)译码算法存在贪婪性和静默变量节点的问题,引入校验方程和概率残差值共同决策的方法,提出双决策残差值置信度传播译码算法(double decision RBP,DD-RBP)。首先根据计算的概率残差值选择需要更新的变量节点,以减少静默变量节点的个数。然后根据校验方程结果更新相关校验节点对应边的残差值,进一步降低贪婪性。最后结合更新后的残差值,在需要更新的变量节点所连接边的集合中,局部或全局选择残差值最大的边并更新,重复上述过程直至达到设置的最大次数。理论分析与仿真结果表明:对于IEEE802.16e标准和5G NR标准下的低密度奇偶校验码,所提出的双决策残差值置信度传播译码算法通过增加复杂度,在加性高斯白噪声信道和瑞利衰落信道下的译码性能优于其他译码算法。
Abstract
In order to solve the problems of greediness and silent variable nodes in multiple dynamic scheduling residual belief propagation (RBP) decoding algorithms for low-density parity-check (LDPC) codes, a double decision residual belief propagation decoding algorithm (DD-RBP) is proposed by introducing the method of joint decision based on the check equation and probability residual value. Firstly, the variable nodes that need to be updated are selected according to the calculated probability residual value, which can reduce the number of silent variable nodes. Then, according to the results of the check equation, the residual values of the corresponding edges of the relevant check nodes are updated to further reduce the greediness. Finally, combined with the updated residual value, in the set of edges connected by the variable nodes that need to be updated, the edge with the largest residual value is selected locally or globally and updated, and the above process is repeated until the maximum number of settings is reached. Theoretical and simulation analyses demonstrate that, for low-density parity-check codes under IEEE802.16e standard and 5G NR standard, the proposed double decision residual belief propagation decoding algorithm performs better than other algorithms in decoding under additive Gaussian white noise channels and Rayleigh fading channels with increased complexity.
低密度奇偶校验(low-density parity-check,LDPC)码最初由Gallager[1]于1962年提出,后续经Mackay和Neal[2]研究证明LDPC码具有接近香农限的译码性能。由于具有优良的编码效率和性能,LDPC已广泛应用于航空航天、数字电视和5G技术等通信领域。
LDPC码在置信度传播(belief propagation,BP)译码算法下具有良好的性能,其中调度策略对译码算法的性能有十分重要的影响[3]。BP译码算法采用的是传统泛洪(flooding)调度方式,其中变量节点到校验节点(variable-to-check,V2C)和校验节点到变量节点(check-to-variable,C2V)的消息更新与传递同时进行,从而限制了BP译码算法的收敛速度和译码性能。为了提高消息更新与传递过程中信息的可靠性,洗牌置信度[4](shuffled BP,SBP)传播和分层置信度[5](layered BP,LBP)传播译码算法通过改变变量节点(variable nodes,VN)和校验节点(check nodes,CN)的调度顺序提高信息收敛速度,相对于传统泛洪调度收敛速度提升约2倍。
虽然分层调度策略可以大大提高信息收敛速度,但不同节点所需信息量是不同的,因此固定的信息更新顺序并不是最佳的选择。为获取更快的收敛速度和更好的译码性能,文献[6]采用了知情动态调度(informed dynamic scheduling,IDS)策略。根据此策略,对基于C2V消息残差序列的残差置信度(residual belief propagation,RBP)传播译码算法进行改进。但RBP算法每次仅更新C2V中残差值最大的边,因此少量的边占用了大量的译码资源,呈现出贪婪性。贪婪性的存在使得RBP算法在前几次的迭代信息收敛速度很快,但在较多迭代次数的情况下性能低于静态调度策略。文献[7-9]均通过更新残差值降低贪婪性,文献[7]采用衰减机制来降低C2V中的较大的残差值,以避免较少的边占用大量的译码资源。在此基础上,文献[8]采用两个列表筛选出已经稳定的节点,避免引入不可靠的信息,在一定程度上保证了优先传输新更新的可靠信息。文献[9]则直接通过一个禁忌列表降低贪婪性。
译码的最终目的是获得正确的决策,与变量节点密切相关,贪婪性的存在还会使得一部分变量节点进入静默状态,使其不能参与译码过程中的信息传递。为了解决这一问题,文献[10-17]均是通过选择变量节点确定更新过程。文献[10]提出无静默节点残差置信度(silent-variable-node-free RBP,SVNF-RBP)传播算法,通过遍历每一个变量节点,选出每个变量节点连接的C2V最大值进行信息更新与传递,因此每个变量节点都有相同的机会参与译码过程中的信息传递,但固定的选择顺序会降低信息的收敛速度。为了获取更快的信息收敛速度,文献[11]在上述算法的基础上提出动态无静默变量节点残差置信度(dynamic silent-variable-node-free scheduling RBP,DSVNF-RBP)传播算法,采用动态的变量节点选择,优先更新不满足条件的变量节点,从而获得更快的信息收敛速度。相较于动态选择,文献[12,17]都提出更加可靠的决策方法选择变量节点,通过概率残差值进行选择。文献[18-19]则通过每层残差值进行译码,在损失译码性能的前提下大大降低译码复杂度。
上述算法根据校验节点或变量节点计算残差值,没有将两者结合充分利用节点间的信息。为了充分利用译码过程中的残差值信息,本文提出了双决策残差值置信度传播译码算法(double decision RBP,DD-RBP)。首先根据计算的概率残差值选择所需更新的变量节点,然后根据校验方程判决结果,对不满足校验结果的校验节点所对应的残差值进行更新。通过变量节点和校验节点共同确定需要更新的边,在降低静默变量节点数目的同时又能保证较低的贪婪性。
1 RBP译码算法
设大小为M×N的LDPC校验矩阵H=[hmn],其中hmn为1时表示变量节点 vn和校验节点cm相连接。可以由Tanner图表示,见图1,其中连线表示校验矩阵在第m行n列取值为1。

图1LDPC码Tanner图
Fig.1Tanner graph representation of LDPC codes
假设信息序列u=(u1,u2,···,uM)经过编码后得到c=(c1,c2,···,cN), cn={0,1},经二进制相移键控(binary phase shift keying,BPSK)映射为x=(x1,x2,···,xN),其中xn=1-2cn,(n=1,2,···,N)。采用基于软判决的RBP译码算法,记经过加性高斯白噪声信道后接收端序列为y=(y1,y2,···,yN),yn=xn+kn,其中kn是均值为0,方差为N0/2的加性高斯白噪声,N0为噪声功率。译码结果为。
为便于描述,对下述公式涉及符号说明如下。C2V为cm到vn信息更新与传递过程,数值记为;V2C为vn到cm信息更新与传递过程,数值记为;和的初始化数值分别为0和4yn/N0。N(m)表示与校验节点相连的所有变量节点的集合,即N(m)={n∶hmn=1}是第m行中的所有非0元素;M(n)表示与变量节点相连的所有校验节点的集合,即M(n)={m∶hmn=1}是第n列中的所有非0元素。N(m)\n和M(n)\m表示除去当前元素的所有非0元素集合。
对于RBP算法,从cm到vn消息更新计算式为
(1)
从vn到cm消息更新计算式为
(2)
vn判决信息LLR为
(3)
RBP算法[6]信息更新过程步骤如下。
1)计算残差值
(4)
式中:是由式(1)预先计算这次迭代的C2V信息,是由式(1)计算上一次迭代的C2V信息。
2)找到最大残差值位置
(5)
3)更新C2V边
(6)
4)根据式(2)计算V2C信息。
2 双决策残差值译码算法
在译码迭代过程中,不同的校验节点所连接的边对译码过程带来的信息量不同,优先更新最不可靠的边能够获得更好的性能,但如何选择最优的更新顺序是一个NP-hard难题[7]。对于传统RBP译码算法,尽管一些边可能仅需要少量的译码资源就能给出正确的信息,但贪婪性的存在会导致少量的边占用大量的译码资源。文献[6-9]给出了降低贪婪性的部分思路,这些方法均是在降低贪婪性而不是消除贪婪性。这是因为贪婪性的存在可以使得最不可靠的边优先传输,加快信息收敛速度,但同时也剥夺了其他边传输信息的机会。因此需要一个均衡的方法来削弱贪婪性。此外,C2V边的选择仅通过残差值来确定是不可靠的,事实上残差值最大的边并不能准确地表示这条边是最不可靠的[13]。译码的最终目的是获得正确的决策,可根据校验方程筛选出不满足译码结果的校验节点,获得可靠的结果。因此,本文提出了双决策残差值置信度传播(double decision RBP,DD-RBP)译码算法,分别通过校验方程决策CN和根据概率残差值决策VN。图2为算法基本原理框图。

图2DD-RBP算法框图
Fig.2Algorithm block diagram of DD-RBP
2.1 校验方程决策CN
为了获得最不可靠的边,本文首先提出对于不满足奇偶校验方程(parity check,PC)的校验节点残差值放大处理,使残差值较小但错误的节点获得更新的机会。初始化、C2V和V2C信息更新与传递过程与RBP相同,主要差别在于残差值的计算。首先需要根据式(3)计算出判决信息,判决最终结果为,定义γ=(γ1,γ2,···,γm)表示校验方程结果。可得
(7)
式中:为组成的向量,H为校验矩阵,γ中不为0的节点表示不满足校验方程。可通过式(8)计算残差值
(8)
式中α>1。
将不满足校验方程的校验节点所对应的残差值放大,增大该节点在残差值计算过程中被优先选择的概率。但过大的参数α使不满足校验方程的校验节点数值过大,又将面临贪婪性的问题,因此合适的数值可在更好的选择所需更新的校验节点的同时又能够避免贪婪性问题。图3给出在参数α取不同值时,IEEE802.16e标准,码长为576下的LDPC码在信噪比为2.2 dB时误帧率(frame error rate,FER)性能。

图3不同参数α下FER
Fig.3FER under different parameters α
由图3可以看到,误帧率先随着参数α的增大不断降低,但当参数α>1.1时,误帧率随着α的增大反而升高。在前3次迭代过程中,除α=3.0时性能低于RBP,其他参数收敛速度均优于RBP。因此,选择合适的参数α可以优先更新不满足校验结果的校验节点,在一定程度上降低贪婪性现象,提升译码性能。
2.2 概率残差决策VN
优先更新不稳定的变量节点可以提高判决信息LLR的准确性,文献[10-16]均是通过该方法提高译码性能。但是通过符号变换[16]、三重准则[15]和可靠性指标[14]都忽略了具有较小LLR值但不稳定的变量节点。为了更好地选取变量节点,本文采用概率残差值决策的方法。
当接收端第n比特译码结果与发送端信息序列un不同时表示译码错误,其发生的概率记为,
(9)
式中译码信息由判决信息LLR得到,=sgn(Ln)。
设ρN=(1,2,···,N),接收端译码错误概率
(10)
由式(10)可知,如果要降低译码错误的概率需要降低,在更新时选择变化最大的变量节点 ,经过迭代降低的值。
(11)
式中表示下一次迭代概率。
根据现有条件无法计算式(11)的值,本文定义新的变量Dn来替代,
(12)
首先需要求得的值,先验信息Ln可以表示为[20]
(13)
根据,则可求得,即
(14)
式(11)可更新为
(15)
式中为预先计算的判决信息。
2.3 DD-RBP算法
所提出的DD-RBP算法将根据校验方程选择校验节点与根据概率残差值选择变量节点两个准则共同确定所需更新的节点,表1给出DD-RBP算法的伪代码,其中β=0.1[12]。
表1DD-RBP算法
Tab.1 DD-RBP decoding algorithm

图4为DD-RBP算法数据迭代过程中节点间信息传递的简单示例,其中有5个校验节点和6个变量节点。首先图4(a)为译码信息传递过程,假设v3为首次根据概率残差值计算出的VN,找到与v3相连接CN(c2,c3,c4),根据式(8)更新不满足校验方程的CN残差值。然后在所有连接边c2→v3、c3→v3和c4→v3找到最大残差值r(c3→v3),c3→v3根据式(4)进行V2C更新。最后对剩余的边v3→c2和v3→c4根据式(2)进行V2C更新,上述过程完成了一次CN和VN之间的信息传递。图4(b)为DD-RBP算法中残差值计算与更新,对已更新过的CN(c2和c4),找到与其相连接但不为前一次选择的VN,分别为v1、v2、v4和v6,根据式(15)重新计算概率残差值,假设概率残差值最大是v2,则开始下一轮的迭代,如图4(c)所示,过程与图4(a)一致。
通过T-EXIT图对所提出的DD-RBP译码算法的平均互信息量(average mutual information,AMI)进行分析[21]。采用IEEE802.16e标准和5G NR标准,通过加性高斯白噪声信道,信噪比为2 dB,最大迭代次数为30次时的AMI大小如图5所示,其中,IA,VN和IE,CN分别为检验节点传递给变量节点的输入和输出似然信息与码元序列之间的互信息量,IA,CN和IE,VN分别为变量节点传递给校验节点的输入和输出似然信息与码元序列之间的互信息量。

图4CN与VN之间信息传递过程示例
Fig.4Example of the information transmission process between CN and VN

图5不同标准在AWGN信道下T-EXIT图
Fig.5T-EXIT diagram under AWGN channel with different standards
由图5可知,在采用IEEE802.16e标准和5G NR标准下,本文所提出的DD-RBP译码算法的AMI值明显高于其他译码算法,略优于CI-RBP译码算法。证明在译码过程中DD-RBP译码算法传递信息量大,收敛速度比其他译码算法快,验证了本文所提出的DD-RBP译码算法的有效性。
3 算法性能分析
本次仿真分析所使用的是IEEE802.16e和5G NR两种标准下的校验矩阵,分别在AWGN信道和Rayleigh衰落信道下,采用BPSK调制解调方式,最大迭代次数为30次,码率均为1/2,其中IEEE802.16e标准采用1 056码长,5G NR采用576码长。通过仿真对本文提出的DD-RBP算法进行评估,与RBP[6]算法、SVNF-RBP[10]算法、DSVNF-RBP[11]算法、RD-RBP[7]算法和CI-RBP[12]算法进行比较。为方便理解,后续用BER表示误比特率,FER表示误帧率。
3.1 译码性能分析
图6(a)和(b)分别为IEEE802.16e标准和5G NR标准在AWGN信道,信噪比分别为2.0和2.4 dB下的FER收敛速度。对于IEEE802.16e标准,当α=1.1时前两次收敛速度较快,但随着迭代次数的增加,α=1.3表现出更好的FER收敛性能。对于5G NR标准,当α=1.2时表现出更好的FER收敛性能。且两种标准均随着α的不断增大,FER收敛性能逐渐变差,这是由于过大的数值反而会加剧贪婪性,为了避免一张图中曲线过多,后续仿真均选用α=1.2和α=1.3两个参数。
图7(a)为IEEE802.16e标准在AWGN信道,信噪比为2.0 dB条件下的FER。在FER≈10-3时,RBP译码算法性能最差,本文提出的DD-RBP算法FER的收敛速度与SVNF-RBP、DSVNF-RBP和RD-RBP算法相比快约10次迭代。在迭代次数较少的情况下,CI-RBP与DD-RBP译码算法收敛速度明显优于其他译码算法。当迭代次数大于10次后,DD-RBP算法性能优于CI-RBP算法。图7(b)为IEEE802.16e标准,最大迭代次数为30次,在AWGN信道下的FER与BER。在低信噪比条件下,本文提出的DD-RBP与CI-RBP译码算法性能基本一致,且均优于其他改进译码算法,在中高信噪比条件下,DD-RBP译码算法优于CI-RBP译码算法。

图6不同标准在AWGN信道下FER信息收敛速度
Fig.6Convergence speed of FER information under AWGN channel with different standards

图7不同算法在AWGN信道下FER与BER性能(IEEE802.16e标准,码长1 056)
Fig.7FER and BER performance of different algorithms in AWGN channels (IEEE802.16 standard, code length 1 056)
图8(a)为5G NR标准在AWGN信道,信噪比为2.4 dB条件下的FER,各算法译码性能与IEEE802.16e标准下的趋势基本保持一致,但几种算法之间的差距明显增大。在FER≈10-3时,本文提出的DD-RBP算法FER收敛速度比SVNF-RBP与DSVNF-RBP快约5次迭代,比RD-RBP算法快约15次迭代。当参数α=1.2时,DD-RBP译码算法FER收敛速度优于CI-RBP译码算法,但当参数α=1.3时FER收敛速度与CI-RBP基本一致。图8(b)为5G NR标准,最大迭代次数为30次,在AWGN信道下的FER与BER。在中高信噪比条件下,本文所提出的DD-RBP译码算法在参数α=1.2时FER与BER性能优于其他改进算法,在参数α=1.3时,性能与CI-RBP译码算法基本保持一致。
图9(a)和(b)分别为IEEE802.16e标准和5G NR标准,在瑞利衰落信道下的FER,瑞利衰落随机数的功率与传输信号的功率比为1∶1,其中IEEE802.16e标准码长为1 056,5G NR标准码长为512。

图8不同算法在AWGN信道下FER与BER性能(5G NR标准,码长512)
Fig.8FER and BER performance of different algorithms in AWGN channels (5G NR standard, code length 512)

图9不同算法在不同标准下通过Rayleigh衰落信道的FER性能
Fig.9FER performance of different algorithms over Rayleigh fading channels under different standards
由图9可知,相对于AWGN信道,除RBP算法外不同改进算法之间的差距明显缩小。但整体来看,本文所提出的DD-RBP译码算法在两种不同标准下译码性能优于RBP、SVNF-RBP、DSVNF-RBP和RD-RBP译码算法,在参数α选择合适的情况和高信噪比条件下性能均优于CI-RBP译码算法。
3.2 复杂度分析
表2给出了不同算法所需的C2V、V2C、残差值计算与更新、比较和Dn计算模块。其中M×N为校验矩阵的大小,E为校验矩阵中元素1的个数,为变量节点边平均数,为校验节点边平均数, δ为Dj≤β的概率。
表2计算复杂度
Tab.2 Computational complexity

由表2可知,DD-RBP译码算法C2V、V2C和残差值计算与更新过程计算量与除SVNF-RBP和DSVNF-RBP外的其他算法基本保持一致,分别需要E次式(1)、次式(2)和次式(4)计算。DD-RBP译码算法在比较模块与其他算法有所不同,首先需要搜索N次寻找最大变量节点概率残差值,然后根据是否满足概率残差值对校验节点残差值进行比较。当满足校验残差值时进行δ(E-1)次比较,相反,当不满足校验残差值时进行(1-δ)次比较。DD-RBP译码算法还需要计算Dn,即变量节点的概率残差值,需要在初始化阶段进行N次计算和在后续更新中进行,次计算,计算公式为式(15)。此外,本文所提出的DD-RBP译码算法相对于CI-RBP译码算法还需要对校验方程的结果进一步处理,而在实际使用过程中,更新所需要的参数已预先通过仿真得到并存储在寄存器中,只需要根据校验方程的结果对相应的值进行更新,相对于其他模块计算量较小。综上认为,本文所提出的DD-RBP译码算法与CI-RBP译码算法复杂度基本一致,与其他算法复杂度相比较高。
4 结语
本文提出了一种新的基于残差值的动态调度译码算法,通过引入校验方程和概率残差值共同决策的方法,选取更为准确的残差值进而提升译码性能。首先根据计算概率残差值选择需要更新的变量节点,而后根据校验方程结果对相关的校验节点残差值进行更新,最后更新两节点共同连接的边和对应的残差值,不断重复上述过程直至达到最大更新次数,开始下一轮迭代过程。通过概率残差值可以使得数值较小但不稳定的变量节点获得更新的机会,减少静默变量节点的数量,根据校验方程校验结果选择合适的参数对校验节点残差值进行更新,可以更加准确地选择需要更新的校验节点并降低贪婪性。理论分析与仿真结果表明,本文所提出的DD-RBP算法复杂度略高于其他部分算法,性能有所提升。在复杂度基本一致的情况下性能优于CI-RBP。在IEEE802.16e和5G NR两种标准下,误帧率约为10-3时,收敛速度相较于其他算法快约5~15次迭代,且在最大迭代次数为30次时,最终的误帧率与误比特率性能在加性高斯白噪声与瑞利衰落信道下优于其他译码算法。