一种引入积分修正的二维信息大数逻辑LDPC译码算法*

2023-09-26 11:21黎相成黄绎珲莫莉歆李光荣杜立婵
电讯技术 2023年9期
关键词:译码比特信噪比

黎相成,黄绎珲,莫莉歆,李光荣,杜立婵

(1.广西大学 计算机与电子信息学院,南宁 530004;2.广西多媒体通信与网络技术重点实验室,南宁 530004;3.南宁职业技术学院 人工智能学院,南宁 530008)

0 引 言

低密度奇偶校验(Low-Density Parity-Check,LDPC)码是一种能逼近香农理论极限的好码[1],已入选5G信道编码方案,在数据存储以及深空卫星通信系统方面也获得了广泛的应用[2-6]。LDPC码也因其特殊的优势和性能获得了众多学者的青睐,得到了大量的研究,具体包括LDPC码的设计、构造、编译码算法、性能分析以及应用等方面,产生了众多优秀的研究成果[7-14]。

基于软判决的译码算法是其中性能最优异的译码算法,最著名的就是基于置信传播的软判决迭代译码算法,即置信传播(Belief Propagation,BP)或和积译码算法[8-9](Sum-Product Algorithm,SPA),而基于硬判决的比特翻转(Bit-flipping,BF)译码算法是目前最简单的算法之一。此后为提高译码性能,研究者在BF算法中引入可靠度,提出了一系列基于可靠度的改进算法,主要包括有加权比特翻转(Weight Bit-flipping,WBF)译码算法[10]、2比特加权比特翻转(Two-bit Weighted Bit-flipping,TB-WBF)译码算法[11]以及增强自适应比特定位门限的比特翻转(Adaptive Bit-local Threshold Bit-flipping,TABT-BF)算法[12]等。上述基于BF提出的一系列改进算法,由于其核心译码思想的局限,性能提升有限。为进一步提升译码性能,Huang等人[13]提出了一种基于可靠度的迭代大数逻辑译码(Reliability Based Iterative-Majority Logic Decoding,RBI-MLGD)算法。在此基础上,Chen等人[14]进一步提出改进的基于可靠度的迭代大数逻辑译码(Modified Reliability Based Iterative-Majority Logic Decoding,RBI-MLGD)算法,在译码函数中引入比例修正因子,提升了译码性能和收敛速度。陈海强等人[15]在变量节点结合量化方法和列重比例等信息,提出了一种基于列重比例的译码算法。此外,黎相成等人[16]提出了一种基于二元译码信息的迭代大数逻辑(Binary Message-Majority Logic Decoding,BM-MLGD)译码算法,采用LDPC码列重与量化比特相近或一致的非均匀量化方案,实现了译码性能的提升。由于受限于2的幂次方量化范围限制,对列重γ≠2b的情况,该算法的译码性能会出现不稳定的情况。在上述算法中,为了提高译码性能及稳定性,研究者们通常采用信息修正技术对译码迭代的过程信息进行处理。其修正系数通常采用仿真方法来获取,是次优的,且大多采用固定的比例修正系数,可能存在信息修正的盲区。比如在对MRBI-MLGD译码算法的误帧率(Frame Error Rate,FER)性能曲线进行考察时,会发现较早出现错误平层现象。

应用广泛的比例积分微分(Proportion Integration Differentiation,PID)控制算法是一种经典的闭环控制算法,该算法中采用了比例、积分和微分控制项。研究分析发现,基于可靠度的迭代LDPC译码算法与控制算法的核心迭代机理有着非常相似之处,比如在上述MRBI-MLGD算法的译码函数中就采用了类似的比例修正项。为获得控制系统的稳定,PID控制算法中一般需要采用比例积分(PI)、比例微分(PD)或PID等控制架构,即根据系统特点需要采用2~3个控制项。受此启发,本文通过对MRBI-MLGD算法的FER译码性能较早出现错误平层原因进行深入分析后,提出了一种引入积分修正的二维信息大数逻辑LDPC译码算法。即同时采用比例和积分修正项,实现PI控制架构的二维译码信息修正策略,希望能解决MRBI-MLGD算法中信息修正盲区及无效迭代,消除或延缓FER性能曲线中出现错误平层的问题。此外,相比BM-MLGD算法的应用受限于γ=2b的情况,本文提出的算法能适用于各种列重的大数逻辑可译LDPC码。

