陸 佳,李 鵬,馮 姣
(南京信息工程大學 電子與信息工程學院,南京 210044)
從3G時代開始,傳統(tǒng)的多輸入多輸出(Multiple-Input Multiple-Output,MIMO)技術(shù)被應用于改善通信系統(tǒng)接收機與發(fā)射機的性能,被認為是未來無線通信的基礎技術(shù)之一[1-3]。在MIMO系統(tǒng)的基礎上,通過增加收發(fā)端的天線數(shù),大規(guī)模MIMO系統(tǒng)可以極大地提高信道容量,增加頻譜利用效率。大規(guī)模的目標在于實現(xiàn)具有大量收發(fā)流以及其他網(wǎng)絡容量提升技術(shù)和方法的基站,以提高峰值下行鏈路吞吐量,大幅改善上行鏈路性能以及增強覆蓋能力。除了能顯著提升網(wǎng)絡容量之外,大規(guī)模MIMO還具有提高頻譜效率、降低能耗、延長用戶設備電池壽命、實現(xiàn)復雜度低于以往移動無線技術(shù)的可擴展性等其他優(yōu)點。另外,大規(guī)模MIMO技術(shù)還是實現(xiàn)大規(guī)模工業(yè)物聯(lián)網(wǎng)(Industrial Internet of Things,IIOT)的一種很有前景的技術(shù)[4]。
對于MIMO的信號檢測算法,最大似然算法(Maximum Likelihood,ML)能夠得到最佳誤碼率性能,但是由于ML算法極高的復雜度,并不適合MIMO系統(tǒng)應用[5]。而在大規(guī)模MIMO的情況下,因為收發(fā)天線數(shù)更多,因此在大規(guī)模MIMO系統(tǒng)中使用ML算法難度更大。相比之下,傳統(tǒng)的線性檢測算法會更加簡單實用,但是傳統(tǒng)的線性檢測算法包含了復雜度為O(NT3)的矩陣求逆運算[6],對于大規(guī)模MIMO系統(tǒng)同樣不適用。
因此,針對大規(guī)模MIMO的場景,有一類線性迭代算法被應用到信號檢測上,包括雅可比(Jacobi)迭代算法、諾依曼級數(shù)(Neumann Series,NS)、共軛梯度(Conjugate Gradient,CG)[7]迭代算法和超松弛迭代(Successive over Relaxation,SOR)算法。這類算法的提出主要是為了實現(xiàn)一種低復雜度同時性能可以逼近最佳誤碼率性能的檢測方案,算法的主要原理是通過矩陣迭代來避免傳統(tǒng)線性檢測算法中的矩陣求逆運算,以更低的復雜度接近目標矩陣。在這之中,SOR算法因為有松弛參數(shù)的存在具有更好的收斂性能。文獻[8]提出了兩種SOR迭代算法:一種是NA-SOR,使用固定松弛參數(shù),適用于理想信道;另一種是A-SOR,松弛參數(shù)會隨著迭代次數(shù)改變,適用于高度相關(guān)信道。
在文獻[8]的啟發(fā)下,本文提出了一種基于F修正的自適應超松弛迭代(F-corrected Adaptive SOR,FA-SOR)算法,可以同時在理想獨立信道和高度相關(guān)的MIMO信道下工作。與文獻[8]中提出的A-SOR算法相比,在同樣的迭代次數(shù)下達到相同的誤碼率時,FA-SOR算法可以獲得額外1 dB的性能增益。
在本文中,矩陣使用大寫粗體斜體字母表示,向量使用小寫粗體斜體字母表示,(·)H代表共軛轉(zhuǎn)置,(·)*代表共軛。
本文考慮大規(guī)模MIMO的上行鏈路,假設一個MIMO系統(tǒng),基站接收端天線數(shù)為NR,用戶發(fā)射端天線數(shù)為NT,用戶端發(fā)射的復數(shù)信號x=[x1,x2,x3,…,xNT]T,這樣在基站接收到的信號矢量可以表示為
y=Hx+n
(1)
式中:H∈NR×NT為上行鏈路信道矩陣;n∈NR×1為加性高斯白噪聲并且服從n~N(0,σ2)。
為了檢驗提出的算法在復雜信道下的性能,考慮到收發(fā)天線的相關(guān)性,本文采用Kronecker信道模型。這是一種3D大規(guī)模MIMO模型,經(jīng)常用于非視距(Non Line of Sight,NLOS)場景[9]。
Kronecker模型的信道矩陣如下:
(2)
式中:Rr∈NR×NR和Rt∈NT×NT是兩個復相關(guān)矩陣,分別代表接收端和發(fā)射端天線之間的相關(guān)性;T是一個NR×NT的獨立同分布的復衰落信道矩陣。通常情況下,天線之間距離與天線之間的相關(guān)性成正比。本文使用Rr(i,k)和Rt(i,k)表示接收端和發(fā)送端第i根天線和第k根天線之間的相關(guān)性,Rr(i,k)和Rt(i,k)可以由下式得到:
(3)
(4)
式中:δr和δt表示接收端和發(fā)送端天線的相關(guān)系數(shù),δr和δt越大則相關(guān)性越強;θ(i,k)和φ(i,k)表示接收端和發(fā)射端天線在[0,π/2]之間的隨機相位。
本文提出一種新的FA-SOR信道檢測算法,該算法的松弛參數(shù)ω會隨著前一次的迭代結(jié)果自動修正。自動修正的目的是為了使新算法每次迭代的松弛參數(shù)ω都能更接近理論最優(yōu)松弛參數(shù)ωopt,從而提高算法性能。
W=E{xyH}E{yyH}-1
(5)
再將式(1)代入可得E{xyH}=HH,E{yyH}=HHH+σ2INR,可以得到
(6)
為了方便之后的計算,將MMSE的濾波矩陣W按照下式定義:
A=HHH+σ2INT,b=HHy
(7)
按照文獻[6]中的數(shù)據(jù),直接計算W-1的復雜度可以達到O(K3)。
(8)
A=D+E+F
(9)
(10)
相比于GS算法,SOR算法借助獨有的松弛參數(shù)ω獲得了更快的收斂速度。SOR算法的迭代公式如下:
(11)
SOR算法的收斂性在文獻[12]中已有證明,它受松弛參數(shù)ω的影響很大。在MIMO系統(tǒng)中,當0<ω<2時SOR算法具有良好的收斂性,當ω=1時SOR簡化為傳統(tǒng)GS算法。
FA-SOR算法在文獻[8]中提出的A-SOR算法的基礎上優(yōu)化了SOR算法的迭代公式,采用了非零向量作為迭代的初始解,并且提出了一種新的基于F修正的松弛參數(shù)ω更新判斷方法。相比于文獻[8]中的判斷方法,新方法不再需要額外計算雅可比迭代矩陣的譜半徑ρ(GJacobi),更加簡單實用。
為了實現(xiàn)自適應過程,需要明確松弛參數(shù)ω更新的依據(jù)和更新的頻率。
2.2.1 迭代公式優(yōu)化
在式(11)的左右同乘[D+ωE]得到式(12):
(12)
(13)
2.2.2ω的更新依據(jù)
ω改變的依據(jù)在文獻[13]中已被證明,當滿足以下兩個條件時,收斂速度最快:
ω=ωopt
(14)
-lgρ(GSOR(ωopt))=-lg(ωopt-1)
(15)
式中:ωopt是理論的最優(yōu)松弛參數(shù);GSOR是SOR算法的迭代矩陣;ρ(GSOR)代表SOR算法迭代矩陣的譜半徑。為了使算法的收斂速度達到最大值,需要讓每一次迭代的松弛參數(shù)ω接近ωopt。從式(15)可以得到
ωopt=ρ(GSOR(ω))+1
(16)
值得注意的是,公式中使用第k次迭代的譜半徑計算第k-1次迭代的松弛參數(shù)ω,因此引入一個修正參數(shù)F,松弛參數(shù)ω的更新公式為
ωopt=F[ρ(GSOR(ω))+1]
(17)
修正參數(shù)F在[0.8,0.9]內(nèi)取隨機數(shù)。此外,直接計算ρ(GSOR)需要用到迭代矩陣的非零特征值,涉及到矩陣分解運算,在大規(guī)模MIMO的多天線條件下復雜度很高,因此同樣使用迭代的方法去近似計算ρ(GSOR)。在這里把前一項的迭代結(jié)果減去后一項的迭代結(jié)果定義為SOR的差向量,即
(18)
這樣就可以用式(19)近似計算譜半徑:
(19)
2.2.3ω的更新頻率
2.2.4ω與迭代初始值的選取
傳統(tǒng)的迭代算法一般會選取0向量作為初始解,然而選擇一個合適的初始解可以提升算法的收斂速度。根據(jù)大規(guī)模MIMO的信道硬化[14]現(xiàn)象,當系統(tǒng)的基站天線數(shù)和用戶端天線數(shù)足夠大并且NR/NT為固定值時,迭代算法的初始解可以為
(20)
松弛參數(shù)ω的初始值為
(21)
(22)
本文提出的FA-SOR算法的具體描述如下:
輸入:H,NR,NT,K,σ2,y;
1 初始化部分:
2A=HHH+σ2INT;b=HHy;A=D+E+F;
6k=1;ωk=ω;Δk=0;ρk=0;F=0.8;
7 迭代部分:
8 fork 9 ifk=1 then //第一次迭代 10 ifωk>τkthen 11ωk=τk; 12 end if 15ωk+1=ωk; 16 end if 17 ifk=2 then //第二次迭代 18 ifωk>τkthen 19ωk=τk; 20 end if 23ρk=Δk/Δk-1 24 end if 25 ifk>2 then //第三次迭代,同時開始更新松弛參數(shù) 26ωk=F(1+ρk-1); 27 ifωk>τkthen 28ωk=τk; 29 end if 32ρk=Δk/Δk-1 33ωk+1=ωk; 34 end if FA-SOR算法中的變量說明見表1,τk的參考值見表2。 表1 算法中的變量說明Tab.1 Variables in FA-SOR algorithm 將本文提出的FA-SOR算法與在文獻[8]中提出的A-SOR算法和NA-SOR算法進行比較。仿真使用的信道模型有兩種:一種是理想瑞利信道(信道相互獨立);另一種是在第1節(jié)中提到的Kronecker信道模型(信道間存在相關(guān)性)。選擇信號調(diào)制模式為16QAM,MIMO系統(tǒng)尺寸為NR×NT=128×16和NR×NT=128×8。仿真結(jié)果采用精確矩陣求逆的MMSE檢測結(jié)果作為基線。 在理想瑞利信道下各個算法的誤碼率如圖1所示,δr=0,δt=0,k為迭代次數(shù)。對于文獻[8]中的NA-SOR算法,松弛參數(shù)ω=1.286 5,對于新提出的FA-SOR和文獻[8]中A-SOR算法,初始松弛參數(shù)ω=1.286 5。 (a)NR×NT=128×16 從圖1可知,在理想信道下,當NR×NT=128×16和NR×NT=256×32時,新提出的FA-SOR算法經(jīng)過3次迭代就可以逼近MMSE算法的結(jié)果,并且誤碼率比經(jīng)過4次迭代的A-SOR和NA-SOR還要低。 當NR×NT=128×8,δr=0.5,δt=0.5時,在全相關(guān)信道下各個算法的誤碼率如圖2所示,可以看出,當信噪比大于10 dB時,新提出的FA-SOR算法可以較好地逼近MMSE算法并且比文獻[8]中的兩種算法性能更優(yōu)秀,在迭代次數(shù)k=10時誤碼率已經(jīng)比k=11的A-SOR算法更低。 圖2 相關(guān)信道下各算法誤碼率Fig.2 BER performance comparison in correlated channel 表3給出了3種算法的復雜度比較。由于3種算法都包含了A和b的復雜度,所以表中數(shù)據(jù)不包括計算A和b的復雜度。 表3 各算法復雜度Tab.3 Comparison of computational complexity 根據(jù)表中數(shù)據(jù),圖1(a)條件下的NA-SOR(k=4)、A-SOR(k=4)、FA-SOR(k=3)的具體復雜度為6 272,6 568,5 082,圖1(b)條件下的NA-SOR(k=4)、A-SOR(k=4)、FA-SOR(k=3)的具體復雜度為24 832,25 000,19 882,圖2條件下的NA-SOR(k=11)、A-SOR(k=11)、FA-SOR(k=10)的具體復雜度為4 400,4 855,4 263??梢姴徽撌窃诶硐胄畔⑾逻€是高度相關(guān)信道下,達到同一誤碼率所需的計算復雜度,新提出的FA-SOR算法總是最小的。 本文提出了基于F修正的自適應SOR信號檢測算法,能夠在多次迭代的情況下自動更新最合適的松弛參數(shù)ω。與文獻[8]提出中的A-SOR算法相比,FA-SOR算法通過簡化松弛參數(shù)ω的更新公式降低復雜度,同時用差向量優(yōu)化SOR的迭代公式和選取合適的初始解來保證較快的收斂速度和較好的誤碼率性能。仿真結(jié)果表明,FA-SOR算法在理想信道和高度相關(guān)信道環(huán)境下都有著良好的表現(xiàn)。3 仿真結(jié)果與復雜度分析
3.1 仿真結(jié)果
3.2 復雜度分析
4 結(jié) 論