本文提出了一种新型迭代信念传播-卷积神经网络(BP-CNN)架构,以利用噪声相关性进行相关噪声下的信道解码。采用标准的 BP 解码器用来估计编码位,然后用 CNN 来消除 BP 解码器的估计误差,以获得更准确的信道噪声估计。在 BP 和 CNN 之间迭代,将逐渐提高解码信噪比,从而获得更好的解码性能。为了训练一个行为良好的 CNN 模型,本文定义了一个新的损失函数,它不仅涉及到噪声估计的精度,还涉及到估计误差的正态性检验,即衡量估计误差遵循高斯分布的可能性。与使用标准二次损失函数相比,在 CNN 训练中引入正态性检验可以塑造残余噪声分布,进一步降低迭代解码的误码率。我们进行了大量的实验来分析和验证所提出的框架。
研究背景
信道编解码是现代通信系统的重要组成部分,在编码理论和应用方面都取得了巨大的进展。例如,低密度奇偶校验码(LDPC)能够通过适当优化的编码结构和完善的置信传播(BP)解码算法产生接近 AWGN 信道的香农容量的性能。然而,在实际通信系统中,由于滤波、过采样和设备噪声,信道有时在噪声样本中表现出相关性。例如,数字系统中的相位噪声和时钟抖动通常会导致数字系统中的粉红噪声。
如果接收器没有设计成噪声相关性,那么设计良好的信道码可能不会有令人满意的性能。具体来说,LDPC 码在有色噪声下会出现性能下降。解决这一问题的困难主要来自有色噪声带来的高度复杂性。而解决这个问题最直接的方法是白化,即将有色噪声转换为白噪声。然而,这种方法需要矩阵乘法,这对于长码来说是非常复杂的。此外,白化后的等效编码符号可能表现出与发送符号不同的结构,这使得解码复杂化。理论上,译码器可以先估计噪声分布,然后利用估计的联合分布对 BP 译码器进行优化。然而,这种方法是基于模型的,当相关性强时,优化具有联合噪声分布的 BP 解码器也可能非常复杂。因此,需要一种低复杂度和健壮的解码器结构,能够很好地利用噪声相关性的特性,并且可以应用于不同的相关模型。
近年来,深度学习的发展为解决这一问题提供了新的方向。深度学习技术不需要基于预先定义的噪声模型来寻找算法,而是允许系统直接从训练数据中学习有效的网络模型。深度学习在计算机视觉、自然语言处理、自主车辆等多个领域得到了广泛应用,取得了显著的效果。受这些进步的启发,研究人员最近尝试使用深度学习技术解决通信问题(包括信道解码)。然而,这些工作都没有解决线性码在相关信道噪声下的有效译码问题。
研究目的和研究内容
基于上述背景,本文设计了一种新的接收器结构来解决信道噪声中存在相关性时的译码问题。这种结构将经过训练的卷积神经网络(CNN)与标准的 BP 解码器连接起来,接收到的符号在 BP 和 CNN 之间进行迭代处理,因此被称为迭代 BP-CNN。在接收器侧,接收到的符号首先由 BP 解码器处理以获得初始解码。然后,从接收的符号中减去估计的发射符号,得到信道噪声的估计。由于译码误差,信道噪声估计不准确。然后将信道噪声估计结果反馈给 CNN,CNN 进一步消除了 BP 解码器的估计误差,并通过训练获得了更准确的噪声估计。然后从接收到的符号中减去 CNN 的估计结果,并将结果再次反馈给 BP 解码器。如果对 CNN 进行良好的训练以提供准确的估计,则留给 BP 解码的噪声干扰较少。在 BP 和 CNN 之间迭代将逐渐提高译码信噪比,从而降低误码率。
本文所提出的迭代 BP-CNN 解码器具有许多令人满意的特性。研究发现在强噪声相关性下,增加 BP 迭代次数并没有带来什么改善。但利用 CNN 可以提高译码器处理噪声相关性的能力,并且可以用较少的 BP 迭代次数得到更好的结果。特别是随着人工智能芯片的快速发展,CNN 的执行得到了有效的支持。因此,CNN 的增量复杂性不会妨碍所提出的体系结构的应用。此外,这种方法是数据驱动的,不需要噪声相关模型有特定的格式。当模型格式发生变化时,该方法仍通过重新训练网络来实现。
直观地讲,CNN 能够帮助信道解码的原因与 CNN 在图像处理的低级任务中的成功类似,如图像去噪或图像超分辨率。当我们将信道噪声中的相关性视为一种 “特征”时,这一点就变得更加清晰了,CNN 可以提取这种特征。然而,我们的问题设置与这些其他应用非常不同,在这些应用中,提取特征是最终目标。在迭代 BP-CNN 架构中,CNN 的目标不仅是准确估计信道噪声和抑制残差,而且要产生对 BP 解码器有利的输出。这种独特的要求促使我们开发了一种用于 CNN 训练的新型损失函数,它将残余噪声功率的影响与 Jarque-Bera 正态性检验相结合。
研究模型
1. 系统框架
系统框架如图 1 所示,在发射器处,一个长度为 的均匀分布的比特块 x,通过线性信道编码器编码为长度为 的二进制码字 u。本文将重点研究 LDPC 码,但所提出的方法很容易适用于其他线性块码。然后通过 BPSK 调制将码字 u 映射到符号矢量 s 上。
图 1 一种由信念传播(BP)译码器和前向卷积神经网络(CNN)组成的迭代译码结构。
BPSK 符号将通过一个加性高斯噪声的信道。信道噪声向量表示为长度为 n 的 ,被建模为具有自动相关矩阵 Σ 的高斯随机向量。值得注意的是,LDPC 码字可能很长,因此 Σ 的大小可能很大。
如图 1 的虚线框所示,受 CNN 在图像去噪和超分辨率中的成功应用的启发,并注意到信道噪声 n 的相关性可以被认为是信道解码中可能被利用的“特征”,我们建议在 BP 之后并联一个 CNN,利用这种相关性来抑制 ,并获得更准确的信道噪声估计。
2. 噪声估计的 CNN 方法
如前所述,采用 CNN 进行噪声估计是由于其在计算机视觉中的成功应用所启发的。对于一些特定的图像恢复任务,以往的工作表明,CNN 利用图像特征来恢复图像的能力很强。在本文的任务中,可以将噪声相关性看作是特征,并训练 CNN 利用该特征进行准确的噪声估计。
图 2 采用 CNN 结构进行噪声估计
在所提出的迭代 BP-CNN 架构中,所采用的网络结构如图 2 所示,与图像修复中低级任务所采用的网络结构相似,但有一个明显的区别,即网络的输入是一个一维向量,而不是一个二维图像。在图 2 的第一层可以看到,k1 个特征图是由输入数据生成的。
3. 训练模型
1)损失函数:众所周知在深度学习中,网络的性能在很大程度上取决于训练损失函数的选择。一般来说,损失函数是衡量 CNN 实际输出和预期输出之间的差异,它应该根据网络的具体任务来详细定义。在该结构中,CNN 用于估计信道噪声,其输出将影响下一次迭代的 BP 译码性能。因此,必须充分考虑 CNN 与后续 BP 译码的关系,选择合适的损失函数。
生成训练数据的另一个因素是信道条件,即信噪比(SNR),它将决定 BP 解码的错误严重程度,从而影响网络的输入。本文用 Γ 表示一组信道条件来生成训练数据。如果信道条件非常好,那么存在的误差就非常少,网络可能无法学习信道噪声的鲁棒特征。另一方面,如果信道条件很差,中存在很多错误,它们会掩盖信道噪声的特征,这对网络训练也是不利的。因此,我们提出在多个信道信噪比下生成训练数据,以避免因选择特定信道信噪比而导致性能不佳的风险。
性能评估
1)BP-CNN 降低译码误码率:首先比较了该方法和标准 BP 译码器的性能。对于 BP 解码器,总共执行 50 次迭代(在图中表示为“BP(50)”。对于所提出的方法,我们使用其最简单的形式进行测试,即 BP 解码器和 CNN 之间只有一次迭代。在这种情况下,接收器结构可以简单地表示为 BP-CNNBP。本文给出了两个相关参数的比较结果:=0.8 代表一个相对较强的相关模型,=0.5 代表一个中等的相关模型。另外,还介绍了在没有任何相关性(=0)的 AWGN 信道下的测试结果,以证明所提出的方法也可以在没有相关性的噪声下工作,因此具有广泛的应用范围。基线和增强的 BP-CNNs 都是是经过测试的。对于增强的 BP-CNN,我们将 分别设置为 0.1、10 和 10 为 =0.8、0.5 和 0。
为了隔离和识别 CNN 的贡献,本文在两个系统中保持 BP 迭代的总次数相同。在 BP-CNN 方法中,本文在每个 BP 解码过程中执行 25 次 BP 迭代(图中表示为 “BP(25)-CNN-BP(25)”),结果与标准 BP 解码器的 50 次 BP 迭代相同。
实验结果报告在图 3 中。可以看到,基线和增强型 BP-CNN 在相关噪声下都能实现显著的性能提升。在 =0.8 的强相关情况下,BP-CNN 可以在 BER=10−4 时将解码性能提高约 3.5dB。需要强调的是,这种性能的提升不能通过标准 BP 解码器中更多的迭代来弥补,因为 BP(50)已经达到了饱和的性能。在 =0.5 的中等相关性情况下,性能增益变小,因为相关性较弱,采用 CNN 的好处较小。对于 =0 的特殊情况,即标称 AWGN 信道,提出的方法与标准 BP 解码的性能相似。因此,得出结论,迭代 BP-CNN 解码方法可以支持很宽范围的相关度,性能的提升随着噪声相关度的变化而变化。
图 3 BP-CNN 与标准 BP 译码的性能比较
我们还可以从图 3 中比较基线和增强型 BP-CNN 解码器。我们看到,增强型 BP-CNN 进一步优于基线策略。此外,增强型 BP-CNNN 有利于计算下一轮 BP 解码的 LLRs。
2)BP-CNN 以较低的复杂度实现性能提升。除了在相同的 BP 迭代次数下提高解码性能外,迭代 BP-CNN 解码器的另一个可取之处是它能以较低的总体复杂度胜过标准 BP 解码。为了看到这一点,本文在图 4 中展示了另一组结果。除了在 BP-CNN 解码器中,每个 BP 的数量从 25 个减少到 5 个之外,实现细节与图 3 相同。为了比较,本文还分别绘制了 12 次和 50 次迭代的标准 BP 解码性能。理想情况下,我们希望设置 BP 参数,使两种方法的总体复杂度完全相同,然后比较它们的 BER 性能。然而,准确比较 BP 网络和 CNN 相关的复杂性是相当困难的。我们通过比较它们在相同计算环境下的运行时间来解决这个问题。两者都是在 TensorFlow 中实现的,并且使用相同的计算资源进行模拟运行。这并不准确,但它给出了一个近似值。在我们的测试环境中,我们观察到结构为4;9,3,3,15;64,32,16,1的 CNN 的运行时间大致相当于两次 BP 迭代。这意味着图 4 中选择的 BP(5)-CNN-BP(5)结构的复杂度与标准 BP 解码器的 12 次迭代大致相同。本文还绘制了 BP(50),并观察到进一步增加标准 BP 的复杂度会带来一些边际收益。因此,BP(12)代表了一个良好但不饱和的情况,与 BP(5)-CNN-BP(5)的比较是公平和有意义的。
图 4 BP-CNN 以较低的复杂度实现了性能提升(=0.8)
由于篇幅所限,图 4 中只给出了 =0.8 的结果。显然,基线 BP(5)-CNN-BP(5)解码器的性能与标准 BP(50)相当,但复杂度要低得多。当比较复杂度大致相同的解码性能时,基线 BP(5)-CNN-BP(5)解码器和增强型 BP(5)解码器的性能都优于标准 BP(12)解码器。
3)CNN 和 BP 之间的多次迭代进一步提高了性能。到此为止,本文只展示了所提出的迭代 BP-CNN 解码器的一次迭代的仿真结果。当然,可以在 CNN 和 BP 之间进行多次迭代,希望进一步降低误码率,如图 1 所示。符号方面,本文用 {BP()-CNN}-BP()来表示 BP-CNN 迭代解码器结构,BP 和 CNN 之间的迭代次数为 ,BP 内部的迭代次数为 。共运行了 +1 个 BP()和 CNN。本组实验采用增强型 BP-CNN。我们在图 5 中报告了不同 's 的仿真结果。通过比较 BP(5)-CNN-BP(5)和 BP(25)-CNN-BP(25),看到只有增加 BP 迭代次数才能提供有限的性能提升。然而,很明显,多次迭代可以获得更大的改进。当 =0.8 时,与 BP(5)-CNN-BP(5)相比,在误码率=10-4 时,两次 BP-CNN 迭代可以提高解码性能 0.7dB。此外,我们注意到,在 4 次 BP-CNN 迭代后,性能的提升变得不明显。这是因为 CNN 已经达到了最大容量,无法进一步抑制残余噪声功率。
图 5 CNN 和 BP 之间的多次迭代可以进一步提高解码性能(=0.8)
实验总结
在本文中,我们设计了一种新型的迭代 BP-CNN 解码结构来处理相关信道噪声。所提出的框架将一个 CNN 与一个 BP 解码器串联起来,并在它们之间进行迭代。BP 解码器是估计编码位,间接估计信道噪声。CNN 通过学习噪声相关性来消除 BP 解码器的信道噪声估计误差。为了实现该框架,提出采用全卷积网络结构,并提供了两种策略来训练网络。仿真结果显示了所提出的迭代 BP-CNN 解码器的有效性。在未来的工作中,我们将尝试寻找其他与误码率性能更相关的损失函数。我们还将考虑将迭代结构展开为一个开环系统,这样我们可以设计不同数量的 BP 迭代和 CNN 结构。此外,我们还将通过从实际环境中收集的数据来验证我们的方法。
致谢
本文由南京大学软件学院 2021 级硕士颜昌粤翻译转述。