李洪娟,潘雯敬,李家輝,孫 庚*
(1.吉林大學 軟件學院,吉林 長春 130012;2.吉林大學 計算機科學與技術學院,吉林 長春 130012)
由于其高機動性、較廣的覆蓋范圍和部署的靈活性,無人機(Unmanned Aerial Vehicle,UAV)被廣泛應用于各領域[1]。近年來,基于無人機的無線通信和網絡受到愈來愈多的關注[2],例如,無人機可以部署為空中基站,為地面用戶(Ground Users,GUs)提供高效、低成本的網絡服務[3]。又如,無人機可以作為新的空中用戶,在空中接入蜂窩網絡加入通信[4]。再如,無人機也可以用于物聯網通信,在分布廣泛的無線設備之間完成數據收集、傳播等任務[5]。然而,由于無線信道的廣播特性以及無人機和地面用戶之間的視距(Line-of-Sight,LoS)信道特點,安全性和保密性問題成為無人機通信中一個具有挑戰性的問題[6-7]。
在無線通信中,上層加密是實現保密通信的常用方案,但這種方法對設備的計算能力要求較高,因此并不適用于硬件資源有限的無人機網絡。物理層安全(Physical Layer Secure,PLS)是實現安全通信的另一種有效方案,該技術利用信道特性向未經授權的接收者隱藏信息,不需要復雜的加密解密操作,因此,PLS是解決無人機安全通信的有效手段。例如,文獻[8]根據無人機具有高機動性的特點,通過聯合優化無人機的軌跡和在有限范圍內的傳輸功率,以最大化無人機通信系統的保密率。再如,Wen等人[9]通過聯合優化無人機軌跡、發射功率和用戶調度,以最大化無人機到所有地面用戶之間的最小平均保密率。然而,傳統的基于無人機的PLS方法往往需要無人機飛行至目標接收者周圍實施PLS策略,該過程將極大增加無人機的推進能耗。
協作波束成形(Collaborative Beamforming,CB)是在無人機通信中實現PLS策略的一種可行方法。具體而言,多個無人機組成一個基于無人機虛擬天線陣列(UAV-enabled Virtual Antenna Array,UVAA),其發射的電磁波在傳播過程中發生疊加和偏移,從而形成具有高增益主瓣和低信號強度的旁瓣波束方向圖,通過將主瓣指向目標接收者和旁瓣指向竊聽者可以有效提高傳輸距離和保密效果。例如,Zhu等人[10]制定了一個無人機位置、模擬波束成形和功率控制聯合優化問題,以最大化從源節點到目標節點的可實現速率。Mohanti等人[11]設計了一種分布式空對地波束成形方法,即AirBeam,該方法在滿足地面接收者服務質量要求的同時,實現了高度定向傳輸。然而,無人機通常是隨機分布的,這將降低UVAA的性能。在這種情況下,無人機可以被分配更優的CB位置,但這無疑會增加無人機的推進能耗。此外,無人機天線用于CB的激勵電流權重也會直接影響UVAA的性能。因此,亟需一種優化方法來確定無人機的最優位置以及激勵電流權重來通過CB實現安全且能量有效的通信。
基于上述考慮,本文構建了一個安全和能量最小化通信多目標優化問題(Secure and Energy Minimization Communication Multi-objective Optimization Problem,SEMCMOP),以同時最大化UVAA對多個地面用戶的總保密率,并降低無人機的總推進能耗。此外,本文使用多目標粒子群優化算法(Multi-objective Particle Swarm Optimization,MOPSO)求解SEMCMOP并進行相關仿真實驗。
本章首先介紹所使用的系統模型,然后基于上述模型構建SEMCMOP。


圖1 無人機虛擬天線陣列通信系統Fig.1 UAV-enabled virtual antenna array communication system
1.1.1 基于UAVV的陣列因子模型
在UVAA中,無人機的位置和用于CB的激勵電流權重會影響陣列因子(Array Factor,AF)的輻射分布,ωn表示UAVV中第n個無人機的激勵電流權重,根據電磁波疊加原理,AF可以建模為[12]:
(1)
式中,θ∈[0,π]和φ∈[-π,π]分別表示仰角和方位角,k=2π/λ為相位常量,λ為信號波長。
1.1.2 無人機保密率模型
本文使用LoS信道模型,UAVV與第m個地面用戶通信時,第m個地面用戶所在方向的增益為[13]:
(2)

