張繼榮,孟繁克,王晟寰
(1.西安郵電大學 繼續教育學院,陜西 西安 710061; 2.西安郵電大學 通信與信息工程學院,陜西 西安 710121;3.北京市第三十五中學,北京 100035)
隨著智能終端的普及和無線數據業務的快速增長,對第5代移動無線網絡(5th Generation Mobile Wireless Network,5G)能否滿足大量用戶各類通信需求提出了巨大挑戰[1]。終端直通通信(Device-to-Device,D2D)作為5G的關鍵技術之一,具有擴大信號的覆蓋范圍,降低傳輸時延等優勢,從而可以使邊緣用戶的性能得到提高。D2D用戶間的距離較近,可以節約電池的電量[2]。D2D用戶復用蜂窩用戶的頻譜資源有正交和非正交兩種模式,當采用正交模式時,D2D用戶與蜂窩用戶之間不存在同頻干擾,但是,正交模式的頻譜利用率較低。當采用非正交模式時,雖然可以有效提高頻譜效率,降低蜂窩網絡的負載。然而,非正交模式也為D2D用戶和蜂窩用戶之間帶來了同頻干擾問題[3-5]。功率分配是減少無線網絡中干擾的有效方法[6],合理的功率分配算法可以有效提高網絡的性能。
在相關的研究中,文獻[7]提出了固定的功率分配策略,與無功率控制方法相比,該策略能夠有效提升用戶總體吞吐量,但是沒有考慮到邊緣用戶的發送功率。文獻[8]提出一種基于D2D用戶群組劃分,同時考慮D2D用戶和蜂窩用戶相互干擾的功率控制方法。雖然該方法能有效提高吞吐量,但是該方法只是保證了蜂窩用戶的通信質量,沒有保證D2D用戶的通信質量。文獻[9]采用速率最大化,從而得到最優功率分配,但是其僅僅保證了蜂窩用戶的通信質量(Quality of Service,QoS),沒有考慮到D2D用戶的QoS。
針對D2D用戶和蜂窩用戶間存在同頻干擾的問題,擬提出一種以最大化蜂窩用戶和D2D用戶的整體吞吐量為目標的改進粒子群(Particle Swarm Optimization,PSO)功率分配算法。將粒子的位置坐標值類比為用戶的發送功率,通過迭代尋優,最終為粒子分配最優的發送功率。通過為每個用戶分配最佳的發送功率,以減小D2D用戶和蜂窩用戶之間的同頻干擾。
假設基站具有所有鏈路的完美信道狀態信息,所研究的是D2D用戶復用蜂窩用戶的上行鏈路頻譜資源,相對于下行鏈路頻譜資源,其資源利用率較低,同時基站處理干擾的能力較強,可以很好地處理D2D用戶對蜂窩用戶的干擾[10-13]。假設在已經確定好每一個D2D用戶對的發送端和接收端在小區中的位置分布的前提下,一個D2D對只能復用一個蜂窩用戶(Cellular User,CUE)的上行信道,一個CUE的上行信道可以被多個D2D對復用。在模型中,基站(Base Station,BS)位于小區的中心,{D2D1,D2D2,D2D3,D2D4……D2Di……D2Dn}表示小區中的D2D用戶對,{CUE1,CUE2,CUE3,CUE4……CUEj,……CUEm}表示小區中的蜂窩用戶,其中m,n分別是蜂窩用戶和D2D用戶對的個數,0≤i≤n,0

圖1 單小區通信模型

當D2D對復用蜂窩上行鏈路資源時,D2D發送端發送的信號將對基站產生干擾,所以第j個蜂窩用戶在基站端的信干噪比(Signal to Interference Plus Noise,SINR)可以表示為
(1)
式中:PC,j表示第j的蜂窩用戶的發送功率;Gj表示第j的蜂窩用戶到基站間的增益;ρji表示復用因子,當ρji=1時,表示D2D用戶復用蜂窩用戶的資源,當ρji=0時,表示不存在復用關系;PD,i表示第i個D2D對的發送功率;Yi表示第i個D2D對到基站間的增益;σ2表示加性高斯白噪聲的功率。
第i個D2D對的接收端的信干噪比可以表示為
(2)
式中:Gi表示D2D對之間的鏈路增益;Gji表示第j個蜂窩用戶與第i個D2D對之間的鏈路增益。
根據香農公式可以計算蜂窩用戶的吞吐量為
RC,j=Blog2(1+RSIN,j)
(3)
其中,B為資源塊的帶寬。
D2D用戶的吞吐量表示為
RC,i=Blog2(1+RSIN,i)
(4)
用戶間的鏈路增益為
G=χL|h|2
(5)
其中:χL為用戶間的路徑損耗,|h|2為信道影響因子。
D2D用戶間和蜂窩用戶到基站間的路徑損耗[14]表達式為
(6)
(7)
其中:dDD為D2D對之間的距離;dDB為D2D發送端與基站的距離;dCB為蜂窩用戶到基站間的距離。
蜂窩用戶和D2D用戶總的吞吐量為
(8)
以吞吐量最大為目標建立優化模型,優化模型的目標函數為
(9)


