APP下载

大规模MIMO系统中块高斯-赛德尔检测算法*

2021-07-28叶倩倩张治中闵小芳胡昊南

电讯技术 2021年7期
关键词:复杂度信道次数

叶倩倩,张治中,闵小芳,胡昊南

(重庆邮电大学 通信与信息工程学院,重庆 400065)

0 引 言

大规模多输入多输出(Multiple-Input Multiple-Output,MIMO)技术通过充分利用空间资源来提高无线通信的数据速率、频谱效率和能源效率[1-4]。由于该技术增加了基站侧和用户侧的天线数量,导致信号在接收端产生叠加,因此需要MIMO检测算法对接收端的信号进行处理,恢复出发送信号。

最小均方误差(Minimum Mean Square Error,MMSE)算法[5-6]利用“信道硬化”现象[7]可以实现接近最佳的误码率(Bit Error Ratio,BER)性能,而被认为是大规模MIMO系统最具有潜力的检测算法之一。与具有检测性能最优的最大似然(Maximum Likelihood,ML)算法[8]相比,虽然MMSE检测算法复杂度得到了极大程度的降低,但仍存在高维矩阵求逆运算,复杂度为O(K3)。因此,近年来国内外学者着重于研究基于MMSE的近似检测算法来避免矩阵求逆。文献[9]提出利用Neumann级数展开算法,实现了复杂度从O(K3)到O(K2)的降低,但性能损失很大。文献[10]提出了一种共轭梯度法,能够实现比Neumann级数展开算法更优的性能,但是性能受搜索方向和步长影响较大。一些文献也提出了通过求线性方程最优解避免矩阵求逆,如理查德森迭代[11](Richardson,RI)、雅克比迭代[12](Jacobi,JC)、对称连续超松弛迭代[13](Symmetric Successive Over-Relaxation,SSOR)、Kaczmarz迭代[14]等算法虽然可以有效降低复杂度,但收敛性并不是很好。

针对天线规模增大而出现的传统检测算法高维度矩阵求逆等问题,本文将高斯-赛德尔[15](Gauss-Seidel,GS)迭代算法应用于大规模MIMO系统中,通过求解线性方程来避免复杂的高维度矩阵求逆,从而得到发送向量估计值。为了进一步加快GS算法收敛速率,本文提出一种低复杂度BGS信号检测算法,将MMSE检测器的滤波矩阵进行分块预处理,然后通过构造分裂矩阵来加快算法的收敛速率,最终达到提高算法检测性能的目的,且该算法的复杂度能够在任意迭代次数下保持O(K2)。仿真结果显示,BGS算法的性能比传统GS迭代和Neumann级数展开算法更好,而且能以较少的迭代次数逼近MMSE检测算法的性能曲线。在设定近似初始值后,能够进一步提升BGS算法检测性能。

1 系统模型

考虑在大规模MIMO系统上行链路中,每个用户配置单根天线。令K和N分别表示用户侧和基站侧的天线数量,且信道为瑞利衰落信道(该信道可用等效基带信号表示,也就是说可以用复数来同时表示信道的衰减和时延特性,复数的模描述了信道对信号的衰减,复数的相位描述了信道对信号的时延,且它的实部和虚部服从于零均值的独立同分布高斯过程),则接收信号模型可用式(1)表示:

yN×1=HN×KxK×1+nN×1。

(1)

式中:y=[y1,y2,…,yN]T∈CN×1表示接收信号;x=[x1,x2,…,xK]T∈CK×1表示发射信号;n=[n1,n2,…,nN]T∈CN×1表示服从均值为0、方差为σ2分布的加性高斯白噪声;H∈CN×K表示瑞利衰落信道矩阵,H(j,i)表示第i根发射天线到第j根接收天线的信道衰落系数。为了避免复杂的复数运算,可将式(1)转换为等价的实数模型:

y=Hx+n。

(2)

式中:y∈R2N×1,x∈R2K×1,n∈R2N×1,H∈R2N×2K。即式(2)可以表示为

(3)

式中:Re(·)和Im(·)分别表示复数的实部和虚部。

MMSE检测算法可以实现渐近最优的系统性能,其发送信号的接收估计值可以表示为