同理,UAVV與第m個地面用戶通信時,竊聽節點所在方向的增益為:
(3)
在不考慮竊聽節點的情況下,UAVV到第m個地面用戶的通信速率可以表示為[14]:
(4)
式中,B為傳輸帶寬,dGUm表示UAVV原點與第m個地面用戶之間的距離,KGUm為無人機與第m個地面用戶之間的恒定路徑損耗系數,Pt為無人機的總發射功率。相似地,UAVV到竊聽節點的通信速率可以表示為:
(5)
式中,dEN表示UAVV原點與竊聽節點之間的距離,KEN表示無人機與竊聽節點之間恒定的路徑損耗系數。
當UAVV向第m個地面用戶發送一些機密信息時,系統中的竊聽節點會截獲UAVV發送的信息。當UAVV與第m個地面用戶的通信速率RGUm一定時,UAVV與竊聽節點之間的通信速率REN越小,竊聽節點竊聽到機密信息的概率越小。因此,UAVV與第m個地面用戶通信時保密率CGUm可以表示為:
CGUm=RGUm-REN=
(6)
1.1.3 無人機能量損耗模型
在文獻[15]中,無人機的能量損耗主要分為通信能耗和推進能耗兩部分。一般來說,無人機的推進能耗遠超通信能耗,因此與通信相關的能耗可忽略不計。
旋翼無人機在二維(Two Dimensional,2D)平面飛行時的推進能耗可以表示為[15]:
(7)
式中,v表示無人機的速度,其他參數可視為與無人機相關的常數。根據文獻[15],本文合理地忽略無人機水平飛行時由于加速或減速引起的額外的能量損耗。
此外,無人機在形成UAVV過程中會產生上升和下降的3D軌跡,3D無人機軌跡的推進能耗為[16]:
(8)
式中,v(t)和T分別表示無人機在t時刻的瞬時速度以及無人機結束飛行的時間,mU和h分別為無人機的機體質量和高度變化,g為重力加速度。
本文所考慮的基于無人機的通信系統中無人機與地面用戶相距遙遠,因此,當無人機需要發送數據給地面用戶時,這些無人機會組成一個UAVV并使用CB向地面用戶傳輸數據。
然而,由于UAVV與地面用戶通信時存在竊聽節點對傳輸數據進行攔截,因此安全性和保密性問題必須引起重視。可以考慮通過改進UAVV的性能從而使竊聽節點無法獲得足夠的通信速率。具體而言,通過確定無人機的最優位置和最佳激勵電流權重來生成具有高增益主瓣和低信號強度旁瓣的波束圖,將主瓣對準合法的地面用戶而被抑制的旁瓣指向竊聽節點,從而降低UAVV到竊聽節點的傳輸速率。然而,無人機在形成UAVV過程中必然會產生額外的推進能耗,從而降低無人機網絡的壽命。因此這兩個條件之間是互相權衡的,需要綜合考慮。
本文假設無人機需要將收集到的數據傳遞給所有地面用戶。然而,UAVV的主瓣每次只能指向一個地面用戶,這意味著UAVV每次與地面用戶傳輸完成后需要重新定位。因此需要考慮UAVV與每個地面用戶的通信順序,因為UAVV與地面用戶的通信順序會影響無人機的推進能耗。因此,優化目標詳述如下。
優化目標1為解決在存在竊聽節點的情況下無人機與地面用戶安全通信的問題,無人機需要組成UAVV與不同的地面用戶通信,本文首先最大化UAVV與所有地面用戶通信的總保密率,表示為:
(9)

優化目標2為實現第一個優化目標,無人機需要飛到更好的位置形成UAVV與不同的地面用戶通信,這會增加無人機的推進能耗,為減少無人機形成UAVV過程中的總推進能耗,第二個目標函數可以表示為:
(10)