為了求解式(9)的優化模型,將從功率分配的角度進行優化,將粒子群算法中粒子的位置類比為D2D用戶和的蜂窩用戶的發送功率,通過粒子群算法的迭代尋優,找出粒子的全局最優位置,即D2D用戶和蜂窩用戶的發送功率。假設在一個(m+n)維的目標搜索空間中,有N個粒子組成一個部落,那么第u個粒子的位置表示為一個(m+n)維的向量為
Xu=(xu1,xu2,…,xu(m+n))
u∈1,2,…,(m+n)
第u個粒子的“飛行”速度也是一個(m+n)維的向量,表示為
Vu=(vu1,vu2,…,vu(m+n))
第u個粒子迄今為止搜索到的最優位置,也就是個體極值,表示為
Pb=(Pu1,Pu2,…,Pu(m+n))
整個粒子群迄今為止搜索到的最優位置,也就是全局極值,表示為
P′g=(P′u1,P′u1,…,P′u(m+n))
每次迭代粒子都會更新自己的速度和位置,其表達式分別為
(10)
xu(m+n)(t+1)=xu(m+n)(t)+Vu(m+n)(t+1)
(11)
其中:c1和c2為學習因子,也稱為加速常數;r1,r2為[0,1]范圍內的均勻隨機數;t為當前的迭代次數;w(t)為第t次迭代時的慣性權重;Pb(t)和P′g(t)分別表示第t次迭代時的個體極值和全局極值。
1)線性遞減慣性權重,其表達式[15]為
(12)
式中:wmax值為0.9;wmin值為0.2;t為當前迭代次數;Nmax為最大迭代次數。算法在初期具有較強的搜索能力,并且在后期能夠得到相對精確的結果。但是,其只有在全局最優點附近時才有效,如果在算法的初始階段找不到全局最優點,隨著慣性權重的遞減,局部搜索能力會逐漸增強,那么算法會跳過全局最優點,逐漸陷入局部最優。
2)線性微分遞減慣性權重,其表達式[16]為
(13)
式中:ws為迭代初始是的慣性權重值,大小為0.2;we為迭代結束時的慣性權重值,大小為0.9。該算法在迭代初期,慣性權重的下降趨勢緩慢,全局搜索能力強,有利于找到很好的粒子,在算法進化后期,慣性權重的減小趨勢加快,一旦在前期找到全局最優值,可以使得算法收斂速度加快。但是,較小的慣性權重值會導致粒子可能陷入局部極值。
3)所提基于遞減指數函數的慣性權重表達式為
(14)
遞減指數函數的慣性權重在前期有較大的慣性權重值,有助于粒子在較大優化空間尋找最優解,全局搜索能力強,有助于粒子跳出局部極值,在進化的后期,保持較小的慣性權重,有利于局部搜索,加速算法的收斂。
為了對比3種算法的迭代性能,選用兩個基準測試函數Griewank函數和Rastrigin函數對3種慣性權重進行測試,測試種群大小為40,其他測試參數與下文一致。
1)Griewank函數
(15)
-100≤xu≤100
式中:xu為第u個粒子的位置;f(x)為第u個粒子函數值;Nmax為粒子最大迭代次數。Griewank函數具有大量局部極值點的不可分離的多峰函數,有一個全局極小點x*=(0,0,…,0),函數的最優值為f(x*)=(0,0,…,0)。10維和40維的測試結果分別如圖2和圖3所示。

圖2 10維測試結果

圖3 40維測試結果
由圖2可以看出,所提算法在第80次收斂,所需要的時間為1 s,線性微分遞減函數在第190次時達到收斂,所需時間為2 s,線性遞減則需更多。從圖3中可以看出,所提的策略在120次的迭代次數下結果就達到了最優,所需要的時間為1.5 s,在實際的應用中節省了時間。
2)Rastrigin函數
(16)
-10≤xu≤10
參數含義與式(15)一樣,Rastrigin函數也是有大量局部最優點的多峰函數,其有一個全局最優點x*=(0,0,…,0),函數的最優值為f(x*)=0。10維和40維的測試結果分別如圖4和圖5所示。

圖4 10維測試結果

