基于变量节点更新改进的自修正最小和算法

陶志勇 李艳

引用本文:
Citation:

基于变量节点更新改进的自修正最小和算法

    通讯作者: 陶志勇, xyzlngd@126.com
  • 中图分类号: TN911.22

Modified self-corrected min-sum algorithm based on variable node update

    Corresponding author: TAO Zhi-yong, xyzlngd@126.com ;
  • CLC number: TN911.22

  • 摘要: 针对最小和(Min-Sum,MS)算法在奇偶校验码上的译码性能较差的问题,提出了一种改进的MS算法. 如果新变量节点消息和先前变量节点消息的符号不同,通过对新变量节点消息和先前变量节点消息动态加权处理修改迭代过程中的变量节点消息,以降低MS过高估计的不利影响. 利用深度学习方法实现的译码器不仅能够抑制MS近似的影响,同时能够抑制码结构中循环的不利影响. 仿真结果表明,与MS算法相比,改进的算法在几乎不增加复杂度的条件下获得了译码性能的显著提高,并且在中短码上的译码性能优于经典的置信度传播(Belief Propagation,BP)算法.
  • 图 1  4次迭代的神经BP译码网络

    Figure 1.  Four iterations of neural BP decoding network

    图 2  BCH(63, 36)码的Bber仿真结果

    Figure 2.  Bber simulation results of BCH (63, 36) code

    图 3  BCH(63, 45)码的Bber仿真结果

    Figure 3.  Bber simulation results of BCH (63, 45) code

    图 4  LDPC(96, 48)码的Bber仿真结果

    Figure 4.  Bber simulation results of LDPC (96, 48) code

    图 5  不同mini-batches训练后的偏移因子分布图

    Figure 5.  Offset factor distribution after different mini-batches training

    表 1  神经网络训练参数设置

    Table 1.  Neural network training parameter setting

    参数
    网络结构前馈网络
    因子初始化$\mathcal{N}\left( {0,1} \right)$
    损失函数交叉熵
    优化器Adam
    学习率0.01
    信噪比范围/dB1~6
    小批量大小120
    小批量数量10 000
    迭代次数6
    下载: 导出CSV
  • [1] Abdulwahab W K, Kadhim A. Comparative study of channel coding schemes for 5G[C]. IEEE International Conference on Advanced Science and Engineering, Duhok, Iraq, 2018: 239-234. DOI: 10.1109/ICOASE.2018.8548806.
    [2] 钟菲, 赵悦, 张天, 等. 基于压缩感知重建去噪后的LDPC译码算法[J]. 云南大学学报: 自然科学版, 2015, 37(5): 680-686. DOI:  10.7540/j.ynu.20150055. Zhong F, Zhao Y, Zhang T, et al. LDPC decoding algorithm based on compressive sensing reconstruction for denoise[J]. Journal of Yunnan University: Natural Sciences Editions, 2015, 37(5): 680-686.
    [3] 姜恩华, 窦德召, 赵庆平. 基于BP算法的线性分组码译码研究[J]. 云南大学学报: 自然科学版, 2018, 40(1): 36-42. DOI:  10.7540/j.ynun.20170181. Jiang E H, Dou D Z, Zhao Q P. Research of the linear block codes decoding based on the basis pursuit BP algorithm[J]. Journal of Yunnan University: Natural Sciences Editions, 2018, 40(1): 36-42.
    [4] 吕毅博, 胡伟, 王琳. Beyond-BP译码算法综述: 原理与应用[J]. 电子与信息学报, 2017, 39(6): 1 503-1 514. DOI:  10.11999/JEIT161288. Lü Y B, Hu W, Wang L. Survey of beyond-BP decoding algorithms: Theory and application[J]. Journal of Electronics & Information Technology, 2017, 39(6): 1 503-1 514.
    [5] Fossorier M P C, Mihaljevic M, Imai H. Reduced complexity iterative decoding of low-density parity check codes based on belief propagation[J]. IEEE Transactions on Communications, 1999, 47(5): 673-680. DOI:  10.1109/26.768759.
    [6] Chen J, Fossorier M P C. Density evolution for two improved BP-based decoding algorithms of LDPC codes[J]. IEEE Communications Letters, 2002, 6(5): 208-210. DOI:  10.1109/4234.1001666.
    [7] Chen J, Dholakia A, Eleftheriou E, et al. Reduced-complexity decoding of LDPC codes[J]. IEEE Transactions on Communications, 2005, 53(8): 1 288-1 299. DOI:  10.1109/TCOMM.2005.852852.
    [8] Angarita F, Valls J, Almenar V, et al. Reduced-complexity min-sum algorithm for decoding LDPC codes with low error-floor[J]. IEEE Transactions on Circuits and Systems I: Regular Papers, 2014, 61(7): 2 150-2 158. DOI:  10.1109/TCSI.2014.2304660.
    [9] Dong J, Yin H, Wang S. An improved message passing schedule of BP-based decoding algorithm for LDPC codes[C]. Proceedings of 2017 IEEE International Conference on Internet of Things, Chengdu, China, 2017: 480-484. DOI: 10.1109/iThings-GreenCom-CPSCom-SmartData.2016.113.
    [10] Jiang M, Zhao C, Zhang L, et al. Adaptive offset min-sum algorithm for low-density parity check codes[J]. IEEE Communiations Letters, 2006, 10(6): 483-485. DOI:  10.1109/LCOMM.2006.1638623.
    [11] Liu X, Zhang Y, Cui R. Variable-node-based dynamic scheduling strategy for belief-propagation decoding of LDPC codes[J]. IEEE Communications Letters, 2015, 19(2): 147-150. DOI:  10.1109/LCOMM.2014.2385096.
    [12] Vityazev V V, Likhobabin E A. Using self-correction for min-sum based decoding algorithms of LDPC codes[C]. IEEE Mediterranean Conference on Embedded Computing, Budva, Montenegro, 2015: 93-95. DOI: 10.1109/MECO.2015.7181875.
    [13] Vityazev V V, Likhobabin E A. Self-corrected UMP-APP decoding of LDPC codes[C]. IEEE Mediterranean Conference on Embedded Computing, Bar, Montenegro, 2016. DOI: 10.1109/MECO.2016.7525774.
    [14] 陈紫强, 李亚云, 侯田田, 等. 基于变量节点LLR消息加权的改进最小和算法[J]. 信号处理, 2017, 33(6): 894-899. DOI:  10.16798/j.issn.1003-0530.2017.06.016. Chen Z Q, Li Y Y, Hou T T, et al. Improved min sum algorithm based on weighted message LLR of variable nodes[J]. Journal of Signal Processing, 2017, 33(6): 894-899.
    [15] Nachmani E, Beery Y, Burshtein D. Learning to decode linear codes using deep learning[C]. IEEE Annual Allerton Conference on Communication, Control, and Computing, Monticello, IL, USA, 2016: 341-346. DOI: 10.1109/ALLERTON.2016.7852251.
    [16] Lugosch L, Gross W J. Neural offset min-sum decoding[C]. IEEE International Symposium on Information Theory, Aachen, Germany, 2017: 1 361-1 365. DOI: 10.1109/ISIT.2017.8006751.
    [17] Nachmani E, Marciano E, Lugosch L, et al. Deep learning methods for improved decoding of linear codes[J]. IEEE Journal of Selected Topics in Signal Processing, 2017, 12(1): 119-131. DOI:  10.1109/JSTSP.2017.2788405.
    [18] Kingma D, Ba J. Adam: A method for stochastic optimization[J]. International Conference on Learning Representations, San Diego, CA, USA, 2015: 1−15.
    [19] Le Q V, Ngiam J, Coates A, et al. On optimization methods for deep learning[C]. Proceedings of the 28th International Conference on Machine Learning. Bellevue, DBLP, Washington, USA, 2011. DOI: 10.1111/j.1468-2435.1969.tb01062.X.
    [20] Abadi M, Agarwal A, Barham P, et al. Tensorflow: Large-scale machine learning on heterogeneous distributed systems[J]. arXiv: 1603.04467, 2016.
    [21] 贺鹤云. LDPC码基础与应用[M]. 北京: 人民邮电出版社, 2009.

    He H Y. Principle and application of LDPC[M]. Beijing: Posts & Telecom Press, 2009.
    [22] Hinton G. A practical guide to training restricted boltzmann machines[J]. Momentum, 2010, 9(1): 926-947. DOI:  10.1007/978-3-642-35289-8_32.
  • [1] 陈建平杨宜民张会章陈学松 . 一种基于GMDH模型的神经网络学习算法. 云南大学学报(自然科学版), 2008, 30(6): 569-574.
    [2] 张小青李艳红 . 基于苍狼优化算法的神经网络PMSM混沌同步控制. 云南大学学报(自然科学版), 2020, 42(): 1-9. doi: 10.7540/j.ynu.20190534
    [3] 蒲斌李浩卢晨阳王治辉刘华 . 基于神经网络的海量GPS数据交通流量预测. 云南大学学报(自然科学版), 2019, 41(1): 53-60. doi: 10.7540/j.ynu.20170292
    [4] 朱娟萍侯忠生陆正福熊丹 . 应用神经网络的非参数模型自适应控制. 云南大学学报(自然科学版), 2005, 27(4): 280-284.
    [5] 王长正向凤红苑仁令 . 板球系统的LM算法改进RBF-PID轨迹跟踪控制研究. 云南大学学报(自然科学版), 2019, 41(): 1-8. doi: 10.7540/j.ynu.20180512
    [6] 张黎黎李志军 . 可编程神经元sigmoid函数及其导数发生器的实现. 云南大学学报(自然科学版), 2016, 38(1): 44-53. doi: 10.7540/j.ynu.20150294
    [7] 王鹤鸣王灵矫谭貌夏伟郭华 . 基于多目标优化回声状态网络的电网故障恢复. 云南大学学报(自然科学版), 2017, 39(5): 760-767. doi: 10.7540/j.ynu.20160757
    [8] 丁海燕 . 计算智能主要技术及其在智能教学系统中的应用. 云南大学学报(自然科学版), 2013, 35(S2): 430-. doi: 10.7540/j.ynu.20130690
    [9] 堵锡华李靖田林李昭周俊陈艳吴琼 . 杜松籽油香气成分的理论分析模型. 云南大学学报(自然科学版), 2019, 41(1): 136-143. doi: 10.7540/j.ynu.20180414
    [10] 马晓敏王新 . 基于遗传算法的BP神经网络改进. 云南大学学报(自然科学版), 2013, 35(S2): 34-. doi: 10.7540/j.ynu.2013b4
    [11] 姜恩华窦德召赵庆平 . 基于BP算法的线性分组码译码研究. 云南大学学报(自然科学版), 2018, 40(1): 36-42. doi: 10.7540/j.ynu.20170181
    [12] 范斌刘辉汪繁荣谭文龙 . 狼群算法优化BP神经网络的电缆故障测距算法. 云南大学学报(自然科学版), 2016, 38(6): 873-878. doi: 10.7540/j.ynu.20160132
    [13] 聂仁灿周冬明赵东风武尔维 . 基于时延脉冲耦合神经网络的AOE-网问题求解算法. 云南大学学报(自然科学版), 2007, 29(1): 30-34.
    [14] 郑绪枝夏薇雷靖 . 一种改进的Jacobi正交多项式的BP神经网络算法. 云南大学学报(自然科学版), 2011, 33(S2): 188-191.
    [15] 黄宏运朱家明李诗争 . 基于遗传算法优化的BP神经网络在股指预测中的应用研究. 云南大学学报(自然科学版), 2017, 39(3): 350-355. doi: 10.7540/j.ynu.20160516
    [16] 陈智斌 . 网络中信息传播的最短时间算法. 云南大学学报(自然科学版), 2003, 25(6): 483-486.
    [17] 程祥磊鲍慈光彭莉 . 人工神经网络预测离子色谱分离条件. 云南大学学报(自然科学版), 2003, 25(1): 61-64.
    [18] 周冬明 . 具有变时滞的细胞神经网络的全局指数稳定性. 云南大学学报(自然科学版), 2002, 24(2): 93-95,100.
    [19] 姬晨郭延哺金宸段云浩李维华 . 一种基于卷积神经网络的跨领域情感分析. 云南大学学报(自然科学版), 2019, 41(2): 253-258. doi: 10.7540/j.ynu.20180050
    [20] 贾时银周冬明聂仁灿赵东风 . 脉冲耦合神经网络模型参数优化及图像分割. 云南大学学报(自然科学版), 2010, 32(5): 521-525 .
  • 加载中
