申 敏,裘德市
(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 40065)
無蜂窩大規(guī)模多輸入多輸出(Multiple-Input Multiple-Output,MIMO)系統(tǒng)是文獻[1]中引入的一個新概念,大量地理分布的接入點(Access Point,AP)為少量用戶(User Equipment,UE)共同提供服務(wù)。每個AP通過前傳鏈路連接到中央處理單元(Central Processing Unit,CPU),該單元主要用于信號處理。在傳統(tǒng)蜂窩網(wǎng)絡(luò)中小區(qū)邊緣用戶會受到鄰近小區(qū)的干擾,而無蜂窩大規(guī)模MIMO系統(tǒng)通過消除蜂窩邊界抑制小區(qū)間干擾,因此無蜂窩大規(guī)模MIMO系統(tǒng)可以為其覆蓋范圍的用戶提供統(tǒng)一的服務(wù)質(zhì)量。
該系統(tǒng)早期的設(shè)想是所有AP都為每個UE提供服務(wù),然而這會增加CPU信號處理的計算復(fù)雜度和前傳鏈路的負載,隨著AP和UE數(shù)量的增加,使系統(tǒng)的可擴展性大大降低,難以實際實現(xiàn)。為了解決這個問題,文獻[2]提出了一種以“用戶為中心”的無蜂窩大規(guī)模MIMO系統(tǒng),該系統(tǒng)中的每個UE由一組具有最佳信道條件的AP子集提供服務(wù),不僅大大降低了前傳鏈路的壓力,并且以“用戶為中心”的AP選擇方案,其系統(tǒng)和速率和能量效率均優(yōu)于全連接方案[3]。近幾年來,許多文獻研究了無蜂窩大規(guī)模MIMO系統(tǒng)AP選擇算法[4-8],但是,文獻[4]算法主要問題是系統(tǒng)和速率不是最優(yōu)的;文獻[5]算法未考慮每個AP服務(wù)UE的最大數(shù)量,當主AP服務(wù)的UE數(shù)量較多時,應(yīng)當選擇次優(yōu)AP作為主AP;文獻[6]算法其競爭原則是AP優(yōu)先選擇具有最大大尺度衰落系數(shù)的UE,若UE數(shù)量小于等于正交導(dǎo)頻的數(shù)量時,該算法與全連接的方案一致;文獻[7]算法通過連續(xù)凸優(yōu)化實現(xiàn)AP選擇,仿真結(jié)果表明具有較好的系統(tǒng),計算復(fù)雜度較高;文獻[8]算法在AP數(shù)量較多時預(yù)測準確率有所下降??傊?AP選擇是一個全局優(yōu)化問題,應(yīng)當考慮系統(tǒng)和速率、能量效率、用戶公平性等其他因素,并且能夠在某些動態(tài)場景下為UE選擇最佳的AP集合。
反向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò)是一種按誤差反向傳播訓(xùn)練的多層前饋網(wǎng)絡(luò),其算法稱為BP算法。該算法的基本思想是梯度下降法,利用梯度搜索技術(shù),使網(wǎng)絡(luò)的實際輸出值和期望輸出值的誤差均方差為最小。標準BP神經(jīng)網(wǎng)絡(luò)對初始權(quán)重的選取很敏感,可以采用一些啟發(fā)式的算法(例如遺傳算法)來初始化權(quán)重以提高BP神經(jīng)網(wǎng)絡(luò)的性能。
遺傳算法(Genetic Algorithm,GA)是模仿自然界生物進化機制發(fā)展起來的搜索最優(yōu)解的方法[9]。標準遺傳算法的交叉率和變異率是固定的,這導(dǎo)致其搜索過程迭代慢,容易陷入局部最優(yōu)。自適應(yīng)遺傳算法(Adaptive Genetic Algorithm,AGA)通過自適應(yīng)改變交叉率和變異率,能夠很好地解決這個問題。
本文提出了一種無蜂窩大規(guī)模MIMO系統(tǒng)AP動態(tài)選擇算法,首先利用改進的自適應(yīng)遺傳算法為每個UE選擇最佳的AP,將其作為BP神經(jīng)網(wǎng)絡(luò)的實際值;然后利用BP神經(jīng)網(wǎng)絡(luò)為不同地理位置分布的UE選擇最佳的服務(wù)AP集合,BP神經(jīng)網(wǎng)絡(luò)的輸入為AP和UE之間的大尺度衰落系數(shù)向量,輸出為AP與UE連接關(guān)系預(yù)測向量,通過該預(yù)測向量來為用戶選擇最佳服務(wù)AP集合。仿真結(jié)果表明,改進的自適應(yīng)遺傳算法較遺傳算法收斂速度更快,更不易陷入局部最優(yōu),利用改進的自適應(yīng)遺傳優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)比未優(yōu)化權(quán)值的BP神經(jīng)網(wǎng)絡(luò)泛化性能更好。所提的AP動態(tài)選擇算法比全連接和現(xiàn)有的一些AP選擇算法具有更好的系統(tǒng)和速率。
如圖1所示,無蜂窩大規(guī)模MIMO系統(tǒng)由M個AP和K個UE組成,并且M>>K。AP和UE均勻分布在(D×D)區(qū)域內(nèi),假設(shè)所有AP和UE都配置單天線,所有AP通過前傳鏈路鏈接到CPU,系統(tǒng)工作在時分雙工(Time Diversion Duplex,TDD)模式下,即上下行信道具有互易性。每幀分為上行信道估計、下行數(shù)據(jù)傳輸、上行數(shù)據(jù)傳輸3個階段。幀長為τc,上行訓(xùn)練長度為τp,上行數(shù)據(jù)傳輸長度為τu,下行數(shù)據(jù)傳輸長度為τd,并且滿足τc=τp+τu+τd。
圖1 無蜂窩大規(guī)模MIMO系統(tǒng)模型Fig.1 Cell-free massive MIMO system model
第m個AP到第k個UE之間的信道系數(shù)gm,k可表示為
(1)
式中:hm,k~CN(0,1)為小尺度衰落系數(shù);βm,k為大尺度衰落系數(shù),包含陰影衰落和路徑損耗。路徑損耗模型采用三斜率模型[10]。路徑損耗為
(2)
式中:dm,k表示第m個AP到第k個UE的距離;在該路徑損耗模型下,d1和d0取值分別為50 m和10 m;L的表達式為
L=46.3+33.9lg(f)-13.82lg(hAP)-
(1.1lg(f)-0.7)hUE+(1.56lg(f)-0.8)
(3)
式中:f為載波頻率;hAP為AP的高度;hUE為UE的高度。
在上行訓(xùn)練階段,所有UE同時向AP發(fā)送長度為τp的導(dǎo)頻序列,導(dǎo)頻向量可表示為
(4)
(5)
(6)
(7)
在上行傳輸階段,假設(shè)UE向所有AP發(fā)送載波數(shù)據(jù)符號xk(滿足E{|xk|}=1),功率控制系數(shù)為ηk(滿足0≤ηk≤1),則第m個AP接收到的信號為
(8)
(9)
第k個UE的上行速率為
(10)
文獻[11]提出了一種無蜂窩大規(guī)模MIMO系統(tǒng)動態(tài)協(xié)作分簇(Dynamic Cooperation Cluster,DCC)的概念,即UE由AP的子集Mk提供服務(wù),該子集可根據(jù)時變特征(例如UE移動性、信道時變特征)進行改變。如果全部考慮這些時變特征,算法復(fù)雜度較高,并且實現(xiàn)困難,所以本文只考慮在AP和UE位置隨機分布的動態(tài)場景下,為UE選擇最佳的服務(wù)AP子集。AP與UE的連接關(guān)系可由矩陣D∈M×K表示:
(11)
當Dm,k=1,表示UE和AP存在連接。當為全連接方案時,D為單位矩陣。
在上行數(shù)據(jù)傳輸階段,通過AP動態(tài)選擇后,只有部分AP向CPU傳輸數(shù)據(jù),減輕了前傳鏈路數(shù)據(jù)傳輸和CPU信號處理的壓力。將式(11)代入到式(10),可知在AP動態(tài)選擇情況下,第k個UE的上行速率表達式為
(12)
系統(tǒng)的上行和速率為
(13)
為了最大化系統(tǒng)上行和速率,則優(yōu)化問題可以建模為
s.t.Dm,k∈{0,1}
(14)
式中:N為每個AP可服務(wù)的最大UE數(shù)量。
為了解決AP和UE隨機分布動態(tài)場景下的AP選擇問題,本文設(shè)計了一個基于BP神經(jīng)網(wǎng)絡(luò)的預(yù)測模型(圖2),根據(jù)AP與UE之間的大尺度衰落系數(shù)來預(yù)測AP與UE的連接關(guān)系從而最大化無蜂窩大規(guī)模MIMO系統(tǒng)的上行和速率。如圖2所示,該模型由輸入層、隱藏層、輸出層組成,通過反向傳播調(diào)節(jié)網(wǎng)絡(luò)的權(quán)重和閾值來最小化均方誤差[12]。
圖2 BP神經(jīng)網(wǎng)絡(luò)模型Fig.2 BP neural network model
在無蜂窩大規(guī)模MIMO系統(tǒng)中,由式(2)可知,AP與UE間的大尺度衰落決定了信號的傳輸質(zhì)量,也就是說在一定程度上能夠反映AP與UE間的連接關(guān)系,因此可將AP與UE的大尺度衰落矩陣向量作為模型的輸入。根據(jù)式(2)可知,大尺度衰落系數(shù)和距離成正比,會出現(xiàn)較大或較小的值,如果采用標準歸一化,會導(dǎo)致部分歸一化后的數(shù)據(jù)接近于0,影響B(tài)P神經(jīng)網(wǎng)絡(luò)的泛化能力(實際仿真也表明采用標準歸一化的神經(jīng)網(wǎng)絡(luò)的泛化性能比采用標準差歸一化的神經(jīng)網(wǎng)絡(luò)的泛化性能差),所以利用標準差對輸入數(shù)據(jù)進行歸一化處理:
(15)
式中:μ為輸入數(shù)據(jù)的均值;σ為輸入數(shù)據(jù)的方差。
BP神經(jīng)網(wǎng)絡(luò)輸出層的激活函數(shù)采用sigmoid函數(shù),誤差函數(shù)為均方誤差函數(shù)(Mean Square Error,MSE):
對模型中出現(xiàn)的符號做如下說明:L為港口群內(nèi)可能開通的干線航線數(shù);j為主干航線;M為港口群內(nèi)港口數(shù);i=1,2,3,…,M為港口;Pi為港口pi干線泊位資源數(shù)量;pi為為港口的干線泊位提供支撐的支線泊位數(shù)量;α為每單位干線泊位單位時間的處理能力;β為每單位支線泊位單位時間的處理能力;每個T0周期內(nèi)直接腹地和交叉腹地的貨物輸出矩陣為第T周期內(nèi)港口i直接腹地產(chǎn)生的主干航線j的貨物數(shù)量,第T周期內(nèi)港口i與港口i-1交叉腹地產(chǎn)生的主干航線j的貨物數(shù)量,為第T周期內(nèi)港口i與港口i+1交叉腹地產(chǎn)生的主干航線j的貨物數(shù)量。
(16)
(17)
式中:y為BP神經(jīng)網(wǎng)絡(luò)的輸出;ytrue為真實值。這兩個向量轉(zhuǎn)換為矩陣之后,都可以表示AP與UE的連接關(guān)系矩陣D。由式(17)可知,系統(tǒng)上行和速率優(yōu)化問題是一個多維離散優(yōu)化問題,求解難度較高。為了獲得真實值,本文提出了一種改進的自適應(yīng)遺傳算法,簡稱為AGA算法。該算法由種群初始化、計算適應(yīng)度、選擇、交叉、變異、產(chǎn)生下一代種群、交叉率和變異率自適應(yīng)調(diào)整變異率和交叉率等步驟組成,主要對交叉、變異、自適應(yīng)調(diào)整交叉率和變異率等步驟進行了改進。由于種群中的個體采用了二進制編碼,在算法迭代后期可能存在大量相似的個體,導(dǎo)致交叉和變異操作無效,容易陷入局部最優(yōu),于是本文對交叉和變異操作后的結(jié)果進行判斷以決定是否需要重新交叉或重新變異。同時本文利用對數(shù)函數(shù)的性質(zhì)來自適應(yīng)改變交叉率和變異率,以提升算法的收斂速度,并且防止陷入局部最優(yōu)。算法流程如圖3所示。
圖3 改進的自適應(yīng)遺傳算法流程Fig.3 Improved AGA algorithm flow
算法具體步驟如下:
步驟1 種群初始化:種群中的每個個體為AP和UE之間的連接矩陣D,初始種群為Ω={D1,D2,…,DNP},NP為種群的數(shù)量。每個個體中的元素隨機生成,并且需要滿足每列元素不全為0。
步驟2 計算適應(yīng)度:適應(yīng)度為無蜂窩大規(guī)模MIMO系統(tǒng)的上行和速率。
步驟4 交叉:交換兩個個體相同位置的子矩陣。因為矩陣中的元素取值只有0和1,在迭代后期,可能存在許多相似的個體,所以在交叉操作之前,需要判斷兩個個體的子矩陣是否相同,相同則重新交叉。
步驟5 變異:隨機選擇個體矩陣中的一個元素,如果其值為0,則改變值為1;如果其值為1,改變其值為0。為了確保個體向最優(yōu)的方向變異,計算變異后的個體適應(yīng)度。如果變異后的個體適應(yīng)度大于變異前的個體適應(yīng)度,則認為本次變異有效,否則重新變異。
步驟7 自適應(yīng)調(diào)整變異率和交叉率:本文利用對數(shù)函數(shù)的性質(zhì)來自適應(yīng)改變交叉率和變異率,表達式為
CrossRate=0.9-lb(1+IterN/IterSum)×0.9
(18)
VariationRate=0.1+lb(1+IterN/IterSum)×0.9
(19)
式中:CrossRate和VariationRate表示交叉率和變異率,初始值為0.9和0.1;IterN和IterSum表示當前迭代次數(shù)和總迭代次數(shù)。隨著迭代次數(shù)的增加,交叉率逐漸減小,變異率逐漸增大。在迭代初期,交叉率較大,利于全局搜索最優(yōu)解。在迭代后期,變異率較大,不易陷入局部最優(yōu)。
BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)重對網(wǎng)絡(luò)的訓(xùn)練效果影響很大,隨機初始化權(quán)重往往訓(xùn)練效果不是最佳,所以為了提高模型訓(xùn)練的效果,本文利用所提的改進自適應(yīng)遺傳算法算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)重,此時每個個體為BP神經(jīng)網(wǎng)絡(luò)的權(quán)值,適應(yīng)度函數(shù)為BP神經(jīng)網(wǎng)絡(luò)的均方誤差,其余步驟與上述類似,不再贅述。
當BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練完成后,可以代入測試輸入數(shù)據(jù)。BP神經(jīng)網(wǎng)絡(luò)輸出值的取值范圍為[0,1],而AP與UE的連接矩陣D元素取值為0或1,所以為了得到預(yù)測輸出值,需要進行轉(zhuǎn)換,表達式為
(20)
此時預(yù)測輸出值可以表示AP與UE之間的連接關(guān)系,代入式(13),便可以得到在預(yù)測情況下的系統(tǒng)上行和速率。
綜上所述,本文提出的基于AGA-BP神經(jīng)網(wǎng)絡(luò)的AP動態(tài)選擇算法如圖4所示,具體步驟如下:
圖4 基于AGA-BP神經(jīng)網(wǎng)絡(luò)的AP動態(tài)選擇示意Fig.4 Schematic of AP dynamic selection based on AGA-BP neural network
1)訓(xùn)練階段
步驟1 在設(shè)定的仿真環(huán)境下,隨機生成不同AP與UE分布位置下的大尺度衰落系數(shù)數(shù)據(jù),將其歸一化后作為BP神經(jīng)網(wǎng)絡(luò)的輸入。
步驟2 使用改進的自適應(yīng)遺傳算法獲取BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值,使用改進的自適應(yīng)遺傳算法為UE選擇最佳AP以作為BP神經(jīng)網(wǎng)絡(luò)的實際值。
步驟3 訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)。
2)預(yù)測階段
步驟1 輸入歸一化后的大尺度衰落數(shù)據(jù),BP神經(jīng)網(wǎng)絡(luò)輸出值并進行轉(zhuǎn)換得到AP與UE的連接關(guān)系矩陣D。
步驟2 UE根據(jù)連接關(guān)系矩陣D為UE選擇服務(wù)的AP。
通過利用蒙特卡羅仿真對所設(shè)計的AP選擇算法進行分析。考慮一個1 km×1 km的無蜂窩大規(guī)模MIMO通信區(qū)域,AP和UE的位置隨機均勻分布在該區(qū)域。利用環(huán)繞技術(shù)模擬無限大的通信區(qū)域,以消除邊界的影響。BP神經(jīng)網(wǎng)絡(luò)的輸入層大小為M×K,隱藏層大小為2×M×K+1,輸出層大小為M×K。訓(xùn)練數(shù)據(jù)為20 000個輸入值和實際值,訓(xùn)練數(shù)據(jù)和驗證數(shù)據(jù)分別占總數(shù)據(jù)的80%和20%,測試數(shù)據(jù)為單獨生成的1 000個輸入值與實際值。主要仿真參數(shù)如表1所列。
表1 仿真參數(shù)Tab.1 Simulation parameters
圖5給出了當M=30,K=10時,GA算法和本文提出的改進自適應(yīng)遺傳算法(簡稱為AGA算法)的最大適應(yīng)度的變化曲線,最大適應(yīng)度為系統(tǒng)上行和速率。從圖中可以看出,GA算法剛開始時的最大適應(yīng)度增長較快,之后增長緩慢,可能陷入了局部最優(yōu)。AGA算法在前一半的迭代過程最大適應(yīng)度都增長較快,后期收斂。迭代結(jié)束后,AGA算法的最大適應(yīng)度比GA算法大。這表明所提的AGA算法比GA算法收斂更快,不易陷入局部最優(yōu)。
圖5 GA算法和AGA算法的最大適應(yīng)度隨迭代次數(shù)的變化曲線Fig.5 The maximum fitness curve of GA algorithm and AGA algorithm varying with the number of iterations
圖6給出了AGA-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中訓(xùn)練集、驗證集、測試集的誤差變化曲線,可以看出隨著訓(xùn)練次數(shù)的增加,訓(xùn)練集、驗證集、測試集的誤差慢慢降低,在訓(xùn)練到第988次時收斂。測試集和驗證集的誤差曲線基本重合,并且與訓(xùn)練集的誤差曲線十分接近。這表明BP神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置較為合理,訓(xùn)練效果較好,神經(jīng)網(wǎng)絡(luò)的泛化性能較好。
圖6 AGA-BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練的誤差曲線Fig.6 The error curve of AGA-BP neural network training
圖7給出了在相同神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置,相同輸入數(shù)據(jù)、測試數(shù)據(jù)、實際數(shù)據(jù)等條件下,連續(xù)訓(xùn)練5次神經(jīng)網(wǎng)絡(luò),AGA-BP神經(jīng)網(wǎng)絡(luò)與BP神經(jīng)網(wǎng)絡(luò)的平均訓(xùn)練誤差對比圖。從圖中可以看出,經(jīng)過AGA算法初始化權(quán)重之后,神經(jīng)網(wǎng)絡(luò)的平均誤差更小,AGA-BP神經(jīng)網(wǎng)絡(luò)的性能比BP神經(jīng)網(wǎng)絡(luò)好。
圖7 AGA-BP神經(jīng)網(wǎng)絡(luò)與BP神經(jīng)網(wǎng)絡(luò)的平均訓(xùn)練誤差曲線Fig.7 Average training error curve of AGA-BP neural network and BP neural network
圖8給出了當M=30,K=10時,所提出的AP動態(tài)選擇算法與其他AP選擇算法的上行用戶速率累計分布圖。從圖中可以看出,兩種AP選擇方案的性能比較接近,但是可擴展性方案實際使用到的AP數(shù)量小于全連接方案,這表明少量的AP也能為UE提供較好的服務(wù)質(zhì)量。由于BP神經(jīng)網(wǎng)絡(luò)擬合的不完全性,動態(tài)選擇方案相比較于其實際值所代表的AGA算法方案性能稍差,但是優(yōu)于競爭方案和可擴展性方案。聯(lián)合功率分配的AP選擇方案由于其相比較與其他方案進行了功率分配,降低了UE間的干擾,理論上性能是最優(yōu)的。實際仿真結(jié)果也表明該方案優(yōu)于其他方案,但是其計算復(fù)雜度較高,不利于實際實現(xiàn);當UE位置發(fā)生移動后,需要重新求解凸優(yōu)化的解,算法的動態(tài)適應(yīng)性較低。本文所提的動態(tài)選擇方案,只需輸入AP和UE的大尺度算法系數(shù),通過預(yù)先訓(xùn)練好的BP神經(jīng)網(wǎng)絡(luò)便可為UE選擇合適的AP,算法的動態(tài)適應(yīng)性較好。
圖8 不同AP選擇方案的上行用戶速率累計分布Fig.8 Cumulative distribution of uplink spectrum efficiency of user equipment with different AP selection schemes
本文針對無蜂窩大規(guī)模MIMO系統(tǒng)中的AP選擇問題,提出了一種基于BP神經(jīng)網(wǎng)絡(luò)的AP動態(tài)選擇算法。首先,利用自適應(yīng)遺傳算法為每個UE選擇最佳的服務(wù)AP集合以最大化系統(tǒng)上行和速率。針對AP和UE隨機分布的動態(tài)場景,利用BP神經(jīng)網(wǎng)絡(luò)來預(yù)測AP與UE之間的連接關(guān)系。BP神經(jīng)網(wǎng)絡(luò)的輸入為AP與UE之間的大尺度衰落向量,輸出為AP與UE之間連接關(guān)系的預(yù)測向量,并將自適應(yīng)遺傳算法的AP選擇結(jié)果作為實際值。仿真結(jié)果表明,所提的自適應(yīng)遺傳算法比傳統(tǒng)的遺傳算法收斂更快,且不易陷入局部最優(yōu)。BP神經(jīng)網(wǎng)絡(luò)的預(yù)測效果接近于自適應(yīng)遺傳算法的性能,且優(yōu)于現(xiàn)有的一些啟發(fā)式算法和全連接的方案,提升了系統(tǒng)的上行和速率。
在后續(xù)工作中,我們將進一步研究AP選擇和功率控制的聯(lián)合優(yōu)化問題,進一步提升系統(tǒng)的能量效率。