因此,基于UAVV實現的安全節能通信多目標優化方法可以表示為:
(11a)
s.t. 0≤ωn,m≤1,?n∈U,?m∈G,
(11b)
(11c)
QG×1∈,
(11d)
D(n1,n2)≥Dmin,?n1,n2∈U,
(11e)
本文構建的SEMCMOP是一個NP難問題,為了便于分析且不失一般性,本文對f2進行簡化并通過證明簡化后的f2是一個NP難問題,從而證明SEMCMOP是一個NP難問題。
假設組成UAVV的無人機位置和激勵電流權重固定且已知,f2和相應的約束條件如下:
(12a)
s.t.QG×1∈,
(12b)
式中,Eqm,qm+1表示N個無人機從與第qm個地面用戶通信到與第qm+1個地面用戶通信的總推進能耗,可以看出簡化后的f2實際上是一個旅行商問題(Traveling Salesman Problem,TSP)[14,18],而TSP已被證明是NP難問題。由于f2是一個NP難問題,因此SEMCMOP是一個NP難問題。
本章首先介紹多目標優化問題的相關概念,然后引入MOPSO算法來解決本文提出的多目標優化問題(Multi-objective Optimization Problems,MOP)。
本節簡要地介紹MOP中一些重要的概念[19]。
多目標優化模型MOP是涉及多個目標函數同時優化的問題,其主要目標是找到滿足約束條件的最小化向量函數的決策變量X=(x1,x2,…,xd),MOP可以建模為:
F(X)=(f1(X),f2(X),…,fM(X))T,
(13)
式中,fi(X)表示第i個目標函數,M為目標函數的總數。
帕累托支配對于任意兩個解X,X′∈Ω,對應的目標函數值為F(X)、F(X′)。如果X支配X′并記為XX′,則有:
(14)
帕累托最優如果在整個決策變量空間內不存在任何決策變量支配X*,則稱決策變量X*∈Ω是帕累托最優的。
帕累托最優集在MOP中,對于給定的一組最優解,如果解集中的解都是非支配解,也就是說,解集中的解彼此互不支配,則該解集稱為帕累托最優集。
帕累托前沿帕累托最優集中的每個解相對應的目標函數值構成的向量集稱為帕累托前沿。
粒子群優化(Particle Swarm Optimization,PSO)算法是一種群體智能(Swarm Intelligence,SI)算法,主要通過群體中個體之間的協作和信息共享來尋找最優解[20]。具體而言,在PSO中每個解想象為搜索空間中的一只鳥,稱為“粒子”,每個粒子有兩個屬性:速度v和位置x,前者表示移動的快慢,后者代表移動的方向。每個粒子在搜索空間中獨立搜索最優解,并將其記為當前個體極值(pbest),粒子之間通過信息共享,找到所有粒子個體極值中最優的那個值記為全局極值(gbest)。在每次迭代中,粒子根據pbest和gbest來調整自己的速度和位置,具體方式如下:
vi=ω×vi+c1×rand()×(pbesti-xi)+
c2×rand()×(gbestg-xi),
(15)
xi=xi+vi,
(16)
式中,vi和xi分別表示第i個粒子的速度和當前位置,ω表示慣性因子,是一個非負值,rand()是介于(0,1)之間的隨機數,c1和c2是學習因子。
本節首先介紹MOPSO算法,然后給出MOPSO解決SEMCMOP的主要步驟以及相關分析。
2.3.1 算法簡介
MOPSO算法是PSO算法的一種擴展,在解決多目標優化問題方面有強大的性能[21]。具體而言,MOPSO算法首先通過隨機的方式生成一組粒子(解),然后在每次迭代中通過式(15)~(16)更新每個粒子的速度和位置,直到找到滿足終止條件的帕累托最優集。相較于PSO算法,MOPSO算法通過引入存檔和自適應網格法以解決多目標優化問題。
存檔是一個全局存儲庫,存儲著每一次迭代產生的帕累托最優解。最初存檔為空,隨著不斷的迭代,每一次迭代產生的帕累托最優解Snew會更新存檔,存檔的更新機制如下:
①Snew被存檔中的解支配,則直接將Snew丟棄;
②Snew和存檔中的解互不支配,則將Snew加入到存檔中;
③Snew會支配存檔中的一些解,則將這些解移出存檔并將Snew加入到存檔中;
④ 當存檔已滿時,根據自適應網格法刪除存檔中的部分解并將Snew加入到存檔中。
自適應網格法通過自適應網格法會將整個目標空間劃分成多個網格,然后計算存檔中每個粒子的網格編號,由此可以計算每個粒子的擁擠度,也就可以得到每個網格中帕累托最優解的密度。
MOPSO中pbest和gbest的更新方法如下:
①pbest的更新:當粒子通過位置更新公式得到一個新位置xnew后,需要通過帕累托支配來比較xnew與pbest的優劣,從而更新pbest;然而,xnew和pbest可能互不支配,在這種情況,本文將隨機選擇其中一個值作為pbest。
②gbest的更新:gbest需要從在存檔中獲取,首先根據自適應網格法計算出每個網格中帕累托最優解的密度,然后使用輪盤賭機制在密度最小的網格中選擇一個解作為gbest。
2.3.2 MOPSO的主要步驟和分析
MOPSO的偽代碼如算法1所示。在MOPSO中,首先通過隨機的方式初始化一組粒子P,使用適應度函數評估每個粒子的值,將每個粒子的pbest初始化為其本身,根據存檔A中粒子的擁擠度信息初始化gbest。在每次迭代中,對粒子的速度和位置進行更新,然后重新計算每個粒子適應度,根據適應度更新存檔A、每個粒子的pbest以及gbest,直到收斂或達到最大迭代次數則退出算法。MOPSO使用自適應網格法更新gbest,即需要在存檔中根據擁擠度大小更新gbest,擁擠度越小,該粒子被選擇的概率越大,反之越小。MOPSO的計算復雜度主要在于目標函數和擁擠度的計算,當Nobj表示優化目標數時,目標函數的計算復雜度為O(Nobj·Npop)。而擁擠度的計算成本主要在于需要對存檔中的解進行排序,為O(Nobj·NArc·logNArc),其中NArc表示存檔的大小。本文將存檔A的大小設置為Npop,因此MOPSO的復雜度為O(Nobj·Npop2)。

算法1 MOPSO算法Input:粒子群P,粒子群總數Npop,最大迭代次數tmax,存檔A等。Output:帕累托最優集。1.Initial:P為空,A為空。2.fori=1toNpop:3.以隨機的方式初始化粒子Xi的位置xi,速度vi初始化為0;4.將粒子Xi(xi,vi)加入到粒子群P;5.初始化粒子Xi的個體極值pbesti=xi;6.end7.使用帕累托支配比較P中的粒子,將其中表示非支配向量的粒子的位置xnon存儲到A中。8.fort=1totmax:9.根據式(15)更新每個粒子的速度;10.根據式(16)更新每個粒子的位置;11.更新A;12.更新每個粒子的pbesti;13.end
本文使用Matlab進行仿真,其中路徑損耗系數α、每個無人機的發射功率Pm和載波頻率fc分別設置為2,0.1 W和2.4 GHz。此外,無人機和地面用戶的數量分別設置為16和8。其他關鍵參數參考文獻[13,15]。
表1顯示了使用MOPSO方法在總保密率(目標1)和無人機的總推進能耗(目標2)方面獲得的數值結果。可以看出,與未進行優化的情況相比,MOPSO在兩個優化目標上獲得了更優的結果。圖2顯示了無人機與第1個地面用戶通信時在飛行路徑方面的優化結果。可見,無人機的位置相較初始位置分布的更加緊密,更加適合進行無人機CB任務。此外,圖3顯示了通過MOPSO算法獲得的解分布情況,可以看出通過MOPSO算法求得的解分布較為均勻,表明MOPSO可以有效地解決SEMCMOP問題。

表1 使用MOPSO算法獲得的數值優化結果Tab.1 Numerical optimization results obtained by MOPSO

圖2 無人機飛行路徑Fig.2 Flight paths of UAVs

圖3 使用MOPSO算法獲得的解分布情況Fig.3 Solution distributions obtained by MOPSO
本文研究了基于UAVV的安全節能通信問題。在所考慮的場景中,存在一個位置已知的竊聽節點,其會對無人機與地面用戶之間的通信進行竊聽,因此多個無人機組成UAVV與地面用戶通信以提高通信保密率。本文構建了SEMCMOP,以提高總保密率和降低無人機的總推進能耗,并證明了SEMCMOP是一個NP難問題。此外,本文使用MOSPO算法對SEMCMOP進行求解,仿真結果表明MOPSO可以有效地解決SEMCMOP問題。