魏唯,李 月
(黑龍江大學,黑龍江 哈爾濱 150080)
隨著移動通信在5G 技術的支持下持續快速發展,連接的設備終端、數據流量將以指數形式迅速增長。大規模多輸入多輸出(Multiple Input Multiple Output,MIMO)技術作為5G 的核心技術之一[1],采用的方法是在基站端配置百根左右甚至更高數量級的天線,并通過空間復用[2]技術為大量用戶提供服務,在很大程度上提升了系統的頻譜效率。但大量的天線增加了接收信號檢測[3]的復雜度,而通過預編碼技術[4]對發射信號進行預處理,可增強接收端的信號檢測性能。文獻[5]、文獻[6]和文獻[7]回顧了大規模MIMO 預編碼算法,介紹了它們的性能與復雜性。按照預編碼技術的實現原理可將其劃分為線性和非線性兩類預編碼方案,并以此為基礎還提出了許多改進的優化預編碼方案。
通信技術的發展過程中,大規模MIMO 中的功率分配問題[8]一直是一個重要的問題。在基站端對發射功率的合理分配對提升通信系統的性能具有非凡的意義,然而最優功率解很難獲得。文獻[9]旨在提供一種控制功率分配問題的解決方案,以最大化能量效率(Energy Efficiency,EE),給出了基于牛頓方法的最佳功率分配和基于拉格朗日分解的聯合用戶關聯方法,導出了最優功率分配的閉合解。該算法具有良好的性能和效果,然而其計算復雜度仍然過高。文獻[10]研究了在多小區大規模MIMO 下行鏈路系統中聯合功率分配和用戶關聯的問題,制定了最大化最差用戶頻譜效率的最大最小公平目標函數,并證明了它可以作為一個擬線性規劃來求解。還有研究證明傳統的方法可以解決以目標函數為優化目標的功率分配問題[11],但需要以提高計算復雜度為代價。通常構造的目標函數有最大總和頻率效率、最大化最小頻譜效率,但這是兩種過于極端的情況。最大總和頻譜效率(Spectral Efficiency,SE)[12]完全忽略了用戶間的公平性,且其優化問題是非凸的,計算復雜度高。最大化最小頻譜效率[13]則通過提高信道質量差的用戶的頻譜效率,使得各個用戶的頻譜效率趨近于相同,雖提供了完全的公平,但必然使得信道質量好的用戶性能受到損失。此外,以最大化最小頻譜效率為目標函數,普遍的求解方法是使用二分算法[14],其高度依賴迭代,因此計算復雜度高。
鑒于此,本文在進行功率分配的同時,為了消除小區內多用戶間干擾(Multi-user Interference,MUI)和小區間干擾(Inter-cell Interference,ICI),基于分組消除干擾的思想提出分級預編碼方案。首先在小區內依據用戶的位置信息對用戶進行分組,以消除MUI;其次在小區間基于信漏噪比[15]的思想設計預編碼方案,以消除ICI 以及殘存MUI;最后,引入人工免疫算法[16]完成功率分配。人工免疫算法是根據生物的免疫機制構造出的一種優化算法,對于求解全局尋優、非線性等復雜問題具有自身特有的益處,同時具有自適應性、全局收斂性等優點。人工免疫算法可以通過調整親和度函數實現功率分配。這里為了兼顧用戶個體和系統整體的性能,提出將每小區用戶最小頻譜效率與平均頻譜效率的乘積作為親和度函數完成功率分配。實驗結果表明,相較于傳統的二分算法,人工免疫算法可以有效提升用戶的頻譜效率,使得用戶個體和系統整體的性能均得到提升。
本文考慮的大規模MIMO 系統工作在時分雙工(Time Division Duplexing,TDD)模式下,定義其由L個六邊形小區構建而成。在每小區l中心位置的基站處配置M根天線服務于K個隨機分布在小區內的單天線用戶,如圖1 所示。

