【精心整理】大规模MIMO上行多用户检测基础

大规模MIMO上行链路多用户检测

1.多用户检测技术概述

1.1 多用户检测技术的由来及优势

多用户检测是第三代移动通信系统中宽带CDMA通信系统抗干扰的关键技术,其定义为:联合考虑同时占用某个信道的所有用户或某些用户,消除或减弱其它用户对任一个用户的影响,并同时检测出所有这些用户或某些用户的信息的一种信号检测方法。多用户检测有时又称联合检测(Joint Detection)。

为了降低成本和高效的利用通信系统的资源,现有的通信系统一般允许多个用户共用系统资源,常常以时分多址(TDMA),频分多址(FDMA)和码分多址(CDMA)等区分不同用户。理论上不同的用户之间因为这些正交的多址方式不会相互影响,但实际大规模MIMO系统中,基站配置的成百上千根天线常常在同一个时频资源内服务多个单天线用户,上行链路中,基站的每根天线都会收到多个不同用户发送的信号,目标信号也混杂着其他用户发送来的干扰信号。多用户检测,就是指基站天线从混杂了用户干扰和噪声的接收信号中恢复出各个用户发送的数据符号的过程,可以说是通信系统最为基础,最为重要的组成部分。

传统的检测技术完全按照经典直接序列扩频理论对每个用户的信号分别进行扩频码匹配处理,因而抗多址干扰(MAI)能力较差;多用户检测(Multi-User Detection, MUD)技术在传统检测技术的基础上,充分利用造成多址干扰的所有用户信号信息对多个用户做联合检测或从接收信号中减掉相互间干扰的方法,有效地消除MAI的影响,从而具有优良的抗干扰性能。在理想情况下,应用多用户检测技术,系统的性能将接近单用户时的性能。这显然消除了“远近效应”的影响,可以简化用户的功率控制,降低系统对功率控制精度的要求。并且由于MAI的消除,用户在较小的信噪比下就可达到可靠的性能,单用户信噪比的降低可以直接转化为系统容量的增加,因此可以更加有效地利用链路频谱资源,显著提高系统容量

1.2 多用户检测的目标及分类

MIMO系统要求信号检测技术必须能够在低成本的前提下,正确的分辨出各个发送天线所发出的信号并作出判决。达到好的检测性能和较低的复杂度是当前检测算法研究的热点。MIMO检测算法按照检测所采用的处理方法分为线性检测算法和非线性检测算法。线性检测是指接收信号直接乘以一个滤波矩阵得到一个估计矢量,然后进行判决的方法,它是最简单的次优检测算法,根据采用的准则不同分为最大比合并(MRC)、迫零(ZF)和最小均方误差(MMSE)的算法。【次优检测算法是指计算复杂度远小于ML检测算法而误码率性能又不会下降很多的检测算法,如球形(Sphere Detection, SD)检测算法,K-Best检测算法,简化的K-Best(Simplified K-Best, S-K)检测算法,预删减折叠K-Best(Pre-Pruning Folding K-Best, PPFKB)检测算法等】

线性检测算法计算原理简单,算法复杂度主要集中在矩阵求逆,但性能较差,通常不会单独使用。非线性检测算法包括串行干扰抵消(Successive Interference Cancellation,sic)、并行干扰相消(Parallel Interference Cancellation,PIC)、噪声预测部分判决反馈检测算法(Noise Predictive Partial Detection Decision Feedback,NP-PDF)、QR分解检测算法等。
在这里插入图片描述

2. 多用户检测系统模型

在这里插入图片描述
  考察一个多用户MIMO的上行链路,基站处配置了 N R N_R 根天线,所服务的单天线用户数为 N T N_T ,基站和用户之间的窄带时不变信道可以用一个确定性的信道描述,接收到的信号 y C R N \boldsymbol y ∈ \mathbb C^N_R 可以表示为
