1. 引言
计算机仿真技术对通信的发展做出了不可忽视的贡献。但随着通信系统变得越来越庞大和复杂,通信系统仿真也面临着挑战。例如蜂窝移动系统涉及大量小区和用户,每个用户与基站的通信都包含点到点的通信过程,其中包括诸如Turbo/LDPC编码、MQAM调制等环节。虽然计算机的计算能力也在快速提高,但对于有一定规模的蜂窝网络来说,设计一个包含全部用户全部通信环节的完整仿真平台仍然是不可行的,其瓶颈主要在于物理层通信,特别是Turbo/LDPC译码等环节耗时过大。为了解决这一问题,实际当中普遍采用了系统级和链路级分离的方法 [1] [2] [3] [4] 。系统级仿真平台完全忽略物理层,将物理层通信过程抽象为一个伯努利随机事件,用预估的方法来模拟译码效果。
系统级通过与链路级之间的L2S接口(Link to System, L2S)将整个物理层映射为误块率(Block Error Rate, BLER),从而大大降低了系统级仿真的计算复杂度。与此同时,L2S接口的准确度也成为关键问题。如果L2S接口提供的BLER有偏差,有可能导致系统级的输出结果不可信。对于AWGN信道,BLER完全由信噪比(Signal to noise power ratio, SNR)这一个标量决定。此时系统级仿真平台只需要存储AWGN信道下各种调制编码方式(Modulation and coding scheme, MCS)的BLER曲线即可。但蜂窝网络中的物理层极少是AWGN信道。实际信道普遍存在衰落及各类干扰。特别在现代的蜂窝系统中,造成译码错误的主因往往不是加性白高斯噪声,而是各类非高斯非白的干扰,包括符号间干扰、用户间干扰、天线间干扰、小区间干扰、子载波干扰等等。对于此类信道来说,给定码字的平均SNR或SINR (signal-to-interference-plus-noise ratio)并不能给定BLER。为此,人们提出了各种改进的L2S接口技术,包括EESM (Exponential Effective SINR Mapping) [5] [6] [7] 、MIESM (Exponential Effective SINR Mapping, EESM) [5] [6] [8] [9] [10] 、基于判决域的方法 [11] 、针对MIMO最大似然检测的SNR映射方法 [12] 、基于机器学习的EESM [13] 等。上述方法基本上都是将具体的实际信道表征为一个SINR向量,再通过某种算法将此向量映射为对BLER等效的AWGN信道的等效信噪比,然后通过查AWGN信道的错误率曲线获得BLER的估计值。然而,对于具体的信道,决定BLER的因素非常复杂,给定一组SINR并不能给定BLER。因此这些方法一般都需要针对具体的场景调整参数或进行修正。
值得注意的是,链路级仿真的大部分时间消耗集中在信道译码过程上。例如对于采用LDPC码的系统来说,和积译码(sum-product algorithm, SPA) [14] 的耗时一般能占到链路级仿真总耗时的99%以上。因此,如果能将译码器进行抽象,使这部分的计算量大幅下降,那么系统级仿真就可以考虑纳入整个物理层,而不必将其等效成一个BLER。从这一点出发,本文提出对译码器进行抽象的方法。通过将译码器的软输入进行特征提取,然后借助深度神经网络(Deep Neural Networks, DNN)来直接识别码字能否译对。
2. 系统模型
本文的方法不是将全部物理层等效为AWGN信道,而是将其中计算量最大的信道译码器进行抽象,如图1所示。假设FEC编码是码长为n的二进制编码。经过M进制QAM调制后的符号数是
。第k个MQAM符号sk经过信道传输,其中“信道”可以包括OFDM、MIMO等环节,至接收端成为yk。yk可以包括高斯噪声、符号间干扰及各类干扰:
(1)
其中sk是干扰符号,hk是有用信号的信道增益,gk是干扰信道的信道增益,PI是归一化的平均干扰强度,zk是方差为σ2的噪声。第k个符号的SINR是
(2)
收到的yk,
,经过软解调后成为比特软信息,也称为LLR值。本文对软解调的具体算法 [15] 不做限制。软解调的输出是n个
。理想情况下,λi代表第i个比特的对数后验概率比。
传统方法是对物理层整体进行抽象,一般不需要出现yk或λi的值。而是根据系统级仿真平台的配置条件以及瞬时的信道信息(包括MIMO信道矩阵、OFDM子载波增益等)计算出每个yk (或一组yk)的SNR或SINR,然后用EESM、MIESM或类似算法计算出等效AWGN信噪比。以EESM为例,等效SNR为
(3)
其中β是一个参数。EESM近似认为一组信噪比为
的接收信号
经过软解调、信道译码之后的BLER等于信噪比为γeff的AWGN信道的BLER。EESM或类似算法的输入中并没有非高斯干扰、信道估计误差等信息。所以从理论上说,此类方法不能完全体现实际物理层的性能。在实践中通常是用经验的方式(或机器学习的方法)来优化β以缩小误差。最优的β值除了与MCS有关,还与具体场景中的其他因素有关,比如MIMO中不同的天线配置、不同的检测算法,蜂窝小区中不同的干扰情景等,不同的CSI误差等都对应有不同的最优β值。如果对这些不同情况逐一优化参数,事前的计算量将非常大。若只按调制阶数或少数场景固定使用若干个β值,则误差将会明显增加。
由于译码器的结果(译码成功或失败)完全由译码器的输入决定,所以图1中译码器抽象的方法在理论上可以给出完全正确的译码结果预测。
3. 基于DNN的译码器抽象
在本文所提方法中的“译码器抽象”具体如图2所示。其中,
是长为n的发送码字,为了
方便起见,我们假设
,其中+1对于二进制比特的“0”;
是图1中软解调输出的比特
软信息。
Figure 2. The decoder abstraction unit in Figure 1
图2. 图1中的译码器抽象单元
为了降低复杂度,我们首先对输入降维,提取如下3个特征量用于识别:
(4)
(5)
(6)
其中A1是
的数目,即对λi进行极性判决后的错误比特数,译码前的比特错误数越多,译码后出错的机会也越大。A2是
与
的归一化内积,反映译码器输入与发送码字之间的张角,张角越大,落在判决域外的概率越大。A3是接收到
条件下,
后验自信息的总和。收到λi的条件下下,发送比特是xi的后验概率为
(7)
自信息是概率的负对数,为
。确定无疑的事件自信息是零,自信息越大说明越意外。因此A3越大,表明发送码字越不可能是
。
图2中的DNN模型如图3所示。DNN模型以三个特征量
作为输入,输出是对该码字能否能被成功译码的识别。模型内部包含三层隐藏层,每层均是全连接层,激活函数为:
(8)
每一个单独节点的数学表达式为ReLU (Wx + b),其中W是权重矩阵,x是上一层的结果,b是偏置向量。DNN系统的主要目标就是通过训练集的数据,调整权重矩阵W和偏置向量b,最终使得DNN模型判决结果和实际情况的差距最小。
ReLU激活函数在DNN系统中引入了非线性因素。相比于其他激活函数,例如tanh和sigmoid,ReLU激活函数在处理梯度消失问题上的能力很强,这一能力也使得其训练速度更快 [16] 。虽然使用ReLU激活函数其节点对于梯度变化较为敏感,容易在收到较大梯度的冲击后进入非激活状态,但对于本文所研究的问题来说,由于系统规模较小,可以通过把学习速率控制在一个较小的数值,来保证其稳定性。
4. 仿真结果
本节给出仿真结果并与EESM方法进行对比。仿真中FEC采用长度为n = 1152的LDPC编码,译码采用最大迭代次数为60的SPA算法。软解调采用log-MAP算法。仿真考虑了以下所列的三种场景。三个场景均基于OFDM,第k个子载波上的衰落系数hk服从均值为零、方差为1的复高斯分布。连续12个OFDM子载波构成一个块,每个块有相同的信道增益,不同块的信道增益相互独立。三个场景的不同配置如表1所示。
Table 1. Three scenarios in the simulation
表1. 仿真中的三种场景
本文所提方法需要事先进行模型训练,EESM方法也需要通过事先的仿真来获得最优的β值。事先的仿真如图4所示,其中的
。需要说明的是,EESM需要分别对每个场景进行参数优化。就以上提及的三种场景,最优的β值分别是1.52,4.69,17.59。
(a) 所提方法的模型训练(b) EESM参数优化
Figure 4. Model training and parameter optimization
图4. 模型训练及参数优化
完成训练及参数优化后,我们通过仿真来比较两种方法的性能。在每个场景的仿真中,对于每个SNR值,随机产生1000个码字、信道系数、噪声等,然后按三种方式(真实仿真、本文方法、EESM)测量出三种BLER值。再将该BLER等效至AWGN信道,从而得到图5。从图中可以看出,所提方法总的来说比EESM更为准确。除了BLER性能外,图6示出了每个码字译码结果的预测准确率。由图可见,基于DNN的方法在所有SNR区间上都可以获得较好的预测结果,预测准确率显著优于EESM。这是因为所提方法是直接预测译码结果,而在EESM方法中,每次的译码结果是用BLER随机模拟出来的,即使BLER能完全准确预测,也无法准确预测每个具体码字的译码结果。
Figure 5. The equivalent SNR under three scenarios
图5. 三种场景下的等效信噪比
Figure 6. Prediction accuracy of decoding results in three scenarios
图6. 三种场景下的译码结果预测准确率
5. 总结
本文提出了一种基于DNN的译码器抽象方法,该方法从译码器输入的软信息中提取了三个特征量作为DNN结构的直接输入,用来预测每个码字的译码结果是成功还是失败。仿真结果表明,相比于EESM,所提方法有更好的译码结果预测准确率及BLER准确率。