李丹
(1.北部灣大學電子與信息工程學院,廣西 欽州 535011;2.欽州市物聯網先進技術重點實驗室,廣西 欽州 535011)
關鍵字:水聲傳感器網絡;北部灣;Aqua-Sim;動態拓撲
水流和生物活動等因素會造成水聲傳感器網絡(Underwater Acoustic Sensor Networks,UASNs)節點發送移動[1]。網絡中大量節點的偏移會導致網絡拓撲不穩定,分組投遞率降低,甚至影響網絡連通性[2]。通過實驗了解UASNs節點移動速度對網絡性能的影響情況,有助于研究UASNs領域的相關問題。本文以北部灣海域環境參數作為基礎,基于改進的Aqua-Sim水聲信道仿真平臺[3]進行水聲動態拓撲的仿真實驗,并通過數據分析驗證節點的運動會導致網絡穩定性下降。
Aqua-Sim是NS2用于實現水聲信道通信仿真的一個獨立的程序模塊[3]。改進的Aqua-Sim水聲信道仿真平臺在原Aqua-Sim 1.0模塊加入與溫度、鹽度、維度、深度、航運密度和風速有關的參數、程序和接口,用水流噪聲、船只或生物噪聲、海風噪聲和熱噪聲的累加值來模擬不同海域環境背景噪聲對信號接收造成的影響,采用Del Grosso公式的簡化結構計算海水聲速,能夠使仿真效果更加接近海洋水聲信道。
根據改進的Aqua-Sim水聲信道仿真平臺要求,在仿真環境中需要設置溫度、鹽度、維度、深度、航運密度和風速的值。仿真實驗從北部灣北部海域夏季水流環境情況中提取相關參數,實驗具體參數見表1。

表1 實驗參數
實驗程序分為兩個部分,一個是平臺程序庫,另一個是TCL仿真腳本。在仿真開始前,需要在實驗平臺中添加LEACH協議的相關程序文件作為仿真實驗的路由協議。TCL仿真腳本需要完成三個任務,分別是環境參數設置、網絡拓撲初始化和節點運動軌跡設計。
(1)環境參數值主要按照表1的內容進行設置,關鍵代碼如下:

(2)網絡拓撲初始化過程需要指定各節點的初始化坐標。將節點的初始坐標記為Ni=(xi,yi,zi),其中,i是節點編號,i∈[0,18];xi、yi和zi是節點Ni的X、Y和Z軸坐標。將整個拓撲空間分為三層:第一層的節點N0位于海平面拓撲區域的正中央,其初始化坐標為N0=(400,400,0);第二層的節點深度為250m,整個平面區域被劃分成6×6的行列矩陣,行高和列寬用a表示,9個節點均勻分布在矩陣中;第三層的節點深度為500m,節點分布模型與第二層相同。第二層和第三層的節點坐標見表2。

表2 第二層和第三層的節點初始化坐標
(3)為了防止節點被水流沖走,部署在水中的節點主要以浮標和鎖鏈牽引的方式錨定在水中[7]。在具有潮汐等水流運動的環境中,錨定節點的運動呈現半周期性特征[8],加上北部灣北部海域夏季的水流處于氣旋式環流狀態[9],使得本實驗模擬的海域中存在旋渦,因此可以假設節點在浮標、鎖鏈和旋渦水流的作用下進行深度不變的圓周運動,錨定節點運動模型如圖1所示。

圖1 錨定節點運動模型
L是牽引鎖鏈的長度,H是錨定節點隨海水擺動時距離海面的高度,R是錨定節點在二維平面做圓周運動的半徑。錨定節點的運動方向和R的取值應該由實際的水流運動情況決定。為了方便計算和編程,將節點N1~N18的運動方向設置為順時針,以初始坐標為圓心,只設定4個關鍵坐標,分別是(xi,yi+R,zi)、(xi+R,yi,zi)、(xi,yi-R,zi)和(xi-R,yi,zi)。
仿真過程采用分組對照的方式,分別模擬網絡在節點靜止和運動狀態下,網絡分組投遞率的變化情況,具體的實驗分組情況見表3。

表3 實驗分組情況表
按照實驗分組編寫testj.tcl文件,進行3組實驗,每組實驗運行3600s,分別生成tracej.tr和namj.nam文件,其中j表示分組編號。testj.tcl是實驗的執行文件,tracej.tr是實驗數據記錄文件,namj.nam是動畫演示程序文件。
本實驗是通過對分組投遞率的統計來分析網絡的連通狀態。從tracej.tr文件中提取事件類型、節點編號、Trace類型、分組類型、分組源IP地址和分組目的IP地址信息,分別用event、node_id,trace_type,packet_type,packet_src和packe_dest表示。根據event來判斷當前記錄是分組發送,還是分組接收。根據trace_type和packet_type過濾網絡維護分組,只保留數據分組。根據node_id、packet_src和packe_dest來判斷當前記錄屬于源節點、轉發節點,還是Sink節點。具體數據處理程序流程如圖2所示。

圖2 數據處理程序流程圖
變量num_fs和num_rx分別用來統計所有錨定節點發送的數據分組數和Sink節點成功接收的數據分組數。將統計后的數據按照公式(1)計算,得出分組投遞率delivery_rate。

設300s為一個統計周期,將每組實驗的數據分為36個周期,按照公式(1)計算每個周期內的分組投遞率。
圖3是三種拓撲狀態的網絡分組投遞率統計情況。在網絡運行初期,網絡節點處于組網階段,信道沖突相對較小,三種拓撲狀態的分組投遞率在80%~100%之間。隨著網絡的不斷運行,信道沖突增大,各實驗組的分組投遞率都有所下降。當網絡運行進入穩定期時,節點靜止網絡的分組投遞率可維持在70%~80%之間,而動態網絡的分組投遞率下降較為明顯。節點低速運動網絡的分組投遞率維持在50%~60%之間,整個運行過程較為穩定。節點高速運動網絡的分組投遞率維持在20%~40%之間,且變化幅度較大。通過實驗數據說明,網絡節點的運動對網絡連通性具有一定影響,且運動速度越快,網絡的穩定性越差。

圖3 分組投遞率對比圖
水下環境復雜多變,UASNs節點因水流或生物活動等因素發生運動,造成網絡拓撲的改變。針對UASNs節點運動影響網絡穩定性的問題,本文基于北部灣海域環境參數,采用改進的Aqua-Sim水聲信道仿真平臺,進行UASNs的動態拓撲仿真。首先,在平臺中加載LEACH協議。其次,以北部灣北部海域夏季水流環境為基礎,設計節點運動模型。再次,設計TCL腳本程序實現網絡運行仿真。最后,進行分組對照實驗,對靜態拓撲、低速運動拓撲和高速運動拓撲的分組投遞率進行對比分析,證明網絡節點的運動對UASNs網絡連通性具有一定影響,且運動速度越快,網絡的穩定性越差。