董瑤瑤,王亞飛,姚媛媛,云 翔,侯俊巍
(1.北京信息科技大學(xué) 信息與通信工程學(xué)院,北京100101;2.北京佰才邦技術(shù)有限公司,北京100101;3.中國船舶工業(yè)系統(tǒng)工程研究院,北京100101)
無人機(jī)(Unmanned Aerial Vehicle,UAV)作為高空通信平臺(tái),具有靈活的移動(dòng)性以及良好的視距鏈路,并且不受復(fù)雜地況的影響[1],因此近年來受到了學(xué)術(shù)界的廣泛關(guān)注。在應(yīng)急通信場景中,當(dāng)?shù)孛娴幕颈黄茐?,無人機(jī)自組織網(wǎng)絡(luò)可以通過部署成空中基站為地面用戶搭建通信平臺(tái),尤其是輔助災(zāi)后區(qū)域恢復(fù)通信[2]。然而,由于無人機(jī)能耗有限,因此合理部署無人機(jī)的三維(3D)空間位置以最大化服務(wù)區(qū)域的覆蓋范圍,對于無人機(jī)應(yīng)急通信場景的研究至關(guān)重要。
由于無人機(jī)空中部署涉及到多維度變量以及復(fù)雜的空地(Air-to-Ground,ATG)路徑損耗模型,無法從數(shù)學(xué)推論中得出最佳位置[3]。因此,給定一組復(fù)雜空間部署的節(jié)點(diǎn),找到這些節(jié)點(diǎn)的最佳位置以實(shí)現(xiàn)覆蓋率最大化范圍通常是一個(gè)NP-hard問題[4],為求得此類問題的最優(yōu)解,利用群體智能算法往往能夠起到較好的優(yōu)化效果[5-6]。然而,群智能體算法普遍存在易陷入局部最優(yōu)的問題,許多研究人員也對此進(jìn)行了改進(jìn)[7-8]。
Xue等人[9]于2020年提出的麻雀搜索算法(Sparrow Search Algorithm,SSA)具有尋優(yōu)能力強(qiáng)、收斂速度快等特點(diǎn)。為提高算法的全局搜索能力,針對以往算法的不足,本文提出了改進(jìn)的SSA算法,分別為LGSSA(Logistic Gaussian Sparrow Search Algorithm)和LCSSA(Logistic Cauchy Sparrow Search Algorithm),利用Logistic混沌序列產(chǎn)生初始種群,以豐富種群的多樣性,提高算法的全局搜索能力;在LGSSA和LCSSA中分別引入高斯變異和柯西變異因子,以改善局部最優(yōu)解。將改進(jìn)后的算法用于多無人機(jī)覆蓋場景,通過優(yōu)化無人機(jī)空中三維部署,從而提升網(wǎng)絡(luò)的覆蓋率,降低區(qū)域冗余覆蓋。區(qū)域冗余覆蓋減少意味著無需多個(gè)無人機(jī)對相同的區(qū)域進(jìn)行多次重復(fù)覆蓋,無人機(jī)的額外能耗也能夠大大降低。
如圖1所示,當(dāng)?shù)孛姘l(fā)生自然災(zāi)害,基站無法正常工作時(shí),無人機(jī)群通過快速搭建空中通信平臺(tái),能夠及時(shí)地為災(zāi)區(qū)用戶提供通信需求。圖1(a)所示的傳統(tǒng)的無人機(jī)隨機(jī)部署方式會(huì)導(dǎo)致區(qū)域覆蓋冗余,區(qū)域冗余覆蓋增加了無人機(jī)的額外能耗,導(dǎo)致無人機(jī)網(wǎng)絡(luò)生命周期被縮短。同時(shí),用戶接收端會(huì)產(chǎn)生來自多無人機(jī)發(fā)射信號(hào)的干擾。圖1(b)所示通過所提算法合理部署無人機(jī)的位置,不僅能夠提高區(qū)域覆蓋率,減少冗余覆蓋,降低無人機(jī)的額外能耗,而且能夠大大降低用戶端的干擾。以下考慮均為下行鏈路通信,同時(shí)假設(shè)由于無人機(jī)的機(jī)動(dòng)性引起的多普勒效應(yīng)在用戶處能夠得到很好的補(bǔ)償[10],因此ATG信道采用自由空間路徑損耗模型。
(a)隨機(jī)部署模型
無人機(jī)網(wǎng)絡(luò)覆蓋模型有兩種,布爾感知和概率感知。布爾感知模型是一種理想化的模型,對實(shí)際感知概率只能進(jìn)行粗略近似,而概率感知能夠更加準(zhǔn)確地分析覆蓋質(zhì)量。為了研究更加貼近實(shí)際場景下的通信傳輸,設(shè)計(jì)了一種基于信干噪比(Signal-to-Interference plus Noise Ratio,SINR)檢測的概率感知模型。距離地面H處的無人機(jī)以恒定功率Pu輔助用戶通信,Γ={Nx,Ny,H}表示無人機(jī)的三維坐標(biāo),q={υx,υy}表示地面用戶的坐標(biāo)。假設(shè)每個(gè)無人機(jī)都配有定向天線,表示如下:
(1)
式中:常數(shù)G0=29 000,κ=180/π,ω表示無人機(jī)定向天線半波束寬度,θ為無人機(jī)俯仰角度。因此用戶端接收的信干噪比為
(2)
(3)
(4)
(5)
PNLoS=1-PLoS。
(6)
式中:θ0表示從無人機(jī)接收信號(hào)的最小仰角,α和γ是與環(huán)境有關(guān)的常量[11]。則平均路徑損耗可以寫成以下形式:
L=LLoSPLoS+LNLoSPNLoS。
(7)
將公式(3)~(6)代入公式(7),最終得到
(8)
式中:
(9)
(10)
(11)
將公式(8)和式(9)~(11)代入公式(2),可以得出用戶端的信干噪比。
假設(shè)在500 m×500 m的服務(wù)區(qū)域上放置E個(gè)無人機(jī),e={1,2,3,…,E}。為了衡量無人機(jī)網(wǎng)絡(luò)對服務(wù)區(qū)域的覆蓋率,現(xiàn)將區(qū)域量化為K×K個(gè)大小相同的網(wǎng)格。地面用戶位于網(wǎng)格的幾何中心位置,用戶的集合為u={u1,u2,u3,…,uζ,…,uK×K}。UAVe成功監(jiān)測到用戶uζ的概率記為pc(e,ζ)。
(12)
式中:φth表示用戶成功接收無人機(jī)信號(hào)的最低SINR閾值。令V代表監(jiān)測區(qū)域內(nèi)的所有無人機(jī)數(shù)目,V對目標(biāo)用戶uζ的聯(lián)合感知概率為
(13)
覆蓋率表示如下:
(14)
目標(biāo)優(yōu)化函數(shù)為
F=argmin(1-Zcov)。
(15)
當(dāng)多無人機(jī)以隨機(jī)部署的方式實(shí)現(xiàn)對地覆蓋,區(qū)域的冗余覆蓋會(huì)導(dǎo)致無人機(jī)額外能量損耗。為衡量改進(jìn)SSA算法對于降低系統(tǒng)能耗的影響。定義了多無人機(jī)網(wǎng)絡(luò)額外能耗降低百分比函數(shù),表示如下:
J=QISSA(Zcov)·E(Pu+Pfly+Pcom) 。
(16)
式中:QISSA(Zcov)表示改進(jìn)SSA算法下的覆蓋率提升百分比;E(Pu+Pfly+Pcom)表示無人機(jī)覆蓋區(qū)域中單位面積內(nèi)的能耗,Pfly是無人機(jī)的飛行能耗,Pcom時(shí)無人機(jī)的通信能耗。
將香農(nóng)公式用于計(jì)算每個(gè)用戶的吞吐量,具體表示如下:
Tuζ=pc(e,ζ)·W·lb(1+SINR(e,ζ)) 。
(17)
則多無人機(jī)網(wǎng)絡(luò)吞吐量可以表示為
(18)
式中:pc(e,ζ)表示用戶ζ與無人機(jī)e連接的概率。仿真部分將探討改進(jìn)SSA算法在提升網(wǎng)絡(luò)吞吐量方面的性能。
SSA是根據(jù)麻雀覓食并逃避捕食者的行為提出來的一種新型智能優(yōu)化算法。麻雀覓食原理可以簡化為發(fā)現(xiàn)者-跟隨者。發(fā)現(xiàn)者作為群體中適應(yīng)度高的個(gè)體負(fù)責(zé)為整個(gè)種群尋找食物來源,同時(shí)帶領(lǐng)適應(yīng)度較低的跟隨者。跟隨者會(huì)根據(jù)自身的饑餓狀態(tài)決定是否前往別處尋找食物,否則將在當(dāng)前最優(yōu)位置附近進(jìn)行覓食。預(yù)警麻雀占種群的10%~20%,這一部分的麻雀當(dāng)遇到危險(xiǎn)時(shí),處于種群外圍的麻雀向安全區(qū)域靠攏,處在種群中心的麻雀則隨機(jī)行走以靠近別的麻雀。
發(fā)現(xiàn)者位置更新方式如下[9]:
(19)
式中:i={1,2,3,…,NS},NS代表種群大??;j={1,2,3,…,D},D代表問題的維度;Xi,j代表第i個(gè)麻雀在第j維中的位置信息;R2和ST分別是預(yù)警值和安全值;μ是(0,1]之間的隨機(jī)數(shù);M是迭代次數(shù);δ是服從正態(tài)分布的隨機(jī)數(shù);Ξ是1×D大小的全1矩陣。
跟隨者的位置更新方式如下:
(20)
預(yù)警者位置更新如下:
(21)
為增強(qiáng)算法的全局搜索能力,首先在SSA中引入Logistic混沌序列設(shè)置種群的初始解,同時(shí)在算法后期加入隨機(jī)算子為避免個(gè)體陷入局部最優(yōu)。
原始SSA中隨機(jī)產(chǎn)生初始種群,為了提高SSA中種群探索空間的能力,引入Logistic映射。該方法直接采用Logistic混沌變量進(jìn)行搜索,使得算法在一定的范圍內(nèi)具有遍歷性,更容易跳出局部最優(yōu)。Logistic映射的數(shù)學(xué)表達(dá)公式如下:
Cm+1=Ω·Cm·(1-Cm)。
(22)
式中:m是迭代次數(shù),Ω是(0,4]上的控制參數(shù)。當(dāng)Ω的取值范圍在[3.569 945 6,4]時(shí),系統(tǒng)處于混沌狀態(tài);特別是當(dāng)Ω接近4時(shí),迭代生成的Cm值處于一種偽隨機(jī)分布的狀態(tài),由平均分布在0和1之間的隨機(jī)小數(shù)組成。
本文在LGSSA迭代后期引入高斯變異,其變異表達(dá)式為
Xnewbest=Xbest(1+Gaussian(0,1))。
(23)
式中:Xbest代表當(dāng)前個(gè)體的最優(yōu)位置,Gaussian(0,1)是服從正態(tài)分布的隨機(jī)數(shù)。根據(jù)正態(tài)分布特性可知,高斯變異會(huì)在當(dāng)前潛在最優(yōu)麻雀個(gè)體附近進(jìn)行局部搜索,并在潛在最優(yōu)解的附近產(chǎn)生隨機(jī)擾動(dòng),可以引導(dǎo)陷入局部的個(gè)體跳出原來的最優(yōu)解。
LCSSA與LGSSA不同的是在迭代后期引入柯西變異方法。相比高斯變異,柯西變異會(huì)產(chǎn)生較大的變異步長,能有效地保持種群多樣性,同樣也會(huì)使得算法具有較好的全局搜索能力。一維柯西密度函數(shù)表達(dá)式如下:
(24)
式中:t>0??挛鞣植己瘮?shù)如下:
(25)
與正態(tài)分布相比,柯西分布的變異范圍更加均勻,有利于算法跳出局部最優(yōu)?,F(xiàn)對最優(yōu)麻雀個(gè)體的位置構(gòu)建柯西變異表達(dá)式[12]:
XCbest=Xbest(1+tan(π(r-0.5)))。
(26)
式中:Xbest表示當(dāng)前個(gè)體的最優(yōu)位置,XCbest是經(jīng)過柯西變異后麻雀的最優(yōu)位置,r是(0,1)上的隨機(jī)數(shù)。
2.4.1 初始化種群
本文通過優(yōu)化E個(gè)無人機(jī)的橫縱坐標(biāo)使得監(jiān)測區(qū)域的覆蓋率最大,目標(biāo)函數(shù)中的優(yōu)化自變量為2E維。首先產(chǎn)生Logistic混沌序列用來替代隨機(jī)初始麻雀種群,保存初始值以及與初始值對應(yīng)的最佳個(gè)體位置,將個(gè)體位置代入適應(yīng)度函數(shù),即本文所要優(yōu)化的覆蓋率函數(shù),對應(yīng)公式(15)。
2.4.2 麻雀位置的更新
產(chǎn)生一個(gè)隨機(jī)數(shù)作為預(yù)警值,將預(yù)警值與安全值進(jìn)行比較:當(dāng)預(yù)警值較小,說明此時(shí)沒有捕食者出現(xiàn),計(jì)算新的適應(yīng)度值,并記錄麻雀的位置信息;當(dāng)預(yù)警值較大,此時(shí)出現(xiàn)捕食者,麻雀需要選取安全的區(qū)域進(jìn)行覓食。根據(jù)公式(19)進(jìn)行位置更新,同時(shí)記錄適應(yīng)度值最小的麻雀位置。適應(yīng)度函數(shù)為文中優(yōu)化目標(biāo)函數(shù)。
接下來是跟隨者的位置更新。當(dāng)麻雀處于饑餓狀態(tài),即適應(yīng)度值很低,需要飛往其他區(qū)域補(bǔ)充食物;否則,麻雀將會(huì)圍繞在最好的發(fā)現(xiàn)者周圍進(jìn)行覓食,期間也有可能發(fā)生食物的爭奪,使其自己變成發(fā)現(xiàn)者。根據(jù)公式(20)進(jìn)行跟隨者的位置更新,計(jì)算適應(yīng)度值并記錄麻雀的位置。
最后是預(yù)警者的位置更新。種群中隨機(jī)產(chǎn)生預(yù)警者的位置。處于種群外圍的麻雀向安全區(qū)域靠攏,處在種群中心的麻雀則隨機(jī)行走以靠近別的麻雀。根據(jù)公式(21)進(jìn)行預(yù)警者的位置更新。
2.4.3 隨機(jī)算子
LGSSA在迭代操作中引入高斯變異,LCSSA中引入柯西變異。在個(gè)體進(jìn)化停滯時(shí),均能夠使得個(gè)體向非劣解進(jìn)化,可以有效提升個(gè)體逃離局部最優(yōu)點(diǎn)的能力。
2.4.4 求最優(yōu)解
每次迭代結(jié)束且麻雀的位置更新完畢后,計(jì)算當(dāng)前麻雀個(gè)體的適應(yīng)度值fi和種群的平均適應(yīng)度值fa。當(dāng)fa>fi,利用隨機(jī)算子對陷入局部最優(yōu)的個(gè)體進(jìn)行擾動(dòng)。LGSSA中采用高斯變異,LCSSA中采用柯西變異,并判斷產(chǎn)生解的優(yōu)化程度,若優(yōu)于之前的個(gè)體,則進(jìn)行替換。重復(fù)執(zhí)行麻雀尋優(yōu)過程,最后,滿足迭代條件時(shí)輸出適應(yīng)度值最高的麻雀個(gè)體。
所提算法能夠優(yōu)化無人機(jī)的3D部署,提高網(wǎng)絡(luò)覆蓋率,降低無人機(jī)能耗,增加系統(tǒng)吞吐量。
2.4.5 算法偽代碼實(shí)現(xiàn)
輸入:初始化麻雀種群數(shù)量pop,發(fā)現(xiàn)者數(shù)量PO1,最大迭代次數(shù)M,預(yù)警者數(shù)量PO2
輸出:無人機(jī)網(wǎng)絡(luò)覆蓋率
輸出:無人機(jī)網(wǎng)絡(luò)能耗降低百分比
輸出:無人機(jī)網(wǎng)絡(luò)吞吐量
1 While(m 2 fori=1:pop //Logistic混沌產(chǎn)生初始麻雀種群 Cm=rand(1); Cm+1=Ω×Cm×(1-Cm); x(i,:)=lb+(ub-lb)*Cm+1; fit(i)=F(x(i,:)); //計(jì)算適應(yīng)度值 end 3 對應(yīng)適度進(jìn)行排序,找出當(dāng)前最佳個(gè)體和當(dāng)前最差個(gè)體; 4 R2=rand(1); 5 fori=1:PO1 6 發(fā)現(xiàn)者位置通過公式(19)進(jìn)行更新; 7 end for 8 fori=PO1+1:pop 9 隨者位置通過公式(20)進(jìn)行跟更新; 10 end for 11 fori=1:PO2 12 預(yù)警者位置通過公式(21)進(jìn)行更新; 13 end for 14 iffa>fi 15X=xbest+xbest×Gauss_rand;//公式(23)進(jìn)行高斯變異擾動(dòng) X=xbest×(1+tan(π×(rand(1)-0.5)));//公式(26)進(jìn)行柯西變異擾動(dòng) 16 ifF(X) 17xbest=X 18 fit(xbest)=F(X); 19 end 20m=m+1; 21 end while. 流程圖2是根據(jù)2.4.1~2.4.4節(jié)步驟實(shí)現(xiàn)的。 圖2 算法流程圖 為了驗(yàn)證改進(jìn)麻雀搜索算法對無人機(jī)覆蓋的優(yōu)化效果,使用Matlab2018對其進(jìn)行仿真,仿真時(shí)采用的操作系統(tǒng)為Windows 10。無人機(jī)通信的各個(gè)參數(shù)在表1中給出。 表1 無人機(jī)通信參數(shù)設(shè)置 表1(續(xù)) 圖3給出了無人機(jī)發(fā)射功率為20 dBm時(shí)的覆蓋結(jié)果,可見改進(jìn)后的LGSSA、LCSSA比SSA、IABC、PSO算法能夠有效提升網(wǎng)絡(luò)覆蓋率;LCSSA優(yōu)化過的覆蓋率最高,LGSSA算法次之。相比于高斯變異,柯西變異能夠產(chǎn)生較大的變異步長,提高算法的全局搜索能力。迭代一定次數(shù)后,LCSSA的優(yōu)化效果大于LGSSA算法,且算法效果穩(wěn)定。 圖3 無人機(jī)發(fā)射功率為20 dBm時(shí)的算法結(jié)果對比 圖4給出了不同無人機(jī)發(fā)射功率下的的算法對比結(jié)果,可以看出,隨著無人機(jī)的發(fā)射功率增加,網(wǎng)絡(luò)覆蓋率也會(huì)不斷提升。增加發(fā)射功率,由公式(2)可知,用戶處的SINR增加,此時(shí)無人機(jī)網(wǎng)絡(luò)能夠覆蓋更多的用戶。從圖4中還可以看出,同一發(fā)射功率下,LCSSA優(yōu)化后的覆蓋率高于LGSSA,且算法效果穩(wěn)定。 圖4 無人機(jī)不同發(fā)射功率下的算法結(jié)果對比 圖5是不同無人機(jī)數(shù)量對LCSSA算法收斂次數(shù)的影響仿真結(jié)果,當(dāng)算法穩(wěn)定時(shí)的迭代次數(shù)分別是75次、45次、30次。當(dāng)無人機(jī)基站數(shù)目增加時(shí),覆蓋率也隨之增加,且達(dá)到穩(wěn)定覆蓋率的迭代次數(shù)減少。這是因?yàn)殡S著無人機(jī)的數(shù)量增加,初始未覆蓋區(qū)域減少,因此達(dá)到穩(wěn)定覆蓋率的迭代次數(shù)減少。 圖5 LCSSA中對不同UAV數(shù)量的分析 圖6仿真了不同高度下的無人機(jī)網(wǎng)絡(luò)覆蓋率,從圖中可以看出,同一高度下改進(jìn)的算法在優(yōu)化覆蓋率方面明顯優(yōu)于其他算法。另外,當(dāng)無人機(jī)的高度增加,由公式(7)可知,用戶與無人機(jī)之間路徑損耗會(huì)隨之增加;由公式(2)可知用戶端SINR降低,因此無人機(jī)網(wǎng)絡(luò)的覆蓋率降低。 圖6 無人機(jī)不同高度下的算法結(jié)果對比 圖7仿真了無人機(jī)在不同高度下的額外能耗降低百分比。當(dāng)無人機(jī)高度較大時(shí),算法迭代90次后,無人機(jī)額外能耗在LGSSA和LCSSA算法下可分別降低15.26%和16.58%。從圖6還可以看出無人機(jī)高度較低時(shí),LGSSA、LCSSA與SSA算法相比,在無人機(jī)網(wǎng)絡(luò)覆蓋率上相差不大。這是因?yàn)殡S著無人機(jī)高度下降,由公式(2)可知,用戶端SINR增加,無人機(jī)初始覆蓋率較大。因此無人機(jī)高度下降時(shí),額外能耗降低百分比會(huì)大大減少。 圖7 不同高度下的無人機(jī)額外能耗降低百分比 圖8仿真了不同無人機(jī)發(fā)射功率下的網(wǎng)絡(luò)吞吐量,可以看出,相比于PSO、IABC、SSA算法,改進(jìn)后的算法能夠有效提升吞吐量。這是因?yàn)橥ㄟ^優(yōu)化無人機(jī)的空中部署,在增加覆蓋率的同時(shí)可以有效降低用戶側(cè)的干擾。另外,當(dāng)無人機(jī)的發(fā)射功率增加時(shí),用戶接收來自無人機(jī)的信號(hào)大大增強(qiáng),因此系統(tǒng)吞吐量有所增加。 圖8 不同發(fā)射功率下的無人機(jī)網(wǎng)絡(luò)吞吐量 針對無人機(jī)輔助災(zāi)后區(qū)域通信的問題,本文基于SINR概率感知的無人機(jī)覆蓋優(yōu)化提出了LGSSA和LCSSA優(yōu)化算法。為解決原始麻雀搜索算法易陷入“早熟”的問題,將Logistic混沌序列和隨機(jī)算子相結(jié)合,豐富了種群的多樣性,有助于改善全局最優(yōu)解。仿真驗(yàn)證了改進(jìn)后優(yōu)化算法的可行性:相比于SSA、PSO以及IABC算法,本文所提算法有助于提升無人機(jī)網(wǎng)絡(luò)的覆蓋率,并通過減少區(qū)域冗余覆蓋,降低無人機(jī)額外能量損耗,提升系統(tǒng)吞吐量,對于無人機(jī)應(yīng)急通信的覆蓋提升研究具有一定的指導(dǎo)意義。 今后的工作將重點(diǎn)分析非定高飛行下無人機(jī)網(wǎng)絡(luò)的覆蓋率,同時(shí)將無人機(jī)能耗納入優(yōu)化變量進(jìn)行綜合研究,進(jìn)一步提高網(wǎng)絡(luò)性能。3 仿真與分析
4 結(jié)束語