【精心整理】大規模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的上行鏈路,基站處配置了NRN_R根天線,所服務的單天線用戶數爲NTN_T,基站和用戶之間的窄帶時不變信道可以用一個確定性的信道描述,接收到的信號yCRN\boldsymbol y ∈ \mathbb C^N_R可以表示爲
y=Hx+w(1) \boldsymbol y=\boldsymbol H\boldsymbol x+\boldsymbol w \tag{1}
其中,x=[xj]CNT\boldsymbol x=[x_j]\in \mathbb C^{N_T}表示不同用戶在一個時隙內向基站發送的數據符號,w=[wi]CNR\boldsymbol w=[w_i]\in \mathbb C^{N_R}表示加性高斯白噪聲,H=[hij]CNR×NT\boldsymbol H=[h_{ij}]\in \mathbb C^{N_R \times N_T}表示用戶到基站信道矩陣,用戶信號和加性噪聲的功率分別爲σs2\sigma_s^2(可設爲1)和σw2\sigma_w^2

3. 最大似然檢測算法

最大似然檢測算法是所有檢測算法中性能最好,複雜度最高的算法,主要思想是在所有可能的發射信號空間內尋找與接收信號距離最短的那個發射信號作爲檢測結果輸出。雖然有最佳的檢測性能,但其複雜度隨着調製階數以及收發天線數的增加成指數增長。所以,當天線數較多時,複雜度相當高,這使得其在高階調製的MIMO系統中的應用受到了很大的限制。它的檢測原理是使得似然函數最大,也就是使得發送序列的各個信號等概率發送時滿足下列最大似然準則,
x^=argminxkχyHx(2) \hat{\boldsymbol x}=\arg \min \limits_{x_k \in \chi}\|\boldsymbol y-\boldsymbol {Hx}\| \tag{2}

其中,χ\chi爲發送信號每個元素的取值集合。

優點:最大似然檢測算法是當信道噪聲爲高斯白噪聲時的最優檢測算法,理論上這種算法的誤碼率最低。ML算法的性能是最優的,是其它譯碼算法性能的極限,能夠提供NRN_R的分集度。並且接收天線數越大,能夠提供的分集增益越高,ML檢測的性能越好;因此ML檢測可用作其他檢測方法性能的參考

不足:由上述準則可以看出,ML檢測需要遍歷所有可能的發送信號序列,如果發送的信號是QQ階調製,發送天線數爲NTN_T,則要遍歷的信號序列爲QNTQ^{N_T},每一次遍歷操作所需的矩陣運算複雜度爲O(NRNT)\mathcal O(N_RN_T), 因此最大似然檢測的複雜度爲O(QNTNRNT)\mathcal O(Q^{N_T}N_RN_T),檢測每個符號所需的複雜度爲O(QNTNR)\mathcal O(Q^{N_T}N_R)。因此,ML檢測算法的複雜度隨着天線呈指數增長,當發送信號採用高階調製或者當系統的用戶數目較多時,最大似然檢測將不再適用

4. 線性檢測算法

線性檢測算法的原理是通過一個檢測濾波矩陣W\boldsymbol W對收到的信號進行線性處理,把相互干擾重疊的信號分離開來,即
x^=Wy(3) \hat {\boldsymbol x}=\boldsymbol {Wy}\tag{3}
對處理後的信號進行判決估計,根據檢測矩陣的不同分爲MRC,ZF和MMSE檢測。

4.1 最大比合並檢測算法

MRC檢測的原理是對接收到的信號按照不同的比例係數進行合併運算,選擇最優的合併矩陣使得處理後的信號信噪比最大。由分析可知,當檢測矩陣爲信道矩陣的共軛轉置時,可以消除信道對發送信號相位的影響,從而使得處理後的信號信噪比最大,即
x^=HHHx+HHw(4) \hat {\boldsymbol x}=\boldsymbol {H^HHx+H^Hw}\tag{4}
  在大規模MIMO系統中,當基站天線數目遠大於用戶數時,可以近似認爲信道矩陣的每一列都是正交的,此時HHH\boldsymbol {H^HH}近似爲對角矩陣,顯著的減小了用戶間的干擾。同時,MRC檢測在對噪聲信號處理的過程中,並沒有對噪聲信號放大,所以當信道條件不太理想或者天線數目遠大於用戶數目時,MRC是一個不錯的方案。

矩陣共軛轉置的複雜度爲O(NRNT)\mathcal O(N_RN_T),矩陣運算的複雜度爲O(NRNT)\mathcal O(N_RN_T),因此MRC的複雜度爲O(NRNT)\mathcal O(N_RN_T),檢測每個符號所需的複雜度爲O(NR)\mathcal O(N_R),遠小於ML算法的複雜度。

4.2 迫零檢測算法

