文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2011)02-0099-03
無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)通過(guò)飛機(jī)播撒部署在人跡罕至的地方進(jìn)行環(huán)境監(jiān)測(cè),,或者部署在敵區(qū),。人們無(wú)法對(duì)節(jié)點(diǎn)進(jìn)行電池更換。即使人類(lèi)能進(jìn)入的區(qū)域,,對(duì)龐大數(shù)量的節(jié)點(diǎn)進(jìn)行充電或者更換電池,,也是一項(xiàng)非常艱巨的工作。無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的節(jié)能問(wèn)題成為研究無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的熱點(diǎn),。為了有效地對(duì)無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行管理,,設(shè)計(jì)一種節(jié)能的路由協(xié)議迫在眉睫。
典型的自組網(wǎng)(Ad_hoc)網(wǎng)絡(luò)的路由協(xié)議,,沒(méi)有充分考慮到無(wú)線(xiàn)傳感器網(wǎng)絡(luò)節(jié)點(diǎn)能量有限的特點(diǎn),,不再適用于無(wú)線(xiàn)傳感網(wǎng)網(wǎng)絡(luò)。國(guó)內(nèi)外針對(duì)無(wú)線(xiàn)傳感網(wǎng)網(wǎng)絡(luò)的特點(diǎn)設(shè)計(jì)的路由協(xié)議分為平面路由協(xié)議和層次路由協(xié)議,。其中典型的代表是層次路由協(xié)議中的LEACH協(xié)議,。
1 LEACH算法
LEACH協(xié)議分為簇頭建立階段和數(shù)據(jù)傳輸階段。在簇頭建立階段,,每個(gè)節(jié)點(diǎn)在第r輪,,產(chǎn)生一個(gè)隨機(jī)數(shù)x,x∈[0,1]與閾值T(n)進(jìn)行比較決定是否當(dāng)選為簇頭。如果x≤T(n),,該節(jié)點(diǎn)在當(dāng)前輪被選舉為簇頭,;否則,該節(jié)點(diǎn)在該輪為非簇頭節(jié)點(diǎn)[1]。
其中,,p為簇頭數(shù)在所有節(jié)點(diǎn)當(dāng)中占的百分比;G為在最近1/p輪沒(méi)當(dāng)選過(guò)簇頭的節(jié)點(diǎn)集合,;在1/p-1輪后,,T(n)=1,所有在最近1/p輪中沒(méi)有被當(dāng)選過(guò)簇頭的節(jié)點(diǎn)均被當(dāng)選為簇頭,。當(dāng)某一輪選舉完后,,被當(dāng)選為簇頭的節(jié)點(diǎn)以相同的能量采用載波偵聽(tīng)多路訪(fǎng)問(wèn)_介質(zhì)訪(fǎng)問(wèn)控制CSMA_ MAC(Carrier Sense Multiple Access_Medium Access Control)協(xié)議的方式向周?chē)?jié)點(diǎn)廣播。簇頭建立起來(lái)后,,非簇頭節(jié)點(diǎn)根據(jù)感知到的信號(hào)強(qiáng)度決定要加入哪個(gè)簇,。同時(shí)非簇頭節(jié)點(diǎn)采用CSMA_MAC方式通知要加入的簇頭。簇頭節(jié)點(diǎn)采用時(shí)分多址TDMA(Time Division Multiple Access)的方式為簇內(nèi)節(jié)點(diǎn)分配傳輸數(shù)據(jù)的時(shí)隙,,避免簇內(nèi)節(jié)點(diǎn)發(fā)送數(shù)據(jù)占用信道產(chǎn)生沖突,。不同的簇采用碼分多址CDMA(Code Division Multiple Access),以便區(qū)分不同簇發(fā)送的數(shù)據(jù),,避免簇間干擾[1],。
LEACH協(xié)議采用“輪”的方式進(jìn)行簇頭選舉,有利于負(fù)載均衡,,延長(zhǎng)了無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的生命周期,。LEACH協(xié)議仍然存在一些缺點(diǎn)需要改進(jìn):LEACH協(xié)議簇頭選舉時(shí),由于選舉的簇頭是個(gè)隨機(jī)過(guò)程,,容易產(chǎn)生累積誤差,,造成選舉簇頭數(shù)目偏離期望的最佳值。由于簇頭選舉的隨機(jī)性,,對(duì)于大規(guī)模網(wǎng)絡(luò)容易造成簇頭在場(chǎng)景中分布位置不合理,,部分區(qū)域過(guò)密,部分區(qū)域過(guò)稀和邊緣分布,,影響整個(gè)網(wǎng)絡(luò)的生命,。簇頭節(jié)點(diǎn)和基站之間采用單跳傳輸,造成簇頭節(jié)點(diǎn)能耗大,,容易過(guò)早死亡,。簇頭選舉時(shí)沒(méi)有充分考慮到節(jié)點(diǎn)剩余能量和到基站的距離對(duì)均衡網(wǎng)絡(luò)負(fù)載的影響[1]。
2 E-LEACH算法理論分析
2.1 改進(jìn)簇頭選舉算法
LEACH協(xié)議中在一輪循環(huán)當(dāng)中,,每個(gè)節(jié)點(diǎn)按照概率分布充當(dāng)1次簇頭,,N/k-1次非簇頭。網(wǎng)絡(luò)運(yùn)行一段時(shí)間后,,節(jié)點(diǎn)能量不再相等,。按照LEACH協(xié)議簇頭選舉算法,較低能量節(jié)點(diǎn)和較高能量節(jié)點(diǎn)具有相同的概率當(dāng)選為簇頭。如果較低能量節(jié)點(diǎn)被當(dāng)選為簇頭,,則能量很快耗盡,,節(jié)點(diǎn)很快死亡,不利于整個(gè)網(wǎng)絡(luò)的生存,。改進(jìn)算法考慮到剩余能量較高的節(jié)點(diǎn)具有較大概率成為簇頭,,有利于延長(zhǎng)網(wǎng)絡(luò)的生命周期。對(duì)閾值公式進(jìn)行改進(jìn),如式(2)所示,,其中Einit表示節(jié)點(diǎn)初始化能量,,rs為該節(jié)點(diǎn)連續(xù)沒(méi)有被選為簇頭的輪數(shù);Eres為該節(jié)點(diǎn)當(dāng)前剩余能量。當(dāng)節(jié)點(diǎn)能量低于本區(qū)域內(nèi)節(jié)點(diǎn)平均能量時(shí),,該節(jié)點(diǎn)在本輪循環(huán)中不參加選舉簇頭,。簇頭建立階段算法流程如圖1所示[2]。
2.2 簇頭節(jié)點(diǎn)多跳傳輸數(shù)據(jù)
當(dāng)一輪選舉結(jié)束且簇頭接收到簇內(nèi)成員數(shù)據(jù)后,,簇頭之間建立傳輸數(shù)據(jù)的路由樹(shù),,通過(guò)路由方式把簇頭數(shù)據(jù)多跳轉(zhuǎn)發(fā)至基站[3]。當(dāng)新的一輪簇頭選舉完成后,,在開(kāi)始發(fā)送數(shù)據(jù)到基站前,,利用新當(dāng)選的簇頭節(jié)點(diǎn)更新路由樹(shù)。在簇頭節(jié)點(diǎn)給下一跳節(jié)點(diǎn)傳輸數(shù)據(jù)的同時(shí),,下一跳節(jié)點(diǎn)接收簇內(nèi)成員的數(shù)據(jù),,會(huì)產(chǎn)生信道占用沖突。本方案中采用CSMA的方式解決數(shù)據(jù)沖突,。
采用LEACH協(xié)議中引入的無(wú)線(xiàn)通信能量傳播損耗模型,傳輸l bit數(shù)據(jù)到距離d處所消耗的能量如式(3)所示,。接收l(shuí) bit數(shù)據(jù)所需要的能量如式(4)所示[4,5],。
從以上分析可以看出,,在以AB為直徑的圓內(nèi)的簇頭節(jié)點(diǎn)作為中繼節(jié)點(diǎn)有利于減少數(shù)據(jù)傳輸過(guò)程的能量損耗。在多徑衰減模型當(dāng)中,,由于數(shù)據(jù)傳輸能量損耗正比于傳播距離的四次方,,采用中繼更有利于節(jié)約傳輸數(shù)據(jù)能量??紤]到中繼節(jié)點(diǎn)要進(jìn)行數(shù)據(jù)轉(zhuǎn)發(fā)和數(shù)據(jù)融合,會(huì)消耗一部分能量,。頻繁的中繼轉(zhuǎn)發(fā)會(huì)增加能量損耗,選取在如圖2所示的虛線(xiàn)圓(虛線(xiàn)圓的半徑R′=0.7R) 內(nèi)的簇頭節(jié)點(diǎn)作為中繼節(jié)點(diǎn),。如果中繼節(jié)點(diǎn)能量比較低,,則會(huì)導(dǎo)致中繼節(jié)點(diǎn)能量衰竭的現(xiàn)象,在簇頭選舉階段,,只有剩余能量大于平均能量的節(jié)點(diǎn)才能當(dāng)選為簇頭,。簇頭節(jié)點(diǎn)傳輸數(shù)據(jù)流程如圖3所示,。
3 仿真實(shí)驗(yàn)
本實(shí)驗(yàn)在Linux radhat9系統(tǒng)下安裝的ns-allinone-2.27+MIT安裝包中的LEACH協(xié)議進(jìn)行修改得到E-LEACH,增加findnexthop子函數(shù)實(shí)現(xiàn)尋找最佳下一跳路由,,每搜尋一次下一跳路由消耗能量 $opt(nn_)*1e-9J($opt(nn_)為仿真區(qū)域內(nèi)節(jié)點(diǎn)數(shù)),;增加sendtoNextHop子函數(shù),實(shí)現(xiàn)發(fā)送數(shù)據(jù)到下一跳節(jié)點(diǎn),;增加 recvNeighbore子函數(shù),,實(shí)現(xiàn)為鄰居簇頭中繼數(shù)據(jù)?;疚恢迷O(shè)置在(50,175),其他參數(shù)采用LEACH協(xié)議默認(rèn)的值,。NS2仿真得到的數(shù)據(jù)采用Matlab進(jìn)行繪圖分析,。圖4為L(zhǎng)EACH協(xié)議和E-LEACH協(xié)議生命周期比較圖,。
從圖4可以看出LEACH協(xié)議的第一節(jié)點(diǎn)死亡時(shí)間FND(First Node Dead)為410s,E-LEACH的FND為670 s, 相比之下E-LEACH提高率為63.41%,。LEACH協(xié)議的半數(shù)節(jié)點(diǎn)死亡時(shí)間HND(Half Node Dead)為500 s, E-LEACH的HND為900 s,, 相比之下E-LEACH提高率為80.00%。 LEACH協(xié)議的最后節(jié)點(diǎn)死亡時(shí)間LND(Last Node Dead)為551.7 s,E-LEACH的LND為1 040 s,, 相比之下E-LEACH提高率為88.51%,。圖5為兩種網(wǎng)絡(luò)協(xié)議基站接收到的數(shù)據(jù)包和生存節(jié)點(diǎn)個(gè)數(shù)關(guān)系比較圖,從圖5可以看出,,E-LEACH在發(fā)送50 000個(gè)數(shù)據(jù)包時(shí),,存活節(jié)點(diǎn)數(shù)為100,而LEACH協(xié)議在發(fā)送50 000個(gè)數(shù)據(jù)包時(shí),,節(jié)點(diǎn)全部死亡,。結(jié)果說(shuō)明在發(fā)送數(shù)據(jù)量和延長(zhǎng)網(wǎng)絡(luò)生命周期上E-LEACH明顯優(yōu)于LEACH,仿真結(jié)果與理論分析一致,,驗(yàn)證了理論的正確性,。
消耗單位能量到達(dá)基站的數(shù)據(jù)量越多,說(shuō)明能量有效利用率越高,?;窘邮盏臄?shù)據(jù)量越多,監(jiān)測(cè)的精度越高,。圖6為L(zhǎng)EACH協(xié)議和E-LEACH協(xié)議基站接收的數(shù)據(jù)包總量比較圖,。在消耗200 J能量時(shí), LEACH協(xié)議基站接收到46 730個(gè)數(shù)據(jù)包,, E-LEACH協(xié)議基站接收到60 870個(gè)數(shù)據(jù)包,,相比較E-LEACH提高率為30.25%。
基站在(50,100)位置的兩種協(xié)議比較情況如表1,、表2所示,。
總結(jié)以上分析數(shù)據(jù),在提高網(wǎng)絡(luò)生命周期方面E-EACH方案在基站距離比較遠(yuǎn)的時(shí)候效果更明顯些,。基站在距離節(jié)點(diǎn)近時(shí),,轉(zhuǎn)發(fā)數(shù)據(jù)和數(shù)據(jù)融合消耗能量占的比重比較大,,通過(guò)中繼起不到很好的節(jié)能效果,所以基站距離遠(yuǎn)時(shí),,多跳優(yōu)勢(shì)充分體現(xiàn),,仿真結(jié)果與理論分析是一致的。
本文改進(jìn)了LEACH協(xié)議,,簇間通信調(diào)度時(shí)間收發(fā)數(shù)據(jù),,不可避免存在部分?jǐn)?shù)據(jù)沖突,仿真結(jié)果不是十分穩(wěn)定,。有效解決潛在的隱藏終端問(wèn)題,,避免數(shù)據(jù)沖突,將為進(jìn)一步提高無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的性能提供可能,。
參考文獻(xiàn)
[1] HEINZLMAN W B, CHANDRAKASAN A P, BALAKRIS-HNAN H. An application-specific protocol architecture for wireless microsensor networks[C]. Wireless Communications, IEEE Transactions on, 2002.10.1(4).
[2] SOREANU P, VOLKOVICH Z, BARZILY Z. Energy-efficient predictive jamming holes detection protocol for wireless sensor networks[C].The Second International Conference on Sensor Technologies and Applications, 2008.
[3] PRABHU A. Clustering with tree-based architecture:protocol to extend life time of sensor networks[D]. Southern Illinois University at Carbondale;Electrical and Computer Engineering.2007.
[4] FAN Yi Ming, YU Jian Jun. The communication protocol for wireless sensor network about LEACH[C]. International Conference on Computational Intelligence and Security Work shops, 2007.
[5] MARZIAH V. Energy efficient clustering and routing protocols for wireless sensor networks[D].San Jose State University.2005.