葉倩倩,張治中,閔小芳,胡昊南
(重慶郵電大學 通信與信息工程學院,重慶 400065)
大規(guī)模多輸入多輸出(Multiple-Input Multiple-Output,MIMO)技術通過充分利用空間資源來提高無線通信的數據速率、頻譜效率和能源效率[1-4]。由于該技術增加了基站側和用戶側的天線數量,導致信號在接收端產生疊加,因此需要MIMO檢測算法對接收端的信號進行處理,恢復出發(fā)送信號。
最小均方誤差(Minimum Mean Square Error,MMSE)算法[5-6]利用“信道硬化”現象[7]可以實現接近最佳的誤碼率(Bit Error Ratio,BER)性能,而被認為是大規(guī)模MIMO系統(tǒng)最具有潛力的檢測算法之一。與具有檢測性能最優(yōu)的最大似然(Maximum Likelihood,ML)算法[8]相比,雖然MMSE檢測算法復雜度得到了極大程度的降低,但仍存在高維矩陣求逆運算,復雜度為O(K3)。因此,近年來國內外學者著重于研究基于MMSE的近似檢測算法來避免矩陣求逆。文獻[9]提出利用Neumann級數展開算法,實現了復雜度從O(K3)到O(K2)的降低,但性能損失很大。文獻[10]提出了一種共軛梯度法,能夠實現比Neumann級數展開算法更優(yōu)的性能,但是性能受搜索方向和步長影響較大。一些文獻也提出了通過求線性方程最優(yōu)解避免矩陣求逆,如理查德森迭代[11](Richardson,RI)、雅克比迭代[12](Jacobi,JC)、對稱連續(xù)超松弛迭代[13](Symmetric Successive Over-Relaxation,SSOR)、Kaczmarz迭代[14]等算法雖然可以有效降低復雜度,但收斂性并不是很好。
針對天線規(guī)模增大而出現的傳統(tǒng)檢測算法高維度矩陣求逆等問題,本文將高斯-賽德爾[15](Gauss-Seidel,GS)迭代算法應用于大規(guī)模MIMO系統(tǒng)中,通過求解線性方程來避免復雜的高維度矩陣求逆,從而得到發(fā)送向量估計值。為了進一步加快GS算法收斂速率,本文提出一種低復雜度BGS信號檢測算法,將MMSE檢測器的濾波矩陣進行分塊預處理,然后通過構造分裂矩陣來加快算法的收斂速率,最終達到提高算法檢測性能的目的,且該算法的復雜度能夠在任意迭代次數下保持O(K2)。仿真結果顯示,BGS算法的性能比傳統(tǒng)GS迭代和Neumann級數展開算法更好,而且能以較少的迭代次數逼近MMSE檢測算法的性能曲線。在設定近似初始值后,能夠進一步提升BGS算法檢測性能。
考慮在大規(guī)模MIMO系統(tǒng)上行鏈路中,每個用戶配置單根天線。令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表示發(fā)射信號;n=[n1,n2,…,nN]T∈CN×1表示服從均值為0、方差為σ2分布的加性高斯白噪聲;H∈CN×K表示瑞利衰落信道矩陣,H(j,i)表示第i根發(fā)射天線到第j根接收天線的信道衰落系數。為了避免復雜的復數運算,可將式(1)轉換為等價的實數模型:
y=Hx+n。
(2)
式中:y∈R2N×1,x∈R2K×1,n∈R2N×1,H∈R2N×2K。即式(2)可以表示為
(3)
式中:Re(·)和Im(·)分別表示復數的實部和虛部。
MMSE檢測算法可以實現漸近最優(yōu)的系統(tǒng)性能,其發(fā)送信號的接收估計值可以表示為
(4)
在MMSE檢測算法中,若有一個可逆矩陣X與濾波矩陣W近似,并滿足
(5)
則W-1可用式(6)表示:
(6)
當N?K時,W具有對角占優(yōu)特性。若式(6)中的X用D來表示:
(7)
式中:D為W的對角矩陣,E=W-D。在Neumann級數展開中,若只取式(7)的前i項,則
(8)
雖然該算法在極大程度上減少了算法復雜度,但是當i≥3時,其計算復雜度仍為O(K3)。
本文將矩陣求逆問題轉換為求解形如Ax=b的K維線性方程。在大規(guī)模MIMO系統(tǒng)中的信道矩陣H滿秩,并且滿足列漸進正交,因此W是對稱正定矩陣?;诖?,可以引入GS算法求解該問題。為了進一步加快GS算法收斂速率,本文提出的BGS信號檢測算法對GS算法的濾波矩陣分解進行優(yōu)化處理,將分解公式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)循環(huán)
(7) fori=0,1,2,3,…
(8) 根據式(11)更新x(i+1);
(9) end for
在大規(guī)模MIMO系統(tǒng)中,由于N?K,所以為了減少算法收斂所需要的迭代次數,采用一種近似的初始估計值[16],如下所示:
(13)
式中:D表示W的對角矩。
迭代矩陣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具有對角占優(yōu)特性,所以式(15)高次方程的根模|λ|<1,因此該迭代過程是收斂的。
(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 不同算法的復雜度
為了驗證本文所提出算法的收斂速率,本節(jié)通過Matlab仿真,對比分析基于GS信號檢測算法和基于BGS信號檢測算法的收斂性。設基帶信號為64QAM調制,K=16,并定義α=N/K。以‖x(i+1)-x(i)‖作為檢測算法收斂誤差的準則,兩種算法在不同天線規(guī)模下的收斂誤差仿真如圖1所示。
圖1 不同算法的收斂速率對比
圖1中可以看到,GS算法和BGS算法在大規(guī)模MIMO信號檢測中的收斂性較好,能夠以較低的迭代次數使收斂誤差達到在10-5。此外,當天線規(guī)模相同時,本文所提出的BGS算法的仿真曲線位于GS算法的下方,可以判斷出BGS算法收斂速度更快,并且算法的收斂速度隨著α的增加而加快。
為了驗證本文所提出算法的檢測性能,本節(jié)給出Matlab環(huán)境下的蒙特卡洛仿真結果,對比分析MMSE算法、Neumann算法、GS算法以及BGS算法在不同天線規(guī)模和調制階數下的BER性能。大規(guī)模MIMO系統(tǒng)上行鏈路中,假設每個用戶為單天線模式。在瑞利衰落信道中,設置各天線的發(fā)射功率為1 W,基帶信號調制方式為64QAM調制,天線規(guī)模N×K為64×16、128×16、256×16的仿真結果分別如圖2(a)~(c)所示,其中i表示不同算法迭代次數以及Neumann級數的展開項數。
圖2 64QAM調制下不同檢測算法的BER性能對比
由圖2(a)可知,當迭代次數i增加時,不同算法的檢測性得到了不同程度的改善。以MMSE算法BER性能曲線作為參考,在迭代次數相同的條件下,Neumann級數和GS算法檢測性能不如BGS算法。在大規(guī)模MIMO系統(tǒng)中,BGS算法中的分裂矩陣DB比GS算法中的對角矩陣D含有更多的信道信息,可以有效降低系統(tǒng)的誤碼率,加快算法收斂速率,以較少的迭代次數逼近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左右的增益。
此外,在相同信道和天線發(fā)射功率下,設置基帶信號調制方式為256QAM調制,天線規(guī)模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%。
為了進一步提高高階調制下系統(tǒng)的檢測性能,采用式(13)的近似初始估計值與零向量初始值進行仿真比較。設基帶信號為256QAM調制,N×K=256×16,i=2的仿真如圖4所示。
圖4 設置初始值的BGS算法BER性能對比
由圖4可知,若采用近似初始值,BGS算法能在迭代次數i=2時接近MMSE的BER性能曲線,而此時算法的復雜度仍然保持在O(K2)。因此,采用近似初始估計值的BGS算法在高階調制下的大規(guī)模MIMO系統(tǒng)中具有較好的檢測性能。
本文引入GS算法來求解大規(guī)模MIMO信號檢測高維度矩陣求逆問題,通過迭代得到發(fā)送信號估計值。為了加快算法收斂速率,提出了BGS信號檢測算法。通過理論分析,BGS算法復雜度能夠在不同迭代次數下保持在O(K2);通過仿真分析,在大規(guī)模MIMO系統(tǒng)中,不僅BGS算法收斂性較好,而且檢測性能比Neumann級數算法和GS算法也更好。在設置近似初始值后,在高階調制下的大規(guī)模MIMO系統(tǒng)中也能夠近似MMSE檢測性能。由理論推導和仿真分析可知,BGS算法可適用于大規(guī)模MIMO信號檢測。