基于扩大候选码元范围的非二元LDPC加权迭代硬可靠度译码算法

2021-11-29 11:14马秀荣司雨鑫
沈阳工业大学学报 2021年6期
关键词:译码误码率复杂度

马秀荣, 司雨鑫, 孔 玲

(1. 天津理工大学 a. 电气电子工程学院, b. 光电器件与通信技术教育部工程研究中心, 天津 300384; 2. 93303部队 综合技术通信站, 沈阳 110069)

近年来,由于非二元低密度奇偶校验(NB-LDPC)码具有出色的纠错性能,更适用于高阶调制系统[1-4]等优点,而受到广泛关注.然而,NB-LDPC码的基础译码算法(如对数置信度传播(LBP)译码算法)[5]译码复杂度极高,限制了其在通信系统中的应用.

随着二元LDPC码在通信系统中的应用逐渐成熟,非二元LDPC码也逐渐受到人们重视,相应发展出了一些更加高效的译码算法,这些译码算法主要分为两类,一类是基于文献[5]的对数置信度传播译码算法发展而来的译码算法,如基于网格的高效最小和译码算法[6]、基于额外列网格的最小最大译码算法[7]、基于网格的基本集合最小最大译码算法[8]、基于网格的最小集合最小最大译码算法[9]及基于网格优化的最小最大译码算法[10]等.这些译码算法通过对基础算法中的某些计算步骤进行近似,以牺牲小部分比特误码率为代价,一定程度上降低了译码复杂度.

非二元LDPC码的第二类译码算法则是根据软/硬可靠度信息进行译码,这类译码算法的复杂度要远低于第一类译码算法,但相应作为降低计算复杂度的代价,比特误码率性能也相对落后于第一类译码算法.其中利用软信息进行译码的算法包括冗余比特辅助的迭代软可靠度译码算法[11]、剪裁调整的迭代软可靠度译码算法[12]等,利用硬信息进行译码的算法包括迭代硬可靠度(IHRB)译码算法[13]、改进的迭代硬可靠度(IIHRB)译码算法[14]、加权迭代硬可靠度(WIHRB)译码算法[15]等.在这些译码算法中,WIHRB译码算法的复杂度适中,同时比特误码率性能较好,是一种比较有前景的译码算法.

对WIHRB译码算法进一步研究发现,该算法的可靠度更新过程会忽略一部分正确码元,导致译码结果出现错误,造成比特误码率性能下降.为解决该问题,通过对可靠度更新过程进行扩展,本文设计了一种基于扩大候选码元范围的加权迭代硬可靠度(IWIHRB)译码算法.仿真结果显示,在由64个元素及256个元素构成的伽罗华域中,IWIHRB译码算法的比特误码率性能增益分别可达到0.1 dB与0.2 dB,计算复杂度增加不超过2%.

1 WIHRB译码算法

WIHRB译码算法的步骤如下:

1) 初始化.参数的初始化表达式为

(1)

2) 设置最大迭代次数,开始迭代译码.将译码算法的最大迭代次数设为Imax=15.当前迭代次数用k表示,迭代译码开始时,令k=1.

3) 计算校验和,并检查是否存在错误码字.校验和s(k)的计算表达式为

s(k)=Z(k-1)HT

(2)

在第k次迭代过程中,若s(k)=0,则表示第k-1次迭代译出的码字序列Z(k-1)没有错误码元,译码过程终止,并输出Z(k-1)作为译码结果;若s(k)≠0,则表示码字序列Z(k-1)中存在错误,译码过程继续执行.

4) 计算外部校验和.外部校验和计算表达式为

(3)

5) 更新可靠度信息.可靠度信息更新公式为

(4)

6) 判决码字.判决码字的表达式为

(5)

2 IWIHRB译码算法

2.1 算法可靠度更新过程存在的问题

在WIHRB译码算法可靠度更新过程中,初始化元素与外部校验和之间的汉明距分布如图1所示.

图1 不同信噪比下初始化元素与之间的汉明距分布

图2 不同信噪比下正确码元与之间的汉明距分布

2.2 扩大候选码元范围的可靠度更新方法

(6)

式中,η为可靠度更新幅度,为固定值,在后续仿真中取η=0.3.

综上所述,改进后的可靠度更新过程表达式为

(7)

2.3 EWIHRB译码算法的复杂度分析

