蘇 佳,夏 雨
(河北科技大學 信息科學與工程學院,河北 石家莊 050018)
多輸入多輸出系統(tǒng)在發(fā)射和接收端布設了大量的天線,信號主要通過天線集構成的信道矩陣進行傳送和接收,這種布設大量天線的方法使得通信系統(tǒng)性能有所提高[1,2]。隨著天線數(shù)的增加,系統(tǒng)的信道自由度也會隨之上升,進而提高信號傳輸?shù)目煽啃訹3]。在實際生活中,用戶和基站數(shù)量的極速增加,給傳統(tǒng)MIMO技術帶來了巨大挑戰(zhàn),傳統(tǒng)MIMO技術已經無法滿足人們對信息獲取的需求,因此在傳統(tǒng)MIMO系統(tǒng)的基礎上延伸出了大規(guī)模MIMO系統(tǒng)[4,5]。
Massive MIMO系統(tǒng)通過在基站側布置大量天線單元得到集中式天線系統(tǒng)(co-located antenna system,CAS)。作為第5代(5G)無線系統(tǒng)的核心技術之一,Massive MIMO系統(tǒng)因具有高頻譜利用效率和能量利用效率而獲得了研究人員的關注,能夠在不消耗更多頻譜資源的前提下對信道容量和系統(tǒng)能效進行優(yōu)化。通過國內外的進一步研究,Massive MIMO技術有可能滿足未來高速鐵路的通信需求,并有潛力產生巨大的經濟效益和環(huán)境影響,進而促使綠色通信的實現(xiàn)。雖然天線數(shù)目的增多可以大幅度提升Massive MIMO系統(tǒng)性能,但在實際部署的過程中需要為每一根天線配備與之對應的射頻鏈路,硬件成本和復雜度也會隨之增加,會產生更多系統(tǒng)功耗和硬件損耗[6]。天線選擇技術的核心思想就是根據(jù)不同的算法,在保證系統(tǒng)性能的前提下,在發(fā)射端或接收端選取出最適合當前通信環(huán)境傳輸?shù)奶炀€子集,這些天線子集能夠滿足信號傳輸需求,進而降低功耗和損耗。
信道容量與系統(tǒng)能效是優(yōu)化天線選擇算法的兩個主要目標。傳統(tǒng)天線選擇算法中能使容量最優(yōu)的算法是窮舉天線選擇法,該算法能夠遍歷所有可能的天線組合,從而選擇出最優(yōu)的天線子集,雖然這種算法可以使得系統(tǒng)容量最大化,但其運算過程復雜在實際中不可能實現(xiàn),因此研究人員對天線選擇算法進行了研究和改進[7]。文獻[8]提到了一種遞減天線快速選擇算法,天線子集從全集開始逐漸減少,所以這種算法適用于選擇天線數(shù)量較多的情況;文獻[9]結合貪心算法,提出了一種從空集遞增選擇的算法,逐漸將符合準則的天線加入到空集中,這種算法適合應用在選擇天線數(shù)較少的通信環(huán)境;文獻[10]提到了一種范數(shù)選擇算法,該方法通過計算信道矩陣的范數(shù)來對天線進行選擇;文獻[11]提出了基于機器學習多級分類思想的天線選擇算法。
上述幾種天線選擇算法以損失部分性能為代價,極大程度減少了算法復雜度,不同的算法在不同的通信環(huán)境中擁有各自的優(yōu)缺點。在Massive MIMO系統(tǒng)中,適用于傳統(tǒng)MIMO系統(tǒng)的天線選擇算法仍具有較高的復雜度,因此研究人員針對Massive MIMO系統(tǒng)中的選擇算法進行了研究。文獻[12]基于最大體積子矩陣的查找方法,提出了一種實時逐根天線循環(huán)迭代的天線選擇算法,這種算法具有低內存成本和低運算復雜度;文獻[13]在Massive MIMO中提出了一種選擇算法,該算法結合了兩種關鍵技術:天線選擇和波束成型,最優(yōu)解通過凸函數(shù)來求解,能夠同時對系統(tǒng)各方面性能進行優(yōu)化;文獻[14]根據(jù)能效最大化的原則,提出了功率分配方案來優(yōu)化算法,提升性能并降低算法復雜度;文獻[15]提出了雙向搜索天線選擇算法,這種算法適用于不同天線選擇數(shù)的情況;文獻[16]提出了一種能夠將接收功率最大化的算法,算法的最優(yōu)解通過將優(yōu)化函數(shù)轉化成另一種凸函數(shù)來求解;文獻[17]提出的算法名為最小條件數(shù),該算法能夠使信道容量趨近于窮舉法的信道容量。上述幾種天線選擇算法雖然從各個方面提升系統(tǒng)性能,但在系統(tǒng)中仍具有較高的復雜度。
在Massive MIMO通信系統(tǒng)條件下,天線選擇算法主要分為兩類:一類算法是以系統(tǒng)性能最優(yōu)為前提,但復雜度會隨天線數(shù)的增加而提高;另一類算法的復雜度較低,但不具有良好的系統(tǒng)性能。本文提出了一種綜合考慮系統(tǒng)性能和復雜度的天線選擇算法,即最大歐式范數(shù)雙向選擇算法,該算法能夠在保持較低算法復雜度的同時提升系統(tǒng)容量。
本文考慮的大規(guī)模MIMO系統(tǒng),其中發(fā)射端配備N根天線,接收端配備M根天線,具有平坦的瑞利衰落信道且具有加性高斯白噪聲(additive white Gaussian noise,AWGN),系統(tǒng)信號傳輸模型可表示為
(1)
其中
y(i)=[y1(i),y2(i),…,yM(i)]T
(2)
x(i)=[x1(i),x2(i),…,xN(i)]T
(3)
n(i)=[n1(i),n2(i),…,nM(i)]T
(4)
(5)
式中:y(i) 代表M維從M根接收天線處收集的i個信號采樣點;x(i) 代表N維從N根發(fā)射天線處收集的i個信號采樣點;n(i) 代表零均值高斯噪聲矢量;Es是每根接收天線和每個信道使用的平均功率;較強的散射環(huán)境和稀疏的天線間距可以使得信道矩陣更加容易滿足獨立同分布的瑞利衰落的假設。
在進行天線子集選擇時,假設在接收端處已知完整信道狀態(tài)信息(channel state information,CSI),如果在發(fā)射端無法獲取完整的信道狀態(tài)信息,則每根發(fā)射天線需要獲取相同的發(fā)射功率,矩陣H對應的系統(tǒng)信道容量可表示成
C(H)=lb det(IN+EsHHH)=
lb det(IM+EsHHH)
(6)
C(H)為信道H對應信道容量; (·)H表示對矩陣做共軛轉置處理; det(·) 表示求矩陣的行列式值;IN表示N維的單位矩陣。
圖1為Massive MIMO系統(tǒng)天線選擇示意圖,N為總的發(fā)射天線數(shù),從N根發(fā)射天線里選擇LN根發(fā)射天線,M為總的接收天線數(shù),在M根接收天線選擇里選擇LM根接收天線進行信號的傳輸,H為信號傳輸?shù)男诺谰仃?,在發(fā)射端和接收端均配備了與之對應的射頻鏈路。
圖1 Massive MIMO系統(tǒng)中的天線選擇
若在發(fā)射端選擇全部發(fā)射天線進行信號發(fā)射,即LN=N, 在接收端選擇LM根天線來接收信號,LM (7) 大規(guī)模MIMO系統(tǒng)的天線選擇分為3類: (1)接收天線選擇。接收天線選擇算法在接收端發(fā)揮作用,當接收端已獲得完整CSI,在某個約束條件下從所有接收天線中遴選出適合當前通信環(huán)境傳輸?shù)娜舾筛炀€來接收信號。 (2)發(fā)送天線選擇。發(fā)射天線選擇算法應用在發(fā)射端,發(fā)射天線選擇是在某個約束條件下,從所有發(fā)射天線中遴選出適合當前通信環(huán)境傳輸?shù)娜舾筛炀€。發(fā)射天線對應信道矩陣的列向量,對發(fā)射天線進行選擇即為通過算法對信道矩陣列向量進行選取。與接收天線選擇不同的是,接收端需要將CSI反饋給發(fā)送端,發(fā)送端將此CSI作為根據(jù)來選擇天線。 (3)發(fā)射與接收天線的聯(lián)合選擇。接收與發(fā)射天線的聯(lián)合選擇也叫收發(fā)聯(lián)合天線選擇,意思是同時在接收端和發(fā)送端進行天線選擇。收發(fā)聯(lián)合選擇會導致備選天線子集數(shù)量成倍增加,極大程度增加了復雜度,因此需要高效的算法來降低復雜度。 天線選擇算法中,每根天線對信道容量的貢獻度是一個重要指標,不同的天線選擇算法對貢獻度的計算也不盡相同。例如在范數(shù)算法中,通過不同信道子矩陣對應的范數(shù)來計算容量貢獻度;矩陣體積算法中,通過不同信道子矩陣對應的體積來計算容量貢獻度。當天線間存在相關性或者相互影響時,還需要將天線相關行對信道的影響以及天線間影響考慮在內。本文所提算法是通過矩陣范數(shù)來計算每根天線的容量貢獻度。 雙向搜索算法是根據(jù)遞增算法與遞減算法的適用情況來提出的,這兩種算法均是通過一系列矩陣知識來簡化窮舉算法運算的過程。遞增天線選擇算法選擇天線步驟為:算法從空集開始選擇,每次將一根對系統(tǒng)容量貢獻最大的天線加入到空集中,直到集合中天線符合要求。同理,遞減選擇算法從待選天線全集開始,每次將一個對系統(tǒng)容量貢獻最小的天線去除,直到集合中剩余天線數(shù)符合要求。在不同選擇天線數(shù)的系統(tǒng)環(huán)境下,兩種算法各有優(yōu)缺點,遞增算法由空天線集合開始逐一增加,適用于選擇天線數(shù)較少 (LM≤M/2) 的情況;而遞減算法從全天線集合中開始逐一減少,適用于選擇天線數(shù)較多 (LM≥M/2) 的情況。算法具體步驟如下: 算法1: 雙向搜索天線選擇算法 輸入: Λ 輸出:Z (1) 初始化Λ,X=Y=?,B=IN (3)K=argmaxσk, Λ=Λ-K,X=X+K (4)C=(IN+EsH(Λ,∶)HH(Λ,∶))-1 (6) while length(X)≠LM (7) 使用遞減選擇算法進行天線選擇 1)P=argminμk, Λ=Λ-P,Y=X+Λ O(MLM) 2) if length(Y)=LM Z=Y, break end if 4) 對于k∈Λ, 求出每一項σk=σk-|αHhk|2 O(NMLM) (8) 使用遞增選擇算法進行天線選擇 1)K=argmaxσk, Λ=Λ-K,X=X+K 3) 對于k∈Λ, 求出每一項μk=μk+|hke|2 O(NMLM) (9)Z=X (10) end while (11) 返回集合Z 其中,hk(1≤k≤M) 是信道矩陣H中的第k行;Λ為所有接收天線集合;σk(k∈Λ) 為第k根天線對信道容量的貢獻,K和P為本次循環(huán)選擇出天線對應的序號;α、C、e是為簡化計算而引入的變量矩陣;算法返回的Z是選擇后的天線子集; O(·)H表示最大運算復雜度。 本文通過計算范數(shù)來對天線進行選擇,提出了最大歐式范數(shù)雙向選擇算法。該算法在循環(huán)中同時對兩根天線進行選擇,直到所選天線子集中的天線數(shù)與所需天線數(shù)相等,同時處理兩根天線的方法加快了選擇速度且對系統(tǒng)的容量幾乎沒有影響。雖然每次循環(huán)過程中對兩根天線進行了選擇,增加了當前循環(huán)過程的計算量,但這種方法能夠減少下一次每次循環(huán)的計算量。 最大歐式范數(shù)雙向選擇算法的主要方法同雙向搜索選擇算法一樣,分別從天線的空集遞增,全集遞減,當任意集合達到所需天線數(shù)即可得到選擇后的天線集合。不同的是,在雙向搜索算法中,使用的是遞增與遞減算法來判斷天線對容量的貢獻度,對天線進行選擇,而對于最大歐式范數(shù)雙向選擇算法,在每一次循環(huán)中通過計算比較信道矩陣每一行的歐式范數(shù)來選擇天線,即使用范數(shù)選擇算法來判斷對容量的貢獻度。與單純的使用遞增遞減算法相比,降低了選擇過程中算法的復雜度,這種算法既能在降低算法復雜度的同時減少對系統(tǒng)容量的影響,又能滿足不同選擇天線數(shù)的需求。 算法中對容量貢獻的分析主要是通過計算行列式的范數(shù)來計算的,以范數(shù)選擇算法為例,每根接收天線對應信道矩陣的行向量,歐式范數(shù)的計算公式為 (8) 算法2: 范數(shù)選擇算法 輸入: Λ 輸出:S (1) 初始化,T=Λ O(N2M) (3)n=2 (4) form=1 toM-1 fort=ntoM ifEt>Em temp=Tm O(M2) Tm=Tt Tt=temp end if end for n=n+1 end for (5) forj=1 toLM S=S+Tj O(LM) end for (6) 返回集合S 其中,Λ與T為所有接收天線集合;Ek(1≤k≤M) 表示第k行對應的范數(shù);程序的返回值S為選擇后的天線子集。 范數(shù)選擇算法可使系統(tǒng)具有較高的信道容量,但隨著天線數(shù)量的增加,算法的計算復雜度也會隨之增高。為了降低每一次循環(huán)中的計算復雜度,本節(jié)提出了最大歐式范數(shù)雙向選擇算法。每一次循環(huán)選擇天線的過程導致了算法具有高計算復雜度,使用范數(shù)選擇算法來進行天線選擇,進一步降低循環(huán)中的計算復雜度。下面總結了最大歐式范數(shù)雙向選擇算法的具體步驟[18]: (1)初始化算法中使用的參數(shù):接收天線集表示為Λ,遞增過程選擇的天線集表示為X, 遞減過程選擇的天線集表示為Y,X和Y初始都為空; (2)計算出信道矩陣每個行向量的歐式范數(shù)值,從計算出的所有值中選擇出值最大的天線K加入到集合X當中,在集合Λ中刪除該天線并且在歐式范數(shù)值的集合E中刪除該天線對應的歐式范數(shù)值。從全集開始進行循環(huán)遞減選擇:如果集合X中的元素個數(shù)等于LM, 停止天線選擇算法;如果集合X中的元素個數(shù)不等于LM, 則執(zhí)行步驟(3)繼續(xù)進行天線選擇; (3)在歐式范數(shù)值集合E中選擇出值最小的天線P, 在集合Λ中刪除該天線同時在歐式范數(shù)值的集合E中刪除該天線對應的歐式范數(shù)值,并且將集合X與集合Λ做并運算并賦值給集合Y。 如果集合Y中的元素個數(shù)等于LM, 此時停止天線選擇算法并將集合Y賦值給集合Z; 如果集合X中的元素個數(shù)不等于LM, 則執(zhí)行步驟(4)繼續(xù)進行天線選擇; (4)從空集開始對天線進行遞增選擇,在歐式范數(shù)集合E中選擇出值最大的天線K加入到集合X當中,在集合Λ中刪除該天線同時在歐式范數(shù)值的集合E中刪除該天線對應的歐式范數(shù)值,并且將集合X賦值給集合Z, 返回步驟(3)循環(huán)進行天線選擇。 (5)將經過算法選擇后的天線集合X或Y賦值給集合Z, 結束算法,完成天線選擇。 算法3: 最大歐式范數(shù)雙向選擇算法 輸入: Λ 輸出:Z (1) 初始化Λ,X=Y=? O(N2M) (3)K=argmaxEk,E=E-EK, Λ=Λ-K,X=X+K (4) while length(X)≠LM (5) 通過范數(shù)比較進行遞減選擇 1)P=argminEk 2)E=E-EP, Λ=Λ-P,Y=X+Λ 3) if length(Y)=LM Z=Y, break end if (6) 通過范數(shù)比較進行遞增選擇 1)K=arg maxEk O(MLM) 2)E=E-EK, Λ=Λ-K,X=X+K (7)Z=X (8) end while (9) 返回集合Z 其中,hk是信道矩陣H中的第k行;Ek表示第k行對應的歐式范數(shù),K和P為本次循環(huán)選擇出天線對應的序號;程序的返回值Z為選擇后的天線子集。 從算法1和算法2的步驟中可以看出,范數(shù)選擇算法的復雜度為O(M2), 雙向搜索算法的復雜度為O(NMLM), 而從算法3中可以看出最大歐式范數(shù)雙向選擇算法的復雜度為O(MLM), 與雙向搜索算法相比有所降低,且選擇天線數(shù)等于接收天線數(shù)時 (LM=M), 最大歐式范數(shù)雙向選擇算法的復雜度與范數(shù)選擇算法相等,此時情況相當于未進行天線選擇。相比于原范數(shù)天線選擇算法,每一次循環(huán)處理的天線數(shù)為兩根,相當于將原先需要循環(huán)的總次數(shù)減少了一半,選擇出天線所需要得循環(huán)總數(shù)減少為M/2。 為了分析文中提出的最大歐式范數(shù)雙向選擇算法的性能,本文從系統(tǒng)性能和計算復雜度兩個方面與已有算法——遞增選擇算法、隨機選擇算法、雙向搜索選擇算法以及范數(shù)算法進行仿真和比較,使用上述算法對接收端天線進行天線子集選擇。對Massive MIMO系統(tǒng)的上行鏈路進行仿真,終端發(fā)射端設有N根發(fā)射天線,基站接收端設有M根接收天線,信道仿真環(huán)境為瑞利平坦衰落信道,信道矩陣中的各個元素為高斯隨機變量,服從獨立同分布。 在發(fā)射天線數(shù)N=16, 接收天線數(shù)M=128, 選擇天線數(shù)LM的范圍為0~120,系統(tǒng)默認信噪比為10 dB的條件下進行仿真,圖2與圖3為采用不同算法時容量與選擇天線數(shù)的關系圖,圖2選擇天線數(shù)范圍為0~40,圖3選擇天線數(shù)范圍為40~100。 圖2 容量與選擇天線數(shù)(0-40)的關系 由圖2可以看出,系統(tǒng)容量隨著選擇天線數(shù)量的增加而不斷提升,通過比較實驗仿真的算法,遞增和范數(shù)算法對應的系統(tǒng)容量最佳,為容量上界;而隨機選擇算法對應的系統(tǒng)容量最差,為容量下界。當選擇天線數(shù)小于40時,最大歐式范數(shù)雙向選擇算法與雙向搜索算法的性能比較接近于遞增選擇算法;天線數(shù)大于40時的曲線趨勢如圖3所示。 圖3 容量與選擇天線數(shù)(40-100)的關系 由圖3可知,當選擇天線數(shù)等于60時,相比于雙向選擇算法,所提新算法對應的系統(tǒng)容量提高了0.89 bit/s/Hz;當選擇天線數(shù)在40到100范圍內,可明顯看出最大歐式范數(shù)雙向選擇算法對應的系統(tǒng)容量較高,但低于范數(shù)選擇算法對應的系統(tǒng)容量。這是由于使用了雙向選擇算法從而降低了范數(shù)選擇算法的復雜度,但會對系統(tǒng)容量造成了一定影響,所以未能達到范數(shù)選擇算法的系統(tǒng)容量。 在發(fā)射天線數(shù)N=4, 接收天線數(shù)M=100, 系統(tǒng)默認信噪比為10 dB的條件下進行仿真,圖4為在固定選擇天線數(shù)LM=70的前提下,采用不同天線選擇算法獲得的系統(tǒng)容量與信噪比關系的曲線。 圖4 容量與信噪比的關系 由圖4可以看出,算法的信道容量曲線隨信噪比的提高呈現(xiàn)不斷上升的趨勢,最大歐式范數(shù)雙向選擇算法的信道容量曲線在其他所有曲線的上方;而隨機選擇算法的信道容量曲線在其他所有曲線的下方;最大歐式范數(shù)雙向算法的信道容量曲線位于雙向選擇算法信道容量曲線的上方,這是因為通過計算歐式范數(shù)來判斷每根天線對容量貢獻權重的方法能夠選擇出更適合當前通信環(huán)境傳輸?shù)奶炀€,進而提高了信道容量上限值。當信噪比等于10 dB時,與范數(shù)選擇算法相比較,所提新算法的信道容量值提高了1.6 bit/s/Hz;與雙向選擇算法相比較,所提新算法的信道容量值提高了2.21 bit/s/Hz。相比于原雙向選擇算法,所提新算法在不同信噪比的通信環(huán)境下具有更優(yōu)的信道容量值。 在發(fā)射天線數(shù)N=4, 接收天線數(shù)M=100,系統(tǒng)默認信噪比為10 dB的條件下進行仿真,選擇天線數(shù)LM范圍為0~99根。在仿真實驗中,不同算法在相同參數(shù)的約束下重復執(zhí)行100次,記錄下每一種天線選擇算法運算的總時間。 從圖5可以得知,歐式范數(shù)算法的運行時間隨選擇天線數(shù)量的增加而提高,這是因為隨著選擇天線數(shù)量的增加,在對每根天線對應范數(shù)的計算過程中,將范數(shù)按照從大到小進行排序所消耗的時間基本呈線性增加,所以算法對應的計算復雜度也會呈線性增加,最大迭代次數(shù)為M。 而所提新算法利用了雙向搜索選擇算法的優(yōu)點,在每一次循環(huán)中處理的天線數(shù)量為兩根,這相當于減少了一半的計算量。隨著選擇天線數(shù)量的增加,算法的運行時間先增加后減少,在LM=M/2時達到最大值,將迭代次數(shù)的最大值從M降低到M/2。 仿真結果表明,相比與范數(shù)選擇算法,當選擇天線數(shù)在1至50之間時,最大歐式范數(shù)雙向選擇算法運行時間降低了一半;當選擇天線數(shù)量等于99根時,與范數(shù)選擇算法相比較,最大歐式范數(shù)雙向選擇算法的運行時間降低了0.29 s,所以此算法更能滿足不同天線選擇數(shù)的需求。 圖5 新算法與范數(shù)選擇算法復雜度的對比 從圖6可以得知,不同天線選擇數(shù)的需求下,最大歐式范數(shù)雙向選擇算法和雙向搜索選擇算法均有較好的信道容量,但最大歐式范數(shù)雙向選擇算法的時間曲線位于雙向搜索算法之下,即時間復雜度更低,這是因為所提新算法結合了歐式范數(shù)選擇算法復雜度較低的優(yōu)點:可選出較優(yōu)的天線子集,進而降低了算法復雜度。雙向搜索算法的時間復雜度為O(NMLM), 而雙向選擇算法的時間復雜度為O(MLM), 復雜度得到了有效優(yōu)化。結果表明,當選擇天線數(shù)等于50根時,相比于原來的雙向搜索算法,最大歐式范數(shù)雙向選擇算法的運行時間降低了0.08 s,減少了原算法的復雜度;當選擇天線數(shù)小于或大于50時,算法的運行時間均有所降低。 圖6 新算法與雙向搜索算法復雜度的對比 本文針對大規(guī)模MIMO系統(tǒng),提出了最大歐式范數(shù)雙向選擇算法。在每一次循壞迭代中,使用范數(shù)選擇算法同時選擇出對容量貢獻最大和最小的兩根天線,與原算法相比,算法復雜度得到了極大的改善,并且未損失過多的系統(tǒng)容量。 通過對系統(tǒng)容量進行分析,將最大歐式范數(shù)雙向選擇算法與常用的傳統(tǒng)天線選擇算法進行比較,仿真結果表明,最大歐式范數(shù)雙向選擇算法對應的系統(tǒng)容量方面得到了改善,有一定的提高,在靈活應對不同選擇天線數(shù)量需求的時候有更好的表現(xiàn);通過循環(huán)運行不同算法,對算法運行時間進行比較,仿真結果表明,與現(xiàn)有的歐式范數(shù)和雙向搜索算法相比,文中所提算法減少了算法的運算時間,在一定程度上降低了算法復雜度。2 天線選擇算法
2.1 雙向搜索算法
2.2 最大歐式范數(shù)雙向選擇算法
3 仿真結果
3.1 容量與選擇天線數(shù)的關系
3.2 容量與信噪比的關系
3.3 算法復雜度與選擇天線數(shù)的關系
4 結束語