基于WBP-CNN算法的LDPC译码

2022-03-11 02:33:06刘恒燕张立民闫文君钟兆根梁晓军
系统工程与电子技术 2022年3期
关键词:比特率置信译码

刘恒燕, 张立民, 闫文君, 钟兆根, 凌 青, 梁晓军

(1. 海军航空大学航空作战勤务学院, 山东 烟台 264001; 2. 中国人民解放军第91951部队, 山东 威海 264400)

0 引 言

在现代通信系统中,合适的编译码技术能够大大提升通信质量,在码长足够长时,低密度奇偶校验(low density parity check,LDPC)码经过适当的编译码结构能够在加性高斯白噪声(additive white Gaussian noise,AWGN)信道中达到接近香农容量的性能,置信传播(belief propagation,BP)译码算法作为LDPC码比较常用的经典译码算法,在提升LDPC码译码性能的研究中功不可没。然而,在实际的通信系统中,受过采样、设备噪声等因素的影响,信道噪声表现出一定的相关性,导致LDPC码性能下降。如果直接引入矩阵乘法对噪声进行白化处理,在码长较长时复杂度较高。对于估计的联合分布来说,其复杂度随噪声相关性的增加而增加,用以优化BP译码器的代价过高。因此,要解决相关噪声条件下LDPC码译码性能降低的问题,需要避开完全依赖信道模型的传统算法,另辟蹊径。

文献[8]研究发现,通过深度学习训练获得Tanner图中传递消息的权重,可以补偿Tanner图中环的影响,因此可以在获得优于传统BP译码器译码性能的同时降低获得该性能所需的迭代次数。文献[10]将递归神经网络(recurrent neural network,RNN)引入BP译码,结合改进的随机冗余(modified random redundant,MRR)迭代算法,提升了译码性能。考虑到BP译码包含许多乘法,文献[12]提出了神经偏移最小和译码算法,该算法无需乘法运算且易于硬件实现。文献[13]对比了多层感知机(multi-layer perception, MLP)、卷积神经网络(convolutional neural network,CNN)、RNN应用于译码的性能,发现基于CNN的译码器能够在参数更少的情况下得到更佳的译码性能。但是,这些工作都没有实现相关信道噪声LDPC码的有效译码。

为解决相关噪声条件下LDPC码采用BP译码时误码率上升的问题,在BP译码中引入CNN进行降噪,但实验过程中发现个别信噪比(signal to noise ratio,SNR)为0的数据点性能下降,该问题出现的原因是BP译码在码字临界处的误码率上升,为解决该问题,引入加权比特翻转(weighted bit-flipping,WBF)算法对BP算法部分进行改进,生成加权BP (weighted BP,WBP)结构,该结构不同于BP算法的迭代结构,可以仅执行单次译码。待译码信号首先进行一次WBP译码后通过CNN进行降噪处理,最后执行剩余的WBP迭代译码以达到更佳译码性能。

1 算法提出

1.1 BP译码

BP译码是一个迭代处理过程,消息在Tanner图中的变量节点和校验节点之间传递。用表示某一个变量节点,用表示校验节点集合。表示从集合中的某一个节点传递到集合某一个节点的消息,反之。初始值为接收信号的对数似然比(log likelihood ratio,LLR),其表达式如下所示:

(1)

式中:代表对数似然比;,分别表示第个二进制相移键控(binary phase shift keying,BPSK)符号和相应的接收符号;2为信道噪声功率;Pr表示概率。变量节点和校验节点之间信息传递过程如下所示:

(2)

式中:()(())表示变量节点(校验节点)的相邻校验(变量)节点除了()以外的集合。经过几次迭代后,变量节点的对数似然比,计算为

(3)

与变量节点相对应的比特值计算如下所示:

(4)

BP译码在AWGN信道中译码效果较好,但是相关噪声条件下,对噪声联合分布进行BP译码具有较高的复杂度。

1.2 WBP 算法

文献[8]仿真BP算法时发现其译码结果在译码接收序列幅值越接近0时,错误概率越高,WBF算法将变量节点对应信道输出码字的幅度最小值作为加权因子,对翻转判据加权后取最小判据对应的比特进行翻转,解决了幅值越小,码字发生错误的概率越高的问题,恰好能够弥补BP算法的不足。