ZF檢測算法的原理是藉助信道矩陣的僞逆矩陣把相互干擾的發送信號分開,實現信號的分層檢測,信號的估計值可以表示爲
x^=(HHH)1HHy=(HHH)1HHHx+(HHH)1HHw(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檢測可以準確的恢復出發送信號。存在噪聲影響的情形下,信號的準確值和估計值之間存在(HHH)1HHw\boldsymbol {(H^HH)^{-1}H^H}\boldsymbol w的誤差,和MRC檢測相比,ZF檢測把噪聲信號放大了(HHH)1\boldsymbol {(H^HH)^{-1}}倍。在抑制其他發射天線符號干擾的同時將噪聲過度放大,影響了最終判決的性能,所以ZF檢測算法抗噪聲性能很差,只有NRNT+1N_R-N_T+1的分集階數。當信噪比較低噪聲功率較大或者HHH\boldsymbol {H^HH}的特徵值較小時,噪聲被顯著放大,使得估計信號和實際信號的誤差加大。特別地,若大規模MIMO的用戶數目增大到和天線數目相當時,HHH\boldsymbol {H^HH}有可能爲奇異矩陣,從而使得系統的檢測性能嚴重惡化。

ZF檢測中涉及矩陣HHH\boldsymbol {H^HH}的求逆運算,其複雜度爲O(NT3)\mathcal O(N_T^3)【注:NN方陣求逆的複雜度O(N3)O\left(N^{3}\right)】,矩陣乘積的複雜度爲O(NRNT)\mathcal O(N_RN_T),當用戶數量較多時,ZF算法的複雜度爲O(NT3)\mathcal O(N_T^3),每個符號的檢測複雜度爲O(NT2)\mathcal O(N_T^2),相對ML檢測極大地降低了複雜度。從以上分析可以看出大規模MIMO的複雜度主要來自於高維矩陣的求逆運算,因而尋找低複雜度的矩陣求逆甚至不進行矩陣求逆的方法至關重要。

4.3 線性最小均方誤差檢測算法

ZF檢測算法雖然複雜度低,但是它有放大噪聲的缺點,爲了提高性能,在設計濾波矩陣的時候應該充分考慮噪聲的影響,於是就有了MMSE檢測算法。LMMSE檢測的原理是:使檢測到的信號估計值和實際值之間的均方誤差最小,即
W=argminWxWy22(6) \boldsymbol W=\arg \min \limits_{\boldsymbol W} \|\boldsymbol {x-Wy}\|_2^2\tag{6}
由於上述目標函數是凸函數,因此可以對W\boldsymbol W求導,當偏導數爲零時,得最優解。當接收信號和估計誤差正交時,估計信號與準確信號間的均方誤差最小,即
E[(Wyx)yH]=0(7) E[(\boldsymbol {Wy-x})\boldsymbol y^H]=0\tag{7}
化簡得,
WMMSE=(HHH+σw2σs2I)1HH(8) \boldsymbol W_{MMSE}={(\boldsymbol {H^HH}+\frac{\sigma_w^2}{\sigma_s^2}\boldsymbol I)^{-1}\boldsymbol H^H}\tag{8}
其中:σw2\sigma_w^2是信道噪聲方差,σs2\sigma_s^2是每根發送天線的信號功率。由式(8)可以看出,LMMSE檢測考慮了噪聲信號對檢測結果的影響,當接收信號的信噪比較小時,矩陣HHH\boldsymbol {H^HH}因爲加上了σw2I\sigma_w^2\boldsymbol I的修正項,求逆之後的特徵值不會很小,不容易成爲奇異矩陣。在信道矩陣具有很強的相關性時,這樣的修正保證了LMMSE檢測相比於ZF檢測依然能取得不錯的性能。從MMSE檢測矩陣的表達形式可以看出,其複雜度仍然集中在對NT×NTN_T × N_T維矩陣的求逆,因此其複雜度等級和ZF檢測相同,但性能通常會優於ZF檢測。

優點:MMSE考慮了噪聲對系統的影響,在信噪比低時,噪聲對ZF檢測影響會更嚴重,MMSE檢測性能優於ZF檢測;當信噪比增高時,MMSE檢測逐漸收斂於ZF檢測

不足:與ZF檢測算法一樣,MMSE檢測算法在抑制其他發射天線符號干擾的同時將噪聲過度放大,從而影響了最終判決的性能,MMSE檢測算法僅可提供NRNT+1N_R-N_T+1的分集階數;MMSE檢測需要噪聲的統計信息也就是方差和一次額外的矩陣加法,複雜度略高於ZF檢測。

經MMSE檢測後,信號的估計值可以表示爲
x^=(HHH+σw2σs2INT)1HHy(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σsINT)]\widetilde {\boldsymbol H}=\begin{bmatrix} \boldsymbol H \\ \frac{\sigma_w}{\sigma_s}\boldsymbol I_{N_T})\end{bmatrix}和擴展信道接收矢量y~=[y0NT×1)]\widetilde {\boldsymbol y}=\begin{bmatrix} \boldsymbol y \\ \boldsymbol 0_{N_T \times 1})\end{bmatrix},則式(9)可寫爲:
x^=(H~HH~)1H~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={HH,MF(HHH)1HH,ZF(HHH+σw2σs2I)1HH,LMMSE(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(NT4)\mathcal O(N_T^4)

在SIC檢測算法中,各層分集增益不相同,第ii層檢測信號的分集增益爲NR(NTi)N_R-(N_T-i),顯然第一層信號的分集增益最小,爲了提高性能,檢測順序很重要,需要將可靠的信號層先檢測以降低誤差傳播。於是提出了排序串行干擾消除算法(OSIC)。它的基本思想是:儘可能的提高前一級信號檢測的可靠性以達到提高SIC的檢測性能的目的,如果每一次檢測出的信號都是待檢測信號中可靠性最高的,則此時SIC性能最好。按照檢測準則的不同,有基於ZF準則的OSIC和基於MMSE準則的OSIC。

下面基於迫零準則分析一下檢測順序:
ψZF=E{(x^ZFx)(x^ZFx)H}=σw2(HHH)1=σw2WZFWZFH(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}
式中,ψZF\psi_{ZF}是ZF的估計誤差協方差矩陣,WZF\boldsymbol W_{ZF}爲信道矩陣H\boldsymbol H的僞逆。式(12)表明不同天線信號的估計誤差和ψZF\psi_{ZF}的主對角元素WZF=(HHH)1HH\boldsymbol W_{ZF}=\boldsymbol {(H^HH)^{-1}H^H}的行範數對應,在每步的迭代過程中最先檢測有最大信噪比信號的檢測順序是最優的,也就是對最小估計誤差的天線對應的信號進行檢測。由於在ZF準則下,估計誤差剛好和WZF\boldsymbol W_{ZF}的行範數對應,所以在迫零準則時,最優的的檢測順序可根據WZF\boldsymbol W_{ZF}的行範數來確定。

而對於MMSE準則,引入擴展信道矩陣,根據擴展信道矩陣定的檢測順序是最優的,即用擴展信道矩陣H~\widetilde {\boldsymbol H}代替H\boldsymbol Hy~\widetilde {\boldsymbol y}代替y\boldsymbol y採用ZF準則的OSIC算法使噪聲被放大了,而採用MMSE檢測準則的OSIC兼顧了去除干擾和抑制噪聲的作用,因此MMSE-OSIC算法的性能略好於ZF-OSIC,只是複雜度稍高一點,等級都爲O(NT4)\mathcal O(N_T^4),分集度爲NRNT+1N_R-N_T+1。【注:ZF/MMSE算法複雜度爲O(NT3)\mathcal O(N_T^3),共需要檢測NTN_T個符號,因此SIC複雜度爲O(NT4)\mathcal O(N_T^4)

5.2 並行干擾消除檢測算法(PIC)

並行干擾消除檢測算法採用並行的方式消除符號間的干擾,即在所有符號被解調之後,同時將干擾從接收信號中消除。通常需要兩個階段來完成檢測,首先使用一種低複雜度的檢測器得到發射信號的初始估計值,然後第二個階段檢測某一信號時,用初始估計值表示所有其它層信號的干擾,在去掉其它層信號的干擾之後進行硬判決,得到該層信號的最終估計值。

其中第一階段的預檢測處理方法,可以是線性檢測,如MMSE檢測、ZF檢測,也可以是其它檢測方法,如QR分解法。PIC算法與SIC算法不同的是,不需要層排序算法,而只是通過各層信號並行檢測即可顯著減小檢測時延,因此複雜度相對較低,但是等級仍爲O(NT4)\mathcal O(N_T^4)

6. QR分解檢測算法

QR分解檢測算法克服了SIC算法每一步迭代中都要計算矩陣的僞逆,採用對信道矩陣進行QR分解利用R矩陣的上三角特性從最後一層逐層檢測

NR×NTN_R \times N_T的信道矩陣H\boldsymbol H進行QR分解,即
H=QR(13) \boldsymbol H=\boldsymbol {QR}\tag{13}
其中,Q\boldsymbol {Q}是一個NR×NTN_R \times N_T酉矩陣,R\boldsymbol {R}是一個NT×NTN_T \times N_T的上三角矩陣。然後將接收信號y\boldsymbol {y}左乘矩陣QH\boldsymbol {Q}^H,得
QHy=QH(Hx+w)=Rx+QHw(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=[y1y2yk]T=QHy, w=[w1w2wk]T=QHw\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,則接收信號可表示爲
yk=rk,kxk+i=k+1NTrk,ixi+wk(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}是酉矩陣,故噪聲項擁QHw\boldsymbol Q^H\boldsymbol w有不變的統計特性。利用R\boldsymbol {R}矩陣的上三角特性,可以先解出最後一層信號,yNT=rNT,NTxNT+wNTy'_{N_T}=r_{{N_T},{N_T}}x_{N_T}+w'_{N_T},過判決後得到這層天線的信號估計值x^NT\hat x_{N_T},代入倒數第二行,把最後一層天線的干擾消去後,即可估計出x^NT1\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、生活隨筆』系列文章,如果覺得本文對你有幫助,『點贊+關注』支持一下哦!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章