陈洪燕,李 刚,景小荣
(1.重庆邮电大学 通信与信息工程学院,重庆 400065;2.中兴通讯股份有限公司,深圳 518000)
随着5G技术研究的深入,为了保证5G系统信息传输的可靠性,3GPP组织正式将低密度校验码(Low Density Parity Check,LDPC)码和极化码(Polar Code)纳入5G的标准规范中,其中极化码作为一种被严格证明了能在二进制离散无记忆信道下达到香农限的信道编码,其编译码复杂度相对较低[1]。因此,有必要对极化码信道编码的大规模多输入多输出(Multiple-Input Multiple-Output,MIMO)系统进行深入研究。
然而,极化码和大规模MIMO技术相结合,在商业化应用中目前仍面临一些亟待解决的问题,如在极化码信道编码的大规模MIMO系统中,优化设计低复杂度信号检测方案。
在大规模MIMO系统中,当N≫K(N是基站天线数,K是用户数)时,各用户间信道趋于正交[2]。利用这一特性,线性检测算法,如迫零(Zero-Forcing,ZF)检测算法和最小均方误差(Minimum Mean-Square Error,MMSE)检测算法,在信道状态信息完美条件下,可取得近似最优的检测性能[3];然而这两种算法均涉及矩阵求逆操作。同时,随着5G技术的商业化应用,大规模MIMO系统的信道矩阵维度也越来越大,为了充分利用大规模MIMO的优势,必须有效地解决线性信号检测算法中所涉及到的高维矩阵求逆问题。
到目前为止,有三种近似矩阵求逆或间接对矩阵求逆的方法解决矩阵直接求逆的计算复杂度高的问题:一是分解法,如Cholesky分解法[4],基本思想是首先将矩阵转变成一个上三角矩阵和一个下三角矩阵的乘积,然后进行求逆运算,但计算复杂度仍高达O(K3)。二是近似法,如Neumann级数展开[4]和Newton法[5]。Neumann级数展开的基本思想是对矩阵求逆运算采用级数展开来近似。基于Neumann级数展开的信号检测算法面临收敛速度慢且当Neumann序列阶数大于2时,矩阵乘法大量存在,计算复杂度较高。Newton法的核心思想是对函数的泰勒展开,但需要求逆矩阵操作,计算复杂度较高。三是迭代法,其基本思想是将信号检测问题转化为求线性方程组的解,包括Jacobi检测算法[6]、Gauss-Seidel检测算法[7]、逐次超松弛迭代(Successive Over-Relaxation,SOR)检测算法[8]等。将MMSE检测算法与Jacobi检测算法相结合,能改善Jacobi检测算法的收敛速度较慢的缺陷且提升其性能[9]。为了加快Gauss-Seidel检测算法的收敛速度,将最速下降算法与Gauss-Seidel检测算法相结合,经过几次迭代后就能收敛接近MMSE检测算法的性能[10]。文献[11]在SOR检测算法的基础上,提出了一种自适应排序干扰消除(Sorting Interference Cancellation,SIC)检测算法,通过干扰消除降低待检测矩阵的维度。该算法相较于SOR检测算法,降低了计算复杂度且提升了性能。
本文在对极化码信道编码的大规模MIMO系统的信号检测和大规模MIMO系统信号检测研究现状分析的基础上,结合极化码,提出了一种基于无转置极小残差(Transpose-Free Quasi-Minimal Residual,TFQMR)的低复杂度的次优信号检测算法。该算法有效地回避了传统MMSE检测算法计算均衡矩阵所需要的求逆过程。数值仿真结果表明,在融合极化码信道编码的大规模MIMO系统中,提出的基于TFQMR的信号检测算法的误比特率(Bit Error Rate,BER)性能与计算复杂度均优于基于Neumann级数展开的信号检测算法,而且经过5次迭代后,基于TFQMR的信号检测算法收敛可取得传统MMSE算法的性能。
考虑一单小区多用户的极化码信道编码的上行大规模MIMO系统。假设大规模MIMO系统在基站端配置N根天线,同时为K(K≪N)个单天线用户设备提供服务。在发射端,在L个时隙内,每个用户各自独立生成mL个待传输的比特[12]。mRL比特为信息比特,其余为冻结比特,R为极化码码率。经过极化码编码后,然后进行2m-正交幅度调制(Quadrature Amplitude Modulation,QAM),各个用户的mL比特被映射成L个符号,再将调制后的符号经过用户的天线同时发射,最后基站端N根天线接收到合并信号并将发射的符号恢复出来。因此,大规模MIMO系统收发端的输入输出信号关系可表示为
y=H·s+n。
(1)
式中:yN×1是接收矢量;sK×1是发射矢量;HN×K是信道矩阵,且各元素相互独立,服从均值为0、方差为1的复高斯随机变量分布,假设基站端已知信道状态信息(Channel State Information,CSI);n表示背景噪声,假设为服从均值为0、协方差矩阵为σ2IN的复高斯随机变量,IN为N阶单位矩阵。接收天线上的信噪比(Signal-to-Noise Ratio,SNR)定义为
式中:Es表示各用户的平均发射功率。
根据式(1)的信号指定,基于MMSE检测准则,有
(2)
J=G+σ2IK。
(3)
式中:G=HHH为格拉姆矩阵。记
(4)
则MMSE检测算法估计值又可表示为
(5)
采用MMSE信号检测,显然不可避免地需要对矩阵J进行求逆,矩阵求逆的计算复杂度约为O(K3)。当用户数K越来越多,计算复杂度会越高,而且矩阵求逆的困难程度也会逐渐增大。因此,MMSE检测算法很难在实际中应用于大规模MIMO系统上行信号检测。为此,下一节将提出一种能够适用于大规模MIMO系统的低复杂度的信号检测算法。
TFQMR作为Krylov子空间中求解大型稀疏线性方程组的一种方法,可得到子空间中的近似解,当基逐渐变大时,近似解会逐渐逼近精确解,并收敛于精确解。TFQMR方法用于解线性方程组求解可描述为:当矩阵A对称正定时,给定一初始解s(0),通过TFQMR方法可实现对线性方程A·s=b进行迭代求解。TFQMR方法需要数次迭代就会收敛[13],初始解s(0)越接近真实解向量,其收敛速度越快。
进一步,MMSE检测算法的矩阵J可将其进行分解为
J=D+E。
(6)
式中:D是矩阵J的主对角矩阵元素所构成的矩阵,E代表矩阵J的非对角元素所构成的矩阵。由文献[3]可知,在上行大规模MIMO系统中,当K≪N时,信道矩阵会表现出渐近正交这一特性;同时,Marcenko-Pastur定律指出信道矩阵具有信道硬化这一特性,随着N/K比值的逐渐增大,矩阵的主对角占优特性会更加明显,则矩阵D会趋近于对角阵J,即J≈D。因此,可将初始解向量近似为
(7)
输入:y,H,σ2,T(迭代次数)。
Step1 判断t是奇数还是偶数,若t是奇数,则执行Step 2,若t是偶数,跳至Step 3。
Step2 若t是奇数,依次更新中间量:
Step3 依次更新中间量:
z(t)=Ju(t),
w(t+1)=w(t)-α(t)z(t),
d(t+1)=u(t)+((θ(t))2/α(t))η(t)d(t),
θ(t+1)=‖w(t+1)‖2/γ(t),
c(t+1)=(1+(θ(t+1))2)-1/2,γ(t+1)=γ(t)θ(t+1)c(t+1),
η(t+1)=(c(t+1))2α(t)。
Step4 更新解向量,s(t+1)=s(t)+η(t+1)d(t+1)。
Step5 若t是偶数,更新中间向量:
Step6 判断t=T是否成立,若成立,则迭代结束并输出,否则跳至Step 1。
后续仿真表明,当基于TFQMR的信号检测算法在迭代5次后就能收敛,即当T=5时,该算法可取得接近于MMSE算法的性能。
计算复杂度是衡量算法性能优劣的重要指标,因此,本节主要介绍基于TFQMR的信号检测算法的计算复杂度,定义为从基站端接收的合并的信号中恢复出发射信号矢量所需要的实数乘法与实数加法次数总和。
基于TFQMR的信号检测算法中,在初始化部分,总共需要16K2+20K-4次浮点运算,而在基于TFQMR的迭代求解过程中,当t是奇数,每次迭代需要进行8K2+50K+44次浮点运算;当t是偶数,每次迭代需要进行16K2+76K+42次浮点运算,因此,其计算复杂度可表示为
式中:T为总迭代次数,⎣·」为向下取整符号。
为了与基于Neumann级数展开的信号检测算法进行对比,表1给出了基于TFQMR的信号检测算法与基于Neumann级数展开的信号计算算法的复杂度对比。
表1 计算复杂度对比
由表1可得,基于TFQMR的信号检测算法的计算复杂度约为O(K2),相较于MMSE信号检测算法降低了一个数量级。图1给出了基于Cholesky分解的信号检测算法、基于Neumann级数展开的信号检测算法和基于TFQMR的信号检测的计算复杂度比较。在图1中,T表示基于 Neumann级数展开的信号检测算法的Neumann序列阶数,也表示基于TFQMR的信号检测算法的迭代次数。仿真结果表明,当T≥3时,基于Cholesky分解的信号检测算法和基于Neumann级数展开的信号检测算法的计算复杂度远远高于基于TFQMR的信号检测算法,这表明基于TFQMR的信号检测算法在计算复杂度上相比基于Cholesky分解的信号检测算法和基于Neumann级数展开的信号检测算法有明显的优势,理论分析与实际仿真结果相符。
图1 各种算法浮点数运算次数与用户个数的关系
本节采用数值仿真来验证基于TFQMR的信号检测算法的性能,并将其与基于Neumann级数展开的信号检测算法和传统的MMSE信号检测算法进行对比。
仿真中极化码码率R=0.5,调制方式为16-QAM调制。首先每个用户各自独立生成mL个待传输的比特,其中L设为1。mRL比特为信息比特,其余为冻结比特,R为极化码码率。经过极化码编码后,然后进行2m-QAM调制,各个用户的m比特被映射成1个符号,再将调制后的符号经过用户的天线同时发射。基站接收天线接收到的信号根据检测算法对发射矢量进行信号估计,再将信号估计值进行解调,计算出对数似然比值,最后将对数似然比值送进串行抵消(Successive Cancellation,SC)译码器进行译码得到比特流。设定用户平均发射功率为1 mW,即Es=1 mW。
图2给出了当基站天线数N=128、用户数K=32时,基于Neumann级数展开的信号检测算法与基于TFQMR的信号检测算法的性能比较曲线。从图2中可看出,在大规模MIMO系统中,基于Neumann级数展开的信号检测算法和基于TFQMR的信号检测算法的BER均随着SNR不断增加而不断降低;同时,基于TFQMR的信号检测算法在第2次迭代时的性能已优于基于Neumann级数展开的信号检测算法当Neumann级数为5的性能,这说明本文算法更适宜用户数较多的场景;且在迭代次数为5时,基于TFQMR的检测算法的误码率性能曲线已经逼近于基于MMSE的信号检测算法。
图2 K=32时BER随SNR变化的曲线图
图3给出了当基站天线数N=128、用户数K=16时,基于Neumann级数展开的检测算法与基于TFQMR的检测算法的BER性能对比曲线。从图3可看出,基于TFQMR的检测算法在迭代次数为3次时,就可取得逼近MMSE检测算法的性能,且其性能优于基于Neumann级数展开的检测算法在Neumann级数为5的性能。相较于用户数K=16的情况,图3中由于用户数的不断减少,用户之间的干扰会降低,因此其性能相比图2,基于Neumann级数展开的检测算法与基于TFQMR的检测算法的BER性能均有所改善。
图3 K=16时BER随SNR变化的曲线图
图4给出了当用户数K=16、信噪比为2 dB时,基于Neumann级数展开的信号检测算法与基于TFQMR的信号检测算法的BER随着基站天线数变化的性能对比曲线。随着天线数的不断增加,基于Neumann级数展开的信号检测算法、基于TFQMR的信号检测算法和MMSE信号检测算法的性能逐渐变得更优,且随着迭代次数的增加,基于Neumann级数展开的信号检测算法与基于TFQMR的信号检测算法的性能曲线都逐渐逼近MMSE检测算法的性能曲线;然而在迭代次数相同的情况下,基于TFQMR的信号检测算法的性能明显优于基于Neumann级数展开的信号检测算法的性能。
图4 BER随基站天线数变化的曲线图
图5给出了当基站天线数N=128、信噪比为2 dB时,基于Neumann级数展开的信号检测算法和基于TFQMR的信号检测算法的BER随着用户数的变化曲线。如图5所示,基于Neumann级数展开的信号检测算法和基于TFQMR的信号检测算法的BER性能随着用户数的不断增加逐渐变差。原因是随着用户数的增加,用户之间的干扰不断增加,导致BER不断上升。但在同一T取值,基于TFQMR的检测算法性能明显优于基于Neumann级数展开的算法。
图6给出了当基站天线数N=128、用户数K=16时,基于TFQMR的检测算法的BER性能随迭代次数和SNR的变化曲线。从图中可以看出,随着SNR不断增加,BER不断下降;同时,当迭代次数T≥5时,BER性能变化趋于平稳,因此本文提出的基于TFQMR的检测算法在迭代5次后趋于稳定。
图6 BER随迭代次数变化的曲线图
本文提出了一种基于TFQMR的低复杂度信号检测算法。在该算法中,充分利用TFQMR迭代求解线性方程组的优势,从而避免了MMSE算法求解矩阵逆的运算,将计算复杂度数量级由O(K3)降为O(K2)。同时,与目前比较流行的基于Neumann级数展开的信号检测算法相比,本文所提算法在性能和计算复杂度上更具有明显的优势。
然而,本文算法仅考虑融合了极化码的大规模MIMO系统上行链路,如何对融合极化码的大规模系统下行进行深入研究,将是未来工作的重点。