【精心整理】一文讀懂大規模MIMO下行預編碼(1)

博主不定期發佈【保研/推免、C/C++、5G移動通信、Linux、生活隨筆】系列文章,喜歡的朋友【點贊+關注】支持一下吧!


大規模MIMO下行鏈路預編碼(1)

1. 預編碼概述

1.1 預編碼定義

在MIMO系統中,如果發送端能夠獲知信道的某些信息(預編碼的前提條件),就可以利用該信息對發射信號進行預處理以提高系統的傳輸速率和鏈路可靠性。利用發送端信道狀態信息(Channel State Information at the Transmitter,CSIT)對發送信號進行預處理的技術稱爲預編碼技術。

1.2 預編碼的目的

預編碼技術是爲了解決解碼檢測(Decoding)技術中的缺陷。解碼檢測技術的目的是在接收端利用多種信號處理來消除由信道和接收端噪聲引起的信號干擾。但是,這種在接收端進行信號處理是存在着巨大的缺陷的,因爲接收端必然需要有足夠的硬件基礎來支撐從而達到信號處理所要求的條件。首先,接收端要進行對接收信號的解碼檢測,就必須獲得相應的及時信道狀態信息,這就總味着接收端必須要通過信道估計(Channel Estimate)手段來獲取相應的數據信息,但是信道估計技術現階段仍然存在不夠精確或者性能不穩定等缺陷。其次,信號的檢測需要大量的復運算,而實際中接收端(即用戶)的運算處理能力十分有限
  
對於多用戶MIMO系統的下行鏈路,如果不採用預編碼技術,基站在同一時頻資源上發送多個用戶的信號就會造成用戶之間的干擾。各個用戶受其接收天線數目的限制,很難獨自消除來自其他用戶的干擾,恢復出所需要的信號。爲了解決複用用戶之間的干擾問題,基站需要根據 CSIT 對發送信號進行預編碼。除此之外,在多用戶MIMO系統下行鏈路中採用預編碼技術,通過將大量的複雜計算放置在擁有計算性能較好的發送端,可以降低接收機的複雜度,解決移動臺的功耗問題。

1.3 預編碼分類

預編碼技術可以按照編碼設計方案分爲線性預編碼和非線性預編碼兩類。在多用戶MIMO系統中,在基站發送端進行線性處理的發送信號方法稱爲線性預編碼。主要的線性預編碼方案有:迫零( Zero Forcing,ZF)預編碼、塊對角化( Block Diagonalization,BD)預編碼、最小均方誤差( Minimum Mean Square Error,MMSE)預編碼。非線性預編碼是指在發送信號上添加設計好的預編碼矢量來達到抑制用戶間干擾的預編碼方法。非線性處理方法主要是基於“髒紙編碼( Dirty Paper Coding,DPC) ”思想的各種預處理方案,例如Tomlinson-Harashima Precoding 預編碼(THP)以及矢量預編碼(Vector Precoding,VP)。儘管這些非線性預編碼技術性能指標足夠優秀,但是需要的實現條件較高,並且有着極高的計算複雜度,而這些缺陷的存在始終對於硬件實現和運維管理來說是不切實際的。

在常規場景下,非線性預編碼性能優於線性預編碼,但是線性預編碼有複雜度低的優勢,更加容易應用於實際場景中。並且大規模MIMO的物理特性(基站的天線數趨近於無窮大時)使得線性預編碼技術性能可以無限逼近性能近乎最優的非線性預編碼技術,所以大規模MIMO的線性預編碼技術己經成爲5G通信技術中的研究重點和熱點。

線性預編碼技術可以劃分爲基於碼本的預編碼技術和非碼本的預編碼技術。基於碼本的預編碼技術的預編碼矩陣產生於用戶,即用戶通過收到的導頻信息來估計獲得CSI,並按照一定的準則從預先設計過的預編碼矩陣碼本中選取最優或者次優的預編碼矩陣,最後通過反饋鏈路傳遞所選預編碼矩陣的索引信息。一套碼本的適用場景相對具體和固定,且不同場景下的碼本設計差異較大。

相對於基於碼本設計的預編碼技術而言,非碼本的線性預編碼算法更爲簡單。在CSI可用的基礎上,基站端負責全部的預編碼矩陣的計算,生成及運用等工作,這樣就降低了用戶端的要求。然而,在實際的通信系統中,反饋信道所能支持的數據速率一般較爲有限。爲了降低反饋開銷,文獻中提出了有限反饋條件下的預編碼方案,即基於碼本的預編碼

