張繼榮,呂沙沙
(西安郵電大學(xué) 通信與信息工程學(xué)院, 陜西 西安 710121)
在大規(guī)模多輸入多輸出(multiple input multiple output,MIMO)[1]系統(tǒng)中,基站端采用大規(guī)模天線(xiàn)陣列來(lái)提升系統(tǒng)性能,隨著基站天線(xiàn)數(shù)目的增加,接收端譯碼的復(fù)雜度會(huì)越來(lái)越高,為此可以在基站端應(yīng)用預(yù)編碼技術(shù)來(lái)消除用戶(hù)之間的干擾,進(jìn)而可以降低終端信息處理復(fù)雜度。
目前廣泛應(yīng)用的預(yù)編碼算法分為兩類(lèi),一類(lèi)是非線(xiàn)性預(yù)編碼算法,主要包括臟紙(dirty paper coding,DPC)預(yù)編碼[2]和湯姆林森-哈拉希瑪預(yù)編碼(Tomlinson Harashima precoding,THP)[3]。另一類(lèi)是線(xiàn)性預(yù)編碼算法,主要包括最小均方誤差(minimum mean squared error,MMSE)預(yù)編碼算法[4]、迫零(zero forcing,ZF)[4]預(yù)編碼算法、塊對(duì)角化[5](block diagonalization,BD)預(yù)編碼算法。研究表明,在大規(guī)模MIMO場(chǎng)景下,也就是天線(xiàn)數(shù)目達(dá)到一定數(shù)量時(shí),線(xiàn)性預(yù)編碼技術(shù)可以達(dá)到與非線(xiàn)性預(yù)編碼技術(shù)相同的性能[6]?;贜eumann級(jí)數(shù)展開(kāi)的預(yù)編碼算法具有較低的復(fù)雜度,但是其誤碼率性能并沒(méi)有提升[7]。文[8]提出了一種混合預(yù)編碼算法,但是在多用戶(hù)場(chǎng)景下,系統(tǒng)的誤碼率和復(fù)雜度較高。優(yōu)化的塊對(duì)角化(optimized block diagonalization,OBD)預(yù)編碼算法[9]在求解預(yù)編碼矩陣時(shí)沒(méi)有考慮系統(tǒng)噪聲,且在求解時(shí)采用了復(fù)雜度較高的奇異值分解(singularly valuable decomposition,SVD),不適合在大規(guī)模MIMO系統(tǒng)中使用。
為了降低算法的誤碼率和復(fù)雜度,本文擬提出一種改進(jìn)的BD預(yù)編碼算法。該算法首先利用正規(guī)迫零(regular zero forcing,RZF)預(yù)編碼算法的預(yù)編碼矩陣作為信道矩陣的偽逆,并采用正三角(orthogonal triangular,QR)分解求得該矩陣的標(biāo)準(zhǔn)正交基,將下行的多用戶(hù)MIMO系統(tǒng)被分解為平行的單用戶(hù)信道,并求得每個(gè)用戶(hù)的等效矩陣,最終求得系統(tǒng)各用戶(hù)的預(yù)編碼矩陣。
在單小區(qū)多個(gè)用戶(hù)場(chǎng)景下,大規(guī)模MIMO系統(tǒng)模型[1],如圖1所示。
圖1 大規(guī)模MIMO系統(tǒng)模型
圖1中,系統(tǒng)同時(shí)服務(wù)K個(gè)用戶(hù);系統(tǒng)為第k(k=1,2,…,K)個(gè)用戶(hù)發(fā)送的數(shù)據(jù)[9]
用戶(hù)配備的接收天線(xiàn)數(shù)為Nr,且K×Nr≤Nt;信道檢測(cè)矩陣[9]
Gk=diag{G1,G2,…,GK} 。
第k個(gè)(k=1,2,…,K)用戶(hù)的接收信號(hào)
(1)
其中,歸一化因子
用來(lái)保證基站發(fā)送的總功率為Pt,且
E[‖sk‖2]≤Pt。
nk是系統(tǒng)噪聲矩陣,滿(mǎn)足均值為0方差為1的高斯隨機(jī)變量。式(1)第一項(xiàng)為用戶(hù)k的有用信號(hào),第二項(xiàng)為其他用戶(hù)對(duì)目標(biāo)用戶(hù)的干擾,第三項(xiàng)為系統(tǒng)噪聲??梢栽谙到y(tǒng)的發(fā)送端采取預(yù)編碼算法來(lái)降低式(1)中的干擾項(xiàng)對(duì)期望信號(hào)的影響,并將以此為出發(fā)點(diǎn)來(lái)求出預(yù)編碼矩陣Wk。
BD預(yù)編碼算法是系統(tǒng)有多個(gè)用戶(hù)時(shí)最常用的預(yù)編碼算法,該算法通過(guò)在基站端對(duì)發(fā)送信號(hào)進(jìn)行BD預(yù)編碼處理,使用戶(hù)間的干擾可以完全被消除。通過(guò)將ZF預(yù)編碼和BD算法相結(jié)合,將ZF算法的預(yù)編碼矩陣作為信道矩陣的偽逆,并對(duì)它的級(jí)聯(lián)矩陣進(jìn)行SVD分解從而可以計(jì)算出各個(gè)用戶(hù)的預(yù)編碼矩陣[9],然而使用這種算法求解預(yù)編碼矩陣時(shí)并沒(méi)有考慮系統(tǒng)噪聲,且計(jì)算時(shí)需要進(jìn)行兩次SVD分解,計(jì)算復(fù)雜度大。
ZF預(yù)編碼算法雖然可以消除用戶(hù)間的干擾,但并沒(méi)有考慮噪聲的影響,而RZF[10]預(yù)編碼算法正好可以彌補(bǔ)這個(gè)缺陷,且當(dāng)天線(xiàn)數(shù)目Nt和用戶(hù)數(shù)K很大時(shí),RZF預(yù)編碼算法成為大規(guī)模MIMO系統(tǒng)中最優(yōu)的預(yù)編碼算法之一[10]。因此本文將RZF算法與BD算法相結(jié)合,RZF預(yù)編碼矩陣
(2)
其中,H為信道矩陣;δ是正則化系數(shù)[11],它的值為用戶(hù)K除以基站的發(fā)射功率Pt,Pt=‖s‖2,s為系統(tǒng)的發(fā)射信號(hào)向量。由式(2)可知,RZF預(yù)編碼矩陣是個(gè)偽逆矩陣,因此首先定義第k個(gè)用戶(hù)的等效信道矩陣
為了不改變總的發(fā)射功率,對(duì)矩陣Pk進(jìn)行QR分解[12]
Σ=diag {Σ1,Σ2,…,Σk}
的對(duì)角線(xiàn)元素進(jìn)行注水得到。此時(shí)得到的用戶(hù)k的預(yù)編碼矩陣
利用Matlab軟件進(jìn)行仿真,仿真用戶(hù)數(shù)從1到61,天線(xiàn)數(shù)目從8到128,信道為平坦的衰落信道,且服從瑞利分布,噪聲信號(hào)為高斯白噪聲,系統(tǒng)采用QPSK進(jìn)行調(diào)制。
基站天線(xiàn)數(shù)從8到128,系統(tǒng)同時(shí)服務(wù)4個(gè)用戶(hù),每個(gè)用戶(hù)有2根接收天線(xiàn)時(shí),改進(jìn)的預(yù)編碼算法、傳統(tǒng)BD預(yù)編碼算法以及文[9]提出的OBD預(yù)編碼算法的誤碼率性能隨著基站天線(xiàn)數(shù)目增加的變化情況,如圖2所示。
圖2 誤碼率性能隨基站天線(xiàn)數(shù)目的變化情況
從圖2可以看出,隨著基站天線(xiàn)數(shù)目的增多,系統(tǒng)的誤碼率是逐步降低的,這就是多天線(xiàn)帶來(lái)的優(yōu)勢(shì)。改進(jìn)的預(yù)編碼算法誤碼率性能最優(yōu)、傳統(tǒng)BD預(yù)編碼算法最差。這是因?yàn)楦倪M(jìn)預(yù)編碼算法不僅可以消除用戶(hù)間干擾,且考慮到系統(tǒng)噪聲,因此誤碼率性能最優(yōu)。在天線(xiàn)數(shù)目為128時(shí),改進(jìn)預(yù)編碼算法誤碼率為0.109 5,文獻(xiàn)[9]的OBD算法的誤碼率為0.123 8,誤碼率降低了11.5%。
基站配備128根天線(xiàn),用戶(hù)數(shù)目從1到61個(gè)時(shí),每個(gè)用戶(hù)有2根接收天線(xiàn),信噪比為5 dB時(shí),3種預(yù)編碼算法的誤碼率隨用戶(hù)數(shù)的變化情況,如圖3所示。
圖3 誤碼率性能隨用戶(hù)數(shù)的變化情況
從圖3可以看出,隨著用戶(hù)數(shù)的增多,3種預(yù)編碼算法的誤碼率都是逐步增大的,改進(jìn)算法的誤碼率性能最優(yōu),傳統(tǒng)BD算法誤碼率性能最差。當(dāng)用戶(hù)數(shù)為61時(shí),改進(jìn)算法誤碼率為0.184 7,文[9]提出的OBD算法的誤碼率為0.493 2。誤碼率下降了62%,這說(shuō)明改進(jìn)算法是可以應(yīng)用于大規(guī)模MIMO系統(tǒng)中的,可以同時(shí)服務(wù)于多個(gè)用戶(hù),并且用戶(hù)數(shù)越多,改進(jìn)算法優(yōu)勢(shì)越大。
利用浮點(diǎn)運(yùn)算flop數(shù)目[13-14]進(jìn)行復(fù)雜度分析,一個(gè)flop表示一次實(shí)數(shù)乘法或加法運(yùn)算,一次復(fù)數(shù)乘法需要6個(gè)flop,一次復(fù)數(shù)加法需要2個(gè)flop。為了進(jìn)一步揭示預(yù)編碼算法的運(yùn)算復(fù)雜度與系統(tǒng)天線(xiàn)配置的關(guān)系,本節(jié)對(duì)文[9]提出的OBD算法以及本文的改進(jìn)算法的復(fù)雜度進(jìn)行分析,兩種算法的復(fù)雜度與基站配備的發(fā)送總天線(xiàn)數(shù)Nt、接收天線(xiàn)總數(shù)Nr、每個(gè)用戶(hù)的接收天線(xiàn)數(shù)Ne以及用戶(hù)個(gè)數(shù)K的關(guān)系,如表1和表2所示。
表1 文[9]預(yù)編碼算法的運(yùn)算復(fù)雜度
表2 改進(jìn)預(yù)編碼算法的運(yùn)算復(fù)雜度
基站配備128根發(fā)送天線(xiàn),同時(shí)服務(wù)的用戶(hù)數(shù)從1到61,每個(gè)用戶(hù)的接收天線(xiàn)數(shù)為2時(shí),兩種算法的復(fù)雜度隨用戶(hù)數(shù)的變化情況,如圖4所示。
從圖4可以看出,改進(jìn)預(yù)編碼算法復(fù)雜度較文[9]的OBD算法要低,這是因?yàn)槲腫9]提出的預(yù)編碼算法是將ZF算法的預(yù)編碼矩陣作為信道矩陣的偽逆,并對(duì)其級(jí)聯(lián)矩陣
圖4 算法復(fù)雜度隨用戶(hù)數(shù)的變化情況
針對(duì)大規(guī)模MIMO系統(tǒng),基站配置多達(dá)百根天線(xiàn),系統(tǒng)同時(shí)服務(wù)多個(gè)用戶(hù)的情況,本文提出了一種基于BD預(yù)編碼算法的改進(jìn)算法。該算法首先對(duì)RZF算法的預(yù)編碼矩陣進(jìn)行QR分解,將系統(tǒng)分解為平行單用戶(hù)系統(tǒng),然后對(duì)每個(gè)用戶(hù)的等效信道矩陣進(jìn)行SVD分解,最終求得各用戶(hù)的預(yù)編碼矩陣。當(dāng)基站天線(xiàn)數(shù)為128、同時(shí)服務(wù)61個(gè)用戶(hù)時(shí),改進(jìn)算法、文[9]算法的誤碼率分別為0.109 5、0.123 8,誤碼率降低了11.5%,浮點(diǎn)數(shù)分別為1.379×108、1.045×1010,復(fù)雜度降低了1.031×1010。這說(shuō)明改進(jìn)算法不僅降低了系統(tǒng)的誤碼率而且改善了運(yùn)算復(fù)雜度。