金 鑫, 易曉梅
(浙江農林大學 信息工程學院,浙江 臨安 311300)
研究節(jié)能均衡的路由算法對無線傳感器網絡(wireless sensor networks,WSNs)的發(fā)展意義重大[3]。文獻[4]提出了一種改進的低能量自適應聚簇分層(low energy adaptive clustering hierarchy,LEACH)路由協議,該協議根據簇頭數量估算某個節(jié)點成為簇頭的概率,并周期性的進行簇頭選舉。文獻[5]提出了一種非均勻的分簇方法使得簇頭能量消耗均衡。分簇路由算法屬于層次路由算法的一種,適用于大規(guī)模的WSNs,但存在一些不足,如很容易導致某些簇頭過熱而使該節(jié)點能量提早消耗殆盡,造成網絡空洞。
WSNs鏈路式路由算法適合小規(guī)模的傳感器網絡,如文獻[6]提出了一種基于改進蟻群算法的WSNs路由協議,對蟻群算法進行改進,充分考慮了轉發(fā)節(jié)點的剩余能量,因此能達到均衡網絡能耗的目的。文獻[7]提出了一種基于能耗均衡的可靠路由協議,綜合考慮了節(jié)點的剩余能量、距離Sink節(jié)點的跳數以及向量節(jié)點間的距離,因此在停車誘導系統中表現出了優(yōu)秀的均衡性。文獻[8]提出了一種適用于樓宇的WSNs能耗均衡路由協議,在平面路由協議的基礎上增加了負載均衡的概念,延長了網絡的生存時間。文獻[9]研究了一種基于代價函數的WSNs能效路由協議,該代價函數考慮了發(fā)送節(jié)點、轉發(fā)節(jié)點以及接收節(jié)點的剩余能量使得網絡能耗均衡。文獻[10,11]都研究了合理的代價函數,通過計算代價選擇合理的轉發(fā)節(jié)點以達到能耗均衡的目的。
以上研究在能耗均衡方面考慮的并不是很完善,有些研究需要特定條件的傳感器,如需要傳感器節(jié)點的位置信息、障礙物感知能力等,但普通的傳感器節(jié)點需要通過定位算法或全球定位系統(global positioning system,GPS)模塊才能獲取位置信息,且很少有傳感器節(jié)點能主動感知到障礙物。本文針對上述問題提出一種適合普通節(jié)點的能耗均衡路由協議,該協議充分考慮了節(jié)點剩余能耗、距離Sink節(jié)點跳數、鏈路質量以及丟包率等因素,使得傳感器網絡能耗均衡且信息傳輸可靠度高。
假設傳感器節(jié)點具有如下性質:1)傳感器網絡中節(jié)點都具有唯一的ID號;2)所有傳感器節(jié)點初始能量相同且能量受限,但是Sink節(jié)點能量不受限;3)節(jié)點位置未知;4)當兩個節(jié)點間的丟包率發(fā)生突變時認為兩個節(jié)點間出現障礙物或障礙物消失。
定義1傳感器網絡節(jié)點在t時刻的剩余能量均值和方差作為評價傳感器網絡能量均衡的標準,均值越大,說明路由協議越節(jié)能;方差越小,說明網絡中能量分布越均衡。網絡能量的均值(A(t))和方差(V(t))分別為
(1)
式中Ei(t)為節(jié)點運行t時刻后剩余的能量;M為傳感器網絡中除Sink節(jié)點外的存活節(jié)點數量。均值越大且方差越小時認為該路由協議能起到很好的能耗均衡作用。
定義2WSNs的生存周期為網絡中前10 %的節(jié)點能量耗盡的時間。
本文采用文獻[12]的無線能耗模型,包括發(fā)送能耗模型和接收能耗模型,其中發(fā)送能耗主要包括信號發(fā)射電路和信號放大電路,接收能耗主要包括信號接收電路。由于和通信能耗相比,節(jié)點內部的其他能耗較低,因此忽略。
數據包發(fā)送過程中發(fā)送節(jié)點和接收節(jié)點的能耗為
Etx=k×Ee+k×εamp×dn,Erx=k×Ee
(2)
WSNs通過廣播信標(beacon)幀建立網絡的拓撲結構。首先Sink節(jié)點開始向其鄰居發(fā)送信標幀,鄰居節(jié)點接收到信標幀后從信標幀中獲取發(fā)送節(jié)點的編號(節(jié)點ID)、剩余能量(ENERGY)、接收信號強度指示(received signal strength indication,RSSI)、節(jié)點間通信鏈路質量指示(link quality indication,LQI)和距離Sink節(jié)點的最小跳數HOP和節(jié)點與其鄰居節(jié)點之間的丟包率(packet loss rate,PLR)。節(jié)點利用這些信息建立鄰居節(jié)點路由表,路由表的格式如表1所示。
表1 鄰居節(jié)點路由表
網絡拓撲的建立過程如圖1所示,圓形表示傳感器節(jié)點,字母表示節(jié)點編號,數字為距離Sink節(jié)點的最短跳數,在初始時刻每個節(jié)點距離Sink節(jié)點的最小跳數為無窮大。
圖1 網絡拓撲建立
1)初始時刻,Sink節(jié)點向外廣播信標幀,如圖1(a)所示,其中,傳感器節(jié)點b,c,d,e,f收到了信標幀,則這些節(jié)點記錄距離Sink節(jié)點的最小跳數為1跳。2)收到信標幀的節(jié)點再次向其鄰居節(jié)點廣播信標幀,如圖1(b)中c節(jié)點收到Sink的信標幀后又向其鄰居節(jié)點轉發(fā)信標幀,a,h節(jié)點收到信標幀后記錄距離Sink節(jié)點的跳數為2,而d節(jié)點是Sink節(jié)點的鄰居節(jié)點又是c節(jié)點的鄰居節(jié)點,當其收到c節(jié)點轉發(fā)的信標幀時,并不更新跳數,而是保持原來的最小跳數1跳。3)當所有節(jié)點都向鄰居節(jié)點轉發(fā)了信標幀后,網絡拓撲建立完成,如圖1(c)所示。
通過上述方法建立了網絡拓撲結構,每個節(jié)點都建立了鄰居節(jié)點路由表。
為了使傳感器網絡能耗均衡,轉發(fā)節(jié)點的選擇方法至關重要。假設節(jié)點i采集了數據,則需要將數據轉發(fā)給其鄰居節(jié)點j,但存在多個鄰居節(jié)點,節(jié)點i根據存儲在路由表中的鄰居節(jié)點信息,計算、選擇轉發(fā)代價最小的鄰居節(jié)點作為轉發(fā)節(jié)點。代價函數為
(3)
式中E0為節(jié)點初始能量;Ei為節(jié)點i的剩余能量;Ej為鄰居節(jié)點j的剩余能量;Rij為節(jié)點i和節(jié)點j之間的信號強度;Rmin為節(jié)點i與鄰居節(jié)點的信號強度最小值,因為信號強度為負值,因此,|Rmin|最大;Lij為節(jié)點i與鄰居節(jié)點j之間的鏈路質量;Lmax為節(jié)點i與鄰居節(jié)點的鏈路質量最大值;Hj為鄰居節(jié)點j距離Sink節(jié)點的跳數;Hmax為節(jié)點i的鄰居節(jié)點中距離Sink節(jié)點最大跳數;α,β,χ,γ為常數,且α+β+χ+γ=1,在實際應用中需要根據經驗取值。
代價函數考慮了式中各參量對消息轉發(fā)消耗能量的影響,利于協議選取最小代價進行路由選擇。
采用MATLAB平臺進行仿真實驗,實驗中傳感器節(jié)點部署區(qū)域是一個長為150 m,寬為90 m的矩形區(qū)域,如圖2所示,傳感器節(jié)點在部署區(qū)域中滿足泊松分布,Sink節(jié)點位于部署區(qū)域右側正中間。文獻[11]提出了傳感器節(jié)點真實情況下的能耗參數,實驗中相關參數為:Ee為50 nJ/bit;d 圖2 節(jié)點部署區(qū)域 傳感器網絡的能量均值如圖3所示,本文的路由協議剩余能量略低于ACO路由協議,因為ACO路由協議總是按照最短路徑發(fā)送數據包,但本文提出的路由協議需要考慮能耗均衡,平均發(fā)送路徑的跳數要多于ACO路由協議,因此,消耗的能量略高于ACO路由協議。 圖3 能量均值 實驗發(fā)現剩余能量均值并不能反映出路由協議的能耗均衡性,通過剩余能量方差驗證提出的路由協議的能耗均衡性。實驗結果如圖4所示,結果表明使用ACO路由協議的方差比本文提出的路由協議大,且方差增長速度大,隨著發(fā)送數據包數量以指數增長,而本文提出的路由協議方差與發(fā)送數據包數量呈正相關。因為本文路由協議中,當下一跳節(jié)點被選擇為轉發(fā)節(jié)點的頻率太高,消耗能量多時,根據代價函數計算的代價機會變大,則下一次被選擇為轉發(fā)節(jié)點的概率就降低,因此本文路由協議會根據代價動態(tài)的選擇其他節(jié)點,在傳輸數據包的過程中能量消耗比較均勻,傳感器網絡能量剩余方差比較小,且增長速度也比較緩慢。 圖4 剩余能量方差 能耗均衡的目的是為了防止網絡中某些節(jié)點過早死亡而出現網絡空洞。文中假設傳感器網絡中前10 %的節(jié)點死亡意味著傳感器網絡的死亡,本文利用傳感器網絡的最大發(fā)包數量表示傳感器網絡的生存時間。實驗結果如圖5所示。每次實驗,傳感器節(jié)點都滿足泊松分布部署在區(qū)域中,不同實驗,網絡拓撲圖不同。 圖5 網絡生存時間 實驗結果表明本文提出的路由協議比ACO路由協議發(fā)送的數據包多,傳感器網絡每隔一定的時間采集1次數據,并發(fā)送給Sink節(jié)點,使用本文提出的路由協議網絡生存時間得到了延長。從實驗結果可知,不同的網絡拓撲對網絡的生存時間也存在影響。 設計了一種綜合考慮了節(jié)點剩余能量、跳數、信號強度和鏈路質量的路由協議,能很好地均衡網絡中的能量,延長了網絡的生存時間。但該協議還存在不足之處,如更適合小規(guī)模的傳感器網絡,后續(xù)將針對大規(guī)模傳感器網絡設計一種能量均衡的路由協議。4.1 傳感器網絡能量均值測試
4.2 傳感器網絡能量方差測試
4.3 傳感器網絡生存時間
5 結 論