由于扩大范围加权迭代硬可靠度(EWIHRB)译码算法可靠度更新的步骤与WIHRB译码算法有所区别,因此只需对比该步骤计算复杂度的变化,便可知EWIHRB译码算法的复杂度变化情况.表1列出了WIHRB译码算法和EWIHRB译码算法单次迭代所需的计算复杂度,表中W表示校验矩阵H中非0元素的个数.

表1 两种译码算法每次迭代所需的计算复杂度Tab.1 Computation complexities required by two decoding algorithms for each iteration

根据上述分析可知,在单次迭代中,EWIHRB译码算法仅在整数加法上所需的运算次数有所增加,其他运算的次数与WIHRB译码算法一致.整体上看,EWIHRB译码算法的复杂度比WIHRB算法略有增加.

3 仿真测试

为测试EWIHRB译码算法的性能,利用MATLAB仿真平台(版本2018b)分别对基于伽罗华域GF(26)的(315,265)码与基于伽罗华域GF(28)的(1 275,1 025)码进行测试.以上两种码的码率分别为0.841 2与0.803 9,构建校验矩阵时采用文献[16]的方法.传输时,使用BPSK调制并通过加性高斯白噪声信道(AWGN)进行传输.仿真过程中,除使用WIHRB译码算法和EWIHRB译码算法外,还增加了IHRB译码算法以及IIHRB译码算法用于对比.通常来说,对于迭代译码算法,迭代次数越多,译码性能越好,但相应的译码时间也会极大增加.为降低仿真时间,将4种译码算法的最大迭代次数设置为15次.仿真过程中的其他主要参数设置如表2所示.

表2 仿真参数Tab.2 Simulation parameters

3.1 误码率性能对比

本节对上述4种译码算法的误码率性能进行对比分析.图3为使用伽罗华域GF(26)中的(315,265)NB-LDPC码时4种译码算法的比特误码率性能对比图;图4为使用伽罗华域GF(28)中的(1 275,1 025)NB-LDPC码时4种译码算法的比特误码率仿真图.

图3 使用GF(26)中的(315,265)NB-LDPC码时4种算法的比特误码率性能对比

图4 使用GF(28)中的(1 275,1 025)NB-LDPC码时4种算法的比特误码率性能对比

从图3中可以看出,在同一信噪比下,EWIHRB译码算法的比特误码率最低.与WIHRB译码算法相比,大约有0.1 dB的性能增益.且随着信噪比的增加,EWIHRB译码算法的比特误码率性能与其他3种算法间的差距逐渐增大.当信噪比为5.4 dB时,EWIHRB译码算法的比特误码率达到0.001;而其他3种算法在信噪比为5.6 dB时,误码率仍未达到0.001.图4所示结果与图3类似,区别在于图4中EWIHRB译码算法的误码率性能与其他3种算法之间的差距更加明显.与WIHRB译码算法相比,大约有0.2 dB的性能增益.

根据上述仿真结果可知,与WIHRB译码算法相比,对GF(26)中的(315,265)NB-LDPC码进行译码时,EWIHRB译码算法的性能增益约为0.1 dB;而对GF(28)中的(1 275,1 025)码进行译码时,EWIHRB译码算法的性能增益约为0.2 dB.

3.2 计算复杂度对比

3.2.1 平均迭代次数对比

下面对4种译码算法的平均译码迭代次数进行对比分析.图5、6分别为使用伽罗华域GF(26)中的(315,265)NB-LDPC码和使用伽罗华域GF(28)中的(1 275,1 025)NB-LDPC码时,4种译码算法的平均迭代次数对比图.

图5 使用GF(26)中的(315,265)NB-LDPC码时4种译码算法的平均迭代次数对比

图6 使用GF(28)中的(1 275,1 025)NB-LDPC码时4种译码算法的平均迭代次数对比

从图5中可以看出,当信噪比小于4.5 dB时,4种译码算法的平均迭代次数基本相同.当信噪比超过4.5 dB后,WIHRB译码算法与EWIHRB译码算法所需的平均迭代次数较为接近,但略高于IHRB和IIHRB译码算法.从图6中可以看出,当信噪比小于4.5 dB时,4种译码算法的平均迭代次数基本相同.当信噪比超过4.5 dB后,IWIHRB译码算法与WIHRB译码算法所需的平均迭代次数相近,但高于IHRB和IIHRB译码算法.