圖1 大規模MIMO 系統模型
第j個小區中的第k個用戶到小區i基站的上行鏈路信道矩陣可以表示為:

式中:hijk=(hijk1,hijk2,…,hijkM)T∈CM×1為一個列向量;gijk=(gijk1,gijk2,…,gijkM)T∈CM×1為小尺度衰落矢量,其分布滿足gijk~CN(0,IM);βijk為一個標量,代表大尺度衰落系數,可表示為:

式中:zijk為陰影衰落因子;rijk為第j個小區中的第k個用戶到小區i基站的距離;R為小區半徑;v為路徑損耗指數。搭建的系統工作在TDD 模式下,因此下行鏈路信道是上行鏈路信道的轉置,故下行鏈路信道為hijkT。
在大規模MIMO 系統中,通常對信道進行估計使用的方法為最小二乘(Least Square,LS)法或者是最小均方誤差(Minimum Mean Square Error,MMSE)法。這里為了消除小區內干擾,系統對于同一小區內的用戶使用相互正交的導頻,同時為了提高頻譜效率,對小區之間采用全復用導頻方案。本文系統使用的導頻序列表示為:

式中:τp為系統分配給每個終端的導頻信號所占的長度。
因此第i個基站接收到的導頻信號可以表示為:

在基站端對發送信號進行預編碼處理目的在于抵消信道中的干擾,進而消除用戶間的干擾,降低用戶終端的計算復雜度。第j個小區的基站發送給當前小區內K個用戶的信號為:

式中:ρjk為小區j內用戶k分配的功率;sjk為歸一化的發射信號,即E{|sjk|2}=1;wjk為小區j用戶k的預編碼向量。
在基站端,根據發送的導頻信息獲得對信道的估計,計算得到預編碼矩陣。對發射信號進行預處理,可以很好地消除用戶之間的干擾。但是在實際的通信環境之中,受到地理因素等影響,用戶的分布在一些區域較為稠密,而在另外一些區域則較為稀疏。在用戶稠密的區域中,由于用戶數量多且用戶之間距離近,用戶端會明顯地感受到不論是打電話還是上網都會變得非常困難,用戶間的干擾難以很好地消除;因此設計基于分組的消除干擾的方法顯得十分必要。
聯系到上述實際中的通信情景,受到某些重點區域多用戶場景的影響,基站所服務的用戶分布呈現稀疏的特性,此時適合采用基于分組干擾消除的思想設計預編碼策略。在大規模MIMO 系統中,由于用戶的位置信息具有無線信道的本質特征,故依照用戶位置對用戶進行分組,用戶分組偽代碼如下:

2.2.1 組內預編碼
通過上述小區內用戶分組的步驟得到分組后的結果,在分組內針對MUI,總是希望對于每個用戶k能將其他所有用戶的干擾項置為零,一般可通過信道矩陣求逆實現,如迫零(Zero-forcing,ZF)預編碼算法。小區j中用戶k的ZF 預編碼算法的表達式為:

基于這種思想設計預編碼可以較好地消除多用戶之間的干擾,但沒有考慮到噪聲的問題,當用戶與用戶之間位置較近時,會使信道矩陣由于高度相關性成為病態矩陣,這時對信道矩陣求逆會導致噪聲放大。而正則化迫零(Regularized Zero-forcing,RZF)預編碼算法建立在ZF 預編碼算法的基礎上,在對hjjkT(hjjkT)H求逆前引入單位矩陣,可有效緩解噪聲放大問題,故在分組內采用RZF 預編碼。小區j中用戶k的RZF 預編碼的表達式為:

