緱麗莎,徐 巖
(蘭州交通大學(xué) 電子與信息工程學(xué)院, 蘭州 730070)
終端設(shè)備的劇增將導(dǎo)致移動(dòng)流量和能量消耗不斷上升。近幾年來,基于鄰近性的應(yīng)用程序是此類數(shù)據(jù)激增的主要來源之一。 設(shè)備到設(shè)備(Device to Device,D2D)通信是指相鄰的兩個(gè)用戶無需通過基站直接發(fā)送信號(hào)[1],將全雙工傳輸[2]與D2D通信相結(jié)合,可提高頻譜效率和終端用戶體驗(yàn),減少通信延遲,并提供高速率數(shù)據(jù)的短程傳輸[3-4]。
目前,國(guó)內(nèi)外研究熱點(diǎn)基本圍繞D2D通信網(wǎng)絡(luò)的資源配置和干擾控制[5-6],也有不少文獻(xiàn)研究D2D通信網(wǎng)絡(luò)中的能量消耗問題。文獻(xiàn)[7]將子載波分配和功率分配聯(lián)合優(yōu)化,在滿足所有用戶速率的要求下使能量消耗最小;文獻(xiàn)[8]提出了一種改進(jìn)的遺傳算法,在保證D2D通信傳輸速率的同時(shí)使能耗最小化;文獻(xiàn)[9]構(gòu)造了非合作博弈模型,通過資源分配實(shí)現(xiàn)三層網(wǎng)絡(luò)中D2D通信對(duì)的能效最大化;文獻(xiàn)[10]提出了一種D2D通信對(duì)訪問鏈路控制和資源分配方案,采用逆聚塊近似算法求解;文獻(xiàn)[11]構(gòu)造Stackelberg博弈效用函數(shù),通過調(diào)整發(fā)射功率使每個(gè)用戶的效用最大化;文獻(xiàn)[12]推導(dǎo)出了實(shí)現(xiàn)場(chǎng)景的能量效用函數(shù),提出了貪心基站休眠的節(jié)能算法來優(yōu)化能耗。
目前多數(shù)算法復(fù)雜度高,既不能有效滿足用戶現(xiàn)代化的通信需求,也不能充分達(dá)到能效優(yōu)化的目的。故本文采用一種分解的方法研究全雙工D2D通信鏈路能效優(yōu)化問題。
考慮由基站、c個(gè)蜂窩用戶和d個(gè)全雙工D2D用戶對(duì)組成的全雙工D2D用戶對(duì)復(fù)用單小區(qū)蜂窩網(wǎng)絡(luò)上行鏈路資源的傳輸場(chǎng)景,基站在小區(qū)中心,如圖1所示。每個(gè)蜂窩用戶擁有正交的鏈路資源,防止各個(gè)鏈路之間發(fā)生同信道干擾,每個(gè)鏈路資源占用WMHz帶寬。K={1,…,k}為k個(gè)蜂窩用戶鏈路資源的集合,C={1,…,c}為蜂窩用戶鏈路集合,D={1,…,d}為全雙工D2D用戶對(duì)鏈路集合,每個(gè)全雙工D2D用戶對(duì)包括1個(gè)發(fā)射端和1個(gè)接收端。假設(shè)蜂窩用戶發(fā)射功率恒定,每個(gè)蜂窩鏈路資源塊只能被一個(gè)全雙工D2D用戶對(duì)復(fù)用,且每個(gè)全雙工D2D用戶對(duì)只能復(fù)用一個(gè)蜂窩鏈路資源塊。此時(shí)基站會(huì)受到來自全雙工D2D用戶對(duì)的干擾,并且全雙工D2D用戶D1和D2也會(huì)受到來自蜂窩用戶的干擾,同時(shí)全雙工D2D用戶對(duì)會(huì)產(chǎn)生自干擾。
圖1 系統(tǒng)模型
式中,η(η1、η2)為自干擾消除因子。當(dāng)η=0時(shí),自干擾被徹底消除,當(dāng)η=1時(shí),自干擾完全沒有被消除,0≤η≤1。
由此可以推導(dǎo)出D1到D2和D2到D1的傳輸速率分別為
于是,全雙工D2D通信鏈路總的能量效率為
聯(lián)合功率控制和鏈路資源分配的能效分析是一個(gè)混合整數(shù)非線性規(guī)劃問題,此類問題在文獻(xiàn)[13]中已被證明是非確定性多項(xiàng)式問題,故將能效優(yōu)化問題轉(zhuǎn)換為兩個(gè)獨(dú)立的優(yōu)化子問題可以降低求解的復(fù)雜度。在第1個(gè)子問題中,以全雙工D2D通信鏈路的能量效率最大化為目標(biāo),解決在給定資源上全雙工D2D通信鏈路D1和D2的功率分配問題;對(duì)于第2個(gè)子問題,研究如何在第1個(gè)子問題假設(shè)下為多個(gè)全雙工D2D通信鏈路分配蜂窩鏈路資源。
圖2所示為由約束條件組成的3個(gè)限制區(qū)域,最佳發(fā)射功率分配的解決方案有如下3種情況:
圖2 發(fā)射功率限制區(qū)域
由于約束能效優(yōu)化問題是非線性的,并且目標(biāo)函數(shù)和約束條件都是連續(xù)兩次可微,因此可以通過有效的迭代方法對(duì)二次規(guī)劃算法進(jìn)行求解。具體可以通過Matlab軟件優(yōu)化工具箱中的fmincon函數(shù)求解最優(yōu)發(fā)射功率。上述已證明最佳發(fā)射功率分配方案之一是位于可行區(qū)域的邊界上,因此將全雙工D2D通信鏈路的發(fā)射功率初始點(diǎn)設(shè)置為最大值,以提高收斂速度。
(1) 解空間和初始化
(2) 評(píng)估
(3) 搜索運(yùn)算符和擾動(dòng)
自適應(yīng)TS算法搜索分配鏈路資源時(shí)包括全雙工D2D用戶對(duì)已分配的鏈路資源,以便提高每次迭代后鏈路資源分配的質(zhì)量。假設(shè)鏈路資源的整體分配矩陣Sh×l為當(dāng)前解,h為占用第l個(gè)鏈路資源的全雙工D2D用戶,l為被第h個(gè)全雙工D2D用戶占用的鏈路資源,交換運(yùn)算符swap為本地搜索運(yùn)算符,通過單獨(dú)交換隨機(jī)兩行以創(chuàng)建新的鄰域解來分配新的鏈路資源。
自適應(yīng)TS算法中的擾動(dòng)機(jī)制是把搜索過程引向解空間未探索的鄰域從而全局尋找最優(yōu)解。通過強(qiáng)制選擇引導(dǎo)搜索的移動(dòng)方向來執(zhí)行微調(diào)擾動(dòng)機(jī)制可以產(chǎn)生有希望的解空間。當(dāng)交換搜索無法超出局部最優(yōu)解且在多次迭代后仍不能改善最優(yōu)解時(shí),可以執(zhí)行擾動(dòng)。這種微調(diào)擾動(dòng)機(jī)制必須設(shè)置巧妙,以引導(dǎo)新的搜索區(qū)域,生成不同的局部最優(yōu)解,并避免隨機(jī)重新搜索。
本文全雙工D2D用戶鏈路資源分配擾動(dòng)算子的目標(biāo)是通過隨機(jī)改變?nèi)p工D2D用戶鏈路資源分配矩陣的兩行,使最優(yōu)解的搜索范圍多樣化。故本文將隨機(jī)反轉(zhuǎn)全雙工D2D用戶鏈路資源分配矩陣中的j1和j2行,實(shí)際上這里不僅是j1和j2行被交換,而且j1和j2行之間的行也被交換,但j1和j2行之間的距離必須大于2,以防止生成本地運(yùn)算符之前的解。對(duì)擾動(dòng)算子中固定參數(shù)的設(shè)置要足夠小以確保擾動(dòng)機(jī)制避免隨機(jī)重啟行為,同時(shí)也要足夠大以確保不會(huì)消除局部搜索的結(jié)果。
(4) 禁忌列表
禁忌列表定義為搜索歷史記錄,以維護(hù)每次迭代中最后訪問的解決方案。在每次迭代中若執(zhí)行了最佳交換,禁忌列表就會(huì)更新,將新的解決方案添加到禁忌列表中,并且此移動(dòng)在有限的迭代次數(shù)中不會(huì)受到影響。通過實(shí)驗(yàn)調(diào)試將禁忌列表的長(zhǎng)度確定為nswap/2,n為迭代次數(shù),該長(zhǎng)度隨著鄰域大小的增加而線性增長(zhǎng)。
(5) 自適應(yīng)TS算法
本文提出的自適應(yīng)TS算法流程描述如下:TS從Sh×l的初始配置開始,尋找搜索空間最佳的鏈路資源分配,即在每次迭代中,TS執(zhí)行nswap,移動(dòng)以提高目標(biāo)函數(shù)值。經(jīng)過兩次連續(xù)的交換操作后,如果新的鏈路資源分配解決方案導(dǎo)致更高的全雙工D2D鏈路能量效率,則本地搜索將使用新獲得的解決方案繼續(xù)搜索,以找到在當(dāng)前迭代中返回最高能量效率的最佳交換移動(dòng),具有最高目標(biāo)函數(shù)的解決方案會(huì)在列表中更新;如果在給定的迭代次數(shù)后解決方案仍未得到改善,則停止局部搜索,并且擾動(dòng)在搜索空間中進(jìn)行長(zhǎng)距離跳躍,這時(shí)從擾動(dòng)的修改解開始,對(duì)于給定的迭代次數(shù),將繼續(xù)執(zhí)行以上過程達(dá)到全局最優(yōu)。
將本文所提自適應(yīng)TS算法與其他3種算法對(duì)比驗(yàn)證本文所提算法性能,其他3種算法分別為遺傳鏈路分配的最佳功率算法、無功率控制的自適應(yīng)TS算法和隨機(jī)鏈路分配的最佳功率控制算法。仿真參數(shù)設(shè)置如表1所示。
表1 參數(shù)設(shè)置
圖3所示為4種不同算法的收斂性與全雙工D2D通信鏈路能效變化關(guān)系曲線。由圖可知,本文所提自適應(yīng)TS算法在第18次迭代達(dá)到收斂,而遺傳鏈路分配的最佳功率算法在第22次迭代達(dá)到收斂,無功率控制的自適應(yīng)TS算法在第24次迭代達(dá)到收斂,隨機(jī)鏈路分配的最佳功率控制算法在第28次迭代達(dá)到收斂,由此說明本文所提算法的可收斂性。本文所提算法相對(duì)于其他3種算法,全雙工D2D通信鏈路能量效率最優(yōu),與對(duì)遺傳鏈路分配的最佳功率算法相比,本文所提算法提高了約1.7%的性能;與無功率控制的自適應(yīng)TS鏈路資源分配算法相比,本文所提算法提高了約3.7%的性能;與隨機(jī)鏈路分配的最佳功率控制算法相比,本文所提算法提高了約9.6%的性能,這是因?yàn)楸疚乃崴惴ú捎昧瞬煌囊苿?dòng)算子,且由圖可知,本文所提算法中在迭代到第14次時(shí),移動(dòng)算子顯示出有效擾動(dòng)的結(jié)果。此外,相比于無功率控制的自適應(yīng)TS算法,本文所提算法性能更好,由此得出通過功率控制可以改善全雙工D2D通信鏈路能量效率,獲取更高的能效。
圖3 不同算法下全雙工D2D鏈路能效收斂性比較
圖4所示為4種不同算法下全雙工D2D通信鏈路能效隨距離的變化曲線。在4種算法中,全雙工D2D用戶共享蜂窩用戶鏈路資源,隨著全雙工D2D鏈路距離的增加,信道鏈路衰減逐漸增大,全雙工D2D用戶的SINR減少,為了滿足需求,全雙工D2D用戶會(huì)提高發(fā)射功率,導(dǎo)致系統(tǒng)網(wǎng)絡(luò)內(nèi)干擾增大,影響全雙工D2D通信鏈路的能效,使其值逐漸下降。本文所提算法在4種算法中具有最佳的性能,這意味著利用本文所提算法來解決提出的優(yōu)化問題是有效的。如果全雙工D2D對(duì)的傳輸功率是最佳發(fā)射功率,即使使用了有效的鏈路資源分配,由于同信道干擾的增長(zhǎng),性能也會(huì)下降。
圖4 不同算法下全雙工D2D通信鏈路能效隨距離的變化曲線
圖5所示為4種不同算法下全雙工D2D通信鏈路能效隨QoS變化的曲線。由圖可知,當(dāng)全雙工D2D鏈路QoS要求變大時(shí),全雙工D2D通信鏈路能效略有下降,這是因?yàn)?,全雙工D2D鏈路需要較高的SINR和較小的傳輸功率,并且隨著QoS要求的增加,全雙工D2D用戶需要增加其發(fā)射功率以滿足最低的QoS。因此,對(duì)于低QoS要求,全雙工D2D通信鏈路能效幾乎保持不變。然而,對(duì)于高QoS要求,全雙工D2D通信鏈路能效降低,這是因?yàn)槿p工D2D用戶的發(fā)射功率受限于最大值。
圖5 不同算法下全雙工D2D通信鏈路能效隨QoS變化的曲線
圖6所示為4種不同算法下全雙工D2D通信鏈路能效隨最大發(fā)射功率變化的曲線。由圖可知,隨著發(fā)射功率的增大,全雙工D2D通信鏈路能效也略微增大。這是因?yàn)槿p工D2D鏈路距離較短,信道鏈路的增益較高,因此,全雙工D2D用戶在功率分配階段降低了傳輸功率,以防止同信道干擾,對(duì)全雙工D2D通信鏈路的能效影響不是很大。但隨著發(fā)射功率的增加,增大到接近發(fā)射功率的閾值時(shí),系統(tǒng)內(nèi)干擾也會(huì)隨之增大,影響全雙工D2D通信鏈路能效,使之降低。但本文所提自適應(yīng)TS算法相比其他3種算法有一定的優(yōu)越性。
圖6 不同算法下全雙工D2D通信鏈路能效隨最大發(fā)射功率變化的曲線
圖7所示為不同自干擾消除值下本文所提算法在半雙工和全雙工模式下D2D通信鏈路的能效對(duì)比曲線。由圖可知,無論是否在本文鏈路資源分配算法的基礎(chǔ)上加入功率控制,半雙工模式下的D2D通信鏈路的能效趨于常數(shù),這是因?yàn)?,自干擾消除值的大小與半雙工模式下的D2D通信鏈路的能效無關(guān)。相對(duì)于無功率控制的半雙工D2D通信鏈路的能效,對(duì)D2D用戶進(jìn)行功率控制可以增加D2D通信鏈路的能效。且當(dāng)η≤91 dB時(shí),半雙工模式下的本文所提算法D2D通信鏈路的能效反而更高,這是由于全雙工D2D通信之間的干擾相比半雙工干擾更大,而D2D通信鏈路的能效與用戶之間的干擾成反相關(guān),因此,全雙工模式下本文所提算法D2D通信鏈路的能效更低。但是當(dāng)η≥91 dB時(shí),甚至η=100 dB時(shí),全雙工模式下本文所提算法的D2D通信鏈路的能效要明顯高于半雙工模式。
圖7 不同自干擾消除值下的通信鏈路能效對(duì)比曲線
針對(duì)全雙工D2D通信鏈路場(chǎng)景,研究了在最低要求的全雙工D2D用戶QoS保證和功率閾值的條件下,通過給全雙工D2D用戶分配蜂窩用戶鏈路資源最大化全雙工D2D通信鏈路的能效問題,該問題是一個(gè)復(fù)雜的混合組合非凸優(yōu)化問題。為了使問題易于處理,本文將原問題分解為兩個(gè)子問題,即功率控制和資源分配問題。在第1個(gè)子問題中分析了如何求取最優(yōu)發(fā)射功率解,以解決全雙工D2D通信用戶的最優(yōu)發(fā)射功率;在第2個(gè)子問題中通過應(yīng)用時(shí)間復(fù)雜度降低的自適應(yīng)TS算法來解決鏈路資源分配問題。將提出的算法與其他3種算法進(jìn)行了比較,仿真結(jié)果表明,所提算法優(yōu)于其他對(duì)比算法,因其集中于通過在每次迭代中對(duì)一個(gè)解進(jìn)行局部搜索和通過執(zhí)行防止陷入局部最小值的擾動(dòng)機(jī)制來尋找最終解決方案。