無線傳感器網絡中地理能量感知路由的改進
摘要:無線傳感器網絡的首要設計目標是能量的高效利用,所以設計其路由協議需要重點考慮能耗問題。針對WSN的GEAR路由協議,提出一種能耗上的改進方案并進行仿真,仿真結果顯示,該方案能明顯降低能耗。
本文引用地址:http://www.j9360.com/article/89284.htm關鍵詞:無線傳感器網絡; 路由; 地理能量感知路由; 節能路由
引言
無線傳感器網絡是由部署在監測區域內的大量廉價的微型傳感器節點,通過無線通信的方式形成的一個多跳自組織網絡系統,其目的是協作地感知、采集和處理覆蓋區域內的事件信息,并發送給觀察者。由于節點能量有限且補充困難,無線傳感器網絡的首要設計目標是能量[6]的高效利用。本文在原有GEAR[1]路由協議基礎上提出改進方法,從而在路由協議[4]上節省無線傳感器節點有限的能量,并提高整個網絡的生存周期。
GEAR協議介紹和改進
GEAR[5](Geographical and Energy Aware Routing)路由協議是根據事件區域的地理位置信息,建立匯聚節點到事件區域的優化路徑,避免了泛洪查詢消息,從而減少了建立路由的開銷。但是傳統的GEAR路由機制由于缺乏足夠的拓撲信息,路由過程中會遇到路由空洞[2]的現象。
本文提出了考慮兩跳節點信息的路由機制,大大減少了路由空洞出現的概率,降低了每次成功查詢的平均能耗;根據無線發射功率和通信半徑的關系,由通信距離確定發射功率[3],并在路由選擇時考慮發射功率,提出了更加節省能量的GPEAR路由機制。
GEAHAR路由機制
過多的路由空洞會消耗很多不必要的能量,降低整個網絡的通信效率。為了減少或避免路由空洞,節點需要知道更多的拓撲信息,這就是GEAHAR(Geographical energy aware and hole avoid routing)機制提出的依據。基本思想是在查詢消息時,節點選擇下一跳節點不僅僅考慮鄰居一跳節點的代價值最小,而是考慮兩跳的信息。
鄰居節點是指節點一跳通信范圍內可以到達的所有節點的集合。如(1)式定義,dmax為節點最大通信距離,為所有節點的集合。
NbNi={Nj|d(Nj,Ni)}
≤dmax,Nj∈N}(1)
節點Ni選擇下一跳Nnext(i)的依據如(2)式。Nbi為節點Ni的鄰居節點集合,NbNbi(j)為節點Ni的鄰居節點Nbi(j)的鄰居節點集合。β為比例系數,取值范圍為0~1。β取值為1,算法退化為一跳的GEAR路由機制。式中需要注意的是NbNbi(j)(k)≠Ni,即第二跳節點不能選擇當前節點,否則將出現返回路由的現象,這將大量消耗不必要的能量。
Nnext(i)=min(βc(Nbi(j),T)+(1-β)min(c(NBNbj(j)(k),T)))Nbi(j)∈Nbi,NbNbi(j)(K)∈NbNbi(j),NbNb(j)(k)≠Ni(2)
GPEAR路由機制
在接收靈敏度一定的情況下,無線發射功率P和接收半徑R之間關系是P正比于R2~R5,也就是P可能會遠遠大于R2。如果在節點間通信時考慮通信的距離,適當調整發射功率,而不是使用相同的發射功率(這樣的話只能以最大通信距離來發射),則可以大大降低通信的能耗,延長整個網絡的壽命,降低每個數據包的通信代價。
GPEAR(Geographical and physical energy aware routing)路由機制是在傳統GEAR路由機制作下一跳路由選擇時,考慮物理層發射功率與通信半徑的關系,從而做出更加適合的選擇。
假設無線通信部分能量消耗與通信距離的四次方成正比,并將發射功率分為5檔,見表1。
表1 發射功率與通信半徑的關系
GPEAR路由機制則是選擇鄰居節點中代價值和發送一跳的通信代價的聯合最小的節點作為下一跳節點,如式(3)所示:
Nnext(Ni)={Nj|min(h(Ni,Nj,T)=rc(Nj,T)+(1-r)Esend(Ni,Nj)),Nj∈NbNi} (3)
式中,Nnext(Ni)為節點Ni選擇的下一跳節點;h(Ni,Nj,T)為節點Ni經由Nj到事件區域T的新代價值;Esend(Ni,Nj)為節點Ni到節點Nj的通信代價,如表1中的歸一化數值;NbNi為節點Ni的鄰居節點集合;r為比例系數,取值范圍為0~1。
仿真環境
仿真條件假設
(1)查詢信息中包含了目標區域(即事件區域)的位置,此處假設用目標區域的中心位置作為目標區域的位置;
(2)每個節點都知道自己的位置信息和剩余能量,并且可以通過一個簡單的Hello機制獲取鄰居節點的位置信息和剩余能量。節點的位置信息可以使用低成本的GPS定位機制或者其他現成的定位機制獲得;
(3)節點間的鏈接是雙向的,即如果節點可以獲得鄰居節點的訪問,則節點也可以訪問鄰居節點,這對于一般的MAC協議,如IEEE 802.11,都是容易實現的;
(4)節點每消耗總能量的10%時,通知鄰居節點自己的剩余能量信息,用于更新鄰居節點中的鄰居節點列表信息;當節點剩余能量小于一個閾值時,將通知自己的鄰居節點,將自己從鄰居節點列表中刪除,表示該節點已經死亡。
仿真參數
在100m*100m的區域內,隨機分布200個傳感器節點,節點初始能量為1000J,節點死亡能量閾值為5J,最大通信距離為25m,最大通信距離通信時,每次消耗1J能量。對于GPEAR算法,通信能耗與通信距離的關系由表1給出。仿真環境假設會聚節點(Sink)在整個區域的中心(50,50)處,四個事件區域在整個區域的四個角上(0,0)、(0,100)、(100,0)和(100,100),每個事件區域做100次查詢后,輪流轉換。
3 測試標準
(1)查詢成功次數:只有成功的查詢對用戶才是有用的,所以網絡能夠進行的成功查詢次數可以體現網絡的生存周期和傳輸可靠性。
(2)每次成功查詢平均消耗的能量:該標準體現了整個網絡能量的利用效率。
每次查詢的平均消耗能量為整個網絡消耗能量除以成功查詢的次數,如式(4)所示。
仿真結果
圖1 衰減指數對算法性能的影響
圖1的結果表明,隨著衰減指數(衰減指數為2表示發射能量和通信半徑的二次方成正比,依次類推)的增長, GPEAR算法的性能則改善非常明顯。
圖2最大允許跳數對算法性能的影響
圖2結果表明,最大允許跳數(即查詢從Sink節點到目的節點經由的最大節點數,若超過這個最大數,則認為查詢失敗)對各算法的影響不是很敏感。若最大允許跳數小于15,GPEAR算法的成功查詢次數將大大下降,每次成功查詢的平均能耗也大大增加,這個是因為GPEAR算法的本質是通過縮短每次通信半徑以降低總的查詢能耗,而這樣會增加中間經由節點的數量,顯然若最大允許跳數太小,將會使失敗次數大大增加。另外GEAHAR算法要求最大允許跳數不能太大,否則會使失敗查詢消耗過多的能量,相對這種能耗過大更優的方法是重新發送查詢信息。
綜合圖1和圖2表明,對于每次成功查詢平均消耗的能量:
(1)GEAHAR算法比GEAR算法約降低5%;
(2)當衰減指數為4、最大允許跳數為25時,GPEAR算法比AGEAR算法降低約60%。
圖3 GEAHAR算法中β參數的影響
圖3結果表明,β值在0.3~0.7時,GEAHAR算法性能基本是穩定的,而β過小或者過大則對算法性能影響較大。
圖4結果表明,參數y對GPEAR算法的性能有一定影響,參數y需要根據具體應用環境選擇,根據區域內的節點密度和衰減指數有關。
圖4 GPEAR算法中參數y的影響
結語
本文在GEAR路由的基礎上,以節約網絡節點能耗和延長網絡生存周期為目標,提出了GEAHAR和GPEAR路由算法。仿真結果表明新的算法顯著提高了網絡成功查詢次數,降低了每次查詢消耗的平均能量,從而達到了提高能量利用效率的效果。
參考文獻:
1. Yu Y, Govindan R, Estrin D. Geographical and energy aware routing: A recursive data dissemination protocol for wireless sensor networks[R].UCLA Computer Science Department,2001,1—23.
2. 孫利民,無線傳感器網絡,清華大學出版社,2005
3. 孫雨耕、田飛,無線傳感器網絡中一種能量有效的混合式拓撲算法,電子測量技術,2007,30(11):69-73
4. 戴世瑾、張翼德,無線傳感器網絡的路由協議研究與分析,計算機應用研究,2006,23(12):294-297
5. 萬東,無線傳感網絡路由算法的研究,浙江大學信息科學與工程學院,2006.
6. 高鍵,ZigBee無線傳感器網絡節點的耗能研究,電子測試,2008,2(2):102-106.
7. 趙海霞,無線傳感器網絡GEAR協議的一種改進方案,傳感器與微系統,2006,25(9):61-63.
8. 劉林峰、劉業、莊艷艷,高效能耗傳感器網絡的模型分析與路由算法設計,電子學報,2007,35(3):459-462.
評論