图(5)表(1)
计量
  • 文章访问数:  368
  • HTML全文浏览量:  360
  • PDF下载量:  20
  • 被引次数: 0
出版历程
  • 收稿日期:  2019-09-25
  • 录用日期:  2019-11-30
  • 网络出版日期:  2019-12-11
  • 刊出日期:  2020-03-01

基于变量节点更新改进的自修正最小和算法

    通讯作者: 陶志勇, xyzlngd@126.com
  • 辽宁工程技术大学 电子与信息工程学院,辽宁 葫芦岛 125105

摘要: 针对最小和(Min-Sum,MS)算法在奇偶校验码上的译码性能较差的问题,提出了一种改进的MS算法. 如果新变量节点消息和先前变量节点消息的符号不同,通过对新变量节点消息和先前变量节点消息动态加权处理修改迭代过程中的变量节点消息,以降低MS过高估计的不利影响. 利用深度学习方法实现的译码器不仅能够抑制MS近似的影响,同时能够抑制码结构中循环的不利影响. 仿真结果表明,与MS算法相比,改进的算法在几乎不增加复杂度的条件下获得了译码性能的显著提高,并且在中短码上的译码性能优于经典的置信度传播(Belief Propagation,BP)算法.

English Abstract

  • 针对第五代(Fifth Generation,5G)移动通信系统对高速率、低延时、高带宽和高可靠性的需求,现代通信系统几乎都采用了差错控制编码技术,推动了对译码问题的研究[1-3].

    对数域BP算法,也称为和积(Sum-Product,SP)算法是奇偶校验线性码的经典译码算法,这是一种迭代的概率译码算法,消息在校验矩阵对应Tanner图的边上传递. 当码字无限长,对应Tanner图中没有循环结构时,BP算法等价于最大似然算法,否则当Tanner图中存在循环结构时,译码过程中的迭代消息在循环结构上多次传递后,消息之间必然会产生联系,从而导致不可靠消息的传递与积累,进而造成BP算法提供次优解[4]. BP算法涉及复杂的校验节点计算,难以硬件实现. Fossorier等[5]通过简化BP算法中的校验节点计算引入了MS算法,使用比较运算代替了查找表运算,MS算法不仅降低了计算复杂度,而且与噪声方差估计无关,便于在实际通信系统中应用,但是MS近似过高估计导致译码性能的降级. 为了保持MS算法的优点同时提高译码性能,Chen等[6-9]提出了归一化最小和(Normalized MS,NMS)和偏移最小和(Offset MS,OMS)算法. 在这两种算法中,归一化因子和偏移因子被应用于校验节点更新规则中以改善译码性能. 但是正如文献[10]中提到的,归一化因子由消息最小值的大小决定,当输出接近于零时译码性能会严重下降;而偏移因子是在译码前设置,没有考虑每次迭代的输出值,译码性能处于次优状态. 根据Liu等[11]指出的当两个连续迭代中的变量节点消息的符号不同时,校验节点消息过高估计会更严重;Vityazev等[12-13]通过将不可靠的变量节点消息置零来修改变量节点的更新规则,而陈紫强等提出通过加权平均处理变量节点更新规则[14],这种固定为零或取平均的方法由于丢失了部分信息导致一定的性能损失. 目前对校验节点以及变量节点的加权因子选择还没有很好的标准,多是根据码字本身的特点进行计算搜索仿真或固定设置得到.

    已有BP算法的简化算法主要针对校验节点更新规则改进或对变量节点进行固定因子加权处理以补偿MS算法的过高估计来提高译码性能,没有考虑到可以通过新变量节点消息和先前变量节点消息动态加权来提高译码的可靠性. 本文提出了改进的OMS(Modified OMS,MOMS)算法,该算法通过对新变量节点消息和先前变量节点消息的符号判断,可选地对新变量节点消息进行处理,以提高迭代消息的可靠性. 受Nachmani等[15-17]利用深度学习方法补偿Tanner图中循环的不利影响工作的启发,本文译码器利用神经网络结构实现.

    • 对于由 $M \times N$ 奇偶校验矩阵 ${{H}}$ 定义的二进制线性码 ${c_n} \in \left\{ {0,1} \right\}$,其中 $n \in \left[ {1,N} \right]$. 对码字进行二进制相移键控(Binary Phase Shift Keying,BPSK)调制映射的规则为 ${x_n} = 1 - 2{c_n}$,经加性高斯白噪声(Additive White Gaussian Noise,AWGN)信道传输后,接收信号 ${y_n} = {x_n} + {z_n}$,其中 ${z_n}$ 是信道噪声,服从均值为零,方差为 ${\sigma ^2}$ 的高斯分布.

      定义 $Q_{n,m}^{\left( k \right)}$ 为变量节点向校验节点传递的消息,$N\left( m \right)$ 为与校验节点相连的所有变量节点的集合,$N\left( m \right)/n$ 为集合 $N\left( m \right)$ 除去变量节点 $n$;相似地,$R_{m,n}^{\left( k \right)}$ 为校验节点向变量节点传递的消息;$M\left( n \right)$ 为与变量节点相连的所有校验节点的集合,$M\left( n \right)/m$ 为集合 $M\left( n \right)$ 中除去校验节点 $m$.

      BP算法具体步骤如下:

      步骤1 初始化:

      由对数似然比(Log-Likelihood Ratio,LLR)组成的初始信道消息表示为:

      $Q_{n,m}^{\left( 0 \right)} = \log \frac{{\Pr \left( {{y_n}|{x_n} = 1} \right)}}{{\Pr \left( {{y_n}|{x_n} = - 1} \right)}} = \frac{{2{y_n}}}{{{\sigma ^2}}}.$

      步骤2 校验节点更新:

      $R_{m,n}^{\left( k \right)} = 2{\rm arctanh} \left( {\prod\limits_{n' \in N\left( m \right)\backslash n} {\tanh \left( {Q_{n',m}^{\left( {k - 1} \right)}/2} \right)} } \right),$

      其中 $k$ 为迭代次数.

      步骤3 变量节点更新:

      $Q_{n,m}^{\left( k \right)} = Q_{n,m}^{\left( 0 \right)} + \sum\limits_{m' \in M\left( n \right)/m} {R_{m',n}^{\left( k \right)}}. $

      步骤4 伪后验概率更新:

      $Q_n^{\left( k \right)} = Q_{n,m}^{\left( 0 \right)} + \sum\limits_{m \in M\left( n \right)} {R_{m,n}^{\left( k \right)}}. $

      步骤5 比特判决:

      $\hat c_n^{\left( k \right)} = \left\{ {\begin{array}{*{20}{c}} 0,&{Q_n^{\left( k \right)} \ge 0};\\ 1,&{\text{其他}}. \end{array}} \right.$

      $k = k + 1$,重复步骤2~4,直到根据公式(5)得到译码码字 ${{\hat c}}$ 与校验矩阵转置的乘积为零,即 ${{\hat c}} \times {{{H}}^{\rm T} } = 0$ 成立或者达到设定的最大迭代次数 ${k_{\max }}$,则停止译码过程;否则转到步骤2继续迭代.

      在MS算法中,用比较运算代替BP算法校验节点处理中的重复乘法和双曲函数,公式(2)替代为:

      $R_{m,n}^{\left( k \right)} = \mathop {\min }\limits_{n' \in N\left( m \right)\backslash n} \left| {Q_{n',m}^{\left( {k - 1} \right)}} \right|\prod\limits_{n' \in N\left( m \right)\backslash n} {{\rm sign} \left( {Q_{n',m}^{\left( {k - 1} \right)}} \right)} .$

      MS算法在译码性能上具有次优性来自于校验节点对消息的过高估计. 因此,可以通过对校验节点进行归一化或偏移操作缩放消息来实现改进,得到的算法是NMS和OMS算法,它们在实际应用中受到了很大的关注.

      在NMS算法中,使用MS近似计算校验节点消息,然后用归一化因子 $\alpha $$0 < \alpha < 1$)缩放消息,得到公式为:

      $R_{m,n}^{\left( k \right)} = \alpha R_{m,n}^{\left( k \right)}.$

      OMS算法与NMS算法一样,在发送校验节点消息之前缩放消息,但是通过从消息幅度中减去一个偏移因子 $\beta $$\beta > 0$)而不是乘以一个因子,在实际应用中,更加易于硬件实现. OMS算法校验节点更新公式为:

      $R_{m,n}^{\left( k \right)} = \max \left( {R_{m,n}^{\left( k \right)} - \beta ,0} \right).$

      最优的 $\alpha $$\beta $ 值目前通过计算搜索仿真或固定设置得到,无法最大化地抵消MS过高估计的影响.

    • 由于已有的BP算法的简化算法大多通过改进校验节点更新规则以补偿MS算法的过高估计,本文提出了一种利用变量节点邻居传入消息的可靠性强度和原始信道接收值之间存在特定的规律进行动态消息更新的方法. 当两个连续迭代中的变量节点消息的符号不同时,会导致校验节点消息的平均偏移幅度更大,换句话说,在这种情况下,MS算法的过高估计问题会更严重. 因此,如果根据在两个连续迭代中变量节点消息的符号是否改变来不同地设计消息更新规则,则可以提高MS(OMS)算法的译码性能.

      MOMS算法步骤如下:

      步骤1 初始化

      根据公式(8)可以看出,OMS近似倾向产生大幅度的消息. 因此,在二进制输入AWGN信道的情况下,初始化接收值 $2{y_n}/{\sigma ^2}$ 可以被 ${y_n}$ 所替代. 优点是在这种情况下不需要知道噪声方差,极大地降低了迭代消息的获取难度,这使得OMS算法适合在实际通信系统中的应用,因此初始信道消息可以表示为:

      $Q_{n,m}^{\left( 0 \right)} = {y_n}.$

      步骤2 校验节点更新

      $R_{m,n}^{\left( k \right)} = \max \left( {R_{m,n}^{\left( k \right)} - {\beta _{m,n}},0} \right),$

      其中 ${\beta _{m,n}}$ 是校验节点到变量节点的边减去的可学习偏移因子,可学习偏移因子 ${\beta _{m,n}}$ 不仅可以抑制MS近似带来的译码性能降级,还能够衰减码结构中循环的不利影响.

      步骤3 变量节点更新

      在变量节点更新步骤中,首先利用公式(3)计算当前变量节点消息 $Q_{n,m}^{\left( k \right)}$,但是这个消息不是立即用于迭代更新,而是作为一个临时值 $Q_{n,m}^{\left( {k,{\rm temp} } \right)}$ 存储. 接下来比较当前变量节点消息 $Q_{n,m}^{\left( {k,{\rm temp} } \right)}$ 和上一次迭代中的变量节点消息 $Q_{n,m}^{\left( {k - 1} \right)}$ 的符号变化,如果 $Q_{n,m}^{\left( {k,{\rm temp} } \right)}$$Q_{n,m}^{\left( {k - 1} \right)}$ 符号相同,则认为当前变量节点消息是可靠的,因此当前变量节点消息不变;反之,如果二者符号不相同,则认为当前变量节点消息是不可靠的,那么当前变量节点消息利用 $Q_{n,m}^{\left( {k,{\rm temp} } \right)}$$Q_{n,m}^{\left( {k - 1} \right)}$ 的加权获得. 根据以上规则,变量节点更新公式为:

      $Q_{n,m}^{\left( {k,{\rm temp} } \right)} = Q_{n,m}^{\left( 0 \right)} + \sum\limits_{m' \in M\left( n \right)/m} {R_{m',n}^{\left( k \right)}} ,$

      $Q_{n,m}^{\left( k \right)} = \left\{ {\begin{align} &{Q_{n,m}^{\left( {k,{\rm temp} } \right)}},\quad{\rm sign} \left(Q_{n,m}^{\left( {k,{\rm temp} } \right)}\right){\rm{sign}}(Q_{n,m}^{\left( {k - 1} \right)}) > 0; \\ & {{w_1}Q_{n,m}^{\left( {k,{\rm temp} } \right)} + {w_2}Q_{n,m}^{\left( {k - 1} \right)}},\quad{{\text{其它}}.} \end{align}} \right.$

      其中 ${w_1}$${w_2}$$Q_{n,m}^{\left( {k,{\rm temp} } \right)}$$Q_{n,m}^{\left( {k - 1} \right)}$ 的加权因子,并且满足 ${w_1} + {w_2} = 1$. 利用公式(11)和(12)可以减轻变量节点消息的震荡,以提高迭代消息的可靠性.

      步骤4 伪后验概率更新:利用公式(4)计算 $Q_n^{\left( k \right)}$.

      步骤5 比特判决:利用公式(5)计算 $\hat c_n^{\left( k \right)}$.

    • MOMS算法的 $k$ 次迭代对应神经网络结构中的 $2k$ 个隐藏层,总层数为 $2k + 2$. 对于每一次迭代有3个隐藏层,第1层是变量节点层,根据公式(11)、(12)更新;第2层是校验节点层,根据公式(10)更新,每层都包含与Tanner中的边相同数量的节点;第3层是包含N个节点的边缘化层,执行判决操作. 用神经网络实现的译码器结构如图1所示,对于NMS和OMS算法,网络的校验节点层由可学习的消息传递操作组成,目标是训练归一化因子 $\alpha $ 和偏移因子 $\beta $ ,以实现接近输入码字的输出;对于MOMS算法,网络的校验节点层和变量节点层均由可学习的消息传递操作组成,目标是训练可学习的偏移因子 ${\beta _{m,n}}$ 和变量节点加权因子 ${w_1}$${w_2}$ 以实现训练损失函数的最小化. 通过神经网络训练动态的选择不同层中各因子的最优值,可以最大可能地抑制Tanner图中循环的不利影响和MS算法的过高估计问题.

      图  1  4次迭代的神经BP译码网络

      Figure 1.  Four iterations of neural BP decoding network

      反向传播算法使用梯度下降法[18]在权重空间中寻找损失函数的最小值,为了找到使损失函数最小的权重值,该算法需要在每个迭代步骤中计算损失函数的导数. 因此,必须保证损失函数的连续性和可微性,本文选取交叉熵损失函数作为神经网络译码器的损失函数,定义为:

      $\begin{split}L\left( {x,Q} \right) = &- \frac{1}{N}\sum\limits_{n = 1}^N {{x_n}} \log \left( {\sigma \left( {{Q_n}} \right)} \right) + \\ & \left( {1 - {x_n}} \right)\log \left( {1 - \sigma \left( {{Q_n}} \right)} \right),\end{split}$

      其中 $\sigma \left( {{Q_n}} \right) = \dfrac{1}{{1 + {e^{ - {Q_n}}}}}$,使用sigmoid函数确保深度神经网络的输出可微分,以使用梯度下降更新规则来更新参数[19]${x_n}$$\sigma \left( {{Q_n}} \right)$ 是深度神经网络的期望输出值实际输出输出值.

    • 实验环境为Ubuntu 64位操作系统,内存32 GB,CPU为Intel Core i5-6300HQ,GPU为GeForce GTX Titan-X. 使用Monte-Carlo仿真模拟方法评估本文涉及译码算法的性能. 本文基于TensorFlow[20]框架实现提出的神经网络译码器模型,使用小批量(mini-batch)梯度下降方法训练神经网络译码器的超参数选择,如表1所示.

      参数
      网络结构前馈网络
      因子初始化$\mathcal{N}\left( {0,1} \right)$
      损失函数交叉熵
      优化器Adam
      学习率0.01
      信噪比范围/dB1~6
      小批量大小120
      小批量数量10 000
      迭代次数6

      表 1  神经网络训练参数设置

      Table 1.  Neural network training parameter setting

    • 可靠性是指信宿对接收到的消息进行判断、评估和去伪存真的能力,是数字通信中纠错编码的主要任务[21]. 为验证本文算法的可靠性,用比特出错概率(Bit Error Rate,BER)衡量了不同算法的译码性能. 鉴于高密度奇偶校验码(BCH)和低密度奇偶校验码(Low Density Parity Check Code,LDPC)在数字卫星电视新标准DVB-S2等应用中的广泛使用,并且考虑要抑制Tanner中循环的不利影响,本文对 $N = 63$ 的BCH码和 $N = 96$ 的LDPC码的译码性能进行了测试. 对于二进制码,比特出错概率定义为接收的错误比特数与接收的总比特数的比值,用 ${B_{{\rm{ber}}}}$ 表示,计算公式为:

      ${B_{\rm{ber}}} = \frac{{{N_{{\rm{error}}}}}}{{{N_{{\rm{total}}}}}},$

      其中 ${N_{{\rm{error}}}}$${N_{{\rm{total}}}}$ 分别表示接收的错误比特数与总比特数.

      图23展示了BP、MS、NMS、OMS和本文提出的MOMS 5种译码算法对码长等于63的BCH码译码性能随信噪比(Signal-Noise Ratio,SNR)变化的仿真结果. 可以看出,MOMS算法优于MS、OMS和NMS算法,并且优于BP算法. 例如,对于BCH(63, 36)码,当Bber${10^{ - 2}}$ 时,MOMS算法分别比MS、OMS和NMS算法分别提高0.9、0.1 dB和0.1 dB,比BP算法提高0.3 dB;对于BCH(63, 45)码,当Bber${10^{ - 2}}$ 时,MOMS算法分别比MS、OMS和NMS算法分别提高0.8、0.1 dB和0.05 dB,比BP算法提高0.1 dB. NMS、OMS和本文提出的MOMS算法译码性能均优于BP算法,这是由于通过深度学习方法得到的归一化因子和偏移因子,不仅能够对抗MS近似带来的影响,还能够抵消消息的非独立性对译码的不利影响,即码结构中存在循环的不利影响,并且这种提升对中短长度的BCH码尤为明显.

      图  2  BCH(63, 36)码的Bber仿真结果

      Figure 2.  Bber simulation results of BCH (63, 36) code

      图  3  BCH(63, 45)码的Bber仿真结果

      Figure 3.  Bber simulation results of BCH (63, 45) code

      图4展示了BP、MS、NMS、OMS和本文提出的MOMS 5种译码算法对LDPC(96, 48)码译码性能的仿真结果. 可以看出,MOMS优于MS、OMS和BP算法,并且和NMS算法译码性能几乎一致. 例如,当Bber${10^{ - 5}}$ 时,MOMS算法比MS、OMS和BP算法分别提高0.4,0.1 dB和0.1 dB,和NMS算法Bber曲线几乎重合,这些结果说明了本文算法不仅能够提高BCH码的译码性能,对LDPC码性能也有所提升,验证了本文算法的优异性.

      图  4  LDPC(96, 48)码的Bber仿真结果

      Figure 4.  Bber simulation results of LDPC (96, 48) code

      图5展示了MOMS算法分别在100、3 000和5 000个mini-batches训练后的偏移因子分布直方图. 在经过100个mini-batches训练之后,显示偏移的值的范围大部分保持接近于标准正态分布,这也与文献[15]、[22]中初始化权重分布一致,该结果表明在训练早期,网络至少部分学会纠正最小值近似;在经过3 000和5 000个mini-batches训练之后,迭代的直方图中出现另一分布模式,这意味着在经过更多的训练之后,MOMS译码器不仅纠正了MS近似,而且还发现了一种衰减周期的方法,验证了MOMS算法能够抑制消息非独立性对译码性能的影响.

      图  5  不同mini-batches训练后的偏移因子分布图

      Figure 5.  Offset factor distribution after different mini-batches training

    • MOMS算法中的附加操作包括符号比较、加法和寄存器移位. 对于码长为 $N$,变量节点度为 $D$ 的线性码,在一次迭代中,MOMS中这3个附加操作的最大个数都是 $ND$,并且以码长 $N$ 的线性函数为界. 因此,MOMS算法中增加的计算复杂度很小. 此外,用神经网络结构实现的译码器与校验矩阵对应的Tanner中有相同的非零权重,虽然前者需要更多的乘法运算,但是训练好的神经网络结构执行单次译码,并且显著提升了译码性能. 因此,本文实现的译码器很好地权衡了计算复杂度与译码性能.

    • 本文提出的MOMS算法,根据在两个连续迭代中变量节点消息的符号是否改变来设计变量节点消息更新规则,不仅提高了MS算法的译码性能,而且进一步提高OMS(NMS)算法的译码性能. 在实现NMS、OMS和MOMS算法时,利用了深度学习技术动态学习得到的因子不仅可以更加准确抵消MS近似的不利影响,同时能够抑制消息非独立性对译码性能的影响. 仿真结果表明,改进的算法较MS算法译码性能损失较小,在BER为 ${10^{ - 2}}$ 时,对BCH码有0.9 dB的提升;在BER为 ${10^{ - 5}}$ 时,对LDPC码有0.4 dB的提升. 此外,提出的算法独立于噪声方差估计误差,在实际应用中更易于实现.

参考文献 (22)

目录

    /

    返回文章
    返回