Two Low-complexity Symbol Flipping Decoding Algorithms for Non-binary LDPC Codes
-
摘要: 该文提出两种低复杂度的基于符号翻转的多元低密度奇偶校验码(LDPC)译码算法:改进型多元加权译码算法(Iwtd-AlgB)和基于截断型预测机制的符号翻转(TD-SFDP)算法。Iwtd-AlgB算法利用外信息频率和距离系数的简单求和取代了迭代过程中的乘性运算操作;TD-SFDP算法结合外信息频率和翻转函数特性,对译码节点和有限域符号进行截断与划分,使得只有满足条件的节点和符号参与运算与翻转预测。仿真和数值结果显示,该文提出的两种算法在性能损失可控的前提下,可减少每次迭代的运算操作数,实现性能和复杂度之间的折中。Abstract: Two low-complexity symbol flipping decoding algorithms, the Improved weighted-Algorithm B algorithm (Iwtd-AlgB) and the Truncation-based Distance-Symbol-Flipping-Decoding with Prediction (TD-SFDP) algorithm, are presented for non-binary Low Density Parity Check (LDPC) codes. For the Iwtd-AlgB algorithm, the scaling factor of the flipping metric can be replaced by the simple sums of the extrinsic information and the distance-based parameter, which can avoid the multiplication operations in the iterations and thus can reduce the decoding complexity. For the presented TD-SFDP algorithm, the variable nodes and the finite field symbols are truncated and classified based on the extrinsic information frequency and the flipping function. Only those nodes/symbols that satisfy the designed conditions can be involved in the message updating process. Simulations and numeric results show that, the presented two decoding algorithms can reduce the computational complexity at each iteration with a controllable performance degradation, thus can make efficient trade-offs between performance and complexity.
-
1. 引言
与2元低密度奇偶校验码(Low Density Parity Check code, LDPC)相比较,构建在
q 阶有限域上的多元LDPC码[1]具有更加优秀的译码性能,特别在码长较短、码率较大时,其优势更加明显。然而,多元LDPC码的性能增益往往是以高译码复杂度作为代价换取的。降低多元LDPC译码复杂度的主要思路是降低Tanner图上参与运算的节点数量以及每个节点的运算操作。经典的降低复杂度的多元LDPC译码算法包括基于概率域的和积(Q-ary Sum Product Algorithm, QSPA)算法[2,3]以及基于扩展最小和(Extended Min-Sum, EMS)的译码算法[4]及其改进版本[5-8]。此外,基于大数逻辑(Majority-LoGic Decoding, MLGD)的简化译码算法[9-12],也能达到降低译码复杂度的目的。基于符号翻转的译码算法(Symbol Flipping Decoding, SFD)是另一类重要的简化译码算法,能在性能和复杂度之间进行有效的折中。最初的SFD算法是文献[13]提出的广义Gallager算法B(Gallager’s Algorithm B, AlgB)及其改进版算法(weighted-Algorithm B, wtd-AlgB)。AlgB算法具有很低的译码复杂度,但性能较差;wtd-AlgB算法结合了汉明距离和多数逻辑(plurality-logic)准则,获得一定的性能增益。其他传统的SFD算法还包括文献[14]的并行符号翻转算法(Parallel Symbol Flipping Decoding algorithm, PSFD)以及基于投票机制的符号翻转算法[15,16]等。2017年,Wang等人[17]提出了基于距离和预测机制的符号翻转(Distance-Symbol Flipping Decoding with Prediction, D-SFDP)算法,与传统的SFD算法不一样,D-SFDP算法不仅考虑了符号翻转之前的信息,还把翻转后引起的目标函数变化考虑进来,以此预测和翻转迭代过程中的硬判决符号。与非预测的符号翻转算法相比,D-SFDP算法能获得明显的性能提升。2018年,Mu等人[18]提出了一种基于迭代停止准则的加权符号翻转译码算法,提高了译码算法的收敛速度。2019年,Dai等人[19]对D-SFDP算法进行了改进,修正了算法的本地循环震荡问题,Oh等人[20]提出了一种基于判决符号可靠性的符号翻转译码算法。
虽然D-SFDP算法具有优秀的译码性能,但仍是以牺牲一定的复杂度换来的。特别地,由于D-SFDP算法每次只能翻转1个符号,这导致其平均迭代次数远远高于其他同类算法。因此,降低该算法每次迭代的复杂度很有必要。本文首先提出一种基于加性参数的改进型wtd-AlgB算法,通过调整距离参数避免了乘性操作,从而降低复杂度;其次,本文提出一种基于截断型的预测机制符号翻转译码算法(Truncation-based Distance-Symbol-Flipping-Decoding with Prediction, TD-SFDP),结合翻转函数和变量节点参数特征对节点进行截断与划分,使得只有满足条件的节点参与迭代运算。此外,基于外信息频率对预测符号进行截断,只选取最可能的有限域符号进行翻转和预测。仿真和数值结果显示,TD-SFDP算法能够在性能损失可控前提下,减少每次迭代的运算操作数,从而降低算法译码复杂度。
2. 系统模型和符号定义
令
H=[hi,j]m×n 是多元LDPC码m 行n 列的校验矩阵,矩阵行重为ρ ,列重为γ 。令c_= (c0,c1,···,cn−1)∈Fnq 表示发送端需要传送的LDPC码字,其中,q=2r 。码字c_ 中的每一个符号cj 所对应的二进制向量为cj=(cj,0,cj,1,···,cj,r−1) ,其中,cj,t∈F2 ,0≤j≤n−1 ,0≤t≤r−1 。符号cj 中的每一个比特cj,t 经调制变换后得到一个实数序列xj=(xj,0,xj,1,···,xj,r−1) ,其中xj,t=ϕ(cj,t) ,ϕ(⋅) 是系统的星座映射规则,可以是简单的BPSK调制,例如ϕ(cj,t)=1−2cj,t 。调制后的序列经加性高斯白噪声信道(AWGN)传输,接收端的信号可表示为yj=(yj,0,yj,1,···,yj,r−1) ,其中,yj,t=xj,t+nj,t ,nj,t 是服从均值为0,方差为σ2 的高斯分布,即nj,t∼N(0,σ2) 。令初始信道硬判决序列为z_(0)=(z(0)0,z(0)1,···,z(0)n−1) ,其中,当y(0)j,t≥0 时z(0)j,t=0 ;当y(0)j,t<0 时z(0)j,t=1 ,0≤j≤n−1 ,0≤t≤r−1 。3. 低复杂度符号翻转多元LDPC译码
3.1 基于加性参数的改进型wtd-AlgB算法
文献[13]提出了一种基于符号翻转的加权多元LDPC译码算法(wtd-AlgB):把汉明距离和多数逻辑准则进行结合,统一形成硬判决符号的可靠度量。但该算法性能受门限值和加权系数的影响较大,并且每次判决都需大量的实数域乘法操作。为降低算法复杂度和硬件实现能耗,在此对原算法进行修正和改进,描述如下:
(1) 校验节点处理:假设算法第
k 次迭代的硬判决信息为z_(k)=(z(k)0,z(k)1,···,z(k)n−1) ,定义校验和向量为s_(k)=(s(k)0,s(k)1,···,s(k)m−1) (1) 其中,
s(k)i 表示第i 个校验节点的伴随式信息s(k)i=∑j∈Nihi,jz(k)j (2) 其中,集合
Ni={j|0≤j≤n−1,hi,j≠0} 为第i 行非0列的序号。定义第i 个校验节点传递给第j 个变量节点的外信息为σ(k)i,j=h−1i,j∑j‘∈Ni∖jhi,j′z(k)j′ (3) 其中,
0≤i≤m−1 ,0≤j≤n−1 。外信息σ(k)i,j 可认为是译码校验过程中,相邻节点联合起来对符号z(k)j 的一个判决。令n(σ(k)i,j) 表示外信息取值为有限域符号σ(k)i,j 的次数,即出现频率。该频率越大,表示z(k)j 判决为σ(k)i,j 的可能性越高(多数逻辑准则)。(2) 变量节点处理:对于第
j 个变量节点,在第k 次迭代中,用d(z(k)j,σ(k)i,j) 表示硬判决符号z(k)j 与外信息σ(k)i,j 之间的汉明距离,用θ d(z(k)j,σ(k)i,j) 表示一个r+1 维的实数参数向量,由d(z(k)j,σ(k)i,j) 确定对应的参数下标。显然,d(z(k)j,σ(k)i,j) 越小,表示当前外信息σ(k)i,j 距离z(k)j 越近,则其可靠度越大,对应的θd(z(k)j,σ(k)i,j) 应取得较大值。因此,距离参数的选取需遵循这样的原则:(θ0,θ1,···,θr) 是一个非递增的实数序列,且θ0 取得最大值。本文依据该原则,以译码性能为优化目标,利用计算机搜索得到具体的距离参数。同时,由于译码性能主要取决于最前面的3个距离参数(θ0,θ1,θ2) ,当r≥3 时系数相差不大,甚至可设成一致[21]。这样可加快搜索速度。在原wtd-AlgB算法中,判决符号的可靠度用距离参数和外信息出现频率的乘积来衡量。这样,在每次判决时,最多需要计算
nγ 次浮点实数的乘法和nγr 次异或(XOR)操作,当码长n 较大时,每次迭代会产生大量乘法操作,从而增加了译码复杂度。实际上,由于迭代过程中的距离参数是固定的,并且独立于外信息出现频率,因此它们的乘积(即判决符号可靠度量)完全可以通过简单的加性操作来完成。相应地,只需将距离参数按比例增大即可。令I′(σ(k)i,j) 表示θd(z(k)j,σ(k)i,j) 与外信息出现次数n(σ(k)i,j) 之和,即I′(σ(k)i,j)=θd(z(k)j,σ(k)i,j)+n(σ(k)i,j) (4) 于是,改进算法的变量节点更新规则为
zj(k+1)={argmaxI′(σ(k)i,j)σ(k)i,j,i∈Mj,maxI′i∈Mj(σ(k)i,j)≥Tz(k)j,maxI′i∈Mj(σ(k)i,j)<T (5) 其中,集合
Mj={i|0≤i≤m−1,hi,j≠0} 为第j 列非0行的序号,T 为设定的门限值。对于阈值参数T ,在此分析以下两个极端的情况:(1) 令T =0,则maxI′i∈Mj(σ(k)i,j)<T 总不会成立,而maxI′i∈Mj(σ(k)i,j)≥T 总是满足,这时每个码字符号都需要翻转。这种情况是最“冒进”的;(2) 令T=∞ ,则maxI′i∈Mj(σ(k)i,j)≥T 总不会成立,而maxI′i∈Mj(σ(k)i,j)<T 总是满足,这时每个码字符号都不需要翻转。这种情况是最“保守”的。显然,这两种情况都不可取,会造成很大的译码性能损失。因此,参数
T 需要精心选择。在实际仿真中以性能为目标,通过计算机搜索进行选取。实际上,由I′(σ(k)i,j) 的定义可知,其最大值为θ0+γ ,最小值为θr 。因此,参数T 可在[θr,θ0+γ] 范围内选取,这样可减小计算机搜索范围,快速得到逼近最优的参数T 。基于上述信息处理的算法简称为Iwtd-AlgB,描述如表1所示。
表 1 Iwtd-AlgB算法初始化:令迭代次数k=0,最大迭代次数为Imax,设置门限值
T和汉明距离系θd(z(k)j,σ(k)i,j);译码迭代:当k<Imax时,执行以下步骤 步骤 1:计算硬判决序列z_(k)=(z(k)0,z(k)1,···,z(k)n−1); 步骤 2:计算伴随式s_(k),如果s_(k)=z_(k)HT=0_,所有校
验方程满足,退出迭代;步骤 3:对0≤j≤n−1和i∈Mj,统计n(σ(k)i,j),计算
d(z(k)j,σ(k)i,j),根据汉明距离选择确定系数θd(z(k)j,σ(k)i,j),根
据式(5)更新得到z(k+1);步骤 4:执行k←k+1; 输出:迭代译码结束,最终译码输出为
z_(k)=(z(k)0,z(k)1,···,z(k)n−1)。本文后续的仿真实验显示,当把距离参数调整到合适范围,改进的Iwtd-AlgB算法在译码性能上与原算法相当,但改进算法避免了浮点乘法运算,降低了每次迭代的计算能耗。
3.2 基于截断型的预测机制符号翻转译码算法(TD-SFDP)
文献[17]提出一种结合了汉明距离参数和预测机制的多元LDPC符号翻转译码算法(D-SFDP)。与传统的广义Gallager算法B(AlgB)及其基于距离的改进版(wtd-AlgB)不一样,D-SFDP译码算法有两个显著特征。首先,D-SFDP算法不仅考虑了符号翻转之前的距离度量,还把符号翻转后引起的目标函数的变化考虑进来,使得译码器能够根据这种变化估计和预测最可能翻转的符号。其次,D-SFDP算法不使用简单的伴随式而是基于外信息
σ(k)i,j 来计算距离参数。这样,每个校验节点到变量节点的可靠度量信息即可区分开来。同时,由于汉明距离源于有限域符号的二进制表示,D-SFDP算法实际上也结合了有限域的结构特征。仿真显示,D-SFDP算法能够获得比传统符号翻转算法更加优秀的译码性能。D-SFDP算法在译码性能上比传统的AlgB等算法有较大提升,但它仍然是以牺牲一定的复杂度换来的。由于D-SFDP算法每次只能翻转1个符号,在相同的误比特率下,其平均迭代次数远远高于其他同类的算法。例如,文献[17]的表3显示,在
BER=10−3 时,wtd-AlgB算法的平均迭代次数仅为5.8,但D-SFDP算法的平均迭代次数却达到了67.2,差距非常明显。此外,在每次迭代时,D-SFDP算法都需要计算受翻转符号影响的所有变量节点的翻转度量;同时,对每个节点,还需要进一步计算最多q−1 个可能的翻转符号。在码长较长、有限域较大时,这必然极大地增加算法平均每次迭代的计算复杂度。表 3 译码算法每次迭代的计算复杂度比较算法 每次迭代的运算操作数量 IM//RM GA GM IA//RA IC//RC wBRB δ 2δ−m 2δ 2δr δ(2r+1)−3m wtd-AlgB δ 3δ−m 2δ δ δ Iwtd-AlgB 0 3δ−m 2δ 2δ δ P-SFDP 0 2γ(ρ−1) γ(2ρ−1) (γρ−γ+1)×(γr+3γ+5r+1) (γ+r−1)×(γρ−γ+1)+2(n−1) D-SFDP 0 (γρ−γ+1)×γ(γ+r)+2γ(ρ−1) γ(2ρ−1) (γρ−γ+1)×(γ2+2γr+4r+2γ) (γ+r−1)×(γρ−γ+1)+2(n−1) TD-SFDP 0 nT1γnT2+2γ(ρ−1) γ(2ρ−1) nT1nT2(r+γ+1)+nT1(r+γ)+nγ nT1(nT2+γ−2)+2(nT1−1) 备注:IM: 整数乘法;RM: 实数乘法;GA:有限域加法;GM:有限域乘法;IA:整数加法;RA:实数加法;IC:整数比较;RC:实数比较。 针对D-SFDP算法的上述特点,本文提出一种基于截断型的预测机制符号翻转译码算法(TD-SFDP),通过以下思路和技术方法降低每次迭代的计算复杂度:(1)结合翻转函数和变量节点特征进行节点的截断与划分,只有满足条件的节点参与迭代运算;(2)基于外信息出现的频率对翻转后的
q−1 种有限域符号进行截断,只选取最可能的有限域符号进行翻转度量预测。下面对TD-SFDP译码算法进行描述。首先,结合第
k 次迭代的硬判决符号z(k)j 和来自信道的接收信号yj ,计算它们之间的相关可靠度量ρ(z(k)j,t,yj,t)=r−1∑t=0ϕ(z(k)j,t)yj,t (6) 其中,
0≤j≤n−1 。该度量反映了硬判决符号与初始信道信息的相关度。一般而言,其值越大,表示翻转为该硬判决符号的可能性越大。其次,译码相邻节点之间的信息处理和符号翻转过程如下:
(1) 校验节点处理:校验节点的处理操作保持不变,即对
0≤i≤m−1 和0≤j≤n−1 ,利用式(3)计算每条边上的外信息符号σ(k)i,j 。同时,使用n(σ(k)i,j) 表示外信息取值为有限域符号σ(k)i,j 的次数,即外信息出现频率。(2) 变量节点处理:受AlgB和wtd-AlgB算法启发,在第
k 次迭代时,对于那些参数特征变化不明显的变量节点,其符号保持不变,即不需要执行翻转操作。这些参数特征可以是外信息出现的频率或者频率和距离的乘性/加性参数。基于此,本文对变量节点进行如下的截断和划分,定义节点下标集合J(k) J(k)={j|maxi∈Mjn(σ(k)i,j)≥T1} (7) 其中
0≤j≤n−1 ,T1 是一个预先设置的门限值。对于该划分的一个直观理解是,外信息σ(k)i,j 指示了当前硬判决符号的取值,起到一个类似“裁判”的作用。对于某个变量节点j ,只有达到一定数量(T1 )的裁判声明当前判决为某个符号时,该变量节点才进入集合J(k) ,继续进入后续翻转预测处理;反之,如果当前节点的“裁判”意见不统一,没有明显的取值倾向,则该节点的硬判决符号不考虑翻转,可进行“截断”处理。显然,参数T1 的选取与具体LDPC码的列重有关,其取值最小为0,最大为列重γ 。因此,参数T1 在此范围内选取,即T1∈[0,γ] 。本文的仿真实验显示,这种处理方法可方便地在性能和复杂度之间进行折中。对于进入集合
J(k) 的变量节点,还可以进一步通过以下策略降低复杂度。对于第j 个变量节点,定义z∗(k)j 为有限域上除了z(k)j 以外的其他符号,共有q−1 种可能的取值。原D-SFDP算法为了估计符号翻转后的目标函数变化值,对两个集合γ+r 个可能的z∗(k)j 都进行了计算。实际上,也可以根据外信息出现的频率,只选取那些被“裁判”声明过(取值与σ(k)i,j 相同),并且出现次数超过某个门限的符号进行符号翻转预测。基于此,定义集合S(k)j 为S(k)j={z∗(k)j|n(z∗(k)j)≥T2,z∗(k)j≠z(k)j} (8) 其中,
0≤j≤n−1 ,T2 是一个预先设置的门限值,其取值范围与参数T1 类似,即T2∈[0,γ] 。本文利用计算机搜索,以性能为优化目标,确定参数T1,T2 的具体取值。由于n(σ(k)i,j) ,n(z∗(k)j) 表示有限域符号的出现频率,由此推知,T1,T2 的取值应为[0,γ] 范围内的某个整数,这可进一步加快搜索速度。此外,需要指出的是,文献[17]也采用了一些措施来降低复杂度,例如计算z∗(k)j 时,只考虑与z(k)j 距离为1且n(z∗(k)j)≠0 的有限域符号,因为这些符号发生的概率相对更大。本文提出的TD-SFDP算法将基于上述定义的两个截断集合进行后续的符号翻转处理,先计算目标函数的变化量
ΔE(k)j(z∗(k)j,z(k)j) ,计算公式为ΔE(k)j(z∗(k)j,z(k)j)=ρ(z∗(k)j,t,yj,t)+∑i∈Mjθˉd(z∗(k)j,σ(k)i,j)−ρ(z(k)j,t,yj,t)−∑i∈Mjθˉd(z(k)j,σ(k)i,j) (9) 其中,
z∗(k)j∈S(k)j ,j∈J(k) 。与原D-SFDP算法类似,距离参数θd(z∗(k)j,σ(k)i,j) 的选取也需遵循“非递增性”原则,以性能为优化目标,通过计算机搜索得到。对于第
j 个变量节点,经|S(k)j| 个符号预测后,从中选出一个最大值作为该节点的翻转度量变化值,即ΔE(k)max_j=maxz∗(k)j∈S(k)jΔE(k)j(z∗(k)j,z(k)j) (10) 该数值表征了第
k 次迭代中,第j 个变量节点的硬判决符号“被翻转”的趋势:ΔE(k)max_j 的值越大,表示该节点的符号越趋向于执行翻转操作。本文算法每次迭代同样只翻转1 个符号,因此需要在|J(k)| 个变量节点中,寻找一个最大值ΔE(k)max_p(k) 及其对应的变量节点序号p(k) ,计算如式(11)和式(12)ΔE(k)max_p(k)=maxj∈J(k)ΔE(k)max_j (11) p(k)=argmaxj∈J(k)ΔE(k)max_j (12) 找到需要执行翻转操作的变量节点序号
p(k) 以后,即可根据式(13)对该节点的符号执行翻转操作。假设翻转后的符号为v(k)p(k) ,则v(k)p(k)=argmaxz∗(k)j∈S(k)jE(k)max_p(k) (13) 利用该翻转后的符号重新计算伴随式
s_(k) ,若s_(k)=z_(k)HT=0_ ,则输出译码结果;反之进入下一轮迭代。基于上述截断信息处理的符号翻转译码算法简称为TD-SFDP算法,描述如表2。
表 2 TD-SFDP算法初始化:令迭代次数k=0,最大迭代次数为Imax,设置门限值
T1和T2以及汉明距离系数θd(z(k)j,σ(k)i,j);译码迭代:当k<Imax时,执行以下步骤 步骤 1:计算硬判决序列z_(k)=(z(k)0,z(k)1,···,z(k)n−1); 步骤 2:计算伴随式s_(k),如果s_(k)=z_(k)HT=0_,所有校
验方程满足,退出迭代;步骤 3:计算外信息频率n(σ(k)i,j),确定截断集合J(k)和S(k)j,
计算ΔE(k)j(z∗(k)j,z(k)j), ΔE(k)max_j, ΔE(k)max_p(k), p(k)以及
v(k)p(k);步骤 4:执行k←k+1; 输出:迭代译码结束,最终译码输出为
z_(k)=(z(k)0,z(k)1,···,z(k)n−1)。需要指出的是,上述算法设计方案也可应用于基于多数逻辑(Plurality)的符号翻转算法[16](P-SFDP)上,并通过调整门限值
T1,T2 进行性能和复杂度之间的折中。此外,算法在迭代过程中,有可能会出现震荡现象,即目标函数最大值的序号在连续迭代中保持不变,使得算法陷入“死循环”,导致使译码性能受损,收敛速度降低。因此,需要对算法进行一些特别的处理,更多的细节可参考文献[17]和文献[19]。4. 复杂度分析
对Iwtd-AlgB算法,在第
k 次译码迭代中,该算法1 次迭代的计算复杂度为:3δ−m 次有限域加法(Galois field Addition, GA),2δ 次有限域乘法(Galois field Multiplication,GM),2δ 次实数加法(Real Addition, RA)以及δ 次实数比较(Real Comparison, RC)。为了便于比较,本文也将其他几种经典译码算法的复杂度一起进行分析,见表3。由表3数据可见,与原算法相比,Iwtd-AlgB算法的主要差别在于计算度量I′(σ(k)i,j) 时,将δ 次实数乘法换成了实数加法操作,在具体硬件实现时,可获得更低的能耗。对TD-SFDP算法,在第
k 次迭代时,对于0≤j≤n−1 ,假设外信息最大出现次数大于门限值T1 的变量节点个数为nT1=|J(k)| ,每个测试符号与外信息取得相同值的计数n(z∗(k)j) 大于门限值T2 的预测值个数为nT2=|S(k)j| 。由于算法每次只翻转1个符号,则容易推知,该符号翻转后,将会对γ 个伴随式信息和γ(ρ−1) 个外信息造成影响,这些信息需要更新。另外,由于校验矩阵无环4的设计,需要更新的外信息都分布在不同的变量节点上。由此可知,需要更新的变量节点数量为γ(ρ−1) 个;结合翻转位,则共有γρ−γ+1 个变量节点需要更新。本文提出的TD-SFDP算法将根据截断集合J(k) ,进一步只选择那些满足条件的nT1 个变量节进行更新计算;同时,每个变量节点需要预测的翻转符号个数也由原算法的γ+r 个,减少到nT2 个。仿真数值显示,在第k 次迭代时,一般都有nT1<γρ−γ+1 以及nT2<γ+r 。因此,算法每次迭代的复杂度得到了降低。复杂度分析的具体步骤可根据本文算法的描述并参考文献[17]得到,如表3所示。为了对不同译码算法的计算复杂度给出一个直观数据,本文统计了译码算法在
F16(255,175) LDPC码下不同运算操作的统计数值,如表4所示。由表4的具体数据可以看出,本文提出的TD-SFDP算法,其有限域加法运算次数约为原算法的35% ;整数/实数加法运算次数约为原算法的40% 。可见,所提出算法的每次迭代的计算复杂度得到了有效的降低。此外,需要注意的是,截断集合的阶数nT1 和nT2 是动态的,会随着不同的迭代次数而略有变化。本文在仿真时,取其平均值进行计算。在本例中,nT1=165 ,nT2=10 。表 4F16(255,175) 多元LDPC码的每次迭代译码算法复杂度算法 每次迭代的运算操作数量 IM//RM GA GM IA//RA IC//RC wBRB 4080 7905 8160 32640 35955 wtd-AlgB 4080 11985 8160 4080 4080 Iwtd-AlgB 0 11985 8160 8160 4080 P-SFDP 0 480 496 32053 5087 D-SFDP 0 77600 496 104112 5087 TD-SFDP 0 26880 496 42030 4288 5. 译码性能仿真实验
本节将基于两种不同构造方法的准循环多元LDPC码,对本文提出的Iwtd-AlgB算法和TD-SFDP算法进行性能仿真。仿真总帧数为T_total=
107 ,最大迭代次数为I_max=100,结束条件为当错误帧数大于200 帧或者总帧数超过T_total。实验1 考虑基于有限域构造的
F16(225,147) 规则准循环LDPC码[22],该码列重ρ=14 ,行重γ=14 ,码率R=0.65 。参数设置如下:(1)对于wtd-AlgB算法,距离参数θ=(2.1,2.0,1.0,1.0) ,对于Iwtd-AlgB算法,θ=(4.0,3.5,1.0,1.0) ;(2)对D-SFDP算法和TD-SFDP算法,距离参数统一选取为θ=(3.0,1.4,1.2,1.0) ;(3)对于P-SFDP算法,外信息加权系数η = (0, 0.2, 0.3 ,0.4, 0.5, 0.6, 0.7, 1.4, 1.5, 1.7, 1.8, 2.0, 2.2, 2.4, 2.4)。各算法的门限参数在图上标出。译码性能如图1所示,由图可见:(1)本文提出的Iwtd-AlgB算法与wtd-AlgB算法性能相当,但由于避免了译码过程中的乘法操作,因此降低了每次迭代的计算复杂度;(2)D-SFDP算法和P-SFDP算法性能相当(差距在0.1 dB以内),且由于没有进行截断处理,其性能表现最佳;(3)经不同程度截断处理的TD-SFDP算法存在不同程度的性能损失。具体地,当
T1=T2=0 时对应原算法;随着T1,T2 的增大,算法的复杂度将得到优化(下降),但也会带来性能上的下降。例如:在BER=10–4时,门限值T1=4,T2=2 和T1=4,T2=3 的TD-SFDP算法,其性能分别比D-SFDP算法下降了0.18 dB和0.25 dB。算法平均迭代次数如图2所示,由图2可见:(1)在中低信噪比区域,D-SFDP算法,P-SFDP算法和小门限值的TD-SFDP算法平均迭代次数相当,但低于门限值较大的TD-SFDP算法。例如,在SNR=4.0 dB时,
T1=4,T2=3 的TD-SFDP算法的平均迭代次数约为46 次;明显大于原算法的37 次;(2)在高信噪比区域,D-SFDP, P-SFDP算法和TD-SFDP算法的迭代次数基本一致;(3)在高信噪比区域,wtd-AlgB算法与本文的Iwtd-AlgB算法的平均迭代次数更小,这是因为D-SFDP, P-SFDP算法和TD-SFDP算法每次迭代只允许翻转1个符号。实验2 考虑基于有限几何构造的
F16(255,175) 规则准循环LDPC码[23],该码行重ρ=16 ,列重γ=16 ,码率R=0.68 。参数设置如下:(1)对于wtd-AlgB算法,距离参数θ=(2.1,2.0,1.0,1.0) ,对于Iwtd-AlgB算法,θ=(4.0,3.5,1.0,1.0) ;(2)对于D-SFDP算法和TD-SFDP算法,距离参数统一选取为θ=(3.0,1.4,1.2,1.0) ;(3)对于P-SFDP算法,η = (0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.2, 1.3, 1.4, 1.5, 2.0, 2.0)为其外信息加权系数。各算法的门限参数在图上标出。译码性能和迭代次数如图3和图4所示,由图可观察到类似的结果,即本文提出的两种降低复杂度的多元LDPC符号翻转译码算法与原算法相比,在适当的参数设置下,译码性能保持不变或者以牺牲一定性能为代价,换取复杂度方面的降低。具体地:(1)结合了外信息和距离参数的Iwtd-AlgB符号翻转算法与wtd-AlgB算法的性能相当;(2) D-SFDP算法和P-SFDP算法性能最佳,均优于Iwtd-AlgB算法,在
BER=10−4 时获得了约0.9 dB的性能增益;(3)经不同程度截断处理的TD-SFDP算法存在不同程度的性能损失,门限值T1,T2 越大,性能下降越多。在算法的平均迭代次数方面,也得到与实验1类似的结果。6. 结论
本文提出了两种基于符号翻转的低复杂度多元LDPC译码算法,Iwtd-AlgB算法将翻转度量函数修正为外信息频率和距离参数的简单求和,降低了复杂度;TD-SFDP算法根据参数和外信息特征对节点和有限域符号进行截断与划分,使得只有部分比例的节点和符号参与迭代过程中的处理和翻转预测,从而降低每次迭代的译码复杂度。仿真结果表明:两种改进算法的译码性能与原算法相差不大,适当调整参数,可在性能和复杂度之间进行折中。复杂度数据显示,第1种算法避免了原算法的实数乘法操作;第2种算法的有限域加法运算次数约为原算法的
35% ,整数/实数加法运算次数约为原算法的40% 。此外,本文提出的截断阈值基于外信息频率设计,仍属于多数逻辑范畴,因此对于列重较大LDPC码的复杂度降低效果尤为明显;当列重减少时,截断集合的阶与原算法参与运算的节点/符号数目基本一致,其复杂度降低效果有限。 -
表 1 Iwtd-AlgB算法
初始化:令迭代次数k=0,最大迭代次数为Imax,设置门限值
T和汉明距离系θd(z(k)j,σ(k)i,j);译码迭代:当k<Imax时,执行以下步骤 步骤 1:计算硬判决序列z_(k)=(z(k)0,z(k)1,···,z(k)n−1); 步骤 2:计算伴随式s_(k),如果s_(k)=z_(k)HT=0_,所有校
验方程满足,退出迭代;步骤 3:对0≤j≤n−1和i∈Mj,统计n(σ(k)i,j),计算
d(z(k)j,σ(k)i,j),根据汉明距离选择确定系数θd(z(k)j,σ(k)i,j),根
据式(5)更新得到z(k+1);步骤 4:执行k←k+1; 输出:迭代译码结束,最终译码输出为
z_(k)=(z(k)0,z(k)1,···,z(k)n−1)。表 3 译码算法每次迭代的计算复杂度比较
算法 每次迭代的运算操作数量 IM//RM GA GM IA//RA IC//RC wBRB δ 2δ−m 2δ 2δr δ(2r+1)−3m wtd-AlgB δ 3δ−m 2δ δ δ Iwtd-AlgB 0 3δ−m 2δ 2δ δ P-SFDP 0 2γ(ρ−1) γ(2ρ−1) (γρ−γ+1)×(γr+3γ+5r+1) (γ+r−1)×(γρ−γ+1)+2(n−1) D-SFDP 0 (γρ−γ+1)×γ(γ+r)+2γ(ρ−1) γ(2ρ−1) (γρ−γ+1)×(γ2+2γr+4r+2γ) (γ+r−1)×(γρ−γ+1)+2(n−1) TD-SFDP 0 nT1γnT2+2γ(ρ−1) γ(2ρ−1) nT1nT2(r+γ+1)+nT1(r+γ)+nγ nT1(nT2+γ−2)+2(nT1−1) 备注:IM: 整数乘法;RM: 实数乘法;GA:有限域加法;GM:有限域乘法;IA:整数加法;RA:实数加法;IC:整数比较;RC:实数比较。 表 2 TD-SFDP算法
初始化:令迭代次数k=0,最大迭代次数为Imax,设置门限值
T1和T2以及汉明距离系数θd(z(k)j,σ(k)i,j);译码迭代:当k<Imax时,执行以下步骤 步骤 1:计算硬判决序列z_(k)=(z(k)0,z(k)1,···,z(k)n−1); 步骤 2:计算伴随式s_(k),如果s_(k)=z_(k)HT=0_,所有校
验方程满足,退出迭代;步骤 3:计算外信息频率n(σ(k)i,j),确定截断集合J(k)和S(k)j,
计算ΔE(k)j(z∗(k)j,z(k)j), ΔE(k)max_j, ΔE(k)max_p(k), p(k)以及
v(k)p(k);步骤 4:执行k←k+1; 输出:迭代译码结束,最终译码输出为
z_(k)=(z(k)0,z(k)1,···,z(k)n−1)。表 4
F16(255,175) 多元LDPC码的每次迭代译码算法复杂度算法 每次迭代的运算操作数量 IM//RM GA GM IA//RA IC//RC wBRB 4080 7905 8160 32640 35955 wtd-AlgB 4080 11985 8160 4080 4080 Iwtd-AlgB 0 11985 8160 8160 4080 P-SFDP 0 480 496 32053 5087 D-SFDP 0 77600 496 104112 5087 TD-SFDP 0 26880 496 42030 4288 -
KOU Yu, LIN Shu, and FOSSORIER M P C. Low-density parity-check codes based on finite geometries: A rediscovery and new results[J]. IEEE Transactions on Information Theory, 2001, 47(7): 2711–2736. doi: 10.1109/18.959255 BARNAULT L and DECLERCQ D. Fast decoding algorithm for LDPC over GF (2q)[C]. 2013 IEEE Information Theory Workshop, Paris, France, 2013: 70–73. doi: 10.1109/ITW.2003.1216697. SONG Hongxin and CRUZ J R. Reduced-complexity decoding of Q-ary LDPC codes for magnetic recording[J]. IEEE Transactions on Magnetics, 2003, 39(2): 1081–1087. doi: 10.1109/TMAG.2003.808600 DECLERCQ D and FOSSORIER M. Decoding algorithms for non-binary LDPC codes over GF(q)[J]. IEEE Transactions on Communications, 2007, 55(4): 633–643. doi: 10.1109/TCOMM.2007.894088 MA Xiao, ZHANG Kai, CHEN Haiqiang, et al. Low complexity X-EMS algorithms for nonbinary LDPC codes[J]. IEEE Transactions on Communications, 2012, 60(1): 9–13. doi: 10.1109/TCOMM.2011.092011.110082 DEKA K, RAJESH A, and BORA P K. A novel truncation rule for the EMS decoding of non-binary LDPC codes[C]. 2018 International Conference on Signal Processing and Communications, Bangalore, India, 2018: 11–15. doi: 10.1109/SPCOM.2018.8724394. LI Yibing, ZHANG Sitong, YE Fang, et al. Improved extended min-sum algorithm for non-binary LDPC codes based on node reliability[C]. 2019 IEEE-APS Topical Conference on Antennas and Propagation in Wireless Communications, Granada, Spain, 2019: 292–297. doi: 10.1109/APWC.2019.8870565. 杨威, 张为. 一种基于分层译码和Min-max的多进制LDPC码译码算法[J]. 电子与信息学报, 2013, 35(7): 1677–1681.YANG Wei and ZHANG Wei. A Decoding algorithm based on layered decoding and Min-max for nonbinary LDPC codes[J]. Journal of Electronics &Information Technology, 2013, 35(7): 1677–1681. SONG Liyuan, HUANG Qin, WANG Zulin, et al. Two enhanced reliability-based decoding algorithms for nonbinary LDPC codes[J]. IEEE Transactions on Communications, 2016, 64(2): 479–489. doi: 10.1109/TCOMM.2015.2512582 LI Xiangcheng, QIN Tuanfa, CHEN Haiqiang, et al. Hard-information bit-reliability based decoding algorithm for majority-logic decodable nonbinary LDPC codes[J]. IEEE Communications Letters, 2016, 20(5): 866–869. doi: 10.1109/LCOMM.2016.2537812 YEO S and PARK I C. Improved hard-reliability based majority-logic decoding for non-binary LDPC codes[J]. IEEE Communications Letters, 2017, 21(2): 230–233. doi: 10.1109/LCOMM.2016.2623783 RYBIN P and FROLOV A. On the decoding radius realized by low-complexity decoded non-binary irregular LDPC codes[C]. 2018 International Symposium on Information Theory and Its Applications, Singapore, 2018: 384–388. doi: 10.23919/ISITA.2018.8664375. JAGIELLO K and RYAN W E. Iterative plurality-logic and generalized algorithm B decoding of q-ary LDPC codes[C]. IEEE Information Theory and Applications Workshop, La Jolla, USA, 2011: 1–7. HUANG Chaocheng, WU C J, CHEN Chaoyu, et al. Parallel symbol-flipping decoding for non-binary LDPC codes[J]. IEEE Communications Letters, 2013, 17(6): 1228–1231. doi: 10.1109/LCOMM.2013.051313.130303 NHAN N Q, NGATCHED T M N, DOBRE O A, et al. Multiple-votes parallel symbol-flipping decoding algorithm for non-binary LDPC codes[J]. IEEE Communications Letters, 2015, 19(6): 905–908. doi: 10.1109/LCOMM.2015.2418260 GARCIA-HERRERO F, DECLERCQ D, and VALLS J. Non-binary LDPC decoder based on symbol flipping with multiple votes[J]. IEEE Communications Letters, 2014, 18(5): 749–752. doi: 10.1109/LCOMM.2014.030914.132867 WANG Shuai, HUANG Qin, and WANG Zulin. Symbol flipping decoding algorithms based on prediction for non-binary LDPC Codes[J]. IEEE Transactions on Communications, 2017, 65(5): 1913–1924. doi: 10.1109/TCOMM.2017.2677438 MU Haiwei, MENG Jiahui, ZHANG Liang, et al. Weighted symbol flipping decoding for non-binary LDPC codes based on iteration stopping criterion[C]. The 37th Chinese Control Conference, Wuhan, China, 2018: 8447–8452. doi: 10.23919/ChiCC.2018.8483599. DAI Bin, LIU Rongke, GAO Chenyu, et al. Symbol flipping algorithm with self-adjustment strategy for LDPC codes over GF(q)[J]. IEEE Transactions on Vehicular Technology, 2019, 68(7): 7189–7193. doi: 10.1109/TVT.2019.2915802 OH J, HAN S, and HA J. An improved symbol-flipping algorithm for nonbinary LDPC codes and its application to NAND flash memory[J]. IEEE Transactions on Magnetics, 2019, 55(9): 3500113. doi: 10.1109/TMAG.2019.2918985 HUANG Qin, ZHANG Mu, WANG Zulin, et al. Bit-Reliability based low-complexity decoding algorithms for non-binary LDPC codes[J]. IEEE Transactions on Communications, 2014, 62(12): 4230–4240. doi: 10.1109/TCOMM.2014.2370032 ZENG Lingqi, LAN Lan, TAI Yingyu, et al. Transactions Papers - Constructions of nonbinary quasi-cyclic LDPC codes: A finite field approach[J]. IEEE Transactions on Communications, 2008, 56(4): 545–554. doi: 10.1109/TCOMM.2008.060024. ZENG Lingqi, LAN Lan, TAI Yingyu, et al. Construction of nonbinary cyclic, quasi-cyclic and regular LDPC codes: A finite geometry approach[J]. IEEE Transactions on Communications, 2008, 56(3): 378–387. doi: 10.1109/TCOMM.2008.060025 期刊类型引用(1)
1. 卢盈盈,李昱霖,孙友明,黎相成,陈海强. 基于预测的多符号翻转多元LDPC译码算法. 广西大学学报(自然科学版). 2023(01): 140-146 . 百度学术
其他类型引用(3)
-