BP算法的核心在于校验节点与变量节点间软信息的传递,而WBF算法处理的核心是判据加权,两者结合时采用WBF算法的框架,数据内部采用BP算法译码,然后对译码结束后未得到正确结果的信息进行WBP,该方法称为WBP算法,其流程图如图1所示。

图1 WBP 算法流程图Fig.1 Flow chart of WBP algorithm

2 译码器设计

从理论层面上讲,WBP算法将在AWGN中获得比BP算法更优的译码性能,但其在相关噪声中的译码性能则会像BP算法一样下降。根据引言中的讨论,考虑使用CNN网络进行信号相关噪声降噪,WBP算法与CNN网络的结合称为WBP-CNN译码算法。

2.1 译码结构设计

WBP-CNN译码系统框架如图2所示,信道编码选用LDPC码,在发射机处,长度为的均匀分布的比特信号通过LDPC编码及BPSK调制将比特信号调制映射为长度为的向量,将该向量发送到加性高斯噪声信道。假设信道噪声向量为具有自相关矩阵的高斯随机矢量,长度为。接收端的接收信号向量表达式如下:

=+

(5)

式中:SNR定义为

=10lg()

(6)

式中:为平均发射功率,=E[];为复噪声信号的功率。由于采用了BPSK调制,有效噪声功率为2,即假设信道噪声是功率为2的高斯分布,传输符号的LLR表达式如下所示:

(7)

(8)

图2 WBP-CNN译码结构Fig.2 WBP-CNN decoding structure

(9)

(10)

(11)

(12)

2.2 CNN参数设置与数据训练

CNN网络仿真需要明确网络结构、损失函数、训练数据及测试数据、初始化方法等其他参数。

2.2.1 CNN参数的设置

(13)

式中:等号右边第一项为残留噪声功率,为是码长;第二项为Jarque-Bera检验,用以确定数据高斯分布的程度;为加权因子,和在统计中分别称为偏度和峰度,定义如下:

(14)

222 仿真数据的生成与训练

训练CNN网络,需要生成训练数据集与验证数据集。接收端噪声相关函数的信道模型已知时,即可仿真生成足够的信道噪声样本来训练网络。选用文献[28]中的相关模型,相关矩阵定义如下所示:

(15)

式中:, 的第行第列个元素;是相关系数,绝对值小于1,则信道噪声样本可生成为

=12

(16)

式中:是独立同分布的标准高斯随机变量的向量。SNR的设置将影响WBP译码结果,即影响CNN的输入。为了防止噪声特征被信号或错误掩盖,保证CNN顺利学习信道噪声的鲁棒特性,训练数据生成SNR范围为0~3 dB,间隔0.5 dB。每个SNR的数据生成200万条训练数据,10万条验证数据。采用小批量梯度下降法训练网络。每个小型批处理包含1 400个数据块,每个SNR的数据在一个小型批处理中占据相同的比例。在每次迭代中,随机选择一定数量的训练样本(即小批量)来计算梯度。使用Adam优化方法搜索最优网络参数。在训练过程中,每500次迭代检查一次验证集上的损失值。训练一直进行到损失连续一段时间都没有下降为止。

3 仿真实验

3.1 参数设置

在所有仿真中,使用码率为3/4的规则LDPC码,码块长度为576,奇偶校验矩阵来自文献[30],使用随机码字进行仿真,仿真使用的笔记本配置条件如下。

GPU0: Intel(R) UHD Graphics 630,GPU1: NVIDIA GeForce GTX 1660 Ti,tensorflow-gpu 1.14.0,内存16G,9代i7处理器。

3.2 仿真结果

按照第3.1节及第2.2节参数设置,分别在背景噪声相关性为0,0.1,0.5的情况下对BP译码算法、WBP-CNN译码算法进行仿真,每个算法BP部分迭代次数均为5次、10次、20次、30次、40次及50次,仿真结果如图3~图5所示。横坐标为SNR,定义见式(6),纵坐标为误比特率,BP部分迭代次数为5的BP译码算法曲线在图中的标注为5置信传播,代次数为5的WBP-CNN译码算法曲线在图中的标注为5加权置信网络,其他迭代次数标注方法以此类推,损失函数中取=10。

图3 噪声相关性为0时译码器性能曲线Fig.3 Decoder performance curve when noise correlation is 0

图4 噪声相关性为0.1时译码器性能曲线Fig.4 Decoder performance curve when noise correlation is 0.1

