曹 斌,陳 萍
(黃淮學(xué)院 信息工程學(xué)院, 河南 駐馬店 463000)
無(wú)線(xiàn)傳感網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)是一種自組織網(wǎng)絡(luò)結(jié)構(gòu)。通過(guò)大量傳感節(jié)點(diǎn)實(shí)時(shí)感測(cè)環(huán)境數(shù)據(jù),使得WSNs在多個(gè)領(lǐng)域得到廣泛使用[1]。然而,在多數(shù)應(yīng)用中,所接收到的數(shù)據(jù)只有在知道其位置信息的前提下才是有效的。因此,節(jié)點(diǎn)位置信息對(duì)整個(gè)網(wǎng)絡(luò)的管理決策有十分重要的意義。
通常,WSNs采用一部分已知位置的節(jié)點(diǎn)(信標(biāo)節(jié)點(diǎn))的位置信息,估計(jì)其他節(jié)點(diǎn)(未知節(jié)點(diǎn))的位置。為了減少信標(biāo)節(jié)點(diǎn)數(shù)量,常采用移動(dòng)信標(biāo)策略。即信標(biāo)在監(jiān)測(cè)區(qū)域依據(jù)預(yù)定或隨機(jī)路徑移動(dòng),并不斷地發(fā)送beacon包。未知節(jié)點(diǎn)通過(guò)接收beacon包,實(shí)現(xiàn)節(jié)點(diǎn)定位。研究表明,相比于靜態(tài)信標(biāo),移動(dòng)信標(biāo)定位算法具有更高的定位精度[2-3]。
然而,目前多數(shù)定位算法只關(guān)注定位精度,并沒(méi)有考慮定位能耗問(wèn)題[4]。畢竟WSNs內(nèi)的節(jié)點(diǎn)是由電池供電,其能量受限。一旦節(jié)點(diǎn)能量耗盡,節(jié)點(diǎn)無(wú)法接收beacon包,更無(wú)法實(shí)現(xiàn)定位。因此,在實(shí)施定位算法時(shí),需考慮到算法的能耗。
例如,Javad等[2]提出移動(dòng)信標(biāo)的節(jié)點(diǎn)定位算法。信標(biāo)節(jié)點(diǎn)依據(jù)預(yù)定的z曲線(xiàn)移動(dòng)。研究表明,該算法具有高的定位精度。但是,其并沒(méi)有分析算法的能耗問(wèn)題。為此,本文以基于預(yù)定的移動(dòng)路徑的定位算法為對(duì)象,以降低能耗為研究?jī)?nèi)容。
傳輸數(shù)據(jù)消耗了節(jié)點(diǎn)的大部分能量[5]。而動(dòng)態(tài)地調(diào)整節(jié)點(diǎn)的傳輸功率能夠有效地降低節(jié)點(diǎn)能耗。Cotuk等[6]證實(shí),通過(guò)采用傳輸功率控制(Transmission Power Control,TPC)策略,能夠有效地降低能耗,提高網(wǎng)絡(luò)壽命[6]。
為此,針對(duì)z-字型路徑的移動(dòng)信標(biāo)定位算法,提出了基于三步策略的信標(biāo)傳輸功率的調(diào)整 (Three-step strategy based adjusting transmission power,TSATP) 算法。TSATP采用三步功率調(diào)整的節(jié)點(diǎn)的傳輸功率,進(jìn)而控制信標(biāo)的發(fā)射功率算法TSATP。仿真結(jié)果表明,提出的TSATP算法能夠有效地控制能耗。
能耗是所有WSNs設(shè)備必須關(guān)注的問(wèn)題,特別是移動(dòng)信標(biāo)輔助定位的目標(biāo)應(yīng)用。制定能耗低的移動(dòng)軌跡是提高能量效率的有效策略。在移動(dòng)信標(biāo)輔助定位算法中,無(wú)意中偷聽(tīng)(overhearing)是能量浪費(fèi)的主要因素。
Rezazadeh等[2]引用z-字型的移動(dòng)路徑,獲取較高的定位性能。其將整個(gè)網(wǎng)絡(luò)劃分四個(gè)子區(qū)域,每個(gè)子區(qū)域具有一個(gè)中心位置。信標(biāo)就依據(jù)z-字型遍歷每個(gè)中心位置,如圖1所示。整個(gè)網(wǎng)絡(luò)劃分為A1、A2、A3和A4四個(gè)子區(qū)域,這四個(gè)區(qū)域的中心位置分別為c1、c2、c3和c4。而c0表示整個(gè)網(wǎng)絡(luò)的中心位置。
圖1 信標(biāo)移動(dòng)模型
從圖1可知,采用Rc作為信標(biāo)的傳輸半徑。盡管能覆蓋更多的節(jié)點(diǎn),但并沒(méi)有考慮能耗問(wèn)題。為此,本文擬通過(guò)調(diào)整信標(biāo)的傳輸半徑,降低節(jié)點(diǎn)功率,進(jìn)而降低能耗。
TSATP算法采用三步策略調(diào)整信標(biāo)的傳輸功率,進(jìn)而降低能耗。將第一步稱(chēng)為初始階段;第二步稱(chēng)為中間階段;第三步,稱(chēng)為終結(jié)階段。依據(jù)信標(biāo)在這三個(gè)階段的不同位置,調(diào)整信標(biāo)的傳輸半徑,進(jìn)而優(yōu)化信標(biāo)的發(fā)射功率。
假定信標(biāo)首先從c1∈A1位置傳輸?shù)谝粋€(gè)beacon消息。而c2∈A2是緊隨其后的第二個(gè)傳輸beacon消息的位置。將這兩個(gè)位置定義為初始狀態(tài)PS:
PS={c1,c2}
(1)
令Ni表示信標(biāo)在位置ci時(shí)的鄰居節(jié)點(diǎn)集,且i=1,2,3,4。對(duì)于任意i值,Ni內(nèi)的節(jié)點(diǎn)有的屬于同一個(gè)子區(qū)域,有的可能來(lái)自鄰居子區(qū)域。因此,N1、N2分別滿(mǎn)足如下式(2)、式(3):
N1={si|si∈A1∪ ∪A2∪A3}
(2)
N2={si|si∪A1∪A2∪A4}
(3)
令PSrec表示在初始狀態(tài)時(shí)能夠收到beacon消息的傳感節(jié)點(diǎn)集,其可表述為:
PSrec=N1∩N2={si|si∈A1∪A2}
(4)
圖2 初始階段
本階段通過(guò)調(diào)整傳輸功率,避免偷聽(tīng),進(jìn)而提高移動(dòng)信標(biāo)的能效。完成了初始階段后,信標(biāo)移動(dòng)到網(wǎng)絡(luò)中心位置c0。因此,此階段稱(chēng)為中間階段(Middle State,MS)。
當(dāng)信標(biāo)移動(dòng)至c0時(shí),四個(gè)子區(qū)域內(nèi)節(jié)點(diǎn)稱(chēng)為信標(biāo)的鄰居節(jié)點(diǎn),即它的鄰居節(jié)點(diǎn)集N0可表示為:
N0={si|si∈A1∪A2∪A3∪A4}
(5)
為了動(dòng)態(tài)地調(diào)整信標(biāo)節(jié)點(diǎn)的傳輸功率,又能使得信標(biāo)廣播的beacon消息能覆蓋N0的所有節(jié)點(diǎn),信標(biāo)的傳輸半徑需滿(mǎn)足以下兩個(gè)約束條件:
① 在c0位置傳輸?shù)腷eacon包必須覆蓋N1、N2,使得PSrec的節(jié)點(diǎn)接收最后一個(gè)非共線(xiàn)的beacon包,進(jìn)而完成位置估計(jì);
② 在c0位置傳輸?shù)腷eacon包必須能夠覆蓋N0。
(6)
式(6)中,DM表示網(wǎng)絡(luò)區(qū)域的對(duì)角線(xiàn)長(zhǎng)度。
圖3 中間階段
將信標(biāo)移動(dòng)至c3和c4時(shí)期稱(chēng)為終結(jié)階段。通過(guò)此階段幫助所有節(jié)點(diǎn)完成定位。由于位于A3和A4子區(qū)域內(nèi)的未知節(jié)點(diǎn)已接收了來(lái)自初始階段、中間階段的beacon消息。因此,只要它們接收了最后一個(gè)非共線(xiàn)的beacon消息,便可實(shí)現(xiàn)定位。
令SSres表示這些未知定位節(jié)點(diǎn)集,有:
SSres={si|si∈A3∪A4}
(7)
(8)
圖4 終結(jié)階段
盡管第2節(jié)描述了如何調(diào)整傳輸半徑,但調(diào)整傳輸半徑的最終目的是優(yōu)化發(fā)射功率,減少能耗。當(dāng)然,不能一味地降低傳輸功率,必須在保證一定的數(shù)據(jù)包接收率條件下,最小化發(fā)射功率。
令pr表示數(shù)據(jù)包接收成功率。通常pr大于0.9,才認(rèn)為網(wǎng)絡(luò)是連通的。依據(jù)通信理論,pr值與信噪比(Signal Noise Ratio,SNR)直接相關(guān)。依據(jù)文獻(xiàn)[5]的理論模型,可建立pr與SNR的函數(shù)關(guān)系為:
(9)
式(9)中,γ為信噪比SNR;n表示一幀數(shù)據(jù)的尺寸。例如,若采用TinyOS系統(tǒng)[7],n=20 Bytes。
將式(9)進(jìn)行數(shù)學(xué)變換,可得:
(10)
若信噪比γ采用dB單位,則式(10)可轉(zhuǎn)換成:
(11)
(12)
(13)
(14)
此外,路徑損耗的參數(shù)值如表1所示。每次仿真重復(fù)50次,取平均值作為最終實(shí)驗(yàn)數(shù)據(jù)。
表1 路徑損耗參數(shù)值
選擇Z-Curze[2]、SCAN[9]和CIRCLES[10]算法作為參照,并對(duì)比分析TSATP算法的性能。Z-Curze只關(guān)注了定位精度,并沒(méi)有考慮信標(biāo)的能耗問(wèn)題。
移動(dòng)信標(biāo)的能耗隨R/d的變化情況如圖5所示。從圖5可知,移動(dòng)信標(biāo)的能耗隨R/d的增加而上升。原因在于:R/d越大,信標(biāo)傳輸距離越大,消耗的能量就越多。與其他算法相比,提出的TSATP算法所消耗的功率最少。這主要是因?yàn)門(mén)SATP算法采用了功率控制。
圖5 移動(dòng)信標(biāo)的能耗
傳感節(jié)點(diǎn)的能耗隨R/d的變化情況如圖6所示。
圖6 傳感節(jié)點(diǎn)的能耗
從圖6可知,與移動(dòng)信標(biāo)的能耗不同,傳感節(jié)點(diǎn)的平均能耗與R/d并不呈線(xiàn)性關(guān)系。當(dāng)R/d=1時(shí),傳感節(jié)點(diǎn)的能耗最小。此外,與CIRCLES和SCAN、Z-Curze算法相比,提出的TSATP算法的能耗最低。這主要是因?yàn)椋阂苿?dòng)信標(biāo)在移動(dòng)過(guò)程調(diào)整傳輸半徑,降低了傳感節(jié)點(diǎn)偷聽(tīng)beacon消息的次數(shù),減少了傳感節(jié)點(diǎn)在定位過(guò)程中的能耗。
通過(guò)動(dòng)態(tài)地調(diào)整傳輸功率能夠有效地降低定位過(guò)程中所產(chǎn)生的能耗,也有利于擴(kuò)延網(wǎng)絡(luò)壽命。TSATP算法依據(jù)信標(biāo)所在位置,在保證節(jié)點(diǎn)完成定位的同時(shí),最小化覆蓋半徑,進(jìn)而降低信標(biāo)的發(fā)射功率。同時(shí),依據(jù)數(shù)據(jù)包的接收率,推導(dǎo)了節(jié)點(diǎn)發(fā)射功率與傳輸半徑的關(guān)系。實(shí)驗(yàn)數(shù)據(jù)表明,相比于Z-Curze,TSATP算法的信標(biāo)、傳感節(jié)點(diǎn)能耗分別下降了約25.37%、34.09%。