彭文良



摘要:對基于鄰近圖的主流拓撲控制算法進行了闡述,通過OMNET++軟件仿真建模,設計出基于DRNG與DLSS拓撲控制算法的網絡模型,仿真并收集分析數據結果,結果表明:改進DLSS算法與DRNG算法都能夠實現通信拓撲結構的簡化,達到降能的目的;改進DRNG算法比DLSS算法優化的拓撲結構的魯棒性更好,更適合實際應用推廣。同時提出改進和優化的策略。
關鍵詞:無線傳感器網絡;拓撲控制;鄰近圖;DRNG;DLSS;
中圖分類號:TP391? 文獻標志碼:A? 文章編號:1008-4657(2021)02-0079-05
0 引言
無線傳感器網絡是集合信息傳遞、接收和處理與一體的自組織的網絡系統,涉及環境、醫療、軍事、工業、農業以及交通等應用領域[1]。拓撲控制技術是保證無線傳感器網絡通信機制與數據融合的重要支撐技術之一,對于網絡結構的優化與節能降耗等方面具有直接關系[2]。陳軍[3]提出了一種啟發式分簇拓撲控制方法,利用粒子群實現通信節點的分簇,從而提升通信網絡的連通性與生命周期。劉志龍等[4]采用群交叉與變異的方式達到非均勻分簇,控制傳感器節點的剩余能量與負載直接的均衡,在較大的網絡吞吐量下仍然能夠保持較長的生命周期。除了通過建立粒子群算法達到網絡拓撲結構的控制之外,還可以通過優化節點可靠性權值的方式達到節能的目的。宋偉奇等[5]通過構建網絡節點模型優化傳輸節點的權值約束,提升數據傳輸的流暢度,達到延長網絡壽命周期的目的。本文通過OMNET++軟件對改進后的DRNG(Directed Relative Neighborhood Graph)算法與DLLS(Directed Local Spanning Subgraph)算法的網絡模型進行仿真,比較不同節點優化技術的優勢,為拓撲控制技術在無線傳感器網絡的節能降耗研究提供依據。
1 基于鄰近圖的拓撲控制
1.1 DRNG算法改進
在DRNG算法中[6],在得到u的鄰居節點集之后,在鄰居節點集內尋找距離節點u最遠的節點v,并且根據這兩節點間的距離來確定節點的最大發射功率。所以此算法的最終目的就是找到距離節點最遠的鄰居節點。在原有的DRNG算法中需要判斷所有的n個鄰居節點是否為u的鄰居節點,而改進DRNG算法減少了n/2需要確定的鄰居節點的個數。那么在尋找鄰居節點的時候如果對于它的可達節點進行排序,算法的復雜度將會從原來的n4比較次數下降為n2比較次數。算法步驟如圖1所示。
DRNG算法改進主要是在確定可達鄰居集合N后,將N中的節點按照與u的距離從大到小進行排序,記為v1、v2、v3、...、vn。每個節點vi(i=1,2,3,...,n)兩兩之間的集合{vi+1,vn},如果不存在一點p滿足max{d(u,p),d(v,p)}< d(u,v),則vi即是u的最遠鄰居節點。按照vi到u的距離d(ui,v)調節發射功率。
1.2 DLSS的拓撲控制算法
基于DLSS算法的拓撲結構的通信流程與DRNG算法的結構類似[6]。通過每個節點發送最大功率的廣播Hello信息,結合DLSS算法的節點定位確定鄰居節點從而實現最高效率的通信路徑篩選。具體的算法如下:
輸入參數:Gu:u的可達鄰居子圖G;
輸出參數:Su=(V(Su),E(Su)),根據Gu得到的局部生成子圖。
Begin
1 Sort(E (Gu));將E(Gu)中的邊按照權重排序
2 for each edge (u0,v0) in the order
3? ?if u0 is not connected to v0 in Su
4??? ?E(Su):=E(Su)∪{(u0,v0)}
5? ?end if
6 end
End
在完成上述過程后,調整節點發射功率,使之能與最遠的鄰居節點通信。最后將拓撲圖中的單向邊刪去,僅保留雙向連通的鏈路,保證網絡的雙向連通。
1.3 基于鄰近圖的仿真建模
本文使用OMNET++(Objective Modular Network TestBed in C++)仿真軟件進行實驗的仿真。
1.3.1 節點模塊構成
在OMNET++中其實節點也可以看成是一個混合模塊,只是有幾個混合模塊和簡單模塊相互連接就構成了節點。在本文的實驗中建立了最基本的節點模塊:BaseNode。參數如下:
parameters:
string applType; //type of the application layer
string netwType; //type of the network layer
string mobType; //type of the mobility module可以設置節點是否移動
@display("bgb=301,256,white");
整個節點內部個模塊之間的連接:
nic.upperGateOut --> net.lowerGateIn;
nic.upperGateIn <-- net.lowerGateOut;
nic.upperControlOut --> { @display("ls=red;m=m,70,0,70,0"); } -->net.lowerControlIn;
nic.upperControlIn <-- { @display("ls=red;m=m,70,0,70,0"); } <--net.lowerControlOut;
net.upperGateOut --> appl.lowerGateIn;
net.upperGateIn <-- appl.lowerGateOut;
net.upperControlOut --> { @display("ls=red;m=m,70,0,70,0"); } -->appl.lowerControlIn;
net.upperControlIn <-- { @display("ls=red;m=m,70,0,70,0"); } <-- appl.lowerControlOut;
radioIn --> nic.radioIn;
1.3.2 功率與通信距離
在接收靈敏度一定情況下,采用無線發射功率P和接收半徑R之間關系是:
P∝Rn(2 < n < 5)(1)
也就是P可能會遠遠大于R2。n的取值與很多因素有關,主要是環境因素,在本文的實驗環境中,通過設置一系列參數之后,使得n取值為3,與一般實際情況相符合。一般而言,傳感器節點的無線通信半徑在100 m以內比較合適。因此,本文選擇0~99 m作為節點通信實驗的測試距離。
1.3.3 功率調節
將路徑損失系數alpha設置為3.0,將最小信號衰減閥值sat設置為-84 dBm,載波頻率carrierFrequency設置為2.412e+9 Hz。在OMNET++中有對于發射功率和節點間距的一個計算函數,但是在仿真過程中發現,在距離超過50 m的時候就存在較大的偏差,因此,本文分別通過調節節點發射間距和節點發射功率,得出兩者之間的函數關系。然后再另選一些點,并且根據兩者之間的距離,將他們的功率調節為由公式計算得出的值,驗證是否能夠相互通信。
2 基于鄰近圖的仿真結果分析
2.1 調整功率與通信距離的關系
2.1.1 實驗場景
對于本次實驗場景已有一定的描述,如圖2所示。
node[0]向周圍發送BROADCAST_MESSAGE信號,如果node[1]在收到發送的信號之后認為該信號是有效信號,即信號強度大于sensitivity則認為是有效信號,發送BROADCAST_REPLY_MESSAGE。否則,node[1]節點將會將該廣播信號認為是干擾信號直接丟棄。
2.1.2 節點距離與發射功率的關系
根據功率調整與距離調節的方式,探討節點距離與發射功率之間的關系,分別測量了間距為10~99 m之間的發射功率,結果如表1所示。隨著間距的不斷增大調整功率隨之增大,并在間距為99 m時,功率達到100 mW。
2.2 鄰近圖算法控制與網絡生命周期分析
2.2.1 改進DRNG和DLSS算法功率比較
在200 m * 200 m的范圍內設置10個隨機分布的節點,節點的最大發射功率為100 mW,節點的最大發射距離為99 m。根據改進DRNG和DLSS算法,分別計算得到節點對應的發射功率。節點分布如圖3所示。
由圖3可知,除0號節點外,在改進DRNG和DLSS算法的相同坐標下的發射功率均一致。而在0號節點中,DLSS算法的發射功率較大,達到10.1 mW。
2.2.2 仿真實驗與結果
圖4顯示了網絡運行中的節點建立拓撲的過程,在建立初期,已經確立了每個節點的發射功率。圖4(a)中的node[8]首先發送廣播消息,圖4(b)的node[9]節點和node[5]同時接收到廣播消息,形成消息隊列,node[9]節點首先轉發reply消息,然后node[5]節點轉發消息,如圖4(c)所示。
(a) node[8]發送廣播信號(b) node[7]發送reply信號(c) node[5]發送reply信號圖4 節點信號發送過程圖
如果網絡節點的初始發射功率為最大值,經過如圖4的網絡節點不斷轉發探測過程,建立了網狀的網絡拓撲關系圖如圖5(a)所示。用改進DRNG拓撲控制算法即按照表1發射功率,確立的拓撲結構如圖5(b)所示。圖5(c)是按照DLSS算法得到個拓撲結構。
從圖5中可以看出,在網絡的拓撲結構中無論是采用改進DRNG算法還是DLSS算法優化,拓撲圖都比原始圖更簡化,從而實現通信網絡的節能與生存時間的延長。對比圖5(b)和圖5(c)可以看出在網絡通信鏈路上DLSS算法優化的路徑比較單一化,僅僅存在一條通信回路,所以DLSS算法優化的拓撲網絡比改進DRNG算法更節能。然而,改進DRNG算法優化的拓撲結構中存在兩條可選擇的通信鏈回路,在網絡結構穩定性上比DLSS算法更好,既保證了網絡結構的通信降能耗,也保障網絡結構通信的穩定性。因此,在實際應用中改進DRNG算法相較于DLSS算法更具推廣性與實用性。
3 結論
拓撲控制技術是無線傳感網絡實現節能降耗,延長通信生命周期的關鍵。本文在原有DRNG算法的基礎上,利用尋找最遠通信節點的方式重新對算法進行優化,并與經典DLSS算法和原始拓撲結構進行比較分析與仿真,得到以下結論:改進DLSS算法與DRNG算法都能夠實現通信拓撲結構的簡化,達到降能的目的;改進DRNG算法比DLSS算法優化的拓撲結構的魯棒性更好,更適合實際應用推廣。
參考文獻:
[1] 李安瑩,房鑫平,孫福陽.無線傳感器網絡拓撲控制研究綜述[J].中國新技術新產品,2015(23):17.
[2]? 司永潔,張健.低損耗無線傳感器網絡拓撲控制算法仿真[J].計算機仿真,2019,36(10):273-276.
[3]? 陳軍.無線傳感器網絡啟發式分簇拓撲控制方法[J].科學技術與工程,2018,18(19):94-99.
[4]? 劉志龍,張淋江,周紅雷,等.非均勻分簇無線傳感器網絡拓撲控制仿真[J].計算機仿真,2019,36(4):260-264.
[5]? 宋偉奇,王代遠.基于節點優化的無線傳感網絡拓撲控制方法研究[J].廣西民族大學學報(自然科學版),2019,25(3):80-83.
[6]? 陳功平,王紅.基于鄰近圖拓撲構造算法的仿真設計[J].綏化學院學報,2020,40(2):158-160.
[責任編輯:許立群]