图5 噪声相关性为0.5时译码器性能曲线Fig.5 Decoder performance curve when noise correlation is 0.5

WBP-CNN算法的执行顺序为1次WBP译码、CNN降噪、剩余迭代WBP译码,例如5加权置信网络算法执行顺序为1次WBP译码、CNN降噪、4次WBP译码,其他迭代次数以此类推。由于引入CNN涉及到模块调用无法准确判断算法计算量,计算复杂度通过运行时间来衡量。经过多次实验记录,在上述实验条件下,WBP-CNN译码算法对比相同迭代次数的BP算法,增加的复杂度约为2.5次BP迭代。

图3为噪声相关性为0时,即在白噪声背景下的仿真结果,SNR为0~2.1 dB时,误比特率最低,即仿真性能最好的曲线为50 BP算法;SNR为2.1~2.7 dB时,仿真性能最好的曲线是50加权置信网络;SNR为2.7~3 dB时,仿真性能最好的曲线是40加权置信网络算法。从3 dB点来看误比特率,译码性能由优到差依次为:40加权置信网络、50加权置信网络、30加权置信网络、50 BP、20加权置信网络、40 BP、30 BP、20 BP、10加权置信网络、10 BP、5加权置信网络、5 BP,最低误比特率为4.5×10。

在误比特率为10时,50加权置信网络所需的SNR较50 BP低0.048 dB,40加权置信网络所需的SNR较40 BP算法低0.075 dB。

图4为噪声相关性为0.1时的译码仿真结果,SNR为0~1.6 dB仿真性能最好的曲线是50 BP; SNR为1.6~3 dB仿真性能最好的曲线是50加权置信网络。从3 dB点的误比特率来看,性能由优到差依次为:50加权置信网络、50 BP、40加权置信网络、30加权置信网络、40 BP、20加权置信网络、30 BP、20 BP、10加权置信网络、10 BP、5加权置信网络、5 BP,最低误比特率为2.4×10。

在误比特率为10时,50加权置信网络所需的SNR较50 BP低0.034 dB, 40加权置信网络所需的SNR较40 BP算法低0.055 dB。

图5为噪声相关性为0.5时的译码仿真结果,SNR为0~0.6 dB及2.2~2.65 dB时,仿真性能最好的曲线为30加权置信网络;SNR为0.6~2.2 dB时,仿真性能最好的曲线是40加权置信网络;SNR为2.65~3 dB时,仿真性能最好的曲线是50加权置信网络。从3 dB点的误比特率来看,性能由优到差依次为:50加权置信网络、40加权置信网络、20加权置信网络、10加权置信网络、30加权置信网络、5加权置信网络、50 BP、40 BP、30 BP、20 BP、10 BP、5 BP,最低误比特率为9×10。

在误比特率为10时,50加权置信网络所需的SNR较50 BP低0.355 dB, 40加权置信网络所需的SNR较40 BP算法低0.399 dB。

4 结 论

本文提出了一种基于WBP-CNN的LDPC码译码算法,WBP结构是BP算法与WBF算法的结合,用以解决BP算法在码字临界处性能降低的问题。该结构在保证软判决算法译码性能的同时,引入硬判决思想提高译码性能。待译码信号经过一次WBP译码后通过CNN网络降低相关噪声,最后再次进入WBP结构执行剩余译码工作。实验表明,对比BP译码算法,WBP-CNN译码算法以约2.5次BP迭代的复杂度增加为代价带来了译码性能提升。在本文参数设置中,WBP-CNN算法在噪声相关性越强时译码性能越好,说明噪声相关性范围在0~0.5时,噪声相关性越强越利于CNN网络降噪。

猜你喜欢
比特率置信译码
急诊住院医师置信职业行为指标构建及应用初探
基于置信职业行为的儿科住院医师形成性评价体系的构建探索
基于模糊深度置信网络的陶瓷梭式窑PID优化控制
陶瓷学报(2021年2期)2021-07-21 08:34:58
基于校正搜索宽度的极化码译码算法研究
基于多个网络接口的DASH系统设计与实现
相同比特率的MPEG视频双压缩检测*
从霍尔的编码译码理论看弹幕的译码
新闻传播(2016年3期)2016-07-12 12:55:27
基于CUDA和深度置信网络的手写字符识别
LDPC 码改进高速译码算法
遥测遥控(2015年2期)2015-04-23 08:15:19
基于概率裁剪的球形译码算法