張繼榮,孟繁克,王晟寰
(1.西安郵電大學(xué) 繼續(xù)教育學(xué)院,陜西 西安 710061; 2.西安郵電大學(xué) 通信與信息工程學(xué)院,陜西 西安 710121;3.北京市第三十五中學(xué),北京 100035)
隨著智能終端的普及和無線數(shù)據(jù)業(yè)務(wù)的快速增長,對第5代移動無線網(wǎng)絡(luò)(5th Generation Mobile Wireless Network,5G)能否滿足大量用戶各類通信需求提出了巨大挑戰(zhàn)[1]。終端直通通信(Device-to-Device,D2D)作為5G的關(guān)鍵技術(shù)之一,具有擴(kuò)大信號的覆蓋范圍,降低傳輸時延等優(yōu)勢,從而可以使邊緣用戶的性能得到提高。D2D用戶間的距離較近,可以節(jié)約電池的電量[2]。D2D用戶復(fù)用蜂窩用戶的頻譜資源有正交和非正交兩種模式,當(dāng)采用正交模式時,D2D用戶與蜂窩用戶之間不存在同頻干擾,但是,正交模式的頻譜利用率較低。當(dāng)采用非正交模式時,雖然可以有效提高頻譜效率,降低蜂窩網(wǎng)絡(luò)的負(fù)載。然而,非正交模式也為D2D用戶和蜂窩用戶之間帶來了同頻干擾問題[3-5]。功率分配是減少無線網(wǎng)絡(luò)中干擾的有效方法[6],合理的功率分配算法可以有效提高網(wǎng)絡(luò)的性能。
在相關(guān)的研究中,文獻(xiàn)[7]提出了固定的功率分配策略,與無功率控制方法相比,該策略能夠有效提升用戶總體吞吐量,但是沒有考慮到邊緣用戶的發(fā)送功率。文獻(xiàn)[8]提出一種基于D2D用戶群組劃分,同時考慮D2D用戶和蜂窩用戶相互干擾的功率控制方法。雖然該方法能有效提高吞吐量,但是該方法只是保證了蜂窩用戶的通信質(zhì)量,沒有保證D2D用戶的通信質(zhì)量。文獻(xiàn)[9]采用速率最大化,從而得到最優(yōu)功率分配,但是其僅僅保證了蜂窩用戶的通信質(zhì)量(Quality of Service,QoS),沒有考慮到D2D用戶的QoS。
針對D2D用戶和蜂窩用戶間存在同頻干擾的問題,擬提出一種以最大化蜂窩用戶和D2D用戶的整體吞吐量為目標(biāo)的改進(jìn)粒子群(Particle Swarm Optimization,PSO)功率分配算法。將粒子的位置坐標(biāo)值類比為用戶的發(fā)送功率,通過迭代尋優(yōu),最終為粒子分配最優(yōu)的發(fā)送功率。通過為每個用戶分配最佳的發(fā)送功率,以減小D2D用戶和蜂窩用戶之間的同頻干擾。
假設(shè)基站具有所有鏈路的完美信道狀態(tài)信息,所研究的是D2D用戶復(fù)用蜂窩用戶的上行鏈路頻譜資源,相對于下行鏈路頻譜資源,其資源利用率較低,同時基站處理干擾的能力較強(qiáng),可以很好地處理D2D用戶對蜂窩用戶的干擾[10-13]。假設(shè)在已經(jīng)確定好每一個D2D用戶對的發(fā)送端和接收端在小區(qū)中的位置分布的前提下,一個D2D對只能復(fù)用一個蜂窩用戶(Cellular User,CUE)的上行信道,一個CUE的上行信道可以被多個D2D對復(fù)用。在模型中,基站(Base Station,BS)位于小區(qū)的中心,{D2D1,D2D2,D2D3,D2D4……D2Di……D2Dn}表示小區(qū)中的D2D用戶對,{CUE1,CUE2,CUE3,CUE4……CUEj,……CUEm}表示小區(qū)中的蜂窩用戶,其中m,n分別是蜂窩用戶和D2D用戶對的個數(shù),0≤i≤n,0
圖1 單小區(qū)通信模型
當(dāng)D2D對復(fù)用蜂窩上行鏈路資源時,D2D發(fā)送端發(fā)送的信號將對基站產(chǎn)生干擾,所以第j個蜂窩用戶在基站端的信干噪比(Signal to Interference Plus Noise,SINR)可以表示為
(1)
式中:PC,j表示第j的蜂窩用戶的發(fā)送功率;Gj表示第j的蜂窩用戶到基站間的增益;ρji表示復(fù)用因子,當(dāng)ρji=1時,表示D2D用戶復(fù)用蜂窩用戶的資源,當(dāng)ρji=0時,表示不存在復(fù)用關(guān)系;PD,i表示第i個D2D對的發(fā)送功率;Yi表示第i個D2D對到基站間的增益;σ2表示加性高斯白噪聲的功率。
第i個D2D對的接收端的信干噪比可以表示為
(2)
式中:Gi表示D2D對之間的鏈路增益;Gji表示第j個蜂窩用戶與第i個D2D對之間的鏈路增益。
根據(jù)香農(nóng)公式可以計算蜂窩用戶的吞吐量為
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]表達(dá)式為
(6)
(7)
其中:dDD為D2D對之間的距離;dDB為D2D發(fā)送端與基站的距離;dCB為蜂窩用戶到基站間的距離。
蜂窩用戶和D2D用戶總的吞吐量為
(8)
以吞吐量最大為目標(biāo)建立優(yōu)化模型,優(yōu)化模型的目標(biāo)函數(shù)為
(9)
為了求解式(9)的優(yōu)化模型,將從功率分配的角度進(jìn)行優(yōu)化,將粒子群算法中粒子的位置類比為D2D用戶和的蜂窩用戶的發(fā)送功率,通過粒子群算法的迭代尋優(yōu),找出粒子的全局最優(yōu)位置,即D2D用戶和蜂窩用戶的發(fā)送功率。假設(shè)在一個(m+n)維的目標(biāo)搜索空間中,有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個粒子迄今為止搜索到的最優(yōu)位置,也就是個體極值,表示為
Pb=(Pu1,Pu2,…,Pu(m+n))
整個粒子群迄今為止搜索到的最優(yōu)位置,也就是全局極值,表示為
P′g=(P′u1,P′u1,…,P′u(m+n))
每次迭代粒子都會更新自己的速度和位置,其表達(dá)式分別為
(10)
xu(m+n)(t+1)=xu(m+n)(t)+Vu(m+n)(t+1)
(11)
其中:c1和c2為學(xué)習(xí)因子,也稱為加速常數(shù);r1,r2為[0,1]范圍內(nèi)的均勻隨機(jī)數(shù);t為當(dāng)前的迭代次數(shù);w(t)為第t次迭代時的慣性權(quán)重;Pb(t)和P′g(t)分別表示第t次迭代時的個體極值和全局極值。
1)線性遞減慣性權(quán)重,其表達(dá)式[15]為
(12)
式中:wmax值為0.9;wmin值為0.2;t為當(dāng)前迭代次數(shù);Nmax為最大迭代次數(shù)。算法在初期具有較強(qiáng)的搜索能力,并且在后期能夠得到相對精確的結(jié)果。但是,其只有在全局最優(yōu)點(diǎn)附近時才有效,如果在算法的初始階段找不到全局最優(yōu)點(diǎn),隨著慣性權(quán)重的遞減,局部搜索能力會逐漸增強(qiáng),那么算法會跳過全局最優(yōu)點(diǎn),逐漸陷入局部最優(yōu)。
2)線性微分遞減慣性權(quán)重,其表達(dá)式[16]為
(13)
式中:ws為迭代初始是的慣性權(quán)重值,大小為0.2;we為迭代結(jié)束時的慣性權(quán)重值,大小為0.9。該算法在迭代初期,慣性權(quán)重的下降趨勢緩慢,全局搜索能力強(qiáng),有利于找到很好的粒子,在算法進(jìn)化后期,慣性權(quán)重的減小趨勢加快,一旦在前期找到全局最優(yōu)值,可以使得算法收斂速度加快。但是,較小的慣性權(quán)重值會導(dǎo)致粒子可能陷入局部極值。
3)所提基于遞減指數(shù)函數(shù)的慣性權(quán)重表達(dá)式為
(14)
遞減指數(shù)函數(shù)的慣性權(quán)重在前期有較大的慣性權(quán)重值,有助于粒子在較大優(yōu)化空間尋找最優(yōu)解,全局搜索能力強(qiáng),有助于粒子跳出局部極值,在進(jìn)化的后期,保持較小的慣性權(quán)重,有利于局部搜索,加速算法的收斂。
為了對比3種算法的迭代性能,選用兩個基準(zhǔn)測試函數(shù)Griewank函數(shù)和Rastrigin函數(shù)對3種慣性權(quán)重進(jìn)行測試,測試種群大小為40,其他測試參數(shù)與下文一致。
1)Griewank函數(shù)
(15)
-100≤xu≤100
式中:xu為第u個粒子的位置;f(x)為第u個粒子函數(shù)值;Nmax為粒子最大迭代次數(shù)。Griewank函數(shù)具有大量局部極值點(diǎn)的不可分離的多峰函數(shù),有一個全局極小點(diǎn)x*=(0,0,…,0),函數(shù)的最優(yōu)值為f(x*)=(0,0,…,0)。10維和40維的測試結(jié)果分別如圖2和圖3所示。
圖2 10維測試結(jié)果
圖3 40維測試結(jié)果
由圖2可以看出,所提算法在第80次收斂,所需要的時間為1 s,線性微分遞減函數(shù)在第190次時達(dá)到收斂,所需時間為2 s,線性遞減則需更多。從圖3中可以看出,所提的策略在120次的迭代次數(shù)下結(jié)果就達(dá)到了最優(yōu),所需要的時間為1.5 s,在實(shí)際的應(yīng)用中節(jié)省了時間。
2)Rastrigin函數(shù)
(16)
-10≤xu≤10
參數(shù)含義與式(15)一樣,Rastrigin函數(shù)也是有大量局部最優(yōu)點(diǎn)的多峰函數(shù),其有一個全局最優(yōu)點(diǎn)x*=(0,0,…,0),函數(shù)的最優(yōu)值為f(x*)=0。10維和40維的測試結(jié)果分別如圖4和圖5所示。
圖4 10維測試結(jié)果
圖5 40維測試結(jié)果
通過圖4可以看出,在10維時所提基于遞減指數(shù)的慣性權(quán)重在第100次迭代時就收斂,所需時間為1 s,而其他兩種慣性權(quán)重收斂時的迭代次數(shù)均大于所提算法,所提慣性權(quán)重的整體尋優(yōu)能力和尋優(yōu)結(jié)果均好于線性微分遞減的慣性權(quán)重和線性遞減的慣性權(quán)重。圖5中可以看到在40維時,所提的慣性權(quán)重在190次就迭代到最優(yōu),所需時間為1.7 s,收斂速度明顯優(yōu)于其他兩種慣性權(quán)重。
步驟1初始化兩個大小為N×(n+m)的矩陣,N為粒子數(shù),(n+m)為蜂窩用戶和D2D用戶數(shù)之和,初始化最大的迭代次數(shù)Nmax。
步驟2讓t從1開始迭代,將用戶的發(fā)送功率類比為粒子的位置,并隨機(jī)分布粒子的位置為
速度為
步驟3根據(jù)式(9)計算每個粒子的適應(yīng)度值。
步驟5迭代次數(shù)t=t+1。
步驟6通過式(10)更新粒子的速度。
步驟7通過式(11)更新粒子的位置。
步驟8計算新的適應(yīng)度的值。
仿真場景為單小區(qū)蜂窩上行通信鏈路,蜂窩用戶和D2D用戶之間的資源復(fù)用關(guān)系為D2D用戶復(fù)用蜂窩用戶的頻譜資源。D2D用戶最大間距選取50 m,過大的間距將影響D2D用戶的通信性能,每個D2D復(fù)用的CUE資源帶寬為15 kHz。在進(jìn)行粒子群算法參數(shù)的選取方面,文獻(xiàn)[16-19]通過實(shí)驗(yàn)或者進(jìn)行了理論分析,推薦了一組固定參數(shù)值。仿真參數(shù)設(shè)置如表1所示。
表1 仿真的主要參數(shù)
續(xù)表1 仿真的主要參數(shù)
分別對比改進(jìn)PSO算法與固定功率分配算法和隨機(jī)功率分配算法的性能仿真結(jié)果如圖6所示。
圖6 總吞吐量與D2D對之間的距離關(guān)系
從圖6可以看出,系統(tǒng)總吞吐量與D2D對之間的距離關(guān)系,總吞吐量隨著D2D對之間距離的增大而減小,相比于隨機(jī)功率分配和固定功率功率分配算法,所提算法的總吞吐量在D2D用戶間的距離從5~45 m始終高于其他兩種算法,表明所提算法具有更好的性能,隨機(jī)功率分配算法和固定功率分配算法的吞吐量相差不是很大,在25~45 m之間,隨機(jī)功率分配算法的隨機(jī)性導(dǎo)致固定功率分配算法的吞吐量高于隨機(jī)算法。隨著D2D用戶間距離的增大,其路徑損耗也在隨著增大,用戶所受到的干擾也增大,導(dǎo)致吞吐量呈遞減的趨勢。
圖7 總吞吐量與D2D用戶數(shù)的關(guān)系
圖7表示系統(tǒng)總吞吐量與D2D用戶數(shù)的關(guān)系。從圖7可以看出,3種算法的吞吐量均隨著用戶數(shù)的增加而遞增。隨著D2D用戶數(shù)的增加,蜂窩用戶上行鏈路資源利用率增大,雖然在引入D2D用戶后會產(chǎn)生相應(yīng)的干擾,但整體系統(tǒng)的性能得到了有效的提高。雖然3種算法的吞吐量均隨著用戶數(shù)的增加而增大,但是所提的基于粒子群算法相對其他兩種算法的性能提升更加明顯,當(dāng)D2D用戶數(shù)從第2對開始一直到第10對,其吞吐量明顯高于其他兩種算法。因此,所提算法能夠更加有效的提升系統(tǒng)性能。
圖8是不同算法吞吐量與迭代次數(shù)的關(guān)系。
圖8 不同算法吞吐量與迭代次數(shù)的關(guān)系
由圖8可以看出,圖8(a)和圖8(b)分別是原始PSO算法與文獻(xiàn)[11]所提算法吞吐量與迭代次數(shù)的關(guān)系圖,從圖8(a)中可以看出,原始PSO算法在第41次迭代時吞吐量達(dá)到最優(yōu),圖8(b)中算法在第20次迭代時吞吐量達(dá)到最優(yōu)。圖8(c)是改進(jìn)的PSO算法,改進(jìn)算法在第5次迭代時吞吐量就達(dá)到了最優(yōu)。因此,所提算法收斂性優(yōu)于原始算法和文獻(xiàn)[11]中算法的收斂性。
針對D2D共享蜂窩資源所帶來的用戶之間的干擾問題,提出基于遞減指數(shù)函數(shù)慣性權(quán)重的改進(jìn)粒子群算法,改進(jìn)的粒子群算法能夠有效解決原始粒子群算法迭代速度慢、尋優(yōu)能力差等問題。改進(jìn)的粒子群算法通過多次迭代,給蜂窩用戶和D2D用戶分配最優(yōu)的發(fā)送功率。仿真結(jié)果表明,改進(jìn)的算法在降低干擾的同時,能夠有效地提升系統(tǒng)的整體吞吐量性能。另外,改進(jìn)后的算法迭代速度明顯優(yōu)于原始粒子群算法和文獻(xiàn)[11]中的算法,并且保證了D2D用戶和蜂窩用戶的通信質(zhì)量。目前的研究僅僅考慮了單小區(qū)場景,在實(shí)際情況下,相鄰小區(qū)之間也存在相互間的干擾,改進(jìn)的算法可以考慮應(yīng)用到多小區(qū)場景下,集中在D2D用戶與蜂窩用戶之間的功率分配問題。