1 基于可靠度的迭代大数逻辑译码算法

1.1 基本定义及符号说明

本文主要考虑基于有限域和有限几何构造的规则LDPC码(γ,ρ),其中,γ为恒定的列重,ρ为恒定的行重。令c为稀疏矩阵H=[hi,j]m×n(hi,j∈F2)定义的LDPC码字序列,为方便算法描述,定义以下两个下标集合:一个为矩阵H中第i行中非零列的下标集合Ni={j:0≤j≤n-1,hij≠0};另一个为矩阵H中第j列非零行的下标集合Mj={i:0≤i≤m-1,hij≠0}。

(1)

式中:Δ为量化步长;b为量化位数。对量化序列q进行硬判决,即可获得硬判决码字序列z=(z0,z1,…zn-1)。这里,如果qj≥0,则zj=0;否则zj=1。同时,可以看出,|qj|的值越大,相应地,其硬判决为0或1的可靠性就越高。

1.2 RBI-MLGD译码算法

(2)

(3)

(4)

最后,变量节点Vj的译码信息迭代更新策略如式(5)所示:

(5)

1.3 MRBI-MLGD译码算法

在校验节点Ci的信息处理与原始RBI-MLGD算法一致,只是在变量节点Vj的译码信息更新策略修改为

(6)

1.4 BM-MLGD译码算法

(7)

式中:sgn表示取符号操作。同时,该算法采用与列重γ相关的非均匀量化方法,相比RBI-MLGD算法和MRBI-MLGD算法,在复杂度较低的情况下仍能保持一定的译码性能。

2 基于积分修正的LDPC译码算法

2.1 从闭环控制角度分析LDPC译码算法

PID闭环控制算法的本质就是采用被控系统的实际输出值与期望值的偏差,按照比例、积分和微分的函数关系进行计算,并采用该计算结果来修正系统的输入信号,实现系统稳定的输出。PID控制算法的离散表达方法如式(8)所示:

(8)

式中:E(k)为输出值与目标值之间的差。PID控制算法的一个重要工作就是对式(8)中的KP、KI和KD三个参数进行整定,找到合适的参数,从而实现系统正确、可靠及稳定的输出。

对采用循环迭代机制的LDPC译码算法而言,其译码迭代过程实质上可理解为一种闭环反馈机制。例如,在进行迭代译码时,首先,变量节点从信道获取初始的信道信息(初值);然后,从与之相邻的校验节点获取的反馈信息中(包括外信息、可靠度和校验和等)提取误差信息E(k),进行译码信息的处理和更新;最后,变量节点将更新后的信息回馈至与之相邻的检验节点进行校验运算,当满足所有校验方程或达到最大迭代次数时,结束译码迭代过程并输出相关信息,否则,如不满足上述条件,则变量节点继续收集校验节点的反馈信息,进入下一次迭代处理。从以上述描述可以看出,LDPC译码迭代过程与闭环控制系统是非常相似的,采用了系统输出信息(硬判决与校验和等相关信息)来调整系统的输入(变量节点信息),最终实现系统的稳定(满足所有校验方程)。其译码迭代闭环结构如图1所示。

图1 迭代译码闭环结构示意图

2.2 基于积分修正的二维信息LDPC译码方案设计

2.2.1 MRBI-MLGD算法FER性能曲线错误平层较高原因分析

从图2可以看出,修正系数α的取值越小,其错误平层较高;反之,随着α的增大,错误平层明显降低。

图2 不同α取值对F2(961,721) LDPC码译码性能影响

2.2.2 基于积分修正的二维信息LDPC译码方案具体实现

从上述闭环控制角度来分析MRBI-MLGD算法,可以发现该算法只采用了P调节,即只引入了比例修正策略。由于其修正方法单一,可能会造成迭代过程的译码信息不能进行有效的保留和传递,因此迭代译码系统存在稳态误差,出现无效迭代或信息修正的盲区。受闭环控制PID算法的启发,可以在MRBI-MLGD算法中引入积分修正策略,即采用PI调节结构,以期实现译码性能的提升和降低错误平层。接下来将对具体的实现方法进行描述。