1.4 預編碼的實現

基於CSIT,發送端可以對需要發送的數據向量s進行預處理後發送,即發送向量可以表示爲:
x=g(s)(1) \boldsymbol x = g(\boldsymbol s)\tag {1}

其中,g()g(⋅)是預處理函數,如果g()g(⋅)是非線性函數,則稱該處理方法爲非線性預編碼;如果g()g(⋅)是線性函數,則稱爲線性預編碼。

CSIT的獲取:時分雙工(TDD)的通信系統中,信道鏈路具有良好的互易性,即上下行信道鏈路的狀態信息在一個相干時間內幾乎一致,並且上下行鏈路使用在同一頻率內,節省了頻譜資源,所以用戶只需要通過上行信道向基站端發送導頻信號,基站通過從上行信道獲得導頻信息從而估計得到此時的上行信道的狀態信息,再利用信道互易性便可得到下行信道的狀態信息。在基站得到其到每個用戶的信道狀態矩陣後,將根據該矩陣計算出預編碼矩陣,最後將編碼後的數據映射到天線上進行傳輸。相比之下,頻分雙工(FDD)通信系統獲得信道狀態信息的方式比較複雜,因此較少討論。

2. 預編碼基本原理

考慮由一個基站和KK個用戶組成的多用戶MIMO系統,其中基站配置MM根天線,用戶kk配置NkN_k根天線(k=1,2,,Kk=1, 2,\cdots, K)。基於平坦衰落信道的假設,將用戶kk到基站的信道矩陣記爲GkCM×NkG_k\in \mathbb{C} ^ {M\times N_k},基站到用戶kk的信道矩陣記爲HkCNk×MH_k\in \mathbb{C} ^ {N_k\times M}。(注:當上行鏈路和下行鏈路使用相同的信道時,HkH_kGkG_k的共軛轉置

基站向用戶kk發送Lk(LkNk,k=1KLk=M)L_k(L_k \leq N_k,\sum \limits_{k=1} ^ {K} L_k =M) 路數據流,即skCLk×1\boldsymbol s_k\in\mathbb {C}^{L_k\times1}。如果不採用預編碼方案,基站的發送信號向量爲x=[s1T,s2T,,sKT]T(CM×1)\boldsymbol x=[\boldsymbol s_1^T,\boldsymbol s_2^T,\cdots,\boldsymbol s_K^T]^T(\in \mathbb{C} ^ {M\times 1}),用戶kk收到的信號向量爲:
yk=Hkx+nk(2) \boldsymbol{y}_k=\boldsymbol {H}_k\boldsymbol x+\boldsymbol{n}_k\tag{2}
  顯然,用戶kk收到的信號中包含了來自其他用戶的干擾,現有的移動通信系統中,由於各用戶在地理位置上是分散的,因此一般採用基站集中控制的模式,用戶之間並不協同工作。而各個用戶的接收天線數目一般小於基站的發送天線數,難以獨自消除來自其他用戶的干擾。由此可見,在發送端採用預編碼對用戶間的干擾進行預先消除是非常必要的。

採用線性預編碼,基站將sk\boldsymbol s_k經預編碼矩陣Wk\boldsymbol {W}_k後發送,發送向量
x=k=1KWksk=Ws(3) \boldsymbol x =\sum\limits_ {k=1}^K\boldsymbol {W}_k\boldsymbol s_k=\boldsymbol {Ws}\tag{3}
其中,W[W1,W2,,WK]\boldsymbol W\triangleq[\boldsymbol W_1,\boldsymbol W_2,\cdots,\boldsymbol W_K]s[s1T,s2T,,sKT]\boldsymbol s\triangleq [\boldsymbol s_1^T,\boldsymbol s_2^T,\cdots,\boldsymbol s_K^T]。且向量x\boldsymbol x滿足基站平均發射功率的約束:
E[xHx]=P(4) \mathbb{E}[\boldsymbol x^H \boldsymbol x]=P\tag{4}
根據式(1)(2),用戶kk的接收向量爲:
yk=HkWksk+Hkj=1,jkKWjsj+nk(5) \boldsymbol{y}_k=\boldsymbol {H}_k\boldsymbol {W}_k\boldsymbol s_k+\boldsymbol {H}_k\sum\limits_{j=1,j\neq k}^K\boldsymbol {W}_j\boldsymbol s_j+\boldsymbol{n}_k\tag{5}
上式中等號右邊第一項爲用戶kk需要的信號,第二項爲其他用戶造成的干擾,最後一項是加性高斯白噪聲。用矩陣形式表示總的輸入-輸出關係爲:
y=HWs+n(6) \boldsymbol y =\boldsymbol {HWs}+\boldsymbol{n}\tag{6}

3. 常見的線性預編碼算法

對於下行大規模MIMO信道,系統模型:LL個小區,每個小區1個基站,配備MM根天線,小區中有KK個用戶,每個終端配備NN根天線s=[s1,s2,,sK]Ts=[\boldsymbol s_1,\boldsymbol s_2,\cdots,\boldsymbol s_K]^T表示發送端發送給用戶的信息矢量。預編碼矩陣爲W=[W1,W2,,WK]\boldsymbol W= [\boldsymbol W_1,\boldsymbol W_2,\cdots,\boldsymbol W_K]WK\boldsymbol W_K表示第KK個用戶的預編碼矩陣。 H[h1T,h2T,,hKT]T\boldsymbol H\triangleq [\boldsymbol h_1^T,\boldsymbol h_2^T,\cdots,\boldsymbol h_K^T]^T爲(基站到)用戶的信道矩陣。PP表示功率矩陣。

在這裏插入圖片描述

3.1 ZF預編碼

ZF(Zero Forcing)預編碼,這是一種信道求逆方法,發送端乘以信道矩陣的逆(僞逆)矩陣,使得等效信道是一單位陣。ZF預編碼技術的思路就是利用已知信道狀態信息,並且基於最小二乘估計,將各獨立信號之間的干擾實施線性迫零,從而得到所需信號。在理想CSIT下,預編碼矩陣WW設計爲:
W=cHH(HHH)1(7) \boldsymbol W=c\boldsymbol H^H(\boldsymbol H\boldsymbol H^H)^{-1}\tag{7}
其中,c=P/(HHH)1F2c=\sqrt {P/\left\|(\boldsymbol H\boldsymbol H^H)^{-1}\right\|_F^2}是功率歸一化因子。將(6)帶入(5)可得,這種預編碼算法可以完全消除用戶之間的干擾和用戶內部各數據流之間的干擾,即[HW]k,j=0,kj[HW]_{k,j}=0,k\neq j,因此稱爲迫零預編碼。迫零預編碼的缺點是會使加性噪聲被加權放大\Longrightarrow規則化逆信道(Regularized Channel Inversion,RCI)方法避免了迫零預編碼中的噪聲放大問題\Longrightarrow規則化迫零預編碼(RZF)。

3.2 MMSE預編碼

區別於ZF 預編碼方案將其他用戶的干擾化爲零,MMSE 預編碼方案以接收端的SINR(信幹噪比)達到最大爲目的。對於秩虧的信道,迫零預編碼下的性能可以通過正則化僞逆獲得提升,即:
W=HH(HHH+βI)1(8) \boldsymbol W=\boldsymbol H^H(\boldsymbol H\boldsymbol H^H+\beta I)^{-1}\tag{8}
  其中,β\beta是正則化因子。這種預編碼算法常被稱爲MMSE預編碼,因爲它與白噪聲情況下MMSE波束成形設計原則相類似。通過引入參數β\beta ,使得系統的和容量隨着$min( M, N ) $線性增長,並且MMSE 預編碼方案在低信噪比的情況下性能更好。

3.3 SVD預編碼

在預編碼信號處理中,基於SVD準則的預編碼充分地利用信道增益和信道資源信息,將整個信道拆分爲多個互不干擾的且具有不同增益的子信道。基於這樣的思想,SVD準則的預編碼可以有效的消除ISI。

首先對信道矩陣HCN×M\boldsymbol H\in \mathbb{C} ^ {N \times M}進行奇異值分解:H=UΣVH\boldsymbol H=\boldsymbol U\boldsymbol \Sigma \boldsymbol V^H;式中,Σ\boldsymbol \SigmaN×MN×M非負對角矩陣,U\boldsymbol UV\boldsymbol V分別是N×NN×NM×MM×M的酉矩陣。此時,該技術對應的最優預編碼矩陣爲矩陣V\boldsymbol V中那些奇異值不爲0的列的構成的矩陣
W=V~P1/2(9) \boldsymbol W= \boldsymbol {\widetilde{V} P^{1/2}\tag{9}}
其中,V~CM×N\boldsymbol {\widetilde{V} }\in \mathbb{C} ^ {M\times N}是矩陣中V\boldsymbol V非零奇異值對應的奇異值向量構成的矩陣。P=diag(p1,p2,,pN)\boldsymbol P=diag(p_1,p_2,\dots,p_N)是功率分配矩陣,並且矩陣元素滿足功率限定條件tr(P)=Ptrtr(\boldsymbol P)=P_{tr}

3.4 BD預編碼

BD線性預編碼方案:在MU-MIMO系統中,引入BD預編碼。它採用收發端協調波束成形技術,同時消除用戶間和同一個用戶各天線間的干擾,其主要思想是將下行信道分解爲多個獨立的平行或正交的單用戶MIMO信道

通常,BD預編碼算法分兩個步驟實現。第一步爲除第k個用戶信道外的總信道矩陣H~k\widetilde H_k的零空間計算一個正交基Wa\boldsymbol W ^a,可用於消除MUI,獲得等效的並行SU-MIMO信道。 第二步用於並行化每個用戶流,並通過Wb\boldsymbol W^b獲得最大的預編碼增益。因此,預編碼矩陣W\boldsymbol W可以表示爲:W=WaWb\boldsymbol W=\boldsymbol W ^a\boldsymbol W^b

3.5 名詞解釋

波束成形:波束成形是天線技術與數字信號處理技術的結合,目的用於定向信號傳輸或接收。波束成形,源於自適應天線的一個概念。接收端的信號處理,可以通過對多天線陣元接收到的各路信號進行加權合成,形成所需的理想信號;同樣原理也適用用於發射端。
  如果要採用波束成形技術, 前提是必須採用多天線系統。例如,多入多出(MIMO),不僅採用多接收天線,還可用多發射天線。由於採用了多組天線,從發射端到接收端無線信號對應同一條空間流(spatial streams), 是通過多條路徑傳輸的。在接收端採用一定的算法對多個天線收到信號進行處理,就可以明顯改善接收端的信噪比。即使在接收端較遠時,也能獲得較好的信號質量。

秩虧:Rank defect,如果一個矩陣的秩是具有相同大小的矩陣能達到的最高秩,則該矩陣爲滿秩;如果矩陣不具有滿秩,則該矩陣爲秩虧。通常引起係數陣秩虧的原因有兩種:由於起算數據不足而引起係數陣秩虧,稱之爲數虧;另一種就是當必要觀測數據不足而引起的係數陣秩虧,稱爲形虧。但是在測量中第二種情況實際上不存在,我們在測量中觀測總個數總會大於必要觀測個數,因而很少會出現形虧的現象,因此,主要討論有關數虧的情況。

正則化:Regularization,代數幾何中的一個概念。求解不適定問題的普遍方法是:用一組與原不適定問題相"鄰近"的適定問題的解去逼近原問題的解,這種方法稱爲正則化方法。
  不適定問題:適定問題是指滿足下列三個要求的問題:①解是存在的(存在性);②解是唯一的(唯一性);③解連續依賴於初始值條件(穩定性)。這三個要求中,只要有一個不滿足,則稱之爲不適定問題。特別,如果條件③不滿足,那麼就稱爲阿達馬意義下的不適定問題。一般地說不適定問題,常常是指阿達馬意義下的不適定問題。

僞逆:Pseudo inverse,僞逆矩陣是逆矩陣的廣義形式。由於奇異矩陣或非方陣的矩陣不存在逆矩陣,假設存在一個與AA的轉置矩陣ATA^T同型的矩陣XX,並且滿足:AXA=A,XAX=XAXA=A,XAX=X,此時,稱矩陣XX爲矩陣AA的僞逆,也稱爲廣義逆矩陣

4. 參考文獻

[1]金石, 溫朝凱等. 大規模MIMO傳輸理論與關鍵技術[M]. 北京: 電子工業出版社, 2018
[2]秦舒雅, 楊龍祥. 面向5G的大規模MIMO預編碼算法比較研究[J]. 計算機技術與發展, 2015, 25(07): 150-154.
[3]徐悅. Massive MIMO系統中預編碼技術的研究[D]. 北京郵電大學, 2017.
[4]Jian Wu,Shu Fang,Lei Li,Yang Yang. QR decomposition and gram Schmidt orthogonalization based low-complexity multi-user MIMO precoding[P]. 10th International Conference on Wireless Communications, Networking and Mobile Computing (WiCOM 2014),2014.

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