式中:δ為正則化系數,當δ→0 時,就是ZF 預編碼;當δ→∞時,就是最大比發射(Maximum Ratio Transmitting,MRT)預編碼。
2.2.2 組間預編碼
通過上述小區內用戶分組的步驟得到分組后的結果,在分組內采用RZF 預編碼。但仍需判斷小區內是否存在未被分組的單獨用戶,若不存在,則相當于已經完成小區內多用戶間干擾消除;若存在,下一步考慮消除單獨用戶與分組間的干擾。塊對角化(Block Diagonalization,BD)預編碼實質上是基于ZF 預編碼的一種演進,其通過引入零空間矩陣可以很好地消除其他用戶的干擾。這里將劃分為一組的用戶視為一個等效用戶,其等效信道矩陣用組內所有用戶的平均信道矩陣替代,沒有被分組的用戶則仍然是一個單獨的用戶,采用BD 預編碼的思想,求得零空間矩陣用于消除等效用戶和獨立用戶之間的干擾。假設當前小區j中K個用戶被劃分為C組,即等效對應于C個獨立用戶,剩余c個未被分組的單獨用戶。對于任一未被分組的用戶cs,其他所有用戶的聯合等效信道定義為:

2.2.3 小區間預編碼
最后提出小區間預編碼,解決ICI 以及殘存MUI 的問題。小區間干擾主要考慮當前小區用戶的信號帶給其他小區用戶的干擾。通常情況下,預編碼優化的目標往往是提高用戶的信干噪比(Signal to Interference plus Noise Ratio,SINR)。由j小區中用戶k接收到的信號為:

由式(10)可以計算得到小區j中用戶k的SINR為:

由SINR表達式可以得出,如果以最大化SINR作為優化目標,計算用戶k的預編碼向量會涉及其他所有用戶的預編碼向量,變量之間相互耦合,無法計算獲得精確的解。而如果將優化目標設定為最大化信漏噪比(Signal to Leakage and Noise Ratio,SLNR),則完全能夠避開這個問題。SLNR希望泄露給其他用戶的信號盡可能的小,等價于SINR接收到其他用戶的干擾信號盡可能的小,SLNR的計算公式為:

式(12)等效為:

根據參考文獻[18]定義:

對上述步驟進行總結:首先經過小區內分組消除干擾預編碼,計算得到等效信道矩陣為Hequal=HWgroup-precoding,其中,Wgroup-precoding表示在小區內進行干擾消除的預編碼向量組成的矩陣;其次在小區間采用SLNR 預編碼進行干擾消除。
2.3.1 功率分配的優化目標函數
作為智能優化算法之一的人工免疫算法,效仿生物免疫系統,擁有免疫系統的基本特征。該算法通過群體搜索的方式,利用迭代計算得到問題的最優解。與其他智能優化算法對比,其在種群多樣性、自適應性、全局收斂性等各方面存在顯著的優勢。
基于免疫算法對多小區大規模MIMO 系統進行功率分配時,最主要的問題在于構建親和度函數,一般以功率分配的優化目標函數作為親和度函數。在傳統的計算方法中構建的優化目標函數往往只能夠關注到某一個方面,而不能兼顧整體,必然會造成系統性能的損失。因此,為兼顧用戶個體和系統整體性能,本文將親和度函數設計為最大化每小區的頻譜效率均值與每小區用戶最小頻譜效率的乘積,則計算過程可表示為:

其中,小區j中用戶k的下行鏈路頻譜效率的計算公式為:

2.3.2 基于人工免疫算法的功率分配求解
基于人工免疫算法的功率分配,將免疫系統中的抗原對應于相應的功率分配問題,所產生的抗體種群對應于功率分配問題對應的可行解,每個抗體在抗體種群之中占據的比重代表濃度,親和度函數衡量每個抗體與抗原之間的吻合度,將其定義為求解功率分配待優化的目標函數。通過計算每個抗體的親和度函數值,將選擇濃度低、親和度大的抗體進行免疫操作。免疫操作包括克隆、變異和克隆抑制以及邊界條件的判定,其余的抗體將會被更新。
基于人工免疫算法求解功率分配問題的步驟如下:
(1)將功率分配問題對應于抗原,構建如上所述親和度函數aff。
(2)產生大小為Nk的抗體種群即對應Nk種可行解,且其取值在規定的功率約束條件內。接著對抗體進行定義,每個抗體用K×L維的矩陣表示,矩陣中的任一元素(k,l)即代表為小區l中用戶k分配的功率,并計算每個抗體的親和度函數值。
(3)計算每個抗體濃度,需要先計算抗體之間的相似度為:

