徐 佳,金 寧,樓喜中
(中國計量學(xué)院信息工程學(xué)院,浙江 杭州 310018)
無線傳感器網(wǎng)絡(luò)傳感器(Wireless Sensor Networks)將節(jié)點(diǎn)部署在監(jiān)控區(qū)域內(nèi),通過無線方式將節(jié)點(diǎn)采集到的數(shù)據(jù)發(fā)送給監(jiān)測者。該網(wǎng)絡(luò)技術(shù)有效結(jié)合了無線通信、嵌入式和微系統(tǒng)技術(shù)。現(xiàn)在無線傳感器網(wǎng)絡(luò)由于自身的自組織和低功耗等特點(diǎn),從而被廣泛應(yīng)用在醫(yī)療、軍事等領(lǐng)域[1-4]。
信息從源節(jié)點(diǎn)傳送到目標(biāo)節(jié)點(diǎn)主要是由路由協(xié)議負(fù)責(zé)的,作為無線傳感器網(wǎng)絡(luò)的核心技術(shù),它的性能與網(wǎng)絡(luò)整體性能聯(lián)系密切。依照應(yīng)用類型可分為兩類,一類是主動式無線傳感器網(wǎng)絡(luò),這種網(wǎng)絡(luò)適用于周期性數(shù)據(jù)監(jiān)測應(yīng)用,傳感器節(jié)點(diǎn)按照周期時間對監(jiān)測區(qū)域進(jìn)行感知并通過無線發(fā)送模塊將信息傳送到基站。另一種是響應(yīng)型網(wǎng)絡(luò),當(dāng)有緊急事件觸發(fā)時,節(jié)點(diǎn)會進(jìn)入工作狀態(tài),并傳輸信息到基站,其他時間處于休眠狀態(tài)。典型的分簇路由協(xié)議有LEACH,TEEN,PEGASIS等[5-7]。但這些典型的分簇路由協(xié)議中,除了TEEN協(xié)議外,都未考慮響應(yīng)型網(wǎng)絡(luò)的特點(diǎn)。根據(jù)TEEN協(xié)議模型,本文提出了一種改進(jìn)的響應(yīng)型網(wǎng)絡(luò)算法TEENNEW。
TEEN(Threshold-sensitive Energy Efficient Sensor Network Protocol)與LEACH協(xié)議的簇頭選舉一樣,該協(xié)議簇頭節(jié)點(diǎn)會向簇內(nèi)所有節(jié)點(diǎn)廣播兩個閾值參數(shù)(硬閾值和軟閾值)。TEEN協(xié)議可分為建立階段和傳輸階段。
1)建立階段
網(wǎng)絡(luò)中的節(jié)點(diǎn)隨機(jī)選擇一個(0,1)之間的隨機(jī)數(shù),然后與協(xié)議中的閾值函數(shù)T(n)進(jìn)行比較,當(dāng)閾值T(n)大于節(jié)點(diǎn)產(chǎn)生的隨機(jī)數(shù),節(jié)點(diǎn)將成為簇頭節(jié)點(diǎn),并廣播軟閾值、硬閾值和成為簇頭的消息。非簇頭節(jié)點(diǎn)將收到的簇頭節(jié)點(diǎn)的信號強(qiáng)度作為是否加入該簇的依據(jù),然后會發(fā)送通知信息給相應(yīng)的簇頭節(jié)點(diǎn)。T(n)函數(shù)為
式中:p是簇頭所占百分比;G表示1/p輪中沒有當(dāng)過簇頭的節(jié)點(diǎn)集合;r表示當(dāng)前輪數(shù)。
2)傳輸階段
當(dāng)網(wǎng)絡(luò)中傳感器節(jié)點(diǎn)第一次監(jiān)測到的數(shù)據(jù)超過了硬閾值時,節(jié)點(diǎn)首先將該值存入內(nèi)部的軟閾值,然后按照時隙分布(TDMA)的方式將該值發(fā)給簇頭節(jié)點(diǎn)。簇頭節(jié)點(diǎn)收到數(shù)據(jù)后,會進(jìn)行相關(guān)的數(shù)據(jù)融合,最后將融合好的數(shù)據(jù)發(fā)送給基站節(jié)點(diǎn)。
傳感器節(jié)點(diǎn)的監(jiān)測中,當(dāng)監(jiān)測的數(shù)據(jù)超過硬閾值,并且與軟閾值的差異大于等于軟閾值時,節(jié)點(diǎn)才會再次發(fā)送數(shù)據(jù),并將當(dāng)前監(jiān)測的數(shù)據(jù)保存在軟閾值中。其中TEEN協(xié)議的拓?fù)浣Y(jié)構(gòu)如圖1所示。
TEEN協(xié)議在某種程度上利用軟、硬閾值降低了傳輸量和傳輸?shù)拇螖?shù),節(jié)約了網(wǎng)絡(luò)中的能量消耗。雖然TEEN協(xié)議比傳統(tǒng)的LEACH協(xié)議更加節(jié)能,但還是存在以下不足:
圖1 TEEN拓?fù)浣Y(jié)構(gòu)
(1)TEEN協(xié)議在簇頭選舉過程中隨機(jī)性太大,沒有考慮到節(jié)點(diǎn)剩余能量的影響,可能使剩余能量低的節(jié)點(diǎn)過早死亡。
(2)TEEN協(xié)議簇頭節(jié)點(diǎn)與基站之間采用單跳路由方式,消耗能量較大,同時也使網(wǎng)絡(luò)規(guī)模受限于簇頭節(jié)點(diǎn)的通信距離。
本文針對TEEN協(xié)議的不足提出了一種新的響應(yīng)型網(wǎng)絡(luò)的路由算法TEENNEW算法。該算法主要在簇頭節(jié)點(diǎn)選擇上更多地考慮了節(jié)點(diǎn)的剩余能量,根據(jù)能量模型確定了最優(yōu)的簇頭數(shù)目。當(dāng)簇頭節(jié)點(diǎn)發(fā)送數(shù)據(jù)到基站的過程中,根據(jù)節(jié)點(diǎn)傳輸能耗以及節(jié)點(diǎn)之間的距離,建立了一條通往基站的多跳路徑。
2.1.1 算法的最優(yōu)簇頭數(shù)
由于無線傳感器網(wǎng)絡(luò)的能量非常受限,所以無線傳感器網(wǎng)絡(luò)中,TEENNEW路由算法設(shè)計與信道能量損耗模型息息相關(guān)。信道損耗模型如圖2所示。
圖2 信道損耗模型
依照圖2所示的網(wǎng)絡(luò)模型,假設(shè)簇頭節(jié)點(diǎn)個數(shù)為k,網(wǎng)絡(luò)中簇頭節(jié)點(diǎn)的平均覆蓋面積為πR2/k,其中網(wǎng)絡(luò)中簇頭節(jié)點(diǎn)按照多跳方式進(jìn)行數(shù)據(jù)發(fā)送,一跳的傳輸距離假定為L。一個簇頭節(jié)點(diǎn)的能量消耗主要由接收簇內(nèi)成員信息、融合數(shù)據(jù)以及與基站通信3部分組成。一幀數(shù)據(jù)中簇頭節(jié)點(diǎn)消耗的能量為
式中:f為每個數(shù)據(jù)長度;EDA為融合數(shù)據(jù)消耗的能量;L是簇頭節(jié)點(diǎn)發(fā)送數(shù)據(jù)的距離。簇內(nèi)成員節(jié)點(diǎn)假設(shè)為自由空間模型d2,從而一個非簇頭節(jié)點(diǎn)的能耗為
假設(shè)監(jiān)測區(qū)域?yàn)閳A形,根據(jù)簇頭節(jié)點(diǎn)的覆蓋面積可以得到dtoCH的計算公式為
假設(shè)網(wǎng)絡(luò)中節(jié)點(diǎn)是均勻分布的,根據(jù)式(4)和式(5),可以得到簡化后的非簇頭節(jié)點(diǎn)能耗,見式(6)。
發(fā)送一個幀數(shù)據(jù)時整個簇消耗的能量為
在區(qū)域R中,發(fā)送一個幀的數(shù)據(jù)時消耗的總能量為
對Etotal求導(dǎo),令導(dǎo)數(shù)等于0,得到最優(yōu)簇頭數(shù)為
由此得到改進(jìn)協(xié)議后的最優(yōu)簇頭數(shù)k。
2.1.2 TEENNEW算法簇頭選擇函數(shù)
在TEEN協(xié)議中,簇頭選擇閾值只考慮了簇頭節(jié)點(diǎn)在WSN網(wǎng)絡(luò)中的期望比例,沒有考慮剩余能量等因素,導(dǎo)致簇頭節(jié)點(diǎn)在網(wǎng)絡(luò)中分布不合理。
將剩余能量和最優(yōu)簇頭數(shù)加入到閾值函數(shù)T(n)中,然后比較T(n)與傳感器節(jié)點(diǎn)隨機(jī)產(chǎn)生的隨機(jī)數(shù),如果大于隨機(jī)值則該節(jié)點(diǎn)被選為簇頭,T(n)改進(jìn)后的計算公式為
式中:phead為網(wǎng)絡(luò)中最佳的簇頭節(jié)點(diǎn)概率;r為已完成的輪數(shù);G為前1/p回合中未成為簇頭的節(jié)點(diǎn)集合;Ecurrent表示節(jié)點(diǎn)的當(dāng)前能量;Einitial代表節(jié)點(diǎn)的初始能量。通過這樣的修改,當(dāng)前節(jié)點(diǎn)能量大的節(jié)點(diǎn)有更大的機(jī)會擔(dān)任簇頭節(jié)點(diǎn),從而平衡網(wǎng)絡(luò)能耗。
2.1.3 簇間路由機(jī)制
TEENNEW算法中任何兩個可直接通信的節(jié)點(diǎn)A、B,通信一次發(fā)送l bit數(shù)據(jù)的能量消耗EAB,計算公式為
式中:dAB表示A,B兩節(jié)點(diǎn)之間的通信距離;α為功耗指數(shù),與dAB有關(guān)。
當(dāng)前簇頭A,B為A的鄰居信息表中的一個簇頭節(jié)點(diǎn),則節(jié)點(diǎn)A到節(jié)點(diǎn)B的距離代價DC定義為
式中:EAB表示節(jié)點(diǎn)A和節(jié)點(diǎn)B直接通信的能量消耗;RSSIB指節(jié)點(diǎn)B接收到Sink的信號強(qiáng)度;RSSImax指Sink廣播信號時的信號強(qiáng)度。
考慮能量平衡因素,節(jié)點(diǎn)A選擇節(jié)點(diǎn)B作為下一跳節(jié)點(diǎn)的條件是取得最小的DC,如果節(jié)點(diǎn)A的鄰居信息表為空,說明簇頭節(jié)點(diǎn)周圍沒有其他簇頭存在,這種情況一般出現(xiàn)在網(wǎng)絡(luò)運(yùn)行后期,大部分節(jié)點(diǎn)已經(jīng)死亡的情況下,此時簇頭節(jié)點(diǎn)A直接將數(shù)據(jù)傳輸給Sink節(jié)點(diǎn)。按照上述策略,簇頭生成一棵以基站為根的樹,數(shù)據(jù)沿著基站方向向上傳輸。該路由方式充分考慮了兩節(jié)點(diǎn)之間的能量消耗、剩余能量以及與Sink節(jié)點(diǎn)之間的距離。
TEENNEW算法中的能量消耗主要集中在數(shù)據(jù)傳輸和數(shù)據(jù)轉(zhuǎn)發(fā)階段,因此采用簇間多跳進(jìn)行數(shù)據(jù)傳輸能夠有效地節(jié)約能量。TEENNEW的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖3所示。
通過仿真軟件MATLAB進(jìn)行仿真編譯,比較分析TEENNEW、TEENPE和TEEN三種算法的性能。仿真參數(shù)見表1。
仿真系統(tǒng)中節(jié)點(diǎn)布置完畢后一律不能移動,其中基站位于(150,50)處,運(yùn)行仿真系統(tǒng)記錄3種算法中節(jié)點(diǎn)的能量消耗以及存活節(jié)點(diǎn)數(shù)目。
圖3 TEENNEW拓?fù)浣Y(jié)構(gòu)
表1 仿真參數(shù)表
圖4比較3種算法的節(jié)點(diǎn)平均能耗,可以看出TEENNEW與TEEN、TEENPE相比,當(dāng)網(wǎng)絡(luò)運(yùn)行到1500 s時TEENNEW的節(jié)點(diǎn)平均能耗小于1.5 J,而 TEEN與TEENPE的節(jié)點(diǎn)平均能耗都在1.6 J以上。
圖4 平均能耗比較圖
第一個節(jié)點(diǎn)死亡時間(First Node Death,F(xiàn)ND)和一半節(jié)點(diǎn)死亡時間(Half Nodes Death,HND)作為依據(jù)來比較分析3種算法的網(wǎng)絡(luò)生命周期,圖5為3種算法的節(jié)點(diǎn)存活數(shù)和網(wǎng)絡(luò)運(yùn)行時間的關(guān)系。
圖5 節(jié)點(diǎn)存活節(jié)點(diǎn)曲線圖
分析圖5和圖6,在相同的運(yùn)行時間內(nèi),TEENNEW算法存活的節(jié)點(diǎn)數(shù)目要多于TEEN和TEENPE算法。比較第一個節(jié)點(diǎn)死亡時間FND,TEEN算法發(fā)生在1000 s,TEENPE發(fā)生在1258 s,而TEENNEW發(fā)生在1502 s。相比TEEN和TEENPE,TEENNEW算法在FND上延長了50%和19%。對于半數(shù)節(jié)點(diǎn)死亡時間HND,TEEN算法發(fā)生在1500 s,TEENPE發(fā)生在1700 s,而TEENNEW發(fā)生在2250 s,TEENNEW算法比TEEN和TEENPE算法分別延長了50%和32%。
圖6 第一個節(jié)點(diǎn)死亡時間(FND)、半數(shù)節(jié)點(diǎn)死亡時間(HND)的比較
根據(jù)上述仿真比較,當(dāng)網(wǎng)絡(luò)生命周期以FND作為比較,TEENNEW算法最大能夠延長50%。對于HND,本文提出的算法也延長了50%。所以可以得出,本文提出的TEENNEW算法能夠有效延長TEEN算法的網(wǎng)絡(luò)生命周期,均衡網(wǎng)絡(luò)能量消耗。
本文針對響應(yīng)型網(wǎng)絡(luò)路由協(xié)議TEEN的缺點(diǎn)進(jìn)行了3方面的改進(jìn):1)確定最優(yōu)簇頭數(shù);2)在選取簇頭時,使用節(jié)點(diǎn)的剩余能量與節(jié)點(diǎn)的初始能量的比值調(diào)節(jié)隨機(jī)數(shù)的選取;3)根據(jù)距離和能量建立簇頭節(jié)點(diǎn)與基站之間的多跳路徑。仿真結(jié)果表明TEENNEW算法能有效均衡節(jié)點(diǎn)能耗,延長網(wǎng)絡(luò)生存時間。TEENNEW算法相比TEEN算法更適用于大型的無線傳感網(wǎng)絡(luò)。
[1]孫利民,李建中.無線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2005.
[2]AKYILDIZ I F,SU W,SANKARASUBRAMANIAM Y,et al.A survey on sensor networks[J].IEEE Communications Magazine,2002,40(8):102-114.
[3]任豐源,黃海寧.無線傳感器網(wǎng)絡(luò)[J].軟件學(xué)報,2003,14(7):1281-1291.
[4]孫友偉.基于下一代電視傳送技術(shù)的無線傳感器網(wǎng)絡(luò)[J].電視技術(shù),2010,34(6):54-56.
[5]LEWIS F L.Wireless sensor networks[M].NewYork:Wiley-Interscience,2004.
[6]CHANG R,KUO C.An energy efficient routing mechanism for wireless sensor networks[EB/OL].[2013 - 01 -01].http://www.kresttechnology.com/krest-academic-projects/krest-mtech-projects/CSE/mtechdotnet-abstracts-bpapers/Network%20Security/9%29%20Energy%20efficient%20%20routing%20mechanism%20in%20wireless%20sensor%20network/9%29%20Energy%20efficient%20%20routing%20mechanism%20in%20wireless%20sensor%20network.pdf.
[7]MANJESHWAR A,AGRAWAL D P.TEEN:A routing protocol for enhanced efficiency in wireless sensor networks[C]//Proc.15th International Parallel and Distributed Processing Symposium.San Francisco,USA:IEEE CS,2001:2009-2015.