APP下载

改进的循环神经网络极化码BP译码算法

2022-08-08邓学璐彭大芹

光通信研究 2022年4期
关键词:码长译码器译码

邓学璐,彭大芹

(重庆邮电大学,通信与信息工程学院,重庆 400065)

0 引 言

极化码是最开始由Arikan在文献[1]中提出的一种能够实现接近信道容量的分组码,是第五代移动通信技术(5th Generation Mobile Communication Technology,5G)信道编码方案。串行抵消(Successive Cancellation, SC)和置信传播(Belief Propagation, BP)译码是极化码中较普遍的两种译码算法。BP译码因其并行译码过程,比SC[2-3]译码具有更高的吞吐量和更低的译码时延,但采用偏移最小和(Offset Min-Sum,OMS)近似[4]与早期停止准则[5]来降低冗余迭代次数和运算复杂度的BP译码算法在误码率(Bit Error Ratio, BER)性能上不如SC译码算法。

文献[6-9]中,BP译码性能优化的一种方法是引入神经网络辅助BP译码过程。但上述文献中提出的方法大部分随着极化码码长和迭代次数的增加,左右信息更新运算复杂度也大量增加,这阻碍了神经网络在实际通信系统中的应用。因此,针对以上神经网络译码器存在的不足,受文献[8]针对循环神经网络(Recurrent Neural Network, RNN)BP译码算法的优化及文献[10]针对极化码软信息连续消除 (Soft Successive Cancellation, SCAN) 译码算法所采用的simplified-SCAN算法的启发,本文提出了一种改进左信息更新的RNN OMS近似BP (RNN-OMS-BP-Left,RNN-OMS-BP-L) 译码算法,采用新的左信息更新方式,减少一部分节点更新时的计算量和存储开销,并替换初始的RNN译码器,降低了BP算法的运算复杂度和内存占用,减少了迭代次数。

1 极化码编码与BP译码

1.1 极化码

图1 极化码信道合并与分裂

极化码编码原理为:把N=2n(n=任意正整数)极化码中的K位信息比特放置在信息比特索引集合A的比特信道中,N-K位冻结比特则放置于集合Ac索引中,组成输入信息序列uN={uA,uAc},式中:uA为信息比特;uAc为冻结比特。所以码率为K/N的(N,K)极化码xN可通过生成矩阵GN得到:

1.2 极化码的BP译码算法

Arican在文献[11]中提出,BP译码也可作为极化码译码算法,并且可采用类似SC译码算法的连续消除规则[12]。极化码的编码结构可直接转换成因子图。由n=log2N个阶段及N×(n+1)个节点组成一个(8,4)极化码的BP译码因子图如图2所示。

图2 极化码BP译码算法因子图

由图2(b)可得:

式中,

2 神经网络BP译码算法

文献[6]提出了基于深度神经网络(Deep Neural Network,DNN)的BP(DNN-BP)译码算法,在译码迭代过程中的消息更新因子图中设置了可学习的参数,即把式(2)替换为

文献[8]提出了基于RNN权重量化机制的OMS近似BP(RNN-OMS-BP)译码算法用于极化码译码。受此启发,本文所提算法使用OMS近似算法[13]替代缩放因子最小和近似算法,式(3)被替换为

式中,β为偏移量。

式(7)迭代更新变为

3 改进的左信息更新RNN-OMS-BP译码算法

文献[8]中算法通过权重量化机制实现不同迭代次数之前的权值共享,解决了文献[6]中算法乘法运算和缩放因子存储的问题。但该算法仍存在大量的加法和乘法运算,且BER性能相较于DNN-BP算法有所降低。

因此,本文提出了一种第2节描述的OMS替代乘法缩放因子的译码方法解决了乘法运算问题,再根据改进左信息更新的方法和RNN架构提出改进的RNN-OMS-BP-L译码算法,与文献[8]相比,算法运算复杂度和迭代次数均有所降低。

3.1 改进的左信息更新方法

本文所提RNN-OMS-BP-L译码算法左信息更新的初始单位因子图如图3(a)所示。

图3 单位因子图

3.2 改进左信息更新的RNN译码器

本文基于3.1节改进左信息更新方法进而提出了改进的RNN架构代替了文献[8]所采用的原始RNN架构。图4(a)所示为 (8,4)极化码在神经网络中第t次迭代的完整信息迭代更新译码过程,其可看作图2(a)极化码BP译码展开形式的因子图,共含3层:输入层、隐藏层和输出层。8个神经计算单元组成输入层;隐藏层对应从左到右的右信息迭代更新过程和反方向的左信息迭代更新过程,分别占据5层隐藏层中的第2和3层神经网络;最后的输出层使用sigmoid激活函数来处理当前层的上层更新信息,从而使神经网络译码器迭代更新得到的码字估值归一化。对于(N,K)极化码,极化码BP因子图展开可得到每层都包含N个神经计算单元的RNN译码器,其中右迭代信息和左迭代信息更新过程对应第n-1层和n层隐藏层。

图4 改进的RNN译码器

图4(b)所示为本文所提改进的RNN相较于文献[9]中原始RNN架构的主要改进。本文把原始的左信息更新神经元分成两部分,当RNN架构层数l≤2时,使用神经元a进行信息更新计算;当RNN架构层数l>2时,使用神经元b进行信息更新计算,此时式(11)可更新为