y = H x + w (1) \boldsymbol y=\boldsymbol H\boldsymbol x+\boldsymbol w \tag{1}
其中, x = [ x j ] C N T \boldsymbol x=[x_j]\in \mathbb C^{N_T} 表示不同用户在一个时隙内向基站发送的数据符号, w = [ w i ] C N R \boldsymbol w=[w_i]\in \mathbb C^{N_R} 表示加性高斯白噪声, H = [ h i j ] C N R × N T \boldsymbol H=[h_{ij}]\in \mathbb C^{N_R \times N_T} 表示用户到基站信道矩阵,用户信号和加性噪声的功率分别为 σ s 2 \sigma_s^2 (可设为1)和 σ w 2 \sigma_w^2

3. 最大似然检测算法

最大似然检测算法是所有检测算法中性能最好,复杂度最高的算法,主要思想是在所有可能的发射信号空间内寻找与接收信号距离最短的那个发射信号作为检测结果输出。虽然有最佳的检测性能,但其复杂度随着调制阶数以及收发天线数的增加成指数增长。所以,当天线数较多时,复杂度相当高,这使得其在高阶调制的MIMO系统中的应用受到了很大的限制。它的检测原理是使得似然函数最大,也就是使得发送序列的各个信号等概率发送时满足下列最大似然准则,
x ^ = arg min x k χ y H x (2) \hat{\boldsymbol x}=\arg \min \limits_{x_k \in \chi}\|\boldsymbol y-\boldsymbol {Hx}\| \tag{2}

其中, χ \chi 为发送信号每个元素的取值集合。

优点:最大似然检测算法是当信道噪声为高斯白噪声时的最优检测算法,理论上这种算法的误码率最低。ML算法的性能是最优的,是其它译码算法性能的极限,能够提供 N R N_R 的分集度。并且接收天线数越大,能够提供的分集增益越高,ML检测的性能越好;因此ML检测可用作其他检测方法性能的参考

不足:由上述准则可以看出,ML检测需要遍历所有可能的发送信号序列,如果发送的信号是 Q Q 阶调制,发送天线数为 N T N_T ,则要遍历的信号序列为 Q N T Q^{N_T} ,每一次遍历操作所需的矩阵运算复杂度为 O ( N R N T ) \mathcal O(N_RN_T) , 因此最大似然检测的复杂度为 O ( Q N T N R N T ) \mathcal O(Q^{N_T}N_RN_T) ,检测每个符号所需的复杂度为 O ( Q N T N R ) \mathcal O(Q^{N_T}N_R) 。因此,ML检测算法的复杂度随着天线呈指数增长,当发送信号采用高阶调制或者当系统的用户数目较多时,最大似然检测将不再适用

4. 线性检测算法

线性检测算法的原理是通过一个检测滤波矩阵 W \boldsymbol W 对收到的信号进行线性处理,把相互干扰重叠的信号分离开来,即
x ^ = W y (3) \hat {\boldsymbol x}=\boldsymbol {Wy}\tag{3}
对处理后的信号进行判决估计,根据检测矩阵的不同分为MRC,ZF和MMSE检测。

4.1 最大比合并检测算法

MRC检测的原理是对接收到的信号按照不同的比例系数进行合并运算,选择最优的合并矩阵使得处理后的信号信噪比最大。由分析可知,当检测矩阵为信道矩阵的共轭转置时,可以消除信道对发送信号相位的影响,从而使得处理后的信号信噪比最大,即
x ^ = H H H x + H H w (4) \hat {\boldsymbol x}=\boldsymbol {H^HHx+H^Hw}\tag{4}
  在大规模MIMO系统中,当基站天线数目远大于用户数时,可以近似认为信道矩阵的每一列都是正交的,此时 H H H \boldsymbol {H^HH} 近似为对角矩阵,显著的减小了用户间的干扰。同时,MRC检测在对噪声信号处理的过程中,并没有对噪声信号放大,所以当信道条件不太理想或者天线数目远大于用户数目时,MRC是一个不错的方案。

