申 滨 阳 建 曾相誌 崔太平
(重庆邮电大学通信与信息工程学院 重庆 400065)
基于频谱效率和链路可靠性等方面的优越性能,大规模MIMO成为5G和未来移动无线通信系统的关键技术之一[1,2]。大规模MIMO系统配备的发射和接收天线都非常多,随着天线数量的增加,信号检测算法的复杂度急剧增加,用户间的干扰也会影响检测性能。对于MIMO信号检测,最优的检测器是最大似然[3](Maximum Likelihood, ML)检测,但是其复杂度随着信号调制阶数和天线数量的增加呈指数级增长。为了降低复杂度,比如匹配滤波(Matched Filtering, MF)、迫零(Zero Forcing, ZF)和最小均方误差(Minimum Mean Square Error,MMSE)检测器等线性检测器得以提出,但是其性能有待提高。传统常规MIMO系统中有球面检测[4](Sphere Decoding, SD)和干扰消除[5,6](Interference Cancellation, IC)等非线性检测算法。SD是次优检测器,它是尝试搜索以接收向量为中心规定半径的球内格点来减小搜索空间,从而减少计算复杂度。IC算法又可以分为串行干扰消除[6]( Successive Interference Cancellation, SIC)算法和并行干扰消除(Parallel Interference Cancellation, PIC)[5]算法。PIC算法可以提高接收端信号检测的差错恢复能力和误码率性能,但它也是以付出更大复杂度为代价的,且硬件设备也较为昂贵,所以在实际应用中并不一定适用。因此,在实际MIMO系统中通常选用SIC算法。为此,Wang及Liu等人[7,8]分别提出ZF-SIC, MMSE-SIC检测算法,在ZF和MMSE的基础上分别引入S I C,相比于传统的Z F 和MMSE,在性能方面得到了很大的提升。
近年来,深度学习(Deep Learning, DL)已经在图像识别[9]、自然语言处理[10]和语音识别[11]等领域取得了巨大成功,在无线通信系统中的应用也受到了业界广泛关注,特别是针对MIMO系统信号检测。深度学习的模型有很多,目前最常用的深度学习模型与架构包括卷积神经网络(Convolutional Neural Network, CNN)、递归神经网络(Recurrent Neural Network, RNN)和深度神经网络(DNN)等。在常规MIMO信号检测方面,Xia等人[12]提出使用CNN来消除MIMO检测时的相关干扰,有效利用CNN迅速提取特征和去噪的能力,从而提升检测性能。Sun等人[13]提出一种学习搜索MIMO检测算法,其思想是通过训练长短期记忆(Long Short Term Memory, LSTM)模型来学习最优决策策略,使其在固定信道模型和变化信道模型下均获得接近最大似然检测的性能,并且对于不完全信道状态信息的MIMO检测问题具有鲁棒性。He等人[14]提出了基于深度学习模型驱动的正交近似消息传递网络(OAMPNet),只需要优化很少的可调参数,即可使得网络快速收敛,并且具有良好的性能。另一方面,针对大规模MIMO系统,研究者相继提出了基于深度学习模型驱动的干扰消除算法[15]、基于深度学习的消息传递检测(DNN-MPD)[16]以及检测网络(DetNet)[17]等检测算法。然而目前的这些检测算法主要聚焦于设计适合深度学习的迭代信号处理结构,均未特别地考虑用户间的干扰且各自存在不足:DNN-MPD 中包含循环因子图[18],并且需要选择恰当的补偿因子和修正因子,涉及的可调参数较多,不仅复杂度高,而且具有很大的延迟性,这不适用于延迟性敏感的系统;DetNet是采用全连接的方式,需要训练的参数很多,复杂度会随着训练层数和神经元个数的增加而增加。因此,对Det-Net进行了改进优化,Gao等人[19]提出了稀疏连接网络ScNet (Sparsely connected neural Network),在复杂度和误码率性能方面均得到了提升。文献中现有的典型MIMO信号检测算法对比如表1所示。
表1 MIMO信号检测算法对比
由上述问题启发,本文考虑将用户间干扰消除SIC与改进的基于深度学习检测算法ImpScNet(Improved Sparsely connected neural Network)相结合,提出一种新的检测算法ImpScNet-SIC。该算法的设计思想与具体步骤在第5节进行详细阐述,并且与现有的典型检测算法进行性能对比验证和复杂度评估分析。理论分析与实验结果表明,本文所提出的ImpScNet-SIC算法不仅收敛速度快,收敛稳定,而且误码率也得到了较大提升。
本文考虑大规模MIMO系统上行链路,该系统由M个单天线用户和具备N个接收天线的基站组成,接收信号矢量y¯由式(1)给出
在深度学习框架中,对复数域的信号很难处理。为了避免问题的复杂化,将复数模型式(1)转化为等价的实数模型
其中,ℜ(·)和ℑ(·)分别表示复向量的实部和虚部。
在传统的MIMO检测系统中,最优检测方案是ML检测。但随着天线数量和信号调制阶数的增加,ML检测的复杂度呈指数级增加。因此ML检测很少用于实际的MIMO检测,而是作为MIMO检测性能的基准方案,其基本模型可以表示为
在传统的MIMO系统中,除了线性检测算法以外,也经常使用非线性检测算法及其改进和优化之后的算法,且检测性能较好。线性信号的检测算法的主要思想是干扰置零,对接收到的信号进行线性加权,以满足某种准则,分离出不同的发送信号,然后对每个信号进行检测。然而在大规模MIMO系统中,需要充分考虑干扰的影响,部分非线性检测算法可以有效解决这个问题,其中,干扰消除算法应用很普遍。干扰消除(Interference Cancellation,IC)算法的主要思想是多用户检测,需要消除其他用户对当前检测用户的干扰。具体公式为
于是消除第i个用户对下一个用户的干扰,并更新接收向量可以得到
深度神经网络(DNN)一般由输入层、隐藏层和输出层组成,是一种典型的深度学习(DL)模型,其本质是输入x0∈R2M到输出y∈R2N的一种映射函数y=f(x0;θ),θ表示训练神经网络的参数集,可通过损失函数来优化参数集,将输入映射到期望的输出。DNN具有多层结构,由许多功能单元组成,在输入层和输出层之间有多个隐藏层。对于具有L层的DNN,从l-1 层 传递到l层的输出可以表示为
其中,θl表 示第l层的训练参数,f(l)(xl-1;θl)表示第l层的映射函数。
早期基于DL的MIMO信号检测方法是一个专门用于MIMO检测的深度学习架构,称作DetNet[17,23](检测网络),利用投影梯度下降算法(Projected Gradient Descent algorithm, PGD)实现。基于深度学习的MIMO检测器不适于直接使用式(2)的实数模型,而应该使其具有足够的统计量,如式(10)所示
其中, Π[·]表 示非线性投影算子,xˆl表 示第l次迭代得到的发送向量估计值,δl表示步长。式(12)迭代的本质就是对xˆl,HTy,HTHxˆl三者线性组合的非线性映射迭代。通过在每次迭代中将输入提升到更高的维度并应用于深度神经网络(DNN)来丰富这些迭代。DetNet第l层的操作和网络结构如图1 所示,产生了以下体系结构
从式(12)、式(13)可以看出,DetNet在每一层中都额外加入了没有实际物理意义的向量v作为输入向量,并且每一层的输入向量和输出向量之间的完全连接使DetNet的网络架构变得复杂,不仅导致计算复杂度较高,而且在一定程度上给训练优化造成困难,也使得硬件要求变高。与此同时,Det-Net在调制方式上只能适用于QPSK和4QAM的调制,并且在此调制方式下,对于大规模MIMO也不能表现出很好的性能。为此,Gao等人[19]提出了ScNet,在DetNet的基础上做了3点改变:一是简化输入,去掉原本扩展维度的向量v;二是简化了网络连接结构,将完全连接改为稀疏连接;三是优化了损失函数,避免矩阵不可逆的情况出现。其具体结构如图2所示,其中,第l层的输入表达式为
受前述已有算法的启发,本文在ScNet网络模型上进一步改进得到ImpScNet,不但能够提升检测性能而且可以加快网络的收敛速度,同时复杂度需求亦有较大程度的减轻。对于大规模MIMO系统,随着天线数量的增加且天线数比例保持一个比值时,即M,N →∞且M/N=η时,利用信道硬化现象,即在信道满足独立同分布时,HTH特征值经验分布能确定收敛。确切地说,随着天线数目增多,在HTH中,相比于对角元素的值,非对角上面的值将会变得越来越小。如64×64,128×128 MIMO天线配置下的HTH的矩阵幅度图,随着天线数目增多,信道硬化现象越来越明显,即M,N →∞时 ,HTH/M →IN。因此,ImpScNet可以利用信道硬化现象,将式(18)改写为
为了能够在最终实现中进一步增强ImpScNet的性能,需要考虑前一层的输出作为下一层的输入会有所关联,因此添加了一个残差ResNet[24]特征,每一层的输出都是前一层输出的加权平均值。
首先使用ImpScNet检测算法对接收到的信号进行检测,然后对检测过的信号进行干扰消除,消除已检测信号对未检测信号的干扰,再重复完成前两个步骤,直至检测完所有接收到的信号,这个检测算法称为ImpScNet-SIC。具体的算法架构和流程分别如图3及算法1所示。
算法1 ImpScNet-SIC检测算法训练流程
图3 ImpScNet-SIC算法处理框架
本文提出的ImpScNet-SIC检测算法在每一个检测层上可分为2级。在第1级需要获得传输符号初步估计值。对于初步估计值的获取,可考虑两种方案:第1种是使用迫零(ZF)检测算法,即xˆZF=GZFy=(HTH)-1HTy。第2种就是使用ImpScNet检测算法。由于ZF算法中存在矩阵求逆,对于大规模MIMO系统而言,将致使其复杂度偏高。经过综合考虑,第1级选择由ImpScNet检测算法得到传输符号的初步估计值,其中,训练深度神经网络(DNN)的第l层的输出传输符号的估计值xˆl可以表示为
借助SIC,在每一阶段,进行检测、估计、解调一个符号,然后从接收信号矢量中y中消除来自该符号的干扰。通过SIC可将第1个发送符号恢复出来,再将检测到的传输符号从接收信号中消除,从而得到下一个检测信号,其一般表达式为
其中,h1为 信号矩阵H中第1列元素,y˜1是消除信号x˜1后 得到的接收信号。将干扰消除得到的y˜,H和x˜作为SIC中检测的输入,再次经过ImpScNet,训练得到最终的估计值。通过将以上两个步骤经过多次循环迭代后,整个MIMO系统所有发送符号就可以全部检测并恢复出来。
在SIC算法中,需要考虑差错传播的影响,因为最先检测出的信号精度将会影响下一层,致使符号的检测顺序影响SIC的检测性能。在忽略噪声的情况下,接收端接收到的信号强度只与信道矩阵H和传输符号向量x有 关,且与信道矩阵H的列范数成正比。所以可以根据信道矩阵H的列范数的大小排序来进行串行干扰消除算法,对矩阵H的列范数进行降序排序可以得到对应的列下标集合,即
以实乘次数作为评估量,本文针对传统的检测算法ZF-SIC和MMSE-SIC以及基于深度学习的检测算法DetNet, ImpScNet和ImpScNet-SIC分别进行复杂度分析。由于ZF-SIC和MMSE-SIC检测算法涉及传输符号向量排序及滤波矩阵计算等相关问题,导致其复杂度高达M的4次方的数量级O(M4)。DetNet, ImpScNet和ImpScNet-SIC的复杂度分别是根据式(12)、式(13)、式(22)-式(24)和算法1进行计算的。由于DetNet是全连接网络需要训练的参数较多,而且分别考虑了向量v和输入符号的相邻层的关系,致使其复杂度达到了数量级O(N3),即训练网络的实乘运算为(3L+2M2-1)N3+(4L+2M-1)N。考虑使用稀疏连接和简化输入之后,ImpScNet的复杂度相比于DetNet下降了一个数量级。在引入SIC后需要考虑星座点判决和SIC实乘运算为M(M-1)/2 ,此过程的复杂度为O(M2)。S I C 辅助I m p S c N e t 训练网络的实乘运算为(2L+2M2-1)N2+ (3L+2M-1)N。图4分别给出了基站天线数分别为64根和128根的大规模MIMO上行链路信号检测复杂度评估结果。从图4可以看出,虽然接入SIC之后的ImpScNet-SIC检测算法相比于ImpScNet复杂度有所增加,但是始终低于DetNet的复杂度,并且本文提出的ImpScNet-SIC检测算法在用户量较多的情况下,相对于传统算法具有明显的低复杂度优势。
图4 算法复杂度对比
在仿真实验中,训练数据由调制信号QPSK通过瑞利衰落信道随机产生的,信噪比均匀分布在4~14 dB。发射端信噪比可以定义为
其中,Es是 平均符号能量,σ2是加性高斯白噪声的方差。每一组y,H和x被视为一个训练样本,每个信噪比下对应50000个样本。对于测试数据,创建与训练数据具有相同信噪比的样本。
本文在仿真过程采用随机梯度下降方法的变体Adam Optimizer来训练神经网络。所有网络的训练均使用基于Python的TensorFlow库实现。在DetNet与ScNet架构情况下,在所有星座和所有信道大小中分别使用30层与15层网络。在训练时,使用学习衰减率β,起始速率为β0=0.001,每1000次迭代的衰减速率为0.97,因此每迭代1000次学习率的更新表达式为:βt=β0×0.97t(t=1,2,...,10)。具体的参数设置如表2所示。
表2 训练ImpScNet-SIC时参数设置
图5是调制方式为QPSK的信号在瑞利衰落信道上的误码率性能图,天线配置为32×32,即M=32和N=32。从图5可以看出,DetNet与同样是基于深度学习训练的算法OAMPNet[14]和OAMPNet2[25]相比性能更好。ImpScNet相较于DetNet的性能明显更优,并且ImpScNet的训练层数只有DetNet训练层数的1/2,其复杂度远远低于DetNet。考虑了用户间干扰的ImpScNet-SIC算法的性能又明显优于DetNet和ScNet,当误码率约为3×10-3时,ImpScNet-SIC相比于DetNet和ImpScNet分别达到了近1 dB和0.5 dB的性能增益。
图5 32×32(η =1)天线配置的链路误码率
图6和图7分别显示QPSK调制方式下天线配置为32×64和64×64系统的误码率性能。从图中可以看出无论η=0.5还 是η=1,ImpScNet-SIC的性能均是最优的。从图6可以看出,DetNet的性能优于ImpScNet,但是随着η的变大,图7中ImpScNet的性能会明显优于DetNet的性能。在信噪比较低的时候,MMSE的检测性能甚至超过了OAMPNet和OAMPNet2,但是OAMPNet2与OAMPNet也和ImpScNet呈现了一致的性能改善趋势。随着SNR值逐渐增大,可以表明基于深度学习的检测算法的性能改善远远优于传统检测算法MMSE。
图6 64×32(η =0.5)天线配置的链路误码率
图7 64×64(η =1)天线配置的链路误码率
图8-图10给出了接收天线数为128保持不变,发射天线分别为64(η=0.5 ) ,100(η=0.78),128(η=1)的大规模MIMO系统在QPSK调制方式下的误码率性能。从3幅图中均可以看出,基于深度学习的检测算法均优于传统的检测算法,并且本文提出的ImpScNet-SIC检测算法一直呈现相对最优的误码率性能。随着η值的变大,相比于DetDet检测算法,ImpScNet的误码率改善表现出很大的优势,即使η=0.5,SNR > 11 dB时,其性能呈现一定的劣势,但是,当η=0.78和1时,ImpScNet检测算法表现出的误码率性能更为突出,这是因为随着η值的变大,信道硬化现象使得HTH对角元素的值会远大于非对角元素的值。进一步考虑干扰消除思想的ImpScNet-SIC在误码率为5×10-4时,相比于DetDet和ImpScNet至少有0.5 dB以上的性能增益。
从图8可以看出,当SNR值较小时,DetNet,ImpScNet及ImpScNet-SIC三者的误码率性能改善速率几乎一致,但是随着SNR值逐渐增加,Imp-ScNet-SIC凸显的性能增益更加明显,当误码率为10-3时,DetNet与ImpScNet的性能增益几乎一致,而ImpScNet-SIC相比于二者达到了近5 dB的性能增益。从图9可以看出,ImpScNet及ImpScNet-SIC的误码率性能是远远优于DetNet,而且随着SNR值递增,ImpScNet-SIC呈现的误码率优势相比于ImpScNet也越来越明显,当误码率为3×10-5时,ImpScNet-SIC相比于ImpScNet实现了约2 dB的性能增益。从图10可以看出,当误码率为1.5×10-2时,与DetNet, ImpScNet相比,ImpScNet-SIC分别实现了近1 dB, 4 dB的性能增益,并且ImpScNet相比于DetNet,有接近3 dB的性能增益。由此说明,本文提出的方案更适合于大规模MIMO系统信号检测,并产生了较大的性能增益。
图8 128×64(η =0.5)天线配置的链路误码率
图9 128×100(η =0.78)天线配置链路误码率
图10 128×128(η =1)天线配置的链路误码率
图11分别给出了3种检测算法在8 dB信噪比条件下训练网络时的收敛速度和性能。从图中可以看出,在简化DetNet网络结构和改进损失函数之后得到的ImpScNet,不仅提升了网络的收敛速度,使得训练时所需的迭代次数减少,节省了训练时间和硬件成本,而且其性能也有明显的提高。经过一定的迭代次数之后,3种算法均达到了不同程度的收敛,但是与D e t N e t 相比,I m p S c N e t 和ImpScNet-SIC的表现更加稳定且误码率更优。因此本文提出的ImpScNet-SIC检测算法不仅在网络收敛速度上与ImpScNet检测算法几乎保持一致,而且其性能远远优于DetNet和ImpScNet。这也证明了本文所提方案具有更优的性能、稳定性及复杂度等综合表现。
图11 SNR = 8 dB时,网络的收敛速度
根据投影梯度下降算法(PGD)近似求解MIMO检测,本文改进了适用于大规模MIMO信号检测的稀疏连接网络,提出了ImpScNet算法。在此基础上,进一步考虑大规模MIMO系统的信道硬化现象,简化输入的维度并且有效简化训练的参数数量和复杂度。在损失函数中还考虑了传输符号与估计值之间的相关性,不仅加快了网络的收敛速度,而且使得收敛更加稳定。通过SIC辅助ImpScNet,提出了一种新的大规模MIMO信号检测算法ImpScNet-SIC。仿真实验结果表明,与已有的相关检测算法相比,本文提出的ImpScNet-SIC检测算法具有更好的误码率性能、更快的收敛速度和收敛稳定度。本文提出的检测算法更加有利于大规模MIMO系统信号检测的高效实现。