降噪自编码器辅助的下行MIMO-SCMA编解码方法
2022-07-04胡梦钰许耀华胡艳军
蒋 芳,黄 兴,胡梦钰,王 翊,许耀华,胡艳军
(1.安徽大学 计算智能与信号处理教育部重点实验室,安徽 合肥 230601;2.安徽省物联网频谱感知与测试工程技术研究中心,安徽 合肥 230601)
随着新型智能终端的普及与大规模机器通信的发展,低时延、大链接、高可靠性的应用需求对未来的B5G/6G移动通信系统物理层技术提出了新的挑战。为满足这些需求,大规模多输入多输出(Multi-Input Multi-Output,MIMO)被用于提升信道容量[1]、非正交多址接入(Non-Orthogonal Multiple Access,NOMA)技术被用于增加接入用户数,提升通信吞吐量[2]。而稀疏码多址接入(Sparse Code Multiple Access,SCMA)是非正交多址接入方案中一种码域非正交多址接入技术,能够提供大链接,具有高的频谱效率[3]。因此,多输入多输出与稀疏码多址接入技术的结合,能够以高的信息传输速率接入更多的用户设备,满足未来移动通信系统低时延、大链接的应用需求。
文献[4]研究了MIMO-SCMA系统的上行和下行链路设计,由于MIMO-SCMA系统接收端的检测复杂度随天线数与用户数的增加,呈指数型增长。目前针对MIMO-SCMA系统的研究,大量集中在接收端的低复杂度检测算法:文献[5-11]对消息传递算法进行改进;文献[6]采用多天线检测与多用户检测联合的检测方法。在这些MIMO-SCMA系统中,发送端大多采用稀疏码多址接入编码器与多天线的简单级联,每个用户配置固定的稀疏码多址接入码本,即使是发送到不同天线上的数据,仍然采用同一码本进行编码,误码率性能并未得到有效提升,部分甚至牺牲了误码率性能以降低检测复杂度。为了进一步提升误码率的性能,文献[12]提出了应用于不同发射天线的稀疏码多址接入码本设计方法,将码本中星座点的幅度和旋转角度作为优化变量,通过遗传算法的求解得到针对不同发射天线的最优码本。文献[13]在下行MIMO-SCMA系统中使用多维空时编码,不同的发射天线对应不同的空时码字,通过分集增益的引入改善误码率性能。
随着AI技术给许多其他场景的任务带来的性能提升,一些研究也证实了神经网络在通信领域的可行性。最近,已经有将神经网络单独运用于稀疏码多址接入或者多输入多输出系统的先例[14-16]。文献[14]的研究基于神经网络的检测器,通过构造一个稀疏链接的神经网络,降低了稀疏码多址接入系统的解码复杂度。文献[15]提出使用卷积神经网络代替传统稀疏码多址接入解码算法完成信号的盲检测。文献[16]研究了神经网络运用于多输入多输出系统接收端提高多天线检测精度或降低复杂度的方法。以上研究表明,将神经网络应用在物理层单个模块上,虽然带来了一定的性能提升,但无法对端到端通信系统进行联合优化[17]。基于神经网络在联合优化多个物理层模块过程中的良好表现[18],文献[19]引入了对通信系统进行端到端联合优化的思路,利用自动编码器在不需要任何信号编码的先验知识的前提下联合学习发射机和接收机的实现。文献[20]则是将这种物理层端到端的联合优化方法运用在稀疏码多址接入系统中,提出了一种基于深度学习的码字生成和信号检测的稀疏码多址接入方案,用于联合优化稀疏码多址接入网络的码字映射和解码过程。与传统的方法相比,文献[20]使用深度学习取代了传统的手动码本设计与解码算法,在网络中进行了星座映射的训练,获得了一定的性能增益。为了在文献[20]方案的基础上提升误码率和复杂度性能,文献[21]提出了一种基于深度学习的中密度码分多址(Moderate-density Code Multiple Access,MCMA)系统。该系统由一个新型Tanner图表示,通过调整神经网络的边缘权重,来实现无需迭代的多用户检测。文献[22]研究了一种用于稀疏码多址接入的新型深度神经网络方法来降低计算复杂度,并提升误码率性能,且在此基础上进行扩展,提出基于深度学习的稠密码分多址 (Dense Code Multiple Access,DCMA)系统。
将深度学习应用于MIMO-SCMA系统中,笔者提出了一种基于降噪自编码器的MIMO-SCMA(Denoising Auto Encoder-based MIMO-SCMA,DAE-MIMO-SCMA)系统编解码方法。在发送端使用多个基于降噪自编码器(Denoising Auto Encoder,DAE)的深度神经网络(Deep Neural Network,DNN)单元,分别学习得到用户对应每根发射天线的稀疏码多址接入码本,在输入端人为引入破坏噪声,用于提升码本的鲁棒性;在接收端采用联合检测的方法,设计一个基于全链接神经网络的多天线稀疏码多址接入解码器;通过端到端的训练,优化所有神经网络的结构与参数,包括优化器、每个神经网络的隐藏层数、节点数等,使得神经网络能够快速收敛。
1 系统模型与结构
1.1 系统模型
(1)
将所有接收天线上的接收数据合并在一起,则第j个用户的接收向量为
yj=Hjx+nj,
(2)
其中,
(3)
x表示在所有NB根发射天线上发送的信号向量,表示为
x=[(x1)T,(x2)T,…,(xNB)T]T∈CNBK×1。
(4)
nj为高斯噪声向量,表示为
(5)
Hj是信道矩阵,表示为
(6)
1.2 系统结构
为了提升MIMO-SCMA系统误码率性能,提出了一种下行DAE-MIMO-SCMA系统编解码方法,用深度神经网络分别构建MIMO-SCMA系统的编解码器,系统结构如图1。图中选取用户数J=6,时频资源块数K=4。基站端每根天线都有一个稀疏码多址接入编码器,编码器由多个基于DAE的DNN单元构成,每个DNN单元即为一个码字映射器,接收端每个用户都有一个独立的解码器,解码器采用全链接的深度神经网络。
图1 DAE-MIMO-SCMA系统结构
(7)
2 基于降噪自编码器的多天线SCMA编码器
在传统MIMO-SCMA系统中,每个用户数据在所有发射天线上共用同一码本,这会降低不同发射天线上传输码字的最小欧氏距离,从而降低决策过程中检测码字的可靠性。而笔者提出的DAE-MIMO-SCMA下行系统编解码方法,在基站端如图1所示,每根发射天线配置多个基于DAE的码字映射器,每根发射天线上二进制数据到复数码字的映射过程由神经网络自主学习,通过端到端训练得到每根天线上采用的最佳码本。
图2 SCMA因子图
(8)
考虑到通信系统中信道噪声的影响,码字映射器采用了基于DAE结构的DNN单元,区别于文献[20]的码字映射器,文中方案中DAE结构的DNN单元隐藏层数为2,每一个隐藏层节点数为24,并且在基于DAE的多天线稀疏码多址接入码字映射器中,增加了一个噪声层,如图3虚线框中所示,在输入数据上叠加一定比例的高斯白噪声。通过人为引入破坏噪声使神经网络自主学习数据中更具鲁棒性的特征表示,相比于采用自编码器结构的DNN单元提高了系统对数据重构的鲁棒性,提升了系统误码率(Bit Error Rate,BER)性能。
图3 基于DAE的多天线SCMA编码器与码字映射器结构
(9)
其中,ε表示人为引入的破坏噪声,通过设定不同的噪声标准差σs来控制引入噪声的比例。被噪声污染后的数据送入神经网络隐藏层,数据经过线性激活后经批量归一化以防止过拟合,对归一化后的数据进行非线性激活,采用tanh激活函数,输出层采用线性激活函数,即不对上一层输出数据进行运算。
引入了噪声层以后,整个DAE-MIMO-SCMA系统的基站端所有稀疏码多址接入编码信号向量x表示为
x=f(s;θ1;ε) ,
(10)
yj=Hjf(s;θ1;ε)+nj。
(11)
3 DAE-MIMO-SCMA系统的联合检测解码器
MIMO-SCMA系统在接收端要分别进行多天线检测和多用户检测,计算复杂度高。为了降低复杂度,笔者提出了一个针对DAE-MIMO-SCMA系统的联合检测解码器。采用联合检测的思想,将多输入多输出检测与稀疏码多址接入多用户检测过程合并,一次解码同时完成多天线与多用户检测,在解码器实现方法上采用全链接的深度神经网络替代基于Tanner图的消息迭代算法。接收端每个用户的解码过程通过全链接神经网络来实现,以便组合散布在不同接收天线不同资源块上的所有信息。对于下行系统,接收端每个用户都有其独立的解码器,设计一个全链接的深度神经网络作为解码器。由于接收端所有用户采用结构一致的深度神经网络解码器,这里仅给出用户j的解码器结构,如图4所示。
图4 接收端单个用户的联合解码器
(12)
系统接收端所有用户的解码信号可表示为
(13)
4 DAE-MIMO-SCMA系统中神经网络的优化
(14)
(15)
神经网络训练所需的用户数据是随机产生的,以单热编码的形式送入编码器中。为了提升系统的鲁棒性,基站端的稀疏码多址接入编码器采用了降噪自编码器结构,即人为引入噪声层使得信号数据首先经过噪声层的处理,这里采用高斯噪声,噪声ε~N(0,σ2I)。通过设定不同的噪声标准差σ来控制加入的噪声的比例,所加的噪声比例对训练出的神经网络模型有很大影响;为了训练最优的网络模型,应进行多次实验以选择合适的噪声标准差数值。通信系统中的噪声n具有随机特征,在训练中采用随机产生的方式,信道矩阵H随机生成但在训练阶段系统需要知道具体的信道状态信息。整个训练流程如图5所示。
图5 DAE-MIMO-SCMA训练流程图
D-SCMA系统[20]采用SGD(Stochastic Gradient Descent)算法作为优化函数,其计算表达式为
θ=θ-α∇θJ(θ;xi;yi) ,
(16)
其中,θ表示神经网络中需要优化更新的训练参数,J(·)表示训练该神经网络所采用的损失函数,α表示学习率。虽然SGD在每次训练更新时对每个样本都进行梯度更新,但该算法所耗时间长,收敛速度缓慢,且并不是每次的迭代都向着整体最优的方向,很容易被困在鞍点,而不是全局最优点,导致神经网络的精度达不到最优。因此文中针对DAE-MIMO-SCMA系统的特点,采用Adam(Adaptive moment estimation)优化器来更新网络,基本计算表达式如下:
(17)
5 仿真结果与分析
根据提出的下行DAE-MIMO-SCMA系统的编解码方法,进行了误码率和收敛速度性能的验证。实验环境是使用Tensorflow、Keras等深度学习库,基于Python 3.7.6进行仿真实验。搭建了一个2×2的下行MIMO-SCMA系统,信道模型采用瑞利衰落信道,每个用户数据以2比特为一组进行单热编码和码本映射,由于采用深度学习的方法自适应地学习码本,每根天线上的星座图已不遵循某种特定的调制方式,且具有很大的差异性。该系统编码器和解码器的神经网络分别包含2层和4层隐藏层,其隐藏层节点数分别为24和512。采用总数据集为500 000组随机数据进行训练,每批数据大小为512,训练噪声以Eb/N0=10 dB进行训练,使用Adam优化器对每个样本的损失值都进行梯度更新,进而更新神经网络的权重和偏置,起始学习率为0.000 01。
首先,针对6个用户占用4个资源块的情况,将所提出的DAE-MIMO-SCMA的编解码方法与传统的MIMO-SCMA系统进行了误码率仿真实验。为了充分地比较,还对D-SCMA系统[20]进行了多天线扩展,记为深度学习辅助的多输入多输出稀疏码分多址(D-MIMO-SCMA)。由于按照D-SCMA原文的训练参数设置,进行多天线扩展后的收敛效果不理想,故采用Adam优化器对该神经网络进行优化。传统MIMO-SCMA系统用性能较好的JMPA[6]作为代表,误码率性能如图6所示。基于深度学习的DAE-MIMO-SCMA与D-MIMO-SCMA 系统的编解码方法的误码率性能均优于传统的MIMO-SCMA方案,而笔者提出的DAE-MIMO-SCMA系统编解码方法的误码率性能最好。未添加噪声层的AE-MIMO-SCMA方案是在笔者提出的DAE-MIMO-SCMA系统的编解码方法中去掉了人为引入的噪声层,直接采用自编码器实现SCMA编码,结果显示其误码率性能比基于降噪自编码器的系统有所损失。笔者提出的编解码方案也适用于不同Eb/N0环境下的训练,获得的神经网络模型对于信道噪声的鲁棒性不同。如针对不同的Eb/N0分别训练,误码率性能会优于单一Eb/N0训练得到的网络,但是时间和复杂度开销随之变大。综合误码率性能和复杂度之间的权衡,在Eb/N0=10 dB时进行训练具有较好的泛化能力。
图6 不同算法的误码率性能对比
为了验证神经网络的优化效果,比较了DAE-MIMO-SCMA与D-MIMO-SCMA的损失与训练批次的关系,结果如图7所示,DAE-MIMO-SCMA的神经网络训练收敛速度要快于D-MIMO-SCMA,在对训练损失的对比中,文中方案构造的神经网络训练损失收敛于0.02,D-MIMO-SCMA的损失收敛于0.04,从图中也可以看出,DAE-MIMO-SCMA的训练损失要优于D-MIMO-SCMA的。
图7 不同算法的训练损失对比
同时,针对不同的过载率也进行了性能分析,如图8所示,相对于传统的MIMO-SCMA系统,DAE-MIMO-SCMA系统的编码方法能够适用不同的过载率,避免了稀疏码多址接入码本设计的复杂过程。实验结果表明,随着过载率增大,更多的用户会叠加在资源块上,误码率的性能也会随之降低。
图8 不同过载率时DAE-MIMO-SCMA误码率性能对比
图9给出了输入噪声层对DAE-MIMO-SCMA系统误码率的影响。用噪声标准差σ表征噪声层所加入噪声的大小,分别在不同的信噪比环境下进行了实验。可以看出,输入层引入噪声的大小会对系统的性能产生一定的影响。在Eb/N0=6 dB情况下,噪声标准差选择0.3为最优。然而在高信噪比环境下,即Eb/N0=10 dB的情况下,噪声标准差选择0.1是最优的训练参数。使用受噪声污染的数据来训练神经网络能学习到高斯噪声的部分特征,从而在一定程度上减轻高斯噪声对系统的影响。由于在低信噪比环境下的噪声较大导致降噪网络影响程度甚微,而对于高信噪比环境下噪声较小,降噪网络的优势表现相对明显,从而显示出更好的鲁棒性。经过多次的实验仿真,综合考虑网络在不同信道噪声环境下的整体性能,DAE-MIMO-SCMA的编解码方案所添加噪声层的噪声标准差为0.08。
图9 不同噪声标准差作用下的误码率性能
6 结束语
笔者提出了一种下行DAE-MIMO-SCMA系统的编解码方法,基站端对每根发射天线分别配置一个SCMA编码器,采用多个基于降噪自编码器的深度神经网络单元构造每根发射天线的稀疏码多址接入编码器,通过多天线的稀疏码多址接入编码和噪声层的引入,使得编码器的输出为更具鲁棒性的特性表示;在接收端设计基于神经网络的联合解码器,一次解码同时完成多天线和多用户的联合检测,以降低复杂度。为了进一步提升性能,对神经网络的优化器、隐藏层数、隐藏层节点数等参数进行了优化选取。仿真结果表明,与传统MIMO-SCMA和D-MIMO-SCMA系统的编解码方法对比,文中的方案在误码率性能上获得了提升,在信噪比条件好的情况下,误码率性能的提升更为明显,同时笔者所提出的编解码方法相对于传统MIMO-SCMA和D-MIMO-SCMA均具有更低的解码复杂度。目前的DAE-MIMO-SCMA系统在已知信道状态信息时相较传统MIMO-SCMA系统获得了明显的性能提升。
下一步将研究采用生成对抗网络模拟多输入多输出信道的影响或者尝试引入迁移学习的方法,使得系统在未知信道状态信息时,仍然能够获得相较于传统通信系统的性能优势。