矩阵共轭转置的复杂度为 O ( N R N T ) \mathcal O(N_RN_T) ,矩阵运算的复杂度为 O ( N R N T ) \mathcal O(N_RN_T) ,因此MRC的复杂度为 O ( N R N T ) \mathcal O(N_RN_T) ,检测每个符号所需的复杂度为 O ( N R ) \mathcal O(N_R) ,远小于ML算法的复杂度。

4.2 迫零检测算法

ZF检测算法的原理是借助信道矩阵的伪逆矩阵把相互干扰的发送信号分开,实现信号的分层检测,信号的估计值可以表示为
x ^ = ( H H H ) 1 H H y = ( H H H ) 1 H H H x + ( H H H ) 1 H H w (5) \hat {\boldsymbol x}=\boldsymbol {(H^HH)^{-1}H^H}\boldsymbol y= \boldsymbol {(H^HH)^{-1}H^H}\boldsymbol H\boldsymbol x+ \boldsymbol {(H^HH)^{-1}H^H}\boldsymbol w\tag{5}

从式(5)中可以看出如果没有噪声的干扰,ZF检测可以准确的恢复出发送信号。存在噪声影响的情形下,信号的准确值和估计值之间存在 ( H H H ) 1 H H w \boldsymbol {(H^HH)^{-1}H^H}\boldsymbol w 的误差,和MRC检测相比,ZF检测把噪声信号放大了 ( H H H ) 1 \boldsymbol {(H^HH)^{-1}} 倍。在抑制其他发射天线符号干扰的同时将噪声过度放大,影响了最终判决的性能,所以ZF检测算法抗噪声性能很差,只有 N R N T + 1 N_R-N_T+1 的分集阶数。当信噪比较低噪声功率较大或者 H H H \boldsymbol {H^HH} 的特征值较小时,噪声被显著放大,使得估计信号和实际信号的误差加大。特别地,若大规模MIMO的用户数目增大到和天线数目相当时, H H H \boldsymbol {H^HH} 有可能为奇异矩阵,从而使得系统的检测性能严重恶化。

ZF检测中涉及矩阵 H H H \boldsymbol {H^HH} 的求逆运算,其复杂度为 O ( N T 3 ) \mathcal O(N_T^3) 【注: N N 方阵求逆的复杂度 O ( N 3 ) O\left(N^{3}\right) 】,矩阵乘积的复杂度为 O ( N R N T ) \mathcal O(N_RN_T) ,当用户数量较多时,ZF算法的复杂度为 O ( N T 3 ) \mathcal O(N_T^3) ,每个符号的检测复杂度为 O ( N T 2 ) \mathcal O(N_T^2) ,相对ML检测极大地降低了复杂度。从以上分析可以看出大规模MIMO的复杂度主要来自于高维矩阵的求逆运算,因而寻找低复杂度的矩阵求逆甚至不进行矩阵求逆的方法至关重要。

4.3 线性最小均方误差检测算法

ZF检测算法虽然复杂度低,但是它有放大噪声的缺点,为了提高性能,在设计滤波矩阵的时候应该充分考虑噪声的影响,于是就有了MMSE检测算法。LMMSE检测的原理是:使检测到的信号估计值和实际值之间的均方误差最小,即
W = arg min W x W y 2 2 (6) \boldsymbol W=\arg \min \limits_{\boldsymbol W} \|\boldsymbol {x-Wy}\|_2^2\tag{6}
由于上述目标函数是凸函数,因此可以对 W \boldsymbol W 求导,当偏导数为零时,得最优解。当接收信号和估计误差正交时,估计信号与准确信号间的均方误差最小,即
E [ ( W y x ) y H ] = 0 (7) E[(\boldsymbol {Wy-x})\boldsymbol y^H]=0\tag{7}
化简得,
W M M S E = ( H H H + σ w 2 σ s 2 I ) 1 H H (8) \boldsymbol W_{MMSE}={(\boldsymbol {H^HH}+\frac{\sigma_w^2}{\sigma_s^2}\boldsymbol I)^{-1}\boldsymbol H^H}\tag{8}
其中: σ w 2 \sigma_w^2 是信道噪声方差, σ s 2 \sigma_s^2 是每根发送天线的信号功率。由式(8)可以看出,LMMSE检测考虑了噪声信号对检测结果的影响,当接收信号的信噪比较小时,矩阵 H H H \boldsymbol {H^HH} 因为加上了 σ w 2 I \sigma_w^2\boldsymbol I 的修正项,求逆之后的特征值不会很小,不容易成为奇异矩阵。在信道矩阵具有很强的相关性时,这样的修正保证了LMMSE检测相比于ZF检测依然能取得不错的性能。从MMSE检测矩阵的表达形式可以看出,其复杂度仍然集中在对 N T × N T N_T × N_T 维矩阵的求逆,因此其复杂度等级和ZF检测相同,但性能通常会优于ZF检测。

