-
(N,K)极化码的编码器分别将K个信息位和其他(N−K)位分配给N位码字
$ {u^N} $ 的可靠和不可靠位置。不可靠位置的位被称为冻结位,通常固定为零。然后,根据$ {x^N} = {u^N}{G_{^N}} $ 得到N位发送码$ {x^N} $ ,其中$ {G_N} $ 为生成矩阵,满足$ {G_N} = {B_N}{F_2}^{ \otimes n} $ ,其中$ {B_N} $ 表示位反转置换矩阵,$ {F_2}^{ \otimes n} $ 表示核矩阵。置信传播译码是极化码译码中常用的消息传递算法之一,BP译码算法通过迭极化码的构造因子图进行消息计算传播及迭代解码。与SC译码及其列表扩展SCL译码不同,BP译码是一种迭代的消息传递过程,其结构与神经网络更为匹配,实现并行处理对数似然比,降低极化码译码延迟。其因子图结构如图2所示,共有n=$ {\log _2}N $ 级,每级中包含 N/2 个处理单元(Processing Elements,PE),消息通过位于每个阶段的处理元素(PEs)进行迭代传播。其中共有 N(n+1)个节点,用(i,j)表示,其中i代表节点所在级数,j代表因子图的行数。如图3所示,每个节点包含两种信息:第t次从左向右传递的信息,用$ {L^t}_{i,j} $ 表示;第t次从右向左传递的信息,用$ R_{i,j}^t $ 表示。更新迭代以从右到左的消息传递开始,该消息传递将LLR值从通道(最右边)阶段传播到信息位(最左边)阶段,并以按相反顺序从左到右的消息传递结束。其每个PE处理单元的计算公式如下:置信传播算法是一种基于Tanner图的译码算法,Tanner图是编码码字的奇偶校验矩阵的图形表示,其Tanner图的展开就为神经网络模型结构。为了将极化码的BP因子图展开为神经网络模型,需要将极化码BP因子图修改为Tanner图。具有生成矩阵G的极化码的奇偶校验矩阵H可以由G的列构造而成,G的索引在Ic中,Ic表示冻结索引集(引理1[19])。由H可得到稠密的Tanner图,然而,稠密的Tanner图存在许多短圈而导致性能较差,如果在该密集H上执行传统译码算法将导致解码失败。因此,如图4所示,在基于CNs和VNs更新方程的基础上,通过删除和合并对译码过程没有贡献的节点来减小奇偶校验矩阵的大小[19],将极化码稠密Tanner图转化为稀疏Tanner图。
引理1 (极化码奇偶校验矩阵):对于基于g2极化核的1−1可逆映射
$ {G_{^N}} $ ,让i$ \subseteq $ {1, 2, ···, N}表示信息位索引。假设所有i∈Ic的ui=0,H由Ic中具有索引的$ {G_{^N}} $ 列组成。如图5所示,在稀疏Tanner图的基础上,将其通过展开来构造稀疏网格结构的前馈神经网络。若在(N,K)极化码的稀疏Tanner图上总共有N个输入节点、E个边和T次迭代,则关联的DNN神经网络模型则有2T个隐藏层,每个隐藏层中的节点数等于E,每个隐藏节点表示在相应边上传播的软消息,对于具有输入节点的输入层,接收信道输出的初始对数似然比LLR被馈入最后N个输出节点,最终的输出由sigmoid函数激活。传统的BP可用于构造Tanner图上的极化码,但由于采用双曲三角函数(tanh)和乘法运算,BP译码的计算复杂度较高,与BP译码相比,MS译码构造的DNN能较好地减少其计算复杂度。因此,文中将MS译码方法作出改进,并用改进的MS译码来定义DNN中的两种基本神经元,最后构成神经网络译码器。
-
BP译码方法通过将乘法运算改为加法运算,从而降低计算复杂度。但在变量节点信息更新计算中,tanh函数的计算相当复杂。MS方法通过在检查节点更新步骤中用简单的最小化操作替换tanh函数,大大降低BP算法的计算复杂度。参考文献[9]证明了这种近似使得校验节点的输出LLR的大小变大,同时保持其符号不变。因此,为了减少校验节点的输出LLR的绝对值来恢复MS方法的性能,参考文献[10]提出NMS方法,通过在校验节点的输出LLR乘一个小于1的归一化因子,该因子被确定为MS方法的LLR大小的期望值与BP算法的LLR大小的期望值之比,因此MS方法中LLR的平均值被强制为BP算法中LLR的平均值。参考文献[11]中提出OMS方法,其通过在校验节点的输出LLR减去一个数值来降低幅度。若两种方法的LLR的概率密度函数(pdf)与BP算法近似,则NMS方法与OMS方法的性能将与BP算法相同。NMS方法通过乘归一化因子可被视为其pdf的缩放,而OMS方法通过减去偏移项可被视为pdf的偏移。若同时执行缩放和移位操作,MS方法中的pdf可能会更好地匹配BP算法中的pdf。因此,文中将NMS和OMS方法结合起来,以同时利用缩放和移位。NOMS译码方法详细描述如下(符号含义如表1所示)。
Symbol Meaning $ {r_{ji}} $ Check the information passed from node j to variable node i $ {q_{ij}} $ Information passed from variable node i to verification node j $C{{(i)} }$ Variable node i is the collection of adjacent verification nodes $V{{(j)/i} }$ The combination of variable nodes adjacent to the check matrix j, in which the variable node i is removed $V{{(i)} }$ Set of check nodes adjacent to variable node i ${i'}$ ${j'}$ Variable node ${i'}$and check node ${j'}$ represent the next value transformed after iteration $ {u_i}(0) $ The reception is a posteriori probability of Yi corresponding to codeword bit xi=0 $ {u_i}(1) $ The reception is a posteriori probability of Yi corresponding to codeword bit xi=1 $ L(x) $ Log likelihood ratio refers to the logarithm of the ratio of the probability of judging that the node is 0 to the probability of judging that the node is 1 $ l $ Represents the L-th hidden layer Table 1. Symbol meaning of NOMS decoding method
(1) 初始化。对所有变量节点计算来自信道的初始消息
$ L(u{}_i) $ ,设定变量节点传递给校验节点的初始消息$ L({q_{ij}}) $ :(2) 水平更新(校验节点更新)步骤。第1次迭代时,对所有校验节点,更新其传递给变量节点的信息
$ L({r_{ji}}) $ ,其中0<α≤1和β≥0分别为归一化因子和偏移因子:(3) 竖直更新(变量节点更新)步骤。第1次迭代时,对所有变量节点,更新其传递给校验节点的信息
$ L({q_{ij}}) $ :(4) 硬判决。对所有的变量节点计算判决消息
$ L({Q_i}) $ ,并得到第i位比特的判断值${{{O}}_i}$ :(5) 迭代运算的终止判定。若校验方程满足或该译码方法达到设定的最大迭代次数,停止迭代,输出译码结果;否则跳转至第(2)步继续迭代。
-
归一化因子或偏移因子参数通常是经验或蛮力搜索得到的,其随着优化参数的增加呈指数级增长,用传统的蛮力搜索方法不能找到归一化因子或偏移因子参数的最佳组合,并导致译码失败。由于极化码Tanner图与深度神经网络的相似性,将极化码Tanner图的展开为神经网络结构能够解决这个问题。迭代译码算法被展开成一个前向传播网络。H决定了CNs和VNs连接的边。在每次迭代中,CNs层和VNs层之间的消息被乘以不同的校正因子α和β,相当于在Tanner图的边上添加权重参数。计算CNs-to-VNs消息和VNs-to-CNs消息的过程分别在神经网络中的CNS层和VNS层由三种不同类型的神经元函数实现。所提出的DNN-NOMS译码网络的接收端详细信号流程如图6所示。
(1)输入层:接收机将输入信息
$ L(u{}_i) $ 通过输出层计算初始化消息$ L({q_{ij}}) $ 。(2)隐藏层:
1) 为了计算所有校验节点,更新其传递给变量节点的信息
$ {L^{\left( 1 \right)}}({r_{ji}}) $ ,通过H的行权重信息$ {W_{v2 c}} $ 提取连接到CNi层的数据集$ L({q_{i'j}}) $ ,最后通过CN层的神经元I计算$ {L^{\left( 1 \right)}}({r_{ji}}) $ :2) 为了计算所有变量节点,更新其传递给校验节点的信息
$ {L^{{\text{(1)}}}}({q_{ij}}) $ ,通过H的列权重信息$ {W_{c2 v}} $ 提取连接到VNi层的数据集$ {L^{\left( 1 \right)}}({r_{j'i}}) $ ,最后通过VN层的神经元II计算$ {L^{{\text{(1)}}}}({q_{ij}}) $ :3) 通过在隐藏层中添加更多的CN层和VN层来轻松地增加迭代次数。基于T次迭代的BP算法,展开的NND有2T+2层,其中前2T层的输入输出映射函数分别由a和b描述,其余两层分别为一个输入层和一个输出层。
(3)输出层:判决函数采用Sigmoid函数,可将LLR消息转换为对应比特为1的概率值,因此,通过神经元III(输出神经元)计算输出层中的最终输出,实现译码判决:
(4)最后,使用交叉熵损失函数来评估神经网络预测信息比特
$ {o_i} $ 与传输信息比特$ {u_i} $ 的误差大小,定义为: -
为了验证所提出无线光通信下DNN-NOMS译码方法的可行性,在TensorFlow框架搭建译DNN神经网络模型,并使用GeForce GTX Titan-X GPU环境加速训练,模拟不同湍流强度下的大气信道,开展不同译码方案、码长和码率的系统仿真。模拟参数如表2所示。
Parameter Value Length of polar code 1024/4096 Code rate 0.25/0.5/0.75 Turbulence intensity 0.09/1.193/49.725 Modulation PPM Table 2. Simulation parameters
为了探究系统误码率性能与神经网络模型层数的关系,将对不同层数的神经网络模型的误码率性能进行分析对比。神经网络模型的层数,其实质是指BP译码方法迭代的次数。在一定的迭代次数以内,随着BP译码方法迭代的次数增加,其误码率性能一定提高。但随着神经网络层数的提高,其神经模型的网络层数越深,乘法和加法运算量越大,当网络层数达到一定深度时,译码器的性能会受到影响,不会有很大的改进,因此误码率性能的提高是以计算复杂度为代价的。选择码长1024、码率0.5、DNN-NOMS译码方法(归一化因子为1,偏移因子为0)的系统下进行仿真,如图7所示:当网络层数为4时,其误码率性能较差,随着网络层数的提高,在网络层数为4~12之间时,其误码率性能增幅明显;当网络层数递增到12~20层之间时,其误码率性能改进缓慢。当误码率为10−4时,网络层数(12~16、16~20)的误码率增益分别仅为0.02 dB和0.08 dB 。因此,为了综合考虑性能与复杂度之间的权衡,该模型选择5次迭代、12层神经网络。
Figure 7. Comparison of the decoding performance of the neural network model under different network layers
极化码的BP译码满足对称性,因此可使用全零码字来代替信道传输的随机码字[16],训练数据是多个信噪比下产生的,采用最小批量梯度下降法对网络进行训练,每个小批量包含120个数据块,每个SNR在一个小批量中所占的比例相同。采用学习率为0.001的自适应矩估计(Adam)优化方法搜索最优网络参数(图8中的1个epoch指的是将训练集中的全部样本训练一次)。
为了能较好地补偿MS译码方法近似估计带来的性能损失,需要对DNN-NOMS译码器进行不同参数初始化的训练来获得最优的因子参数。在参考文献[9]中,MS对归一化因子、偏移因子没有进行讨论分析,可看作其归一化因子、偏移因子分别为1、0。因此,将DNN-NOMS的归一化因子、偏移因子的演变起始值分别设置为1、0。如图8所示,三条曲线分别为NMS的归一化因子、OMS的偏移因子以及损失函数随500 epoch的演变过程。随着数据集的增加,损失函数值逐渐减小,且变化趋势逐渐变缓,最后趋于稳定,说明训练过程已经收敛。(1)损失函数值:随着epoch的增加,在0~20 epoch,DNN模型的损失函数值下降9%,此时下降幅度最大,在30~100 epoch,其开始缓慢下降,最终趋于0.26,几乎稳定不变,模型趋于稳定;(2)归一化因子:在0~40 epoch,DNN-NOMS的归一化因子上升至0.37,此时其上升幅度最大,在40~90 epoch,其上升幅度略微变缓,最终上升至0.44,几乎稳定不变。(3)偏移因子:在0~50 epoch,DNN-NOMS的偏移因子下降为12%,此时其下降幅度最大,在50~100 epoch,NOMS的偏移因子缓慢上升, 最终趋于0.89,几乎稳定不变;随着训练过程的收敛,DNN-NOMS的归一化因子由初始值1缓慢收敛到0.44,偏移因子由初始值0缓慢收敛到0.89,而参考文献[20]中NMS方法的归一化因子的最佳值为0.2,OMS方法的偏移项的最佳值为1.4。
针对不同的湍流强度下湍流信道会对通信系统传输码字造成不同程度的误码率影响,分别在不同强度的湍流条件下计算最优因子参数,增强DNN神经网络模型的泛化能力,并进行泛化能力分析。由上节同理可得表3所示:(1)在湍流强度为
$ {\sigma _0}^2{\text{ = }}1.193 $ 、$ {\sigma _0}^2{\text{ = }}49.725 $ 下的DNN-NOMS方法最优归一化因子和偏移因子分别为0.39、0.48和0.85、0.92。(2)在不同湍流强度下,DNN-NOMS方法最优的归一化因子和偏移因子带来的损失函数值均小于初始化的归一化因子和偏移因子带来的损失函数值。在湍流强度条件为$ {\sigma _0}^2{\text{ = }}0.09 $ 时,最优的归一化因子和偏移因子带来的损失函数值Loss2 (0.2624)小于初始化的归一化因子和偏移因子带来的损失函数值Loss1 (0.4111);在湍流强度条件为$ {\sigma _0}^2{\text{ = }}1.193 $ 时,最优的归一化因子和偏移因子带来的损失函数值Loss2 (0.2839)小于初始化的归一化因子和偏移因子带来的损失函数值Loss1 (0.4723);在湍流强度条件为$ {\sigma _0}^2{\text{ = }}49.725 $ 时,最优的归一化因子和偏移因子带来的损失函数值Loss2 (0.3108)小于初始化的归一化因子和偏移因子带来的损失函数值Loss2 (0.5426)。综上所述,不同湍流条件下最优因子参数预测效果值均优于原始的因子参数,该模型泛化能力较好。若需要特定湍流条件下的最优的神经网络模型,可根据该湍流条件重新计算最优的因子参数。Turbulence intensity Normalization factor Offset factor Loss1 Loss2 0.09 0.44 0.89 0.4111 0.2624 1.193 0.39 0.85 0.4723 0.2839 49.7215 0.48 0.92 0.5426 0.3108 Table 3. Calculation of optimal factor parameters under different turbulence intensity conditions
为了进一步验证文中所提无线光通信下的DNN-NOMS译码方法的性能,模拟湍流强度为
$ {\sigma _0}^2{\text{ = }}0.09 $ 下的大气信道,采用三种不同的译码方法进行仿真分析。其中一种为极化码的基本译码方法:MS译码方法(40次迭代[21])。为了公平对比,归一化因子为0.2的NMS译码方法、偏移项因子为1.4的OMS译码方法同样采用40次迭代次数。由图9可知:(1)在码长N=1024、码率为1/2的情况下,在低信噪比时(SNR<9),DNN-NOMS译码方法的误码率性能略优于MS、NMS、OMS译码方法。随着信噪比的增加,DNN-NOMS译码方法的误码率性能明显提高,其译码性能增益较MS、NMS、OMS译码方法逐渐变大。在误码率为10−4时,DNN-NOMS译码方法的误码率性较OMS译码方法有0.21 dB的译码增益,较NMS译码方法有0.35 dB的译码增益,而较传统的MS译码有1.2 dB的译码增益。(2)随着码长的增加,信道的极化越充分,其译码性能越好,其译码性能增益差距愈加明显。在码长N=4096、码率为1/2的情况下,其变化趋势与码长为1024时一致。在误码率为10−4时,DNN-NOMS译码方法的误码率性能较OMS译码方法有0.55 dB的译码增益,较NMS译码方法有0.91 dB的译码增益,而较MS译码有2.25 dB的差距。上述结果表明,在不同码长的情况下,所提出的DNN-NOMS译码方法能有效地改善极化码MS,改进译码方法的性能。
为进一步模拟不同码率对通信系统性能的影响,在弱湍流强度(
$ {\sigma _0}^2{\text{ = }}0.09 $ )下的大气信道开展码率分别为0.25、0.5、0.75的系统仿真。由图10可得:在相同码长、不同码率的条件下,DNN-NOMS译码方法的误码率性能明显优于NMS、OMS译码方法,且码率越小,其误码率性能优势越大。(1)在码长为1024、码率为0.75的条件下,在误码率为10−4时,DNN-NOMS译码方法的误码率性较OMS译码方法有0.09 dB的译码增益。(2)在码长为1024、码率为0.5的条件下,在误码率为10−4时,DNN-NOMS译码方法的误码率性较OMS译码方法有0.21 dB的译码增益。(3)在码长为1024,码率为0.25的条件下,在误码率为10−4时,DNN-NOMS译码方法的误码率性较OMS译码方法有0.58 dB的译码增益。在码长相同的情况下降低码率,误码率性能有明显改善。原因是码率越小,编码的冗余位占比增加,牺牲更多的系统有效性来提升系统的误码率性能。为证明在不同湍流强度下该译码方法的可行性,分别在弱湍流、中湍流、强湍流信道下的大气湍流模型中进行仿真分析。从图11可知:(1)在弱湍流强度
$ {\sigma _0}^2{\text{ = }}0.09 $ 的情况下,在低信噪比(SNR<5)时,两种译码方案的误码率性能几乎相同,随着信噪比的增加,系统的误码率性能明显提高,在误码率为10−4时,DNN-NOMS译码方法的译码性能相比OMS译码方法有0.27 dB的增益。(2)在中湍流强度$ {\sigma _0}^2{\text{ = }}1.193 $ 的情况下,随着湍流强度的增加,两种译码方法的性能差距逐步显现,在误码率为10−4时,DNN-NOMS译码方法的译码性能相比OMS译码方法有0.8 dB的增益。(3)在强湍流强度$ {\sigma _0}^2{\text{ = }}49.725 $ 的情况下,随着信道环境的进一步恶化,译码方法的性能急剧下降,DNN-NOMS译码方法的译码性能优势愈加明显。在误码率为10−4时,DNN-NOMS译码方法的译码性能相比OMS译码方法有3.56 dB的增益。综上所述,在不同大气湍流强度下,DNN-NOMS译码方法较OMS译码方法都能明显地改善无线光通信的误码率性能,且在中强湍流信道下,其性能优势更加明显。同时,随着湍流强度的增强,其误码率性能逐渐下降,在湍流强度太大时,可以采用降低码率或增加码长来提高系统的误码率性能。为分析与比较不同BP译码改进方法的译码复杂度,分别列出不同译码方法中不同类型的计算次数和存储空间进行分析比较。极化码传统BP译码方法在从左到右和从右到左的传播过程中连续激活共
$ 2{\log _2}N $ 级,导致每次迭代的延迟时间为$ 2{\log _2}N $ 个时间步长,每个阶段需要N个乘法、N个加法和N个比较,因此,BP译码一次迭代的总复杂度为在O($ 2 N{\log _2}N $ )的基础上加上$ \tanh (x) $ 函数带来的额外计算。MS译码方法在BP译码的基础上主要通过估计校验节点的最小化操作来避免$ \tanh (x) $ 函数复杂的计算,但将$ \tanh (x) $ 函数取近似值的操作带来了性能损失。因此,OMS译码方法在MS译码的基础上主要通过添加一个偏移因子补偿误码率性能,则OMS译码一次迭代的总复杂度为在O($ 2 N{\log _2}N $ )的基础上加上偏移因子带来的减法运算。DNN-NOMS方法通过DNN神经网络结构将迭代次数大幅度降低,从而降低译码的延时、复杂度,因此DNN-NOMS译码一次迭代的总复杂度为在O($ 2 N{\log _2}N $ )的基础上加上归一化因子和偏移因子带来的乘法运算和减法运算。如表4所示,从几种不同类型的计算次数进行比较分析,在加法、乘法、比较运算类型上,DNN-NOMS译码方法的计算次数较MS译码、OMS译码均由819200次降低到102405次,计算复杂度降低87.5%。在存储空间上,DNN-NOMS译码方法用$ 4 TN{\log _2}N $ 的储存次数去存放归一化因子和偏移因子。因此,DNN-NOMS译码在以牺牲较小的存储空间为前提的情况下,将计算复杂度降低87.5%。Decoding methods
operation typeMS
(40)OMS
(40)DNN-NOMS
(5)
Addition/Subtraction$ {T_{{\text{MS}}}}\left( {2 N{{\log }_2}N} \right) $819200 $ {T_{{\text{OMS}}}}\left( {2 N{{\log }_2}N{\text{ + }}1} \right) $819240 $ TN\left( {2 N{{\log }_2}N{\text{ + }}1} \right) $102405
Multiplication/Division$ {T_{{\text{MS}}}}\left( {2 N{{\log }_2}N} \right) $819200 $ {T_{{\text{OMS}}}}\left( {2 N{{\log }_2}N} \right) $819200 $ TN\left( {2 N{{\log }_2}N{\text{ + }}1} \right) $102405
Compare$ {T_{{\text{MS}}}}\left( {2 N{{\log }_2}N} \right) $819200 $ {T_{{\text{OMS}}}}\left( {2 N{{\log }_2}N} \right) $819200 $ TN\left( {2 N{{\log }_2}N} \right) $102400 Storage space - - $ 4 N{\log _2}N $ Table 4. Comparison of decoding complexity of different BP modified decoding methods
Research on DNN-NOMS decoding method of polarization code in wireless optical communication
doi: 10.3788/IRLA20210420
- Received Date: 2021-06-22
- Rev Recd Date: 2021-08-31
- Publish Date: 2022-06-08
-
Key words:
- wireless optical communication /
- deep neural network /
- polar code /
- confidence propagation decoding algorithm /
- Tanner graph /
- turbulent channel
Abstract: Aiming at the problem of poor confidence propagation decoding performance of polarization codes caused by atmospheric turbulence in wireless optical communication, a Deep Neural Networks-Normalized and Offset Min-Sum (DNN-NOMS) decoding method under wireless optical communication was proposed. First, the factor graph of the traditional belief propagation decoding algorithm for polarized codes had been transformed into Tanner graphs which similar to Low-density Parity Check (LDPC) codes. The Tanner graphs were expanded and transformed into Deep Neural Network (DNN) graphical representations. The Min-Sum (MS) decoding method added the normalization factor and the offset factor, at the same time to the edge weights of the Tanner graph were given, which simplified the calculation method of the log likelihood ratio of the polarization code. By limiting the number of training parameters, the factor parameters were selected under the condition of the minimum loss function, and trained to obtain the optimal normalization factor and offset factor of the decoding model . The simulation results show that under different atmospheric turbulence intensities, the decoding method can select better normalization factor and offset factor parameters under the premise of sacrificing smaller storage space, so as to obtain better error codes. The DNN-NOMS decoding method can produce a performance gain of 0.21-3.56 dB and reduce the number of iterations by 87.5% when the error rate is 10−4.