2.2.2.1 基于调制映射的变量节点信息处理方法

(9)

2.2.2.2 采用积分修正项的迭代更新规则

(10)

相应地,变量节点译码信息更新策略修改为式(11):

(11)

从式(11)可以看出,本文提出的算法不仅考虑了信道的初始信息,同时,在上述译码函数中引入PID的相关控制思想,综合考虑了译码迭代系统的变化趋势,同时采用P调节和I调节策略,实现了二维译码信息修正技术。因此,采用上述译码信息更新策略对译码性能的提升以及系统鲁棒性提高应该是有益的。

本文提出的基于积分修正的二维信息LDPC译码算法具体实现方案描述如下:

Step1 输入:设置最大迭代次数Imax,接收信号向量y,修正系数KP和KI,量化参数b和Δ。

Step3 迭代过程,对k

step3.1 按式(1)计算硬判决序列z(k);

step3.2 按式(2)计算校验和s(k),如果s(k)=0,则执行Step 4;

step3.7 迭代次数k=k+1。

Step4 输出:硬判决序列z(k)。

3 译码复杂度和性能仿真分析

3.1 译码复杂度

表1 单次译码迭代计算复杂度比较表

3.2 译码性能

根据以上的算法描述,本文将继续通过计算机仿真的方法,对提出的译码算法进行仿真实验,考察其译码性能。

实验1:采用F2(4 095,3 367)规则循环LDPC码[10]进行仿真实验。该LDPC码基于有限几何特征构造,其码率为0.82,行重ρ为64,列重γ也为64。本实验所涉及仿真参数设置如下:对均匀量化,其量化比特均设置b=8 b,量化间隔Δ=0.015 6;对MRBI-MLGD译码算法,设置比例修正系数α=1.5;对BM-MLGD译码算法,为与列重γ相匹配,采用6 b非均匀量化策略,其量化参数按文献[16]的方法设置yth=2,r=0.92;对本文提出算法,设置比例修正系数KP=1.5和积分修正系数KI=0.05。所有算法中,最大仿真迭代次数均设置为Imax=30。图3给出了各种算译码法对该码的FER性能仿真曲线。

图3 对F2(4 095,3 367) LDPC码的译码FER性能比较

从图3的FER性能曲线可以看出,本文算法在中低信噪比区间与MRBI-MLGD算法和BM-MLGD算法译码性能相近或有稍好,同时优于RBI-MLGD译码算法近0.2 dB的译码性能,而与SPA译码算法相比具有约0.4 dB的性能差距;在高噪比区域,本文算法译码性能表现稳定,其FER曲线没有出现错误平层,MRBI-MLGD算法在信噪比为4.5 dB之后明显出现了错误平层;由于BM-MLGD算法采用了6 b非均匀量化策略,具有与列重γ=64一致的量化范围,在整个工作信噪比区间其译码性能表现稳定。

实验2:采用F2(1 023,781)规则循环LDPC码[10]进行仿真实验。该LDPC码基于欧氏几何方法构造,其码率为0.76,行重ρ为32,列重γ也为32。仿真参数设置如下:对均匀量化,量化比特b=8 b,量化间隔Δ=0.015 6;在MRBI-MLGD译码算法中,设置比例修正系数α=3.1;对RBI-MLGD译码算法,为与列重γ相匹配,采用5 b非均匀量化策略,其量化参数按文献[16]设置为yth=2,r=0.93;对本文提出的算法,设置比例修正系数KP=3.1和积分修正系数KI=0.1。所有算法中,最大仿真迭代次数均设置为Imax=30。对该码的各种译码算法FER性能仿真曲线如图4所示。

图4 对F2(1 023,781) LDPC码的译码FER性能比较

从图4的FER译码性能曲线可以看出,在中低信噪比区域,本文算法与MRBI-MLGD、BM-MLGD算法拥有几乎相同的译码性能,相较于RBI-MLGD算法均具有约0.3 dB的性能增益,而与性能最优的SPA算法相比,存在约0.6 dB的译码性能差距;在中高信噪比区域,本文算法的FER译码性能表现稳定,在较高的信噪比区间没有出现错误平层,MRBI-MLGD算法在信噪比为4.1 dB之后出现了较为明显的错误平层;BM-MLGD算法由于采用了5 b非均匀量化策略,具有与列重γ=32一致的量化范围,在高信噪比区域其译码性能仍然表现稳定。