优点:MMSE考虑了噪声对系统的影响,在信噪比低时,噪声对ZF检测影响会更严重,MMSE检测性能优于ZF检测;当信噪比增高时,MMSE检测逐渐收敛于ZF检测

不足:与ZF检测算法一样,MMSE检测算法在抑制其他发射天线符号干扰的同时将噪声过度放大,从而影响了最终判决的性能,MMSE检测算法仅可提供 N R N T + 1 N_R-N_T+1 的分集阶数;MMSE检测需要噪声的统计信息也就是方差和一次额外的矩阵加法,复杂度略高于ZF检测。

经MMSE检测后,信号的估计值可以表示为
x ^ = ( H H H + σ w 2 σ s 2 I N T ) 1 H H y (9) \hat {\boldsymbol x}={(\boldsymbol {H^HH}+\frac{\sigma_w^2}{\sigma_s^2}\boldsymbol I_{N_T})^{-1}\boldsymbol H^H}\boldsymbol y \tag{9}
引入扩展信道矩阵 H ~ = [ H σ w σ s I N T ) ] \widetilde {\boldsymbol H}=\begin{bmatrix} \boldsymbol H \\ \frac{\sigma_w}{\sigma_s}\boldsymbol I_{N_T})\end{bmatrix} 和扩展信道接收矢量 y ~ = [ y 0 N T × 1 ) ] \widetilde {\boldsymbol y}=\begin{bmatrix} \boldsymbol y \\ \boldsymbol 0_{N_T \times 1})\end{bmatrix} ,则式(9)可写为:
x ^ = ( H ~ H H ~ ) 1 H ~ y ~ (10) \hat {\boldsymbol x}=(\widetilde {\boldsymbol H}^H\widetilde {\boldsymbol H})^{-1}\widetilde {\boldsymbol H}\widetilde {\boldsymbol y}\tag{10}
比较式(5)和式(10)可以发现,引入扩展信道矩阵后,ZF检测和MMSE检测表达式上的相似性