(4)

在MMSE检测算法中,若有一个可逆矩阵X与滤波矩阵W近似,并满足

(5)

则W-1可用式(6)表示:

(6)

当N≫K时,W具有对角占优特性。若式(6)中的X用D来表示:

(7)

式中:D为W的对角矩阵,E=W-D。在Neumann级数展开中,若只取式(7)的前i项,则

(8)

虽然该算法在极大程度上减少了算法复杂度,但是当i≥3时,其计算复杂度仍为O(K3)。

2 基于GS改进的检测算法

2.1 BGS迭代算法

本文将矩阵求逆问题转换为求解形如Ax=b的K维线性方程。在大规模MIMO系统中的信道矩阵H满秩,并且满足列渐进正交,因此W是对称正定矩阵。基于此,可以引入GS算法求解该问题。为了进一步加快GS算法收敛速率,本文提出的BGS信号检测算法对GS算法的滤波矩阵分解进行优化处理,将分解公式W=D-L-U中的对角矩阵D转化为分裂矩阵DB。而分裂矩阵DB则是由滤波矩阵W进行分块预处理构造,可以表示为

(9)

式中:ai,j和di,j分别表示矩阵A和矩阵DB的第i行第j列元素。

将DB带入GS算法的分解公式,则

W=DB-LB-UB。

(10)

式中:DB为W的分块对角矩阵,LB和UB分别为W的分块下三角矩阵和分块上三角矩阵。

因此,BGS算法的迭代方程为

(11)

式中:x(0)是初始解。

令B=(DB-LB)-1UB,则式(11)表示为

(12)

式中:B表示BGS算法迭代矩阵。

综上所述,基于BGS的信号检测算法伪代码如下:

输入:信道衰落矩阵H,接收信号y;

(1) 计算MMSE滤波矩阵W=HHH+δ2I;

(3) 初始化:x(0)=0;

(4) 根据式(9)计算分块对角矩阵DB;

(5)计算LB和UB;

(6)循环

(7) fori=0,1,2,3,…

(8) 根据式(11)更新x(i+1);

(9) end for

在大规模MIMO系统中,由于N≫K,所以为了减少算法收敛所需要的迭代次数,采用一种近似的初始估计值[16],如下所示:

(13)

式中:D表示W的对角矩。

2.2 收敛性分析

迭代矩阵B=(DB-LB)-1UB的特征多项式为

|λI-B|=|λI-(DB-LB)-1UB|=

|(DB-LB)-1(λ(DB-LB)-UB)| 。

(14)

由于|(DB-LB)-1|≠0,所以特征值满足

|(λ(DB-LB)-UB)|=0 。

(15)

又因为滤波矩阵W具有对角占优特性,所以式(15)高次方程的根模|λ|<1,因此该迭代过程是收敛的。

2.3 复杂度分析

(16)

由式(16)可知,所提出的BGS信号检测算法的第i次迭代的计算复杂度来自两部分[17]。

第二部分是求解线性方程(16)。令F=(DB-LB),式(16)的计算如下:

当m=1时,

(17)

当m=3,5,…,K-1时,

(18)

式(17)和(18)中的fm,m表示F的第m行m列元素,m=1,3,5,…,K-1。

综上所述,该算法的复杂度能够在任意迭代次数下保持O(K2)。表1给出了不同算法的计算复杂度。

表1 不同算法的复杂度

3 仿真与分析

3.1 收敛率仿真

为了验证本文所提出算法的收敛速率,本节通过Matlab仿真,对比分析基于GS信号检测算法和基于BGS信号检测算法的收敛性。设基带信号为64QAM调制,K=16,并定义α=N/K。以‖x(i+1)-x(i)‖作为检测算法收敛误差的准则,两种算法在不同天线规模下的收敛误差仿真如图1所示。

图1 不同算法的收敛速率对比

图1中可以看到,GS算法和BGS算法在大规模MIMO信号检测中的收敛性较好,能够以较低的迭代次数使收敛误差达到在10-5。此外,当天线规模相同时,本文所提出的BGS算法的仿真曲线位于GS算法的下方,可以判断出BGS算法收敛速度更快,并且算法的收敛速度随着α的增加而加快。