实验3:采用F2(961,721)规则循环LDPC码[17]进行仿真实验。该码采用有限域特征进行构造,其码率为0.75,列重和行重均为30。本实验所涉及仿真参数设置如下:对均匀量化,量化比特b=8 b,量化间隔Δ=0.015 6;在MRBI-MLGD译码算法中,设置比例修正系数α=3.5;对BM-MLGD译码算法,为与列重γ=30的数值比较接近,采用5 b非均匀量化策略,即25=32,其量化参数按文献[16]的方法设置yth=2,r=0.93;对本文提出的算法,设置比例修正系数KP=3.5和积分修正系数KI=0.1。所有算法中,最大仿真迭代次数均设置为Imax=30。图5给出了各种算译码法对该码的FER性能仿真曲线。

图5 对F2(961,721) LDPC码的译码FER性能比较

从图5的FER译码性能曲线可以看出,在中低信噪比区域,本文算法译码性能均稍优于MRBI-MLGD和BM-MLGD译码算法,同时在FER=10-4时相较于RBI-MLGD算法,本文算法具有约0.4 dB的性能增益,而与性能最优的SPA算法相比存在约0.6 dB的译码性能差距;在中高信噪比区域,本文算法的FER译码性能表现稳定,在较高的信噪比区间没有出现错误平层,而MRBI-MLGD算法在信噪比为4.2 dB之后出现了较为明显的错误平层;BM-MLGD算法采用了5 b非均匀量化策略,而该码的列重γ=30,量化范围与列重不一致,存在译码信息修正的盲区,在信噪比为4.3 dB之后,从FER曲线发现,开始出现较明显的错误平层。

从上述3个仿真实验可以看出,MRBI-MLGD算法由于其译码函数没有保留此前的译码信息,存在信息修正的盲区,其FER性能曲线均较早出现了明显的错误平层;而BM-MLGD算法巧妙地利用信息修正与列重大小的关系,通过引入低比特的非均匀量化策略,使量化比特与列重一致,有效消除了信息修正盲区,取得了优异的译码性能。但是由于其列重与量化比特需要满足γ=2b,其应用范围受到一定限制。例如,在实验3对列重γ=30的LDCP码进行译码时,该算法也出现了较明显的错误平层。本文提出的算法由于引入了积分修正方法,实现了比例修正和积分修正二维信息修正策略,即采用了PID控制算法中的PI调节架构,在整个信噪比区间明显提升了译码系统的适应性和鲁棒性,译码性能表现稳定。

4 结 论

本文主要对MRBI-MLGD算法的FER译码性能错误平层较高的原因进行了深入分析,在此基础上提出了一种基于积分修正的二维信息大数逻辑LDPC译码算法。该算法结合PID控制思想,通过设计合理的译码信息获取方法,在原有的比例修正基础上增加积分修正项,即采用了PI控制架构,实现了二维信息修正策略,解决了MRBI-MLGD算法中信息修正的盲区,明显降低了FER性能的错误平层,获得了译码性能的提升。然而,由于该算法在译码迭代过程中引入了积分修正项,增加了一定的译码复杂度。此外,相比BM-MLGD算法的应用受限于γ=2b的情况,本文提出的算法适用于各种列重的大数逻辑可译LDPC码。仿真结果表明,本文提出的基于积分修正的译码算法在整个工作信噪比区间保持了译码性能的稳定,表现出较强的鲁棒性,具有较广的适用范围。

猜你喜欢
译码比特信噪比
基于校正搜索宽度的极化码译码算法研究
基于深度学习的无人机数据链信噪比估计算法
低信噪比下LFMCW信号调频参数估计
低信噪比下基于Hough变换的前视阵列SAR稀疏三维成像
比特币还能投资吗
比特币分裂
比特币一年涨135%重回5530元
从霍尔的编码译码理论看弹幕的译码
LDPC 码改进高速译码算法
保持信噪比的相位分解反褶积方法研究