式中:abm,abn分別為抗體m和抗體n;θ為相似度閾值。抗體m的濃度的計算方式為:

(4)依據親和度函數值和濃度值計算抗體激勵度,其計算公式為:

式中:α和β均為激勵度系數。選擇濃度低、親和度函數值大的抗體進行免疫操作。
(5)對每個抗體基于激勵度依照降序進行排序,選擇激勵度排在前Nk/2 的抗體進行克隆、變異以及克隆抑制,從而得到免疫種群??寺?、變異以及克隆抑制的具體方法如下:
①克?。簩λx擇的抗體進行復制,克隆的個數η越多,局部搜索的能力和全局搜索的能力均越強,但如果克隆個數過多,計算量也會隨之增加。
②變異:針對復制得到的抗體進行變異操作,使得其親和度函數值發生突變。這里首先需要設置一個突變的概率pro,進行變異操作時,使用rand()函數先隨機產生一個概率。如果rand<pro,則將復制得到的抗體進行變異操作,并且需要進行邊界條件處理,使得功率分配的結果滿足功率限制邊界條件。
③克隆抑制:對經過變異的抗體進行二次選擇,選取親和度函數值高的克隆抗體保存。
(6)隨機生成Nk/2 個新的抗體種群,并將其與免疫種群合并,計算新種群中每個抗體的濃度、親和度函數值和激勵度,依照每個抗體的激勵度進行排序,重復上述步驟(3)~(6)直至迭代完成。
在本文所搭建的大規模MIMO 系統中,設置L=4;在每個小區內產生位置隨機分布的K=20 個單天線用戶,并且與基站的距離r的取值范圍為rmin≤r≤rmax,其中,rmin=100 m,rmax=1 000 m。蒙特卡洛仿真103次。仿真參數設置總結如表1 所示。

表1 仿真參數
在小區內對用戶進行分組時,通過仿真尋優設定閾值ε=10。利用人工免疫算法求最優功率分配的解。本文設定數目Nk=20 個免疫抗體,初代抗體隨機產生后,后一代抗體在前一代抗體的基礎之上經過選擇以及更新獲得,且其取值上限Nmax=Pmax,取值下限Nmin=0。免疫代數Gen=300,變異概率pro=0.7,激勵度系數分別為α=2 和β=1,鄰域范圍初值為Ne=0.05×Nmax,相似度閾值θ=5,克隆個數η=10。
3.2.1 系統譜效率分析
采用表1 中的仿真參數,比較了在多小區多用戶大規模MIMO 系統中,分別采用MRT、RZF、MMSE、BD、SLNR 和本文所提出的預編碼方案,以最大化最小SE 為目標函數,使用二分算法進行功率分配時,各個用戶的累積分布函數(Cumulative Distribution Function,CDF)曲線,結果如圖2 所示。CDF 曲線描述的是小區中各用戶因位置差異導致的不同用戶頻譜效率取值的變化。選擇對比50%的中斷概率點(圖2 中所示縱坐標0.5 處的橫軸虛線),可以直觀地看出,采取本文所提出的預編碼方案(位于最右側),可以使得給定任意位置的用戶以較大的概率獲得更高的頻譜效率,其相較于頻譜效率最差的MRT 預編碼性能大約提升了3.5 倍。而由圖2可知,BD、RZF、MMSE 可提供的頻譜效率大致相同,除去本文所提預編碼方案,SLNR 預編碼方案相對較優,其性能相較于MMSE 大約提升了36%,而本文所提算法的性能大概比SLNR 增加了約64%。