根据图5、6的仿真结果可知,EWIHRB与WIHRB译码算法的平均迭代次数基本相同,但略高于IHRB和IIHRB译码算法.

3.2.2 单次迭代的复杂度对比

根据文献[13]与表1可知,在单次迭代中,除整数比较与整数加法运算外,4种译码算法所需的其他运算类型与次数完全相同.因此在对比4种算法的复杂度时,只需比较这两种运算的计算次数.图7、8分别为不同的伽罗华域维度下,4种译码算法的整数加法与整数比较的运算次数对比图.

图7 整数加法运算次数对比Fig.7 Comparison of integer additive operation number

图8 整数比较运算次数对比Fig.8 Comparison of integer comparative operation number

从图7中的曲线可以看出,当伽罗华域维度3≤r≤7时,EWIHRB译码算法所需的整数加法运算次数是4种算法中最多的.但与其他3种译码算法相比,增加的幅度较小.当伽罗华域维度r>7时,EWIHRB译码算法所需的整数加法运算次数远小于IHRB和IIHRB译码算法,但仍大于WIHRB译码算法.从图8中的曲线可以看出,EWIHRB与WIHRB译码算法所需的整数比较运算次数相同.当伽罗华域维度r>3后,EWIHRB与WIHRB译码算法所需的整数比较运算次数远少于IHRB与IIHRB译码算法.

根据图7、8的仿真结果可知,当伽罗华域维度r≥3时,与WIHRB译码算法相比,EWIHRB译码算法的复杂度更高;而与IHRB和IIHRB译码算法相比,当3≤r≤7时,虽然EWIHRB译码算法所需的整数加法运算次数略多,但由于所需的整数比较运算次数减少的幅度大于整数加法运算增加的幅度,所以EWIHRB的复杂度略低;当r>7时,由于EWIHRB译码算法所需的整数加法与整数比较运算次数均比较低,因此EWIHRB译码算法的复杂度也会更低一些.4种译码算法单次迭代的复杂度排序为:WIHRB

3.2.3 平均译码时间对比

由于4种译码算法在译码过程中所需的运算类型完全一致,因此可通过译码时间直观地反映出4种译码算法的整体复杂度.当信噪比分别为3.5 dB和5 dB时,分别对帧数为200帧(315,265)及20帧的(1 275,1 025)码进行译码,4种译码算法每次译码所需的平均时间如表3所示.

表3 平均译码时间Tab.3 Average decoding time s

根据表3可知,在当前仿真条件下,WIHRB与EWIHRB译码算法每次译码所需的平均时间皆远小于IHRB与IIHRB译码算法.而与WIHRB译码算法相比,在对基于GF(26)的(315,265)码进行译码时,EWIHRB单次译码所需的平均时间仅比WIHRB译码算法增加了1.7%;而在对基于GF(28)的(1 275,1 025)码进行译码时,单次译码所需的平均时间仅增加了约1.1%.

综合上述仿真结果可以看出,与WIHRB译码算法相比,IWIHRB译码算法可在伽罗华域GF(26)与GF(28)中分别取得约为0.1 dB和0.2 dB的性能增益,而整体复杂度增加不超过2%.

4 结 论

为了进一步提高非二元LDPC码加权迭代硬可靠度译码算法的比特误码率性能,通过对可靠度更新计算方法进行改进,本文设计了一种基于扩大候选码元范围的加权迭代硬可靠度译码算法.该算法通过扩大可靠度更新时覆盖的元素范围,有效降低了译码结果中出现错误码元的概率,提高了算法的误码率性能.通过使用基于不同伽罗华域构建的两种非二元LDPC码进行仿真对比,结果显示,改进后的译码算法可以明显提升比特误码率性能,与此同时,译码复杂度增加较少,仍维持在相对较低的水平,在复杂度容限较低的通信系统中,使用改进后的算法可以有效提高通信质量.

猜你喜欢
译码误码率复杂度
面向通信系统的误码率计算方法
数字经济对中国出口技术复杂度的影响研究
一种改进的TPC混合译码算法
分段CRC 辅助极化码SCL 比特翻转译码算法
基于校正搜索宽度的极化码译码算法研究
毫米波MIMO系统中一种低复杂度的混合波束成形算法
Kerr-AdS黑洞的复杂度
非线性电动力学黑洞的复杂度
失效网络中节点可通信性能评估方法研究
D—BLAST基带系统的FPGA实现研究