圖5 40維測試結果
通過圖4可以看出,在10維時所提基于遞減指數的慣性權重在第100次迭代時就收斂,所需時間為1 s,而其他兩種慣性權重收斂時的迭代次數均大于所提算法,所提慣性權重的整體尋優能力和尋優結果均好于線性微分遞減的慣性權重和線性遞減的慣性權重。圖5中可以看到在40維時,所提的慣性權重在190次就迭代到最優,所需時間為1.7 s,收斂速度明顯優于其他兩種慣性權重。
步驟1初始化兩個大小為N×(n+m)的矩陣,N為粒子數,(n+m)為蜂窩用戶和D2D用戶數之和,初始化最大的迭代次數Nmax。
步驟2讓t從1開始迭代,將用戶的發送功率類比為粒子的位置,并隨機分布粒子的位置為

速度為
步驟3根據式(9)計算每個粒子的適應度值。

步驟5迭代次數t=t+1。
步驟6通過式(10)更新粒子的速度。
步驟7通過式(11)更新粒子的位置。
步驟8計算新的適應度的值。


仿真場景為單小區蜂窩上行通信鏈路,蜂窩用戶和D2D用戶之間的資源復用關系為D2D用戶復用蜂窩用戶的頻譜資源。D2D用戶最大間距選取50 m,過大的間距將影響D2D用戶的通信性能,每個D2D復用的CUE資源帶寬為15 kHz。在進行粒子群算法參數的選取方面,文獻[16-19]通過實驗或者進行了理論分析,推薦了一組固定參數值。仿真參數設置如表1所示。

表1 仿真的主要參數

續表1 仿真的主要參數
分別對比改進PSO算法與固定功率分配算法和隨機功率分配算法的性能仿真結果如圖6所示。

圖6 總吞吐量與D2D對之間的距離關系
從圖6可以看出,系統總吞吐量與D2D對之間的距離關系,總吞吐量隨著D2D對之間距離的增大而減小,相比于隨機功率分配和固定功率功率分配算法,所提算法的總吞吐量在D2D用戶間的距離從5~45 m始終高于其他兩種算法,表明所提算法具有更好的性能,隨機功率分配算法和固定功率分配算法的吞吐量相差不是很大,在25~45 m之間,隨機功率分配算法的隨機性導致固定功率分配算法的吞吐量高于隨機算法。隨著D2D用戶間距離的增大,其路徑損耗也在隨著增大,用戶所受到的干擾也增大,導致吞吐量呈遞減的趨勢。

圖7 總吞吐量與D2D用戶數的關系
圖7表示系統總吞吐量與D2D用戶數的關系。從圖7可以看出,3種算法的吞吐量均隨著用戶數的增加而遞增。隨著D2D用戶數的增加,蜂窩用戶上行鏈路資源利用率增大,雖然在引入D2D用戶后會產生相應的干擾,但整體系統的性能得到了有效的提高。雖然3種算法的吞吐量均隨著用戶數的增加而增大,但是所提的基于粒子群算法相對其他兩種算法的性能提升更加明顯,當D2D用戶數從第2對開始一直到第10對,其吞吐量明顯高于其他兩種算法。因此,所提算法能夠更加有效的提升系統性能。
圖8是不同算法吞吐量與迭代次數的關系。


圖8 不同算法吞吐量與迭代次數的關系
由圖8可以看出,圖8(a)和圖8(b)分別是原始PSO算法與文獻[11]所提算法吞吐量與迭代次數的關系圖,從圖8(a)中可以看出,原始PSO算法在第41次迭代時吞吐量達到最優,圖8(b)中算法在第20次迭代時吞吐量達到最優。圖8(c)是改進的PSO算法,改進算法在第5次迭代時吞吐量就達到了最優。因此,所提算法收斂性優于原始算法和文獻[11]中算法的收斂性。
針對D2D共享蜂窩資源所帶來的用戶之間的干擾問題,提出基于遞減指數函數慣性權重的改進粒子群算法,改進的粒子群算法能夠有效解決原始粒子群算法迭代速度慢、尋優能力差等問題。改進的粒子群算法通過多次迭代,給蜂窩用戶和D2D用戶分配最優的發送功率。仿真結果表明,改進的算法在降低干擾的同時,能夠有效地提升系統的整體吞吐量性能。另外,改進后的算法迭代速度明顯優于原始粒子群算法和文獻[11]中的算法,并且保證了D2D用戶和蜂窩用戶的通信質量。目前的研究僅僅考慮了單小區場景,在實際情況下,相鄰小區之間也存在相互間的干擾,改進的算法可以考慮應用到多小區場景下,集中在D2D用戶與蜂窩用戶之間的功率分配問題。