3.2 BER性能仿真

为了验证本文所提出算法的检测性能,本节给出Matlab环境下的蒙特卡洛仿真结果,对比分析MMSE算法、Neumann算法、GS算法以及BGS算法在不同天线规模和调制阶数下的BER性能。大规模MIMO系统上行链路中,假设每个用户为单天线模式。在瑞利衰落信道中,设置各天线的发射功率为1 W,基带信号调制方式为64QAM调制,天线规模N×K为64×16、128×16、256×16的仿真结果分别如图2(a)~(c)所示,其中i表示不同算法迭代次数以及Neumann级数的展开项数。

图2 64QAM调制下不同检测算法的BER性能对比

由图2(a)可知,当迭代次数i增加时,不同算法的检测性得到了不同程度的改善。以MMSE算法BER性能曲线作为参考,在迭代次数相同的条件下,Neumann级数和GS算法检测性能不如BGS算法。在大规模MIMO系统中,BGS算法中的分裂矩阵DB比GS算法中的对角矩阵D含有更多的信道信息,可以有效降低系统的误码率,加快算法收敛速率,以较少的迭代次数逼近MMSE检测性能。在N×K为64×16、迭代次数i=4时,BGS算法的检测性能便能和MMSE算法相匹配。当基站侧的天线数量增加时,能提供的分集增益越高,通过分析图2可以看出,不同算法的检测性能都随着α的增加而得到极大的提升。在相同误码率下,N×K为64×16时比N×K为128×16时需要的信噪比更高,而N×K为128×16时比N×K为256×16时需要的信噪比更高,且N×K为256×16的性能比N×K为64×16的性能有8 dB左右的增益。

此外,在相同信道和天线发射功率下,设置基带信号调制方式为256QAM调制,天线规模N×K为64×16、128×16、256×16的仿真结果分别如图3(a)~(c)所示,其中i表示不同算法迭代次数以及Neumann级数的展开项数。

图3 256QAM调制下不同检测算法的BER性能对比

由图2和图3可知,当采用256QAM调制时,各算法所需要的信噪比比64QAM调制更高,其性能损失超过了5 dB。此外,当N×K为128×16时,BGS算法只需要迭代3次就可达到近似MMSE检测算法的BER性能,此时BGS算法复杂度仅为MMSE算法的16.41%,对比GS迭代算法复杂度降低了12.5%。

为了进一步提高高阶调制下系统的检测性能,采用式(13)的近似初始估计值与零向量初始值进行仿真比较。设基带信号为256QAM调制,N×K=256×16,i=2的仿真如图4所示。

图4 设置初始值的BGS算法BER性能对比

由图4可知,若采用近似初始值,BGS算法能在迭代次数i=2时接近MMSE的BER性能曲线,而此时算法的复杂度仍然保持在O(K2)。因此,采用近似初始估计值的BGS算法在高阶调制下的大规模MIMO系统中具有较好的检测性能。

4 结 论

本文引入GS算法来求解大规模MIMO信号检测高维度矩阵求逆问题,通过迭代得到发送信号估计值。为了加快算法收敛速率,提出了BGS信号检测算法。通过理论分析,BGS算法复杂度能够在不同迭代次数下保持在O(K2);通过仿真分析,在大规模MIMO系统中,不仅BGS算法收敛性较好,而且检测性能比Neumann级数算法和GS算法也更好。在设置近似初始值后,在高阶调制下的大规模MIMO系统中也能够近似MMSE检测性能。由理论推导和仿真分析可知,BGS算法可适用于大规模MIMO信号检测。

猜你喜欢

复杂度信道次数
机场航站楼年雷击次数计算
2020年,我国汽车召回次数同比减少10.8%,召回数量同比增长3.9%
一类无界算子的二次数值域和谱
一种低复杂度的惯性/GNSS矢量深组合方法
求图上广探树的时间复杂度
依据“次数”求概率
基于导频的OFDM信道估计技术
某雷达导51 头中心控制软件圈复杂度分析与改进
一种改进的基于DFT-MMSE的信道估计方法
出口技术复杂度研究回顾与评述