許耀華,尤揚(yáng)揚(yáng),胡夢(mèng)鈺,王 劍
(1.安徽大學(xué)電子信息工程學(xué)院,合肥,230601;2.上海航天電子技術(shù)研究所,上海,201802)
大規(guī)模多輸入多輸出(Massive multiple input multiple output,Massive MIMO)技術(shù)作為一種新型MIMO技術(shù),隨著不斷增加的天線規(guī)模,信號(hào)處理算法實(shí)現(xiàn)的復(fù)雜度也在不斷增高,如何降低信號(hào)處理算法的復(fù)雜度成為Massive MIMO無(wú)線通信技術(shù)的一大研究課題[1-2]。在信號(hào)檢測(cè)算法中,最小均方誤差(Minimum mean square error,MMSE)算法能夠取得近似最優(yōu)的檢測(cè)性能。然而MMSE算法需要處理復(fù)雜的矩陣求逆(W-1)運(yùn)算,復(fù)雜度高達(dá)O(K3),K表示系統(tǒng)用戶個(gè)數(shù)。近年來(lái),大量文獻(xiàn)[3-10]提出了基于MMSE算法的優(yōu)化算法,可大致分為近似法和迭代法兩類。
近似法是一種先得到W-1的近似值,再判決出發(fā)送矢量的信號(hào)檢測(cè)方法。文獻(xiàn)[3]和文獻(xiàn)[4]提出了將W-1通過(guò)諾伊曼級(jí)數(shù)(Neumann series,NS)展開成多項(xiàng)式的近似方法。對(duì)于這種算法,當(dāng)選取較少的展開項(xiàng)數(shù)時(shí),雖然復(fù)雜度有所降低,但是檢測(cè)性能會(huì)有所損失。當(dāng)展開項(xiàng)數(shù)大于2時(shí),計(jì)算復(fù)雜度依然很高,甚至超過(guò)了計(jì)算W-1的復(fù)雜度。文獻(xiàn)[5]和文獻(xiàn)[6]提出了利用Newton迭代算法近似計(jì)算W-1,再恢復(fù)原始信號(hào)。當(dāng)?shù)螖?shù)大于2時(shí),這種算法計(jì)算復(fù)雜度仍然很高。
文獻(xiàn)[7-10]提出了幾種基于求解線性方程組的迭代算法,其中,對(duì)稱逐次超松弛(Symmetric successive over-relaxation,SSOR)迭代算法[10]性能較優(yōu)。相比于近似法,SSOR迭代算法雖然復(fù)雜度始終保持在較低的數(shù)量級(jí)O(K2)上,但收斂速度較慢,在信道不理想的情況下難以實(shí)現(xiàn)理想的檢測(cè)性能。
針對(duì)上述問(wèn)題,本文將收斂速度較快的SAOR迭代算法[11]應(yīng)用到Massive MIMO信號(hào)檢測(cè)中,提出了基于SAOR迭代的系統(tǒng)信號(hào)檢測(cè)算法。該算法不直接計(jì)算用戶發(fā)送的信號(hào)矢量,而是通過(guò)SAOR迭代算法求解線性方程組,逐步得到逼近發(fā)送矢量的近似序列,從而避免計(jì)算復(fù)雜的W-1,大大降低了算法復(fù)雜度。本文還給出了SAOR迭代算法的收斂條件、局部最優(yōu)解、初始值的選取以及復(fù)雜度分析。仿真結(jié)果表明,通過(guò)選取合適的參數(shù)和初值,本文提出的檢測(cè)算法實(shí)現(xiàn)了更好的誤碼率性能,并保證了算法逼近MMSE檢測(cè)性能的收斂速度。
本文考慮Massive MIMO系統(tǒng)上行鏈路。假設(shè)xi∈Q是第i個(gè)用戶發(fā)送的符號(hào)向量,故K個(gè)用戶發(fā)送的K×1維符號(hào)向量可表示為x=[x1,x2,…,xK]T,其中1≤i≤K,Q表示調(diào)制字母表?;径私邮盏降男盘?hào)矢量可表示為[3]
式中,n是N×1維加性高斯白噪聲向量,且服從CN(0,σ2)分布。H ∈CN×K是信道矩陣,N是基站天線數(shù)。
MMSE檢測(cè)算法[3]就是從基站端天線接收到的信號(hào)向量y估計(jì)出用戶端發(fā)送的信號(hào)矢量x,得到估計(jì)值 x?為
式中,I是單位矩陣,HH是H的對(duì)稱轉(zhuǎn)置矩陣,y?=HHy是y的匹配濾波輸出。由式(2)可知
式中,G=HHH是格拉姆矩陣。由文獻(xiàn)[3]可知,直接計(jì)算W-1的復(fù)雜度高達(dá)O(K3)。
本節(jié)將SAOR迭代算法應(yīng)用到信號(hào)檢測(cè)算法中,通過(guò)詳盡的算法推導(dǎo),最終得到了收斂速度較快的基于SAOR檢測(cè)算法的表達(dá)式。
將線性迭代法應(yīng)用到信號(hào)檢測(cè)中,不需要直接計(jì)算出發(fā)送信號(hào)的精確解,而是通過(guò)求解線性方程組得到一個(gè)個(gè)近似序列來(lái)逐步逼近用戶發(fā)送的信號(hào)矢量,避免了計(jì)算復(fù)雜的W-1,從而達(dá)到降低復(fù)雜度的目的。首先,將式(2)中的 Wx?=y?轉(zhuǎn)換為一個(gè)關(guān)于 x?線性方程 x?= φ(x?)。其中,φ(x?)是 x?的線性函數(shù),形如:φ(x?)=Bx?+f,B和f分別表示的是迭代矩陣和常向量[12]。因此,算法的迭代格式可以表示為
式中 t=0,1,2,… 為迭代次數(shù)??紤]線性方程組 Wx?=y?,其中 W=(wij)wijK×K,y?=(y?1,y?2,…,y?K),wij是W的第j列第i行元素,K則是用戶個(gè)數(shù),i,j=1,2,…,K,對(duì)照式(4)得到迭代格式為
式中xi和y?i分別表示x和y?的第i個(gè)元素。觀察式(5)可將矩陣W分裂為
(4)改寫為
式中迭代矩陣-D-1(U+L)即為Jacobi矩陣[9]。觀察式(5),將已計(jì)算出的xit+1立即替換掉后續(xù)方程中的xit,保證后續(xù)方程中執(zhí)行每次計(jì)算時(shí)使用的都是最新的數(shù)據(jù),從而加快算法的收斂速度。因此可將式(5)改寫為
由式(8)可得到矩陣表達(dá)式為
為了進(jìn)一步改善迭代的收斂性和收斂速度,在已求出xt的基礎(chǔ)上,仍用式(9)求出xt+1,然后通過(guò)加速參數(shù)β和松弛參數(shù)α將xt和xt+1線性結(jié)合,能夠得到更好的近似解,從而可以得到
最后,基于切比雪夫加速法[13],將迭代方程式(10)改寫為兩個(gè)半迭代方程,即可得到收斂速度較快的基于SAOR迭代的檢測(cè)算法表達(dá)式:
(1)計(jì)算第一個(gè)半迭代,就是式(10)本身
(2)計(jì)算第二個(gè)半迭代,就是將式(10)中的L和U互換
基于SAOR迭代的檢測(cè)算法每迭代一次,就會(huì)進(jìn)行兩次半迭代計(jì)算,再次加快了算法收斂速度。此外,在加速參數(shù)和松弛參數(shù)兩個(gè)參數(shù)的聯(lián)合加速下,SAOR迭代算法具有更好的精確解和收斂速度。因此,通過(guò)選取合適的參數(shù)和初值,基于SAOR迭代的信號(hào)檢測(cè)算法在較低的迭代次數(shù)時(shí)能得到較好的收斂速度和誤碼率性能。此外,由文獻(xiàn)[10]可知,基于SSOR的檢測(cè)算法是基于SAOR迭代的檢測(cè)算法在α=β時(shí)的特殊情況?;赟AOR迭代的檢測(cè)算法具體描述如表1所示。
表1 基于SAOR迭代的信號(hào)檢測(cè)算法Table 1 SAOR-based signal detection algorithm
對(duì)于基站天線數(shù)遠(yuǎn)大于用戶數(shù)的Massive MIMO系統(tǒng),實(shí)值信道矩陣H具有全列秩的特性[14]。所以對(duì)任意K×1維的非零向量q,都有
所以格拉姆矩陣G=HHH是正定矩陣。此外,容易得出
綜上,G是對(duì)稱正定的。由于σ2>0,可得到W=G+σ2I是正定矩陣。由此,文獻(xiàn)[15]給出了SAOR迭代算法收斂的條件是
式中,α和β不同時(shí)為2。由文獻(xiàn)[16]可知,SAOR迭代算法最優(yōu)的加速參數(shù)和松弛參數(shù)
式中ρmin(J)和ρmax(J)分別為Jacobi矩陣的最小和最大特征值。
因此,當(dāng)加速參數(shù)和松弛參數(shù)滿足式(15)時(shí),本文提出的SAOR檢測(cè)算法收斂。并且,當(dāng)參數(shù)滿足式(16)和(17)給出的條件時(shí),所提算法能夠得到全局最優(yōu)解。
傳統(tǒng)的迭代算法一般選取零向量作為初始解,初始解會(huì)影響迭代的收斂速度,盡管對(duì)其收斂性沒(méi)有影響。所以選取一個(gè)合適的初始解會(huì)讓基于SAOR的檢測(cè)算法收斂得更快,并且獲得更好的檢測(cè)性能。
基于系統(tǒng)基站天數(shù)目遠(yuǎn)大于用戶個(gè)數(shù),由文獻(xiàn)[14]可以得到
基于Massive MIMO系統(tǒng)信道硬化現(xiàn)象[14],當(dāng)系統(tǒng)用戶數(shù)K和基站天線數(shù)N足夠大,并且當(dāng)K/N為固定值時(shí),基于SAOR的檢測(cè)算法初始解向量可選為
由于計(jì)算復(fù)雜度是由乘法器的個(gè)數(shù)決定的,所以式(11)和式(12)兩部分決定了SAOR迭代算法的計(jì)算復(fù)雜度。
(1)將式(11)改寫為
式中
(2)將式(12)改寫為
對(duì)于所有元素,都有
同理可得,式(12)也需要(3K2+7K)/2個(gè)乘法器。
綜上,基于SAOR迭代的檢測(cè)算法總的計(jì)算復(fù)雜度是t(3K2+7K)??梢?,該算法無(wú)論進(jìn)行多少次的迭代運(yùn)算,復(fù)雜度都保持在較低的數(shù)量級(jí),為O(K2)。
表1對(duì)比了較優(yōu)的基于SSOR的檢測(cè)算法、基于NS的檢測(cè)算法和本文提出的基于SAOR的檢測(cè)算法三者的復(fù)雜度。由表2可看出,當(dāng)展開項(xiàng)數(shù)t≥3時(shí),NS近似算法的計(jì)算復(fù)雜度依然高達(dá)O(K3),甚至超過(guò)了MMSE檢測(cè)算法的復(fù)雜度。而相同迭代次數(shù)的SSOR檢測(cè)算法和SAOR檢測(cè)算法的復(fù)雜度相似,始終保持在較低的數(shù)量級(jí)。但是,SAOR檢測(cè)算法的檢測(cè)性能和收斂速度明顯優(yōu)于SSOR檢測(cè)算法,較快的收斂速度也就意味著較低的復(fù)雜度。
表2 計(jì)算復(fù)雜度比較Table 2 Computational complexity comparison
本節(jié)給出了Matlab蒙特卡洛仿真結(jié)果。仿真參數(shù)為:基帶信號(hào)調(diào)制方式是16QAM,天線規(guī)模是N×K=128×16。傳輸信道是瑞利衰落信道,信道特性時(shí)變,信道維數(shù)128×16。t表示的是各檢測(cè)算法的迭代次數(shù)或展開項(xiàng)數(shù)。
基于第2節(jié)的算法分析可知,松弛參數(shù)α和加速參數(shù)β對(duì)基于SAOR檢測(cè)算法的收斂性和收斂速度都起著至關(guān)重要的作用。為了得到基于SAOR檢測(cè)算法誤碼率(BER)性能的全局最優(yōu)解,以MMSE檢測(cè)算法誤碼率性能為基準(zhǔn),在參數(shù)收斂區(qū)間(0,2)內(nèi)對(duì)算法的收斂情況進(jìn)行多次實(shí)驗(yàn)。選取的信噪比為8 dB,迭代次數(shù)為3。經(jīng)多次實(shí)驗(yàn)得到本次仿真的最優(yōu)參數(shù)為α=1.21,β=1.28。圖1給出了當(dāng)加速參數(shù)β分別為0.9,1.28,1.4時(shí),基于SAOR的檢測(cè)算法誤碼率隨松弛參數(shù)α的變化情況。由圖1可以看出,隨著α的增大,基于SAOR的檢測(cè)算法的誤碼率均先減小到一個(gè)最小值然后增大,其中β為1.28,α為1.21時(shí),基于SAOR的檢測(cè)算法得到了全局最優(yōu)解,其誤碼率近乎實(shí)現(xiàn)了MMSE的檢測(cè)性能。同樣地,由圖2可以看出,當(dāng)α分別為0.9,1.21,1.5時(shí),隨著β的增大,SAOR迭代算法的誤碼率均先減小到一個(gè)最小值然后增大。綜上,在后續(xù)實(shí)驗(yàn)中選取α=1.21,β=1.28作為SAOR迭代取得全局最優(yōu)解時(shí)的最優(yōu)參數(shù)。
圖1 不同松弛參數(shù)時(shí)誤碼率對(duì)比Fig.1 Comparison of BERs with different relaxation parameters
圖2 不同加速參數(shù)時(shí)誤碼率對(duì)比Fig.2 Comparison of BERs with different acceleration parameters
圖3 對(duì)比了各檢測(cè)算法在不同信噪比時(shí)的誤碼率性能。由圖3可以看出,在相同條件下,基于SAOR的檢測(cè)算法的誤碼率性能要優(yōu)于基于SSOR的迭代算法和基于NS的檢測(cè)算法。例如,當(dāng)t為3,信噪比為8 dB時(shí),基于SSOR的檢測(cè)算法的誤碼率和基于NS的檢測(cè)算法的誤碼率分別約為4.6×10-5和1×10-3,而基于SAOR的檢測(cè)算法的誤碼率僅為1.8×10-5。此外,要實(shí)現(xiàn)10-5的誤碼率,SAOR迭代算法所需信噪比要比SSOR迭代算法少約0.9 dB。因此,基于SAOR的檢測(cè)算法能夠以較低的迭代次數(shù)獲得較優(yōu)的誤碼率性能,實(shí)現(xiàn)了較快的收斂速度。
圖4給出了在信噪比為8 dB的條件下,各檢測(cè)算法的誤碼率性能隨展開項(xiàng)數(shù)或迭代次數(shù)t的變化情況,也就是對(duì)比了各檢測(cè)算法逼近MMSE檢測(cè)性能的收斂速度。由圖4可以看出,當(dāng)基于SAOR的檢測(cè)算法迭代次數(shù)為2時(shí),就已經(jīng)展現(xiàn)了較好的誤碼率性能。基于SSOR的檢測(cè)算法迭代次數(shù)為5時(shí)和基于NS的檢測(cè)算法展開項(xiàng)數(shù)為7時(shí),能夠近似收斂到MMSE算法的檢測(cè)性能,而基于SAOR的檢測(cè)算法僅需3次迭代。并且,基于SAOR的檢測(cè)算法能夠?qū)崿F(xiàn)更接近MMSE的誤碼率性能。
圖3 各檢測(cè)算法誤碼率對(duì)比Fig.3 BER comparison between detection algorithms
圖4 各檢測(cè)算法收斂速度對(duì)比Fig.4 Convergence rate comparison between detection algorithms
因此,通過(guò)選取合適的參數(shù)和初值,基于SAOR的檢測(cè)算法的收斂速度和誤碼率性能都體現(xiàn)出了明顯優(yōu)勢(shì)。
針對(duì)Massive MIMO系統(tǒng)中接近最優(yōu)的MMSE檢測(cè)算法復(fù)雜度高的問(wèn)題,本文在信號(hào)檢測(cè)中應(yīng)用了具有更快收斂速度的SAOR迭代算法。該方法將MMSE檢測(cè)算法轉(zhuǎn)化為線性方程組并進(jìn)行迭代計(jì)算,求解得到的近似序列能夠逐步逼近用戶發(fā)送的信號(hào)矢量,從而避免了復(fù)雜的矩陣求逆運(yùn)算,大大降低了算法復(fù)雜度,并且通過(guò)選取合適的參數(shù)和初值,保證了較快的收斂速度和較好的誤碼率性能。實(shí)驗(yàn)結(jié)果表明,本文提出的算法實(shí)現(xiàn)了復(fù)雜度從O(K3)降到O(K2),并且僅通過(guò)3次迭代就能幾乎達(dá)到MMSE的檢測(cè)性能,實(shí)現(xiàn)了更好的檢測(cè)性能和更快的收斂速度。下一步考慮將SAOR迭代算法展開到神經(jīng)網(wǎng)絡(luò)中,嘗試通過(guò)訓(xùn)練學(xué)習(xí)得到更好的信號(hào)檢測(cè)算法。