李朋偉,孟 荻,陳 倩
(海軍研究院,北京 100161)
水聲通信網(wǎng)絡(luò)(Underwater Acoustic Communication Network, UACN)在海洋及相關(guān)技術(shù)領(lǐng)域具有重要地位,可廣泛應(yīng)用于海洋科學(xué)研究、氣象水文數(shù)據(jù)采集、重點海域監(jiān)測、威脅目標警戒跟蹤等領(lǐng)域,發(fā)展前景廣闊[1]。但目前水聲通信網(wǎng)絡(luò)的發(fā)展水平與應(yīng)用需求還有較大差距,其中,能量問題一直是影響水聲通信網(wǎng)絡(luò)發(fā)展應(yīng)用的重要因素,而發(fā)展水下節(jié)點能量采集功能[2]和節(jié)點發(fā)射功率控制功能是解決水聲通信網(wǎng)絡(luò)能量問題的重要發(fā)展方向。
本文針對節(jié)點具備發(fā)射功率控制功能的網(wǎng)絡(luò)如何降低網(wǎng)絡(luò)節(jié)點總功耗,減緩網(wǎng)絡(luò)中節(jié)點死亡速率開展研究。對于固定節(jié)點,相比于節(jié)點電路功耗,節(jié)點上水聲換能器的功耗更大。因此,研究如何進行節(jié)點功率分配可有效降低節(jié)點發(fā)射功耗[3]。本文基于在滿足一定接收信噪比條件下的節(jié)點發(fā)射功率與傳輸距離的非線性關(guān)系,研究如何通過優(yōu)化節(jié)點信息傳輸路徑,達到降低網(wǎng)絡(luò)節(jié)點總功耗的目的。
網(wǎng)絡(luò)分簇[4]是降低網(wǎng)絡(luò)節(jié)點總功耗、實現(xiàn)網(wǎng)絡(luò)能量優(yōu)化的有效方法之一。文獻[5-6]針對最優(yōu)分簇問題,提出LEACH、LEACH_L等分簇方法。文獻[7]結(jié)合水聲通信網(wǎng)絡(luò)節(jié)點功耗特點,基于節(jié)點擔任簇首次數(shù)、節(jié)點剩余能量及節(jié)點相對位置關(guān)系等,提出動態(tài)分簇方法,通過周期性輪換簇首,一定程度上降低了節(jié)點功耗,延緩了首個節(jié)點的死亡。文獻[8]通過引入水下節(jié)點發(fā)射功率與傳輸距離的關(guān)系,改進優(yōu)化算法,進一步降低網(wǎng)絡(luò)節(jié)點總功耗。但在上述能量優(yōu)化方法中,作者設(shè)定了簇首的最優(yōu)數(shù)量,網(wǎng)絡(luò)中存活節(jié)點數(shù)量不斷減少,最優(yōu)簇首數(shù)量始終不變。此外,按照上述所提優(yōu)化方法,網(wǎng)絡(luò)采用周期性選簇,在每一個網(wǎng)絡(luò)周期開始前均需重新選簇,頻繁選簇帶來了大量的額外能量消耗。
分簇網(wǎng)絡(luò)中的簇首可視為節(jié)點采用兩跳路徑向目的節(jié)點發(fā)送信息時的中繼節(jié)點,因此,本文基于網(wǎng)絡(luò)中存活節(jié)點數(shù)量和節(jié)點剩余能量的變化情況,自適應(yīng)確定中繼節(jié)點數(shù)量及中繼節(jié)點位置的最優(yōu)方案,進而節(jié)點基于自身到不同中繼節(jié)點和目的節(jié)點的發(fā)射功耗,確定最優(yōu)傳輸路徑。此外,針對優(yōu)化過程帶來的額外能量損耗,本文改進了網(wǎng)絡(luò)模型,該模型采用事件觸發(fā)的方式啟動優(yōu)化過程,減小了優(yōu)化過程帶來的能量損耗。仿真結(jié)果表明,本文所提算法可有效降低網(wǎng)絡(luò)節(jié)點總功耗,延緩首個節(jié)點的死亡,減緩網(wǎng)絡(luò)中節(jié)點死亡速率,從而減緩網(wǎng)絡(luò)有效覆蓋面積隨著網(wǎng)絡(luò)運行而減小的速率。
聲吶方程描述了發(fā)射聲源級(LS)、傳播損失(LT)、背景噪聲級(LN)、接收指向性(DI)及接收端信噪比(RSN)之間的關(guān)系,表達式為[9]
聲源級LS定義為
式中:Itrans表示距發(fā)射換能器聲學(xué)中心標準距離處的聲源強度。Iref為參考聲強,其值為0.67×10-18W·m-2。則節(jié)點發(fā)射電功率[9]為
其中:Pt_acou為發(fā)射換能器聲功率,η為發(fā)射換能器的效率。
傳播損失[9]LT為
其中:r是通信距離,單位m;α(f)是聲信號吸收系數(shù),單位dB·km-1,對于吸收系數(shù),Thorp給出適用于低頻段的公式[10],表達式為
在滿足接收信噪比的條件下,依據(jù)式(1)~(5),圖1給出了發(fā)射端最小發(fā)射電功率與通信距離的關(guān)系(柱面擴展,DI=0,LN=65 dB,LS=20 dB )。從圖1中可以看出,最小發(fā)射功率與通信距離呈非線性關(guān)系,距離越遠,最小發(fā)射功率增長越快。因此節(jié)點采用兩跳或多跳的方式向目的節(jié)點發(fā)送信息時,整個路徑上節(jié)點的功耗可能低于節(jié)點直接向目的節(jié)點發(fā)送信息的功耗。Stojanovic[11]的研究也表明,采用短距離多跳實現(xiàn)中遠距離水聲通信可獲得比單跳更低的節(jié)點發(fā)射功率。
圖1 最小發(fā)射功率與通信距離關(guān)系Fig.1 Relationship between the required transmission power and the communication distance
在水聲換能器發(fā)射能耗基礎(chǔ)上,將節(jié)點的電路能耗加以考慮,發(fā)射端能量消耗可建模為
其中:RB表示信息傳輸速率,單位為bit·s-1,Eelec為發(fā)射換能器電路處理1 bit數(shù)據(jù)消耗的能量,k是發(fā)送信息量。
本文研究的水聲通信網(wǎng)絡(luò)由一個水面網(wǎng)關(guān)節(jié)點和若干水下節(jié)點組成,水下節(jié)點通過單跳或兩跳方式將信息傳輸?shù)骄W(wǎng)關(guān)節(jié)點。水聲通信網(wǎng)絡(luò)進行過程如圖2所示。
運行過程分兩個階段:路徑優(yōu)化階段和穩(wěn)定運行階段。在路徑優(yōu)化階段,網(wǎng)關(guān)節(jié)點運行第3節(jié)所提路徑優(yōu)化算法,確定每個節(jié)點在網(wǎng)絡(luò)中的角色:中繼節(jié)點或普通節(jié)點,進而確定節(jié)點的最優(yōu)信息傳輸路徑。普通節(jié)點指具備一定功能如水溫監(jiān)測的節(jié)點;中繼節(jié)點除具備普通節(jié)點的功能外,還負責接收普通節(jié)點的信息并轉(zhuǎn)發(fā)到網(wǎng)關(guān)節(jié)點。路徑優(yōu)化完成后網(wǎng)絡(luò)進入穩(wěn)定運行階段。在該階段,普通節(jié)點通過分配的中繼節(jié)點向網(wǎng)關(guān)節(jié)點發(fā)送信息(兩跳),中繼節(jié)點直接向網(wǎng)關(guān)節(jié)點發(fā)送信息(單跳)。網(wǎng)絡(luò)每經(jīng)歷一次穩(wěn)定運行階段,稱為一個周期。
圖2 水聲通信網(wǎng)絡(luò)運行過程Fig.2 The operation process of underwater acoustic communication network
觸發(fā)網(wǎng)絡(luò)進入路徑優(yōu)化階段的條件有兩個:(1)網(wǎng)絡(luò)中是否存在中繼節(jié)點的能量小于初始值的a%或是否出現(xiàn)死亡節(jié)點;(2) 是否存在中繼節(jié)點的能量大于初始值的a%或是否出現(xiàn)死亡節(jié)點(a用于判斷節(jié)點是否可作為中繼節(jié)點的候選節(jié)點,當節(jié)點當前能量小于初始能量的a%時,認為該節(jié)點剩余能量較少,不宜再承擔能耗較大的中繼節(jié)點角色)。針對所提水聲通信網(wǎng)絡(luò)模型,提出如下假設(shè):
(1) 網(wǎng)關(guān)節(jié)點部署在區(qū)域中心且能量充足;
(2) 網(wǎng)關(guān)節(jié)點負責路徑優(yōu)化方案生成并將方案發(fā)送到每一個節(jié)點;
(3) 節(jié)點的初始能量相同且具有發(fā)射功率控制功能;
(4) 穩(wěn)定運行階段每個節(jié)點發(fā)送的信息量相同;
(5) 中繼節(jié)點對接收的信息直接轉(zhuǎn)發(fā),不處理;
(6) 節(jié)點采用水聲換能器進行信號發(fā)射和接收。
路徑優(yōu)化的目的是降低網(wǎng)絡(luò)節(jié)點總功耗,減緩網(wǎng)絡(luò)中節(jié)點死亡速率,因此本文引入網(wǎng)絡(luò)中所有存活節(jié)點的發(fā)射總功率作為優(yōu)化目標函數(shù),表示為
其中:lA為網(wǎng)絡(luò)中的存活節(jié)點總數(shù),M為擔任中繼角色的節(jié)點數(shù)量。Pi為第i個普通節(jié)點的最小發(fā)射功率,Pj為第j個中繼節(jié)點的最小發(fā)射功率,Nj為以該節(jié)點為中繼節(jié)點的普通節(jié)點數(shù)量。網(wǎng)絡(luò)中擔任中繼角色的節(jié)點數(shù)量不同和不同節(jié)點擔任的角色方案不同,即每一個節(jié)點的信息傳輸路徑不同時,對應(yīng)的目標函數(shù)值不同,目標函數(shù)值越小,表明網(wǎng)絡(luò)中存活節(jié)點的發(fā)射總功率越小。通過優(yōu)化網(wǎng)絡(luò)中所有存活節(jié)點擔任角色的方案和擔任中繼角色的節(jié)點數(shù)量,可使所有存活節(jié)點的發(fā)射總功率最小。
在路徑優(yōu)化階段,網(wǎng)絡(luò)中不同節(jié)點擔任何種角色有多種組合方案,以3.1節(jié)中的目標函數(shù)為優(yōu)化目標函數(shù),從眾多方案中選擇出最優(yōu)方案的過程可建模為尋優(yōu)過程。對于該過程,粒子群算法以一定數(shù)量的方案為基礎(chǔ),通過最優(yōu)搜索,尋優(yōu)獲得目標函數(shù)值最小時對應(yīng)的優(yōu)化路徑方案,該方案即是最優(yōu)方案。相較于窮舉算法,粒子群算法的優(yōu)點是優(yōu)化效率高,獲得最優(yōu)結(jié)果的時間更短。
以PSj表示第j個節(jié)點的角色,則所有節(jié)點的角色按照節(jié)點序號排列所形成的組合(lA為網(wǎng)絡(luò)中存活節(jié)點總數(shù))可視為粒子群中的一個粒子,粒子群中的第i個粒子為,i=1…N(N為粒子群規(guī)模)。以3.1節(jié)中目標函數(shù)為粒子的適應(yīng)度函數(shù),利用粒子群算法獲得的最優(yōu)粒子對應(yīng)的節(jié)點角色方案即是最優(yōu)節(jié)點角色方案。在最優(yōu)角色方案的基礎(chǔ)上,普通節(jié)點基于自身到不同中繼節(jié)點和網(wǎng)關(guān)節(jié)點的發(fā)射功耗,確定是采用某一個中繼節(jié)點轉(zhuǎn)發(fā)信息,還是采用單跳方式向網(wǎng)關(guān)發(fā)送信息,由此即可獲得每一個節(jié)點的最優(yōu)信息傳輸路徑。
本文在文獻[8]中基于改進的粒子算法的基礎(chǔ)上,綜合考慮網(wǎng)絡(luò)運行不同階段存活節(jié)點的數(shù)量,改進粒子群的初始化方式和變異算子,將自適應(yīng)交叉概率和變異概率引入該算法中,形成新的優(yōu)化算法,獲得較好的優(yōu)化結(jié)果。算法流程如圖3所示。
圖3 能量優(yōu)化算法的流程圖Fig.3 Flowchart of the energy optimization algorithm
(1) 粒子編碼
(2) 粒子群初始化
隨著水聲通信網(wǎng)絡(luò)運行,網(wǎng)絡(luò)中存活節(jié)點數(shù)量lA在不斷減少,因此應(yīng)在路徑優(yōu)化階段根據(jù)存活節(jié)點數(shù)量,在粒子群中自適應(yīng)產(chǎn)生中繼節(jié)點數(shù)量的所有可能方案,即產(chǎn)生的粒子中中繼節(jié)點的可能數(shù)量為1~lA。本文采用輪換方式,依次產(chǎn)生中繼節(jié)點數(shù)量為1,2…lA的粒子,假設(shè)粒子群規(guī)模為N,則中繼節(jié)點數(shù)量分別為1,2,3…lA的粒子數(shù)量依次為
對于中繼節(jié)點數(shù)量為T的粒子,隨機選擇T個節(jié)點,將節(jié)點在粒子上對應(yīng)的位置標記為1,死亡節(jié)點標記為?1,普通節(jié)點標記為0,不能作為候選中繼節(jié)點標記為2。完成粒子生成后,依次計算每個粒子的適應(yīng)度值,并初始化歷史最優(yōu)粒子(記為)和全局最優(yōu)粒子(記為)。
(3) 自適應(yīng)交叉概率和變異概率
采用正比選擇策略[12]。設(shè)粒子與歷史最優(yōu)粒子交叉的初始交叉概率為PH0,按照式(9)獲得自適應(yīng)交叉概率:
式中:Fit為粒子和其歷史最優(yōu)粒子兩者中較大的適應(yīng)度值,F(xiàn)it,avg為每代種群與待交叉的歷史最優(yōu)粒子組成的新群組的平均適應(yīng)度值,F(xiàn)it,max為新群組中最大的適應(yīng)度值。
設(shè)粒子與全局最優(yōu)粒子交叉的初始交叉概率為PA0,按照式(10)計算自適應(yīng)交叉概率:
式中:Fit為粒子和全局最優(yōu)粒子兩者中較大的適應(yīng)度值,F(xiàn)it,avg為每代種群與全局最優(yōu)粒子組成的新群組的平均適應(yīng)度值,F(xiàn)it,max為新群組中最大的適應(yīng)度值。
初始變異概率為Pm0,按照式(11)計算獲得:
式中:Fit'為待變異個體的適應(yīng)度值。
(4) 交叉算子
交叉算子與文獻[8]所提的交叉算子一致,當粒子與歷史最優(yōu)粒子交叉時,需完整交叉含有兩個中繼節(jié)點的粒子片段,當粒子與全局最優(yōu)粒子交叉時,需完整交叉一個中繼節(jié)點。
(5) 更新歷史最優(yōu)粒子和全局最優(yōu)粒子
用歷史最優(yōu)粒子和全局最優(yōu)粒子與粒子群中的粒子交叉獲得新粒子后,對粒子的歷史最優(yōu)粒子和全局最優(yōu)粒子進行更新,將產(chǎn)生的較優(yōu)粒子保存。
(6) 變異算子
對每一個粒子,在該粒子上隨機選擇一個節(jié)點,當該節(jié)點標記為1時,將其變異為0;當該節(jié)點為0時,將其變異為1;當該節(jié)點為?1或2時,不變異。變異完成后,計算新粒子的適應(yīng)度值,如果新粒子的適應(yīng)度值優(yōu)于變異前,則用新的粒子替換變異前的粒子,并更新該粒子的歷史最優(yōu)粒子,否則不更新變異前的粒子。粒子群變異完成后更新歷史最優(yōu)粒子和全局最優(yōu)粒子。
采用Matlab2015a進行仿真。文獻[8]將所提算法與文獻[7]所提改進粒子群算法以及LEACH算法進行對比,仿真結(jié)果表明,文獻[8]所提算法可獲得更優(yōu)的分簇結(jié)果,進一步降低了網(wǎng)絡(luò)節(jié)點總功耗,減緩節(jié)點死亡速率。本文將所提能量優(yōu)化算法與文獻[8]所提算法進行對比。兩種方法的主要參數(shù)設(shè)置如表1所示。
表1 本文及文獻[8]中能量優(yōu)化算法主要參數(shù)設(shè)置Table 1 The main parameter setting for the energy optimization algorithms in this paper and in the reference[8]
本文算法其他仿真參數(shù)為PH0=0.9,PA0=0.9,Pm0=0.8。文獻[8]所提方法的其他仿真參數(shù)按照其給出的值,為a=0.5,b=0.25,c=0.25,c1=c2=0.1,w=0.729 8(a,b,c為文獻[8]所提的目標函數(shù)中不同因素所占比重,c1,c2,ω分別為粒子與歷史最優(yōu)粒子的交叉概率、粒子與全局最優(yōu)粒子的交叉概率和變異概率)。仿真中,節(jié)點接收信息的能量消耗模型為:Erecei=Pr_elec×(k/RB)+kEelec。
圖4和圖5給出了在網(wǎng)絡(luò)初始化時利用兩種方法獲得的最優(yōu)傳輸路徑方案。
圖4 文獻[8]算法的最優(yōu)傳輸路徑Fig.4 The optimized transmission paths of the algorithm in the reference[8]
圖5 本文算法的最優(yōu)傳輸路徑Fig.5 The optimized transmission paths of the proposed algorithm in this paper
圖4為文獻[8]算法獲得的最優(yōu)路徑方案。在該方案中,32個普通節(jié)點被分配在4個簇中,普通節(jié)點利用簇首中繼向網(wǎng)關(guān)節(jié)點發(fā)送信息。圖5為本文算法的最優(yōu)路徑方案。在該方案中,有 12個節(jié)點擔任中繼節(jié)點,普通節(jié)點利用 1~8 號中繼節(jié)點向網(wǎng)關(guān)節(jié)點發(fā)送信息,9~12號中繼節(jié)點僅負責將自身信息發(fā)送到網(wǎng)關(guān)節(jié)點。在最優(yōu)路徑方案中,采用原算法的網(wǎng)絡(luò)節(jié)點總功耗為0.297 9 W,而采用本文算法的網(wǎng)絡(luò)節(jié)點總功耗為0.173 8 W,低于前者。
圖6比較了采用兩種算法的網(wǎng)絡(luò)中存活節(jié)點數(shù)量隨網(wǎng)絡(luò)運行的變化情況。
圖7比較了采用兩種算法的網(wǎng)絡(luò)中,網(wǎng)絡(luò)運行時,網(wǎng)絡(luò)剩余總能量的變化情況。由圖6可知,采用文獻[8]算法的網(wǎng)絡(luò)在第333個周期時出現(xiàn)首個死亡節(jié)點;而采用本文算法的網(wǎng)絡(luò)在第358個周期時出現(xiàn)首個死亡節(jié)點,比原算法延長 25個周期。第377個周期時,采用原算法的網(wǎng)絡(luò)存活節(jié)點數(shù)為0,網(wǎng)絡(luò)完全死亡,而采用本文算法的網(wǎng)絡(luò)存活節(jié)點數(shù)為28,表明網(wǎng)絡(luò)仍有較大覆蓋面積。第718個周期時,采用本文算法的網(wǎng)絡(luò)存活節(jié)點數(shù)降至4。綜上,仿真結(jié)果表明采用本文算法可延緩首個節(jié)點死亡時間,節(jié)點死亡速率更低。
從圖7中可以看出,采用本算法的網(wǎng)絡(luò)的能量始終高于原算法,說明采用本文算法的網(wǎng)絡(luò)的總功耗始終低于采用原算法的網(wǎng)絡(luò)。且從圖7中還可看出,在采用原算法的網(wǎng)絡(luò)已完全死亡時,采用本文算法的網(wǎng)絡(luò)的剩余總能量仍有1.376× 104J。
此外,粒子群規(guī)模N和種群繁殖代數(shù)MG影響粒子群算法的收斂速度、搜索結(jié)果與最優(yōu)結(jié)果的逼近程度。N和MG取值較大時,雖然能獲得較優(yōu)的搜索結(jié)果和較好的算法穩(wěn)定性,但是搜索時間長,搜索效率低;N和MG取值較小時,會導(dǎo)致算法搜索結(jié)果不收斂。因此,粒子群規(guī)模和種群繁殖代數(shù)存在最優(yōu)取值,而該值與節(jié)點數(shù)有關(guān)。取值原則一般為節(jié)點數(shù)越多,則粒子群規(guī)模和種群繁殖代數(shù)的最優(yōu)取值越大。
圖6 兩種算法存活節(jié)點數(shù)量的對比Fig.6 Comparison of the number of alive sensor nodes for the two algorithms
圖7 兩種算法網(wǎng)絡(luò)剩余能量的變化情況Fig.7 Comparison of the residual energy in the network for the two algorithms
因此在本文所述網(wǎng)絡(luò)中,隨著網(wǎng)絡(luò)運行,存活節(jié)點數(shù)在不斷變化,粒子群規(guī)模和種群繁殖代數(shù)的最優(yōu)取值應(yīng)是自適應(yīng)變化的,自適應(yīng)變化關(guān)系需作進一步詳細研究。為分析方便,本文僅考慮了隨著網(wǎng)絡(luò)運行,粒子群算法規(guī)模和種群繁殖代數(shù)取值不變的情況,采用蒙特卡洛仿真方法,表2、3給出了網(wǎng)絡(luò)中節(jié)點數(shù)為36個時,粒子群規(guī)模和種群繁殖代數(shù)取不同值時,算法搜索結(jié)果對應(yīng)的網(wǎng)絡(luò)總功耗的均值和方差變化情況。
從表2、3中可知,在N=200時,當種群繁殖代數(shù)MG大于80,搜索結(jié)果均值保持不變,方差為0;在MG=100時,當粒子群規(guī)模N大于20,搜索結(jié)果均值保持不變,方差為0。因此當N=200,MG=80,或N=20,MG=100,算法均可獲得最優(yōu)值,且搜索效率較高,當N和MG選取更大值時,算法也可獲得最優(yōu)值,但搜索效率會下降。若需對搜索效率有進一步要求,可對N、MG的不同取值進行精細化仿真,獲得更精確的取值。
表2 種群繁殖代數(shù)的影響(N=200)Table 2 The influence of the generations of population reproduction (N=200)
表3 粒子群規(guī)模的影響(MG=100)Table 3 The influence of particle swarm size (MG =100)
本文針對水聲通信網(wǎng)絡(luò)能量優(yōu)化問題,通過改進水聲通信網(wǎng)絡(luò)模型,采用事件觸發(fā)的方式觸發(fā)網(wǎng)絡(luò)進入路徑優(yōu)化階段,從而降低了網(wǎng)絡(luò)優(yōu)化階段的額外的能量消耗。并通過在網(wǎng)絡(luò)路徑優(yōu)化階段引入改進的粒子群算法建立優(yōu)化算法,尋優(yōu)獲得網(wǎng)絡(luò)中各個節(jié)點的最優(yōu)信息傳輸路徑,以降低網(wǎng)絡(luò)節(jié)點的總功耗。仿真結(jié)果表明,本文所提優(yōu)化方法能有效降低網(wǎng)絡(luò)節(jié)點總功耗,延長首個節(jié)點死亡時間,減緩網(wǎng)絡(luò)中節(jié)點死亡速率,從而減緩了網(wǎng)絡(luò)有效覆蓋面積隨著網(wǎng)絡(luò)運行而減小的速率。