基于最小能耗的無線傳感器網(wǎng)絡(luò)路由算法
摘要:通過分析無線傳感器網(wǎng)絡(luò)的電路模型和能量消耗情況,結(jié)合LEACH算法,提出一種基于最小能耗的無線傳感器網(wǎng)絡(luò)路由算法。網(wǎng)絡(luò)運行時首先將其劃分為若干個子區(qū)域,再進行簇首節(jié)點的選取,這樣取代了傳統(tǒng)LEACH算法對整片網(wǎng)絡(luò)隨機選取簇首節(jié)點的做法,使得簇首節(jié)點分布更加均勻。同時,在選取簇首節(jié)點之前對每個節(jié)點的刺余能量進行判斷,低于闞值的采取休眠處理,這樣保證了簇首節(jié)點選取的有效性。以上兩點措施使區(qū)域內(nèi)節(jié)點負(fù)載分配更加合理,有效地提升了整個網(wǎng)絡(luò)的生存時間。
關(guān)鍵詞:無線傳感器網(wǎng)絡(luò);能耗;簇首節(jié)點;閾值
0 引言
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)是由部署在監(jiān)測區(qū)域內(nèi)大量的廉價微型傳感器節(jié)點組成,通過無線通信方式形成的一個多跳的自組織網(wǎng)絡(luò)系統(tǒng)。同時,網(wǎng)絡(luò)中的節(jié)點擁有感知能力、無線通信能力以及計算能力。由于無線傳感器網(wǎng)絡(luò)具有不依賴與任何預(yù)設(shè)網(wǎng)絡(luò)設(shè)施等特點,所以在軍事應(yīng)用、大型設(shè)備監(jiān)控和環(huán)境監(jiān)測和預(yù)報等領(lǐng)域,傳感器網(wǎng)絡(luò)都有著廣泛的應(yīng)用前景。傳感器網(wǎng)絡(luò)中節(jié)點分布數(shù)量眾多,且能量是由容量有限的電池供電,更換不易。傳感器節(jié)點消耗能量的模塊包括傳感器模塊、處理器模塊和無線通信模塊。隨著集成電路工藝的進步,處理器和傳感器模塊的功耗變得很低,絕大部分能量消耗在無線通信模塊上。所以如何設(shè)計節(jié)能高效的路由策略是延長網(wǎng)絡(luò)生存周期的重要手段。
近些年來,一些節(jié)能高效的路由算法相繼被提出。文獻(xiàn)通過引入長期睡眠機制,防止網(wǎng)絡(luò)中的某些節(jié)點因為過早耗盡能量而死亡,引起網(wǎng)絡(luò)無效。文獻(xiàn)設(shè)計了一種無線傳感器網(wǎng)絡(luò)通信架構(gòu)ADOCA,有效地改善了無限傳感器網(wǎng)絡(luò)通信的有效性。文獻(xiàn)提出了一種基于多蟻群無線傳感器網(wǎng)絡(luò)路由算法,采用多種蟻群并行搜索,并在種群中采用基于目標(biāo)函數(shù)值的啟發(fā)式信息素分配策略和根據(jù)目標(biāo)函數(shù)自動調(diào)整螞蟻搜索路徑。文獻(xiàn)中針對SPR路由算法進行改進,提出了EB-SPR算法。將網(wǎng)絡(luò)構(gòu)造成層次結(jié)構(gòu),節(jié)點根據(jù)上一層鄰節(jié)點能量水平優(yōu)先使用能量多的節(jié)點作為下一跳來轉(zhuǎn)發(fā)數(shù)據(jù)包,但是這種算法中節(jié)點需要時刻維護各個鄰節(jié)點能量信息,增加了數(shù)據(jù)傳輸量。文獻(xiàn)提出了最早的分層路由協(xié)議之一,LEACH算法。通過循環(huán)的方式隨機選擇簇首節(jié)點,將整個網(wǎng)絡(luò)的能量負(fù)載平均分配到每個傳感器節(jié)點中,從而達(dá)到降低網(wǎng)絡(luò)能耗、提高網(wǎng)絡(luò)整體生存時間的目的。本文提出了一種新的基于最小能耗的無線傳感器網(wǎng)絡(luò)路由算法,并對網(wǎng)絡(luò)中能量過低的節(jié)點采取休眠處理,延長了網(wǎng)絡(luò)的生命周期。
1 無線傳感器網(wǎng)絡(luò)能量消耗研究和路由分析
1.1 無線傳感器網(wǎng)絡(luò)能量消耗研究
傳感器網(wǎng)絡(luò)節(jié)點主要有傳感器模塊,處理器模塊,無線通信模塊和能量供應(yīng)模塊。隨著技術(shù)的進步,目前傳感器模塊和處理器模塊能耗越來越低。但是,傳感器節(jié)點傳輸信息時要比執(zhí)行計算時更消耗電能,傳輸1 b信息到100 m距離需要的能量大約相當(dāng)于執(zhí)行3 000條指令消耗的能量。
本文假設(shè)一個簡單的無線通信電路模型,其中發(fā)送和接收電路消耗能量Eelec=50 nJ/b,發(fā)送放大器消耗能量εamp=100 pJ/(b/m2)。所以,使用該模型從節(jié)點A傳輸kb信息至距離為d的節(jié)點B時,節(jié)點A消耗的能量為ETx(k,d)=Eeleck+εampkd2,接收該信息,節(jié)點B消耗的能量為ERx(k)=Eeleck。如圖1所示。
評論