3.3 RNN-OMS-BP-L译码算法流程

神经网络译码器完成预置的T次迭代更新译码之后,使用图4(a)输出层的sigmoid神经单元对LLR进行比较判决,最后再使用交叉熵损失函数衡量改进的RNN译码器实际输出值和期望值的差距,并通过该差距判断译码器的优劣。交叉熵损失函数L(u,o)为

式中:N为码字长度;uj和oj分别为改进左信息更新神经网络译码器的理想输出值和实际输出值。基于上述小节提出的改进的左信息更新方法和RNN译码器得出的极化码RNN-OMS-BP-L算法的具体流程如下:

(1) 设置仿真参数(包括码长N、码率Rc、信噪比(Signal Noise Ratio,SNR)范围、训练样本数量batch_size和学习率η等),由式(12)生成在随机生成高斯白噪声加扰环境下已知的输入输出映射训练集和验证集。

(2) 由式(4)和式(5)初始化LLR信息,所有非冻结比特的先验LLR信息设置为0,使用改进RNN架构通过式(12)进行BP译码,神经计算单元首先从右至左迭代更新每一列左信息,直到第1列,再从左至右迭代更新到最后一列,达到预置的迭代更新次数T。

(3) 设置损失函数和优化器,进行训练和验证,选择损失最小的最优参数集。

(4) 使用最优参数集的译码器进行测试,输出生成的实际码字序列,并与步骤(1)验证集中期望码字序列对比得到损失函数值,最后计算出BER。

4 仿真结果与分析

在本节中,本文所提改进的RNN译码器是在TensorFolw测试平台上通过学习率为0.001的Adagrad优化算法训练的。训练数据是在高斯白噪声信道传输后的全零码字,SNR范围为1~5 dB。测试数据是随机二进制信息,该数据是通过极化编码、二进制相移键控(Binary Phase Shift Keying,BPSK)调制后在高斯白噪声信道上传输得到的。具体参数如表1所示。

表1 仿真参数设置

为了评估本文所提算法的性能,对该算法在不同迭代次数和不同码长的情况下进行了仿真模拟。首先模拟在码长相同和码率都为1/2时,不同迭代次数下BP、RNN-OMS-BP和RNN-OMS-BP-L译码算法的BER性能,如图5所示。

图5 不同迭代次数下3种译码算法BER性能对比(以(64,32)极化码为例)

由图可知,传统BP译码算法迭代40次可收敛,而RNN-OMS-BP-L和RNN-OMS-BP译码算法只需迭代5~8次即可收敛,且BER性能远优于传统BP译码算法。相较于原始RNN-OMS-BP译码算法,在相同BER性能条件下,本文所提RNN-OMS-BP-L译码算法减少了3次迭代次数。

图6 不同码长下的3种算法BER性能对比

第2个实验是对极化码(64,32)、(128,64)和(256,128)3种不同码长的DNN-BP、RNN-OMS-BP和RNN-OMS-BP-L译码算法BER性能进行仿真对比,迭代次数均为5次。实验结果如图6所示。由图可知,RNN-OMS-BP-L译码算法在3种不同的码长中,相较于RNN-OMS-BP和DNN-BP译码算法,BER几乎不变,甚至随着码长的增加,码长为256时在高SNR区域中极化码BER有接近0.1 dB的增益。

表2所示为以(64,32)极化码为例的复杂度分析,列举了在传统BP译码算法迭代TBP=40次,DNN-BP、RNN-OMS-BP译码算法及本文所提RNN-OMS-BP-L译码算法迭代T=5次时,分别在加法运算及存储空间占用两个方面的运算复杂度。

表2 复杂度分析(以(64,32)极化码为例)

由表可知,相比于传统BP译码算法,改进的RNN-OMS-BP-L译码算法将加法运算减少了81%以上;相比于DNN-BP译码算法,在相同迭代次数条件下,RNN-OMS-BP-L算法仅以6.25%的加法运算为代价替换了全部乘法运算,减少了76.9%的存储空间;相比于RNN-OMS-BP译码算法,RNN-OMS-BP-L译码算法在相同BER性能条件下,不仅减少了3次迭代次数,还减少了25%的加法运算和1%的存储空间。

5 结束语

本文所提RNN-OMS-BP-L译码算法主要是对信息更新方式的改进,提出了改进的左信息方法和RNN架构。通过改变左信息神经计算单元来构建新的RNN译码器。由仿真分析可知,改进的左信息更新RNN译码方法在几乎无性能损失的条件下,有着运算复杂度和迭代次数的优化,对于BP译码算法的硬件实现和实际应用更加友好。接下来将以RNN-OMS-BP-L译码算法为基础重点结合神经网络在翻转集的应用[14-15]方面进行下一步研究。

猜你喜欢

码长译码器译码
构造长度为4ps的量子重根循环码
基于信息矩阵估计的极化码参数盲识别算法
基于校正搜索宽度的极化码译码算法研究
纠错模式可配置的NAND Flash BCH译码器设计
环Fq[v]/上循环码的迹码与子环子码
跟踪导练(一)5
从霍尔的编码译码理论看弹幕的译码
LDPC 码改进高速译码算法
HINOC2.0系统中高速LDPC译码器结构设计
电力线通信中LDPC译码器的优化设计与实现