曹 斌,陳 萍
(黃淮學院 信息工程學院, 河南 駐馬店 463000)
無線傳感網絡(Wireless Sensor Networks,WSNs)是一種自組織網絡結構。通過大量傳感節點實時感測環境數據,使得WSNs在多個領域得到廣泛使用[1]。然而,在多數應用中,所接收到的數據只有在知道其位置信息的前提下才是有效的。因此,節點位置信息對整個網絡的管理決策有十分重要的意義。
通常,WSNs采用一部分已知位置的節點(信標節點)的位置信息,估計其他節點(未知節點)的位置。為了減少信標節點數量,常采用移動信標策略。即信標在監測區域依據預定或隨機路徑移動,并不斷地發送beacon包。未知節點通過接收beacon包,實現節點定位。研究表明,相比于靜態信標,移動信標定位算法具有更高的定位精度[2-3]。
然而,目前多數定位算法只關注定位精度,并沒有考慮定位能耗問題[4]。畢竟WSNs內的節點是由電池供電,其能量受限。一旦節點能量耗盡,節點無法接收beacon包,更無法實現定位。因此,在實施定位算法時,需考慮到算法的能耗。
例如,Javad等[2]提出移動信標的節點定位算法。信標節點依據預定的z曲線移動。研究表明,該算法具有高的定位精度。但是,其并沒有分析算法的能耗問題。為此,本文以基于預定的移動路徑的定位算法為對象,以降低能耗為研究內容。
傳輸數據消耗了節點的大部分能量[5]。而動態地調整節點的傳輸功率能夠有效地降低節點能耗。Cotuk等[6]證實,通過采用傳輸功率控制(Transmission Power Control,TPC)策略,能夠有效地降低能耗,提高網絡壽命[6]。
為此,針對z-字型路徑的移動信標定位算法,提出了基于三步策略的信標傳輸功率的調整 (Three-step strategy based adjusting transmission power,TSATP) 算法。TSATP采用三步功率調整的節點的傳輸功率,進而控制信標的發射功率算法TSATP。仿真結果表明,提出的TSATP算法能夠有效地控制能耗。
能耗是所有WSNs設備必須關注的問題,特別是移動信標輔助定位的目標應用。制定能耗低的移動軌跡是提高能量效率的有效策略。在移動信標輔助定位算法中,無意中偷聽(overhearing)是能量浪費的主要因素。
Rezazadeh等[2]引用z-字型的移動路徑,獲取較高的定位性能。其將整個網絡劃分四個子區域,每個子區域具有一個中心位置。信標就依據z-字型遍歷每個中心位置,如圖1所示。整個網絡劃分為A1、A2、A3和A4四個子區域,這四個區域的中心位置分別為c1、c2、c3和c4。而c0表示整個網絡的中心位置。


圖1 信標移動模型
從圖1可知,采用Rc作為信標的傳輸半徑。盡管能覆蓋更多的節點,但并沒有考慮能耗問題。為此,本文擬通過調整信標的傳輸半徑,降低節點功率,進而降低能耗。
TSATP算法采用三步策略調整信標的傳輸功率,進而降低能耗。將第一步稱為初始階段;第二步稱為中間階段;第三步,稱為終結階段。依據信標在這三個階段的不同位置,調整信標的傳輸半徑,進而優化信標的發射功率。
假定信標首先從c1∈A1位置傳輸第一個beacon消息。而c2∈A2是緊隨其后的第二個傳輸beacon消息的位置。將這兩個位置定義為初始狀態PS:
PS={c1,c2}
(1)
令Ni表示信標在位置ci時的鄰居節點集,且i=1,2,3,4。對于任意i值,Ni內的節點有的屬于同一個子區域,有的可能來自鄰居子區域。因此,N1、N2分別滿足如下式(2)、式(3):
N1={si|si∈A1∪ ∪A2∪A3}
(2)
N2={si|si∪A1∪A2∪A4}
(3)
令PSrec表示在初始狀態時能夠收到beacon消息的傳感節點集,其可表述為:
PSrec=N1∩N2={si|si∈A1∪A2}
(4)


圖2 初始階段
本階段通過調整傳輸功率,避免偷聽,進而提高移動信標的能效。完成了初始階段后,信標移動到網絡中心位置c0。因此,此階段稱為中間階段(Middle State,MS)。
當信標移動至c0時,四個子區域內節點稱為信標的鄰居節點,即它的鄰居節點集N0可表示為:
N0={si|si∈A1∪A2∪A3∪A4}
(5)
為了動態地調整信標節點的傳輸功率,又能使得信標廣播的beacon消息能覆蓋N0的所有節點,信標的傳輸半徑需滿足以下兩個約束條件:
① 在c0位置傳輸的beacon包必須覆蓋N1、N2,使得PSrec的節點接收最后一個非共線的beacon包,進而完成位置估計;
② 在c0位置傳輸的beacon包必須能夠覆蓋N0。

(6)
式(6)中,DM表示網絡區域的對角線長度。


圖3 中間階段
將信標移動至c3和c4時期稱為終結階段。通過此階段幫助所有節點完成定位。由于位于A3和A4子區域內的未知節點已接收了來自初始階段、中間階段的beacon消息。因此,只要它們接收了最后一個非共線的beacon消息,便可實現定位。
令SSres表示這些未知定位節點集,有:
SSres={si|si∈A3∪A4}
(7)

(8)

圖4 終結階段
盡管第2節描述了如何調整傳輸半徑,但調整傳輸半徑的最終目的是優化發射功率,減少能耗。當然,不能一味地降低傳輸功率,必須在保證一定的數據包接收率條件下,最小化發射功率。
令pr表示數據包接收成功率。通常pr大于0.9,才認為網絡是連通的。依據通信理論,pr值與信噪比(Signal Noise Ratio,SNR)直接相關。依據文獻[5]的理論模型,可建立pr與SNR的函數關系為:
(9)
式(9)中,γ為信噪比SNR;n表示一幀數據的尺寸。例如,若采用TinyOS系統[7],n=20 Bytes。
將式(9)進行數學變換,可得:
(10)
若信噪比γ采用dB單位,則式(10)可轉換成:
(11)

(12)
(13)
(14)


此外,路徑損耗的參數值如表1所示。每次仿真重復50次,取平均值作為最終實驗數據。

表1 路徑損耗參數值
選擇Z-Curze[2]、SCAN[9]和CIRCLES[10]算法作為參照,并對比分析TSATP算法的性能。Z-Curze只關注了定位精度,并沒有考慮信標的能耗問題。
移動信標的能耗隨R/d的變化情況如圖5所示。從圖5可知,移動信標的能耗隨R/d的增加而上升。原因在于:R/d越大,信標傳輸距離越大,消耗的能量就越多。與其他算法相比,提出的TSATP算法所消耗的功率最少。這主要是因為TSATP算法采用了功率控制。

圖5 移動信標的能耗
傳感節點的能耗隨R/d的變化情況如圖6所示。

圖6 傳感節點的能耗
從圖6可知,與移動信標的能耗不同,傳感節點的平均能耗與R/d并不呈線性關系。當R/d=1時,傳感節點的能耗最小。此外,與CIRCLES和SCAN、Z-Curze算法相比,提出的TSATP算法的能耗最低。這主要是因為:移動信標在移動過程調整傳輸半徑,降低了傳感節點偷聽beacon消息的次數,減少了傳感節點在定位過程中的能耗。
通過動態地調整傳輸功率能夠有效地降低定位過程中所產生的能耗,也有利于擴延網絡壽命。TSATP算法依據信標所在位置,在保證節點完成定位的同時,最小化覆蓋半徑,進而降低信標的發射功率。同時,依據數據包的接收率,推導了節點發射功率與傳輸半徑的關系。實驗數據表明,相比于Z-Curze,TSATP算法的信標、傳感節點能耗分別下降了約25.37%、34.09%。