将以上线性检测算法的检测矩阵总结如下:
W = { H H , M F ( H H H ) 1 H H , Z F ( H H H + σ w 2 σ s 2 I ) 1 H H , L M M S E (11) \boldsymbol W=\left\{ \begin{aligned} &\boldsymbol H^H , &MF检测&\\ &\boldsymbol {(H^HH)^{-1}H^H}, &ZF检测\\ &{(\boldsymbol {H^HH}+\frac{\sigma_w^2}{\sigma_s^2}\boldsymbol I)^{-1}\boldsymbol H^H}, &LMMSE检测 \end{aligned} \right.\tag{11}

5. 干扰抵消多用户检测

线性检测虽然复杂度低,但是性能太差。为了提高信号检测的可靠性,可以利用判决反馈的原理。即当已经检测出这层符号时,就将其从待检测符号中消除再继续检测其它信号。这样就减小了干扰,提高了判决的可靠性,同时积累了分集增益

干扰消除包括并行干扰消除(Parallel Interference Cancellation, PIC)、串行干扰消除(Successive Interference Cancellation,SIC)以及噪声预测部分判决反馈(Noise Predictive Partial Detection Decision Feedback, NP-PDF)算法,以及进一步提高检测性能的排序干扰消除算法(Order Successive Interference Cancellation, OSIC)。

5.1 串行干扰消除检测算法(SIC)

串行干扰消除的基本思想是首先检测出某一天线的信号,然后从接收信号中抵消这一发送天线信号造成的干扰,逐层迭代,最后完成整个信号矢量的检测。在干扰消除过程中,前一级的检测性能直接影响到后一级检测的可靠性,如果前一级检测出错则会蔓延到下一级,所以存在误差传播的影响。SIC检测算法的复杂度为 O ( N T 4 ) \mathcal O(N_T^4)

在SIC检测算法中,各层分集增益不相同,第 i i 层检测信号的分集增益为 N R ( N T i ) N_R-(N_T-i) ,显然第一层信号的分集增益最小,为了提高性能,检测顺序很重要,需要将可靠的信号层先检测以降低误差传播。于是提出了排序串行干扰消除算法(OSIC)。它的基本思想是:尽可能的提高前一级信号检测的可靠性以达到提高SIC的检测性能的目的,如果每一次检测出的信号都是待检测信号中可靠性最高的,则此时SIC性能最好。按照检测准则的不同,有基于ZF准则的OSIC和基于MMSE准则的OSIC。

下面基于迫零准则分析一下检测顺序:
ψ Z F = E { ( x ^ Z F x ) ( x ^ Z F x ) H } = σ w 2 ( H H H ) 1 = σ w 2 W Z F W Z F H (12) \psi_{ZF}=E\{(\hat {\boldsymbol x}_{ZF}-\boldsymbol x)(\hat {\boldsymbol x}_{ZF}-\boldsymbol x)^H\}=\sigma_w^2\boldsymbol {(H^HH)^{-1}}=\sigma_w^2\boldsymbol W_{ZF}\boldsymbol W_{ZF}^H \tag{12}
式中, ψ Z F \psi_{ZF} 是ZF的估计误差协方差矩阵, W Z F \boldsymbol W_{ZF} 为信道矩阵 H \boldsymbol H 的伪逆。式(12)表明不同天线信号的估计误差和 ψ Z F \psi_{ZF} 的主对角元素 W Z F = ( H H H ) 1 H H \boldsymbol W_{ZF}=\boldsymbol {(H^HH)^{-1}H^H} 的行范数对应,在每步的迭代过程中最先检测有最大信噪比信号的检测顺序是最优的,也就是对最小估计误差的天线对应的信号进行检测。由于在ZF准则下,估计误差刚好和 W Z F \boldsymbol W_{ZF} 的行范数对应,所以在迫零准则时,最优的的检测顺序可根据 W Z F \boldsymbol W_{ZF} 的行范数来确定。

而对于MMSE准则,引入扩展信道矩阵,根据扩展信道矩阵定的检测顺序是最优的,即用扩展信道矩阵 H ~ \widetilde {\boldsymbol H} 代替 H \boldsymbol H y ~ \widetilde {\boldsymbol y} 代替 y \boldsymbol y 采用ZF准则的OSIC算法使噪声被放大了,而采用MMSE检测准则的OSIC兼顾了去除干扰和抑制噪声的作用,因此MMSE-OSIC算法的性能略好于ZF-OSIC,只是复杂度稍高一点,等级都为 O ( N T 4 ) \mathcal O(N_T^4) ,分集度为 N R N T + 1 N_R-N_T+1 。【注:ZF/MMSE算法复杂度为 O ( N T 3 ) \mathcal O(N_T^3) ,共需要检测 N T N_T 个符号,因此SIC复杂度为 O ( N T 4 ) \mathcal O(N_T^4)

5.2 并行干扰消除检测算法(PIC)

并行干扰消除检测算法采用并行的方式消除符号间的干扰,即在所有符号被解调之后,同时将干扰从接收信号中消除。通常需要两个阶段来完成检测,首先使用一种低复杂度的检测器得到发射信号的初始估计值,然后第二个阶段检测某一信号时,用初始估计值表示所有其它层信号的干扰,在去掉其它层信号的干扰之后进行硬判决,得到该层信号的最终估计值。

其中第一阶段的预检测处理方法,可以是线性检测,如MMSE检测、ZF检测,也可以是其它检测方法,如QR分解法。PIC算法与SIC算法不同的是,不需要层排序算法,而只是通过各层信号并行检测即可显著减小检测时延,因此复杂度相对较低,但是等级仍为 O ( N T 4 ) \mathcal O(N_T^4)

6. QR分解检测算法

QR分解检测算法克服了SIC算法每一步迭代中都要计算矩阵的伪逆,采用对信道矩阵进行QR分解利用R矩阵的上三角特性从最后一层逐层检测

N R × N T N_R \times N_T 的信道矩阵 H \boldsymbol H 进行QR分解,即
H = Q R (13) \boldsymbol H=\boldsymbol {QR}\tag{13}
其中, Q \boldsymbol {Q} 是一个 N R × N T N_R \times N_T 酉矩阵, R \boldsymbol {R} 是一个 N T × N T N_T \times N_T 的上三角矩阵。然后将接收信号 y \boldsymbol {y} 左乘矩阵 Q H \boldsymbol {Q}^H ,得
Q H y = Q H ( H x + w ) = R x + Q H w (14) \boldsymbol Q^H\boldsymbol y=\boldsymbol Q^H(\boldsymbol H\boldsymbol x+\boldsymbol w)=\boldsymbol R\boldsymbol x+\boldsymbol Q^H \boldsymbol w\tag{14}
y = [ y 1 y 2 y k ] T = Q H y ,   w = [ w 1 w 2 w k ] T = Q H w \boldsymbol y'=\begin{bmatrix}y'_1 & y'_2 & \cdots & y'_k \end{bmatrix}^T=\boldsymbol Q^H\boldsymbol y,\space\boldsymbol w'=\begin{bmatrix}w'_1 & w'_2 & \cdots & w'_k \end{bmatrix}^T=\boldsymbol Q^H\boldsymbol w ,则接收信号可表示为
y k = r k , k x k + i = k + 1 N T r k , i x i + w k (15) y'_k=r_{k,k}x_k+\sum\limits_{i=k+1}^{N_T}r_{k,i}x_i+w'_k\tag{15}
  由于 Q \boldsymbol {Q} 是酉矩阵,故噪声项拥 Q H w \boldsymbol Q^H\boldsymbol w 有不变的统计特性。利用 R \boldsymbol {R} 矩阵的上三角特性,可以先解出最后一层信号, y N T = r N T , N T x N T + w N T y'_{N_T}=r_{{N_T},{N_T}}x_{N_T}+w'_{N_T} ,过判决后得到这层天线的信号估计值 x ^ N T \hat x_{N_T} ,代入倒数第二行,把最后一层天线的干扰消去后,即可估计出 x ^ N T 1 \hat x_{N_T-1} ,以此类推,将所有天线的信号都估计出来。如果假设已检测的信号是正确的,那么在每一层干扰相消后即可以得到没有干扰的判决统计量。

参考文献

[1]张体操. 低成本大规模MIMO通信系统中的多用户检测技术研究[D]. 华中科技大学, 2017.
[2]S. Yang and L. Hanzo, “Fifty Years of MIMO Detection: The Road to Large-Scale MIMOs,” in IEEE Communications Surveys & Tutorials, vol. 17, no. 4, pp. 1941-1988, Fourthquarter 2015.
[3]杨双. 低复杂度MIMO系统中的信号检测技术研究[D]. 西安电子科技大学, 2013.


  博主不定期发布『保研/推免、C/C++、5G移动通信、Linux、生活随笔』系列文章,如果觉得本文对你有帮助,『点赞+关注』支持一下哦!

发布了69 篇原创文章 · 获赞 125 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/weixin_43871127/article/details/104878126