圖2 不同預編碼方案各個用戶的CDF 曲線對比
圖3 為基于人工免疫的功率分配算法親和度進化曲線,其中,橫軸代表迭代的次數,縱軸代表目標函數值。由圖3 可知,人工免疫算法迭代50 次左右時,功率分配算法基本達到收斂,這表明該算法有較好的收斂性。

圖3 人工免疫算法的親和度進化曲線
圖4 為采用人工免疫算法與傳統的二分算法時,各個用戶的CDF 曲線對比。其中,傳統二分算法以最大化最小頻譜效率為目標函數,人工免疫算法以調整后的目標函數作為親和度函數。由圖可知,在0~5 bit/s/Hz 區間時,兩種方法的差異不明顯,這說明用人工免疫算法構建的親和度函數能夠確保最大化最小用戶的頻譜效率。而在10~ 15 bit/s/Hz區間范圍內,因為使用人工免疫算法時對親和度函數進行了調整,用戶明顯以較大的概率分布在較高的頻譜效率范圍內。

圖4 人工免疫算法與二分算法各個用戶的CDF 曲線對比
圖5 為采用人工免疫算法與傳統的二分算法時,用戶的平均頻譜效率CDF 曲線對比??梢钥闯觯捎趯δ繕撕瘮颠M行了調整,在構建親和度函數時考慮到了平均頻譜效率,使得用戶的平均頻譜效率得到提升。

圖5 人工免疫算法與二分算法平均頻譜效率CDF 曲線對比
3.2.2 計算復雜度分析
進行預編碼處理涉及矩陣的運算,不同的預編碼方案對應的計算量不同,因此本文通過比較不同方案之間的計算量可實現對不同預編碼方案計算復雜度的分析。表2 給出了不同預編碼方案的計算復雜度。
由表2 可知,本文所提分級預編碼方案的計算復雜度為RZF、BD、SLNR 3 種預編碼方案計算復雜度的線性組合,相較于采用單一的預編碼方案,計算復雜度略有提升。

表2 不同預編碼方案的計算復雜度
3.2.3 運行時間分析
表3 給出了在采用分級預編碼方案的前提下,分別基于傳統二分算法與人工免疫算法對搭建的模型進行仿真后,得到的算法運行時間。仿真參數:處理器為AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx 主頻2.10 GHz,64 位操作系統,內存8.00 GB;軟件環境為MATLAB R2019a。得到的運算時間如表3 所示。

表3 傳統二分算法與人工免疫算法運行時間
由表3 可知,人工免疫算法的運行時間低于傳統二分算法,傳統二分算法的平均計算時間約為11.530 2s,而人工免疫算法的平均計算時間約為9.818 8 s。在算法平均運行時間上,人工免疫算法大約比傳統二分算法降低了17%。
本文針對多小區大規模MIMO 系統功率分配的問題進行了研究,提出了分級預編碼方案和基于人工免疫算法的功率分配方法。大規模MIMO 系統由于其在基站端布置的天線數量大幅度增加,并且同時服務于很多用戶,因此不可避免地存在嚴重的干擾。為了消除這種干擾的影響,在進行功率分配的同時,本文首先提出了分級預編碼方案。該方法將小區內用戶依據位置信息進行分組;再根據分組結果,對組內用戶采取RZF 預編碼;然后對分組內所有用戶的信道矩陣求均值,將其視為一個獨立的用戶,在組間與未被分組的獨立用戶間利用BD 預編碼的方法消除干擾;最后基于SLNR 預編碼進一步消除小區間ICI 干擾以及殘存MUI 干擾。其次,利用人工免疫算法并行處理和強大的全局搜索能力,本文提出了基于人工免疫算法的功率分配方法,為兼顧用戶個體和系統整體性能,將親和度函數設計為最大化每小區的頻譜效率均值與每小區用戶最小頻譜效率的乘積。實驗結果表明,采取分級預編碼方案,再利用人工免疫算法去求解功率分配,能夠使得用戶個體和系統整體的頻譜效率均得到提升。