文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)09-0108-03
無(wú)線(xiàn)傳感器網(wǎng)絡(luò)[1]是由大量無(wú)線(xiàn)感知節(jié)點(diǎn)構(gòu)成,。LEACH[2]則是針對(duì)無(wú)線(xiàn)傳感器網(wǎng)絡(luò)而提出的路由算法,。該算法將節(jié)點(diǎn)通過(guò)定期選舉簇頭節(jié)點(diǎn)分擔(dān)無(wú)線(xiàn)網(wǎng)絡(luò)通信,均衡網(wǎng)絡(luò)能量消耗,,以提高網(wǎng)絡(luò)壽命[3],。但LEACH選舉簇頭節(jié)點(diǎn)存在隨機(jī)性,可能導(dǎo)致部分簇頭節(jié)點(diǎn)剩余能量低于某些普通節(jié)點(diǎn),。另外,,LEACH采用簇頭與基站直接通信的方式,由于簇頭節(jié)點(diǎn)離基站位置遠(yuǎn)近不一,,發(fā)送相同數(shù)據(jù)包時(shí),,遠(yuǎn)離基站的節(jié)點(diǎn)死亡較快。
1 LEACH算法以及不足
LEACH是一種低功耗自適應(yīng)分層路由算法,,以“輪”的方式完成無(wú)線(xiàn)數(shù)據(jù)傳輸[4],。每輪分成簇建立階段和簇穩(wěn)定階段。在每輪初始階段進(jìn)行簇頭選舉,,簇頭選舉條件[5-6]如式(1)所示,。其中,P為簇頭所占比例,,r為當(dāng)前輪數(shù),,mod()為求余運(yùn)算,G為節(jié)點(diǎn)集合,。
所有節(jié)點(diǎn)產(chǎn)生一個(gè)0~1之間的隨機(jī)數(shù),,如果這個(gè)值小于T(n),則該節(jié)點(diǎn)宣布成為簇頭,,并且廣播簇頭消息,,其他成員節(jié)點(diǎn)收到廣播消息后加入該簇。簇建立好之后,,簇頭為該簇內(nèi)所有成員節(jié)點(diǎn)分配TDMA時(shí)間表,,所有成員節(jié)點(diǎn)按照TDMA時(shí)間表向簇頭節(jié)點(diǎn)發(fā)送數(shù)據(jù)并進(jìn)入穩(wěn)定階段[7]。在LEACH路由算法中,,能量消耗模型是一階無(wú)線(xiàn)電模型[8],,如圖1所示。
在無(wú)線(xiàn)傳輸距離門(mén)限d條件下,,無(wú)線(xiàn)信道分為自由衰落模型和多徑衰落模型,。在自由衰落模型下,節(jié)點(diǎn)發(fā)送k bit數(shù)據(jù)所消耗的能量如式(2)所示:
其中:Eelec是發(fā)送電路和接收電路消耗能量,,εamp是放大電路放大數(shù)據(jù)所消耗能量,。信號(hào)在無(wú)線(xiàn)信道中傳輸所消耗的能量與距離dr成正比[9],。根據(jù)兩個(gè)模型定義,直接傳輸會(huì)比多跳傳輸消耗更多能量[10],。簇頭節(jié)點(diǎn)在數(shù)據(jù)融合中需要消耗一定的能量,,如式(5)所示:
在每一次選舉過(guò)程中,簇頭節(jié)點(diǎn)隨機(jī)從普通節(jié)點(diǎn)選舉出[11],??赡艽嬖谀承┢胀ü?jié)點(diǎn)與簇頭節(jié)點(diǎn)保持較遠(yuǎn)距離的情況。經(jīng)過(guò)一輪傳輸后,,這些邊沿節(jié)點(diǎn)能量消耗遠(yuǎn)遠(yuǎn)大于靠近簇頭節(jié)點(diǎn)能量消耗,。如果在某一輪簇頭選舉過(guò)程中,這些邊沿節(jié)點(diǎn)滿(mǎn)足式(1)中條件而成為簇頭,,這樣會(huì)出現(xiàn)簇頭節(jié)點(diǎn)能量小于該簇內(nèi)某些其他成員節(jié)點(diǎn)的情況,不利于網(wǎng)絡(luò)通信,。將網(wǎng)絡(luò)節(jié)點(diǎn)以基站為中心,,按照離基站距離不同劃分到不同區(qū)域中,以多跳的方式轉(zhuǎn)發(fā)數(shù)據(jù)達(dá)到降低發(fā)送能耗的目的,。本設(shè)計(jì)也是基于這兩點(diǎn)對(duì)LEACH路由協(xié)議進(jìn)行改進(jìn),。
2 LEACH協(xié)議改進(jìn)及建模
為了選取剩余能量較多的節(jié)點(diǎn)擔(dān)任簇頭,在本設(shè)計(jì)中,,簇頭節(jié)點(diǎn)選舉參考節(jié)點(diǎn)能量剩余因子,。其選舉條件如式(6)所示:
其中:Esu為網(wǎng)絡(luò)節(jié)點(diǎn)消耗的能量總和,Eeu為網(wǎng)絡(luò)節(jié)點(diǎn)能量總和,。節(jié)點(diǎn)能量剩余因子表征該網(wǎng)絡(luò)節(jié)點(diǎn)平均剩余量大小,,范圍為0~1。節(jié)點(diǎn)的能量剩余因子越大,,節(jié)點(diǎn)所消耗的能量越小,,剩余能量越多。剩余能量越多的節(jié)點(diǎn)成為簇頭,,則更有利于無(wú)線(xiàn)數(shù)據(jù)傳輸,。
為了平衡網(wǎng)絡(luò)中簇頭節(jié)點(diǎn)能量消耗,根據(jù)基站與簇頭節(jié)點(diǎn)相對(duì)位置,,劃分不同弧線(xiàn)區(qū)域:S3,、S2和S1,如圖2所示,。
網(wǎng)絡(luò)中所有節(jié)點(diǎn)隨機(jī)分布在長(zhǎng)度為L(zhǎng)的正方形區(qū)域內(nèi),,基站位置為通過(guò)不同弧線(xiàn)將簇頭節(jié)點(diǎn)劃分到不同的區(qū)域中,每條弧線(xiàn)與基站距離分別為R1,、R2和R3,。通過(guò)多跳的方式避免遠(yuǎn)距離傳輸無(wú)線(xiàn)數(shù)據(jù),,達(dá)到降低能量消耗的目的。通過(guò)合理分配R1,、R2和R3長(zhǎng)度,,可以平衡整個(gè)網(wǎng)絡(luò)簇頭節(jié)點(diǎn)能量消耗。由圖2可計(jì)算出第一根弧線(xiàn)所劃分的區(qū)域面積S1為:
其中,,N為網(wǎng)絡(luò)中所有節(jié)點(diǎn)數(shù)量總和,,k為比例因子。對(duì)于網(wǎng)絡(luò)中簇頭節(jié)點(diǎn)n來(lái)說(shuō),,它發(fā)送長(zhǎng)度為k時(shí),,所消耗的能量為:
其中,c為簇頭節(jié)點(diǎn)n所在弧線(xiàn)區(qū)域,。對(duì)于每一個(gè)區(qū)域內(nèi)簇頭節(jié)點(diǎn)發(fā)送數(shù)據(jù)長(zhǎng)度為k時(shí),,所消耗能量為:
為了達(dá)到網(wǎng)絡(luò)中簇頭節(jié)點(diǎn)能量消耗相互平衡,每一個(gè)區(qū)域內(nèi)簇頭節(jié)點(diǎn)所消耗的能量相近,,即式(13)成立:
3 實(shí)驗(yàn)結(jié)果與分析
為了分析LEACH改進(jìn)后的有效性,,使用MATLAB進(jìn)行仿真。環(huán)境為隨機(jī)分布在100 m×100 m范圍內(nèi)的200個(gè)節(jié)點(diǎn),,如圖3所示,。
圖4和圖5是改進(jìn)前后算法在相同條件下仿真效果圖。圖4表示LEACH算法與改進(jìn)算法在節(jié)點(diǎn)生命周期上的仿真,。
由圖4可看出,,LEACH算法與改進(jìn)算法分別在632輪和806輪出現(xiàn)節(jié)點(diǎn)快速死亡。在節(jié)點(diǎn)剩余數(shù)量為10%時(shí),,LEACH算法與改進(jìn)算法執(zhí)行輪數(shù)分別為974和1 482,。充分說(shuō)明改進(jìn)算法能有效地延長(zhǎng)網(wǎng)絡(luò)節(jié)點(diǎn)生命周期,并且降低節(jié)點(diǎn)死亡速率,。
圖5表示在該兩種算法上,,每輪網(wǎng)絡(luò)中無(wú)線(xiàn)數(shù)據(jù)通信量。
由于部分簇頭節(jié)點(diǎn)需借助其他簇頭節(jié)點(diǎn)轉(zhuǎn)發(fā)無(wú)線(xiàn)數(shù)據(jù),,因此,,改進(jìn)算法每輪無(wú)線(xiàn)通信量約為改進(jìn)前2倍。由圖4可以看出,,在無(wú)線(xiàn)網(wǎng)絡(luò)通信量增加的情況下,,網(wǎng)絡(luò)生命周期依然得到延長(zhǎng)。說(shuō)明無(wú)線(xiàn)網(wǎng)絡(luò)通信量增加所消耗能量小于簇頭節(jié)點(diǎn)采取轉(zhuǎn)發(fā)方式所節(jié)約的能耗,??傮w而言減少了能量消耗,延長(zhǎng)了網(wǎng)絡(luò)生命周期,。
選舉出剩余能量較多的節(jié)點(diǎn)擔(dān)任簇頭節(jié)點(diǎn),,可避免簇頭節(jié)點(diǎn)提前死亡現(xiàn)象發(fā)生,。簇頭節(jié)點(diǎn)發(fā)送數(shù)據(jù)由直接改為多跳,既降低了發(fā)送能耗,,又平衡網(wǎng)絡(luò)中簇頭節(jié)點(diǎn)能量消耗,。在提高整個(gè)網(wǎng)絡(luò)生命周期的前提下,避免了遠(yuǎn)離基站的節(jié)點(diǎn)提前死亡的現(xiàn)象發(fā)生,。仿真結(jié)果表明,,通過(guò)改進(jìn)簇頭選舉條件和采用多跳路由方式,使無(wú)線(xiàn)傳感器網(wǎng)絡(luò)生命周期得以延長(zhǎng),。
參考文獻(xiàn)
[1] NAYEBI A,,SARBAZI-AZAD H.Performance modeling of the LEACH protocol for mobile wireless sensor networks[J].Journal of Parallel and Distributed Computing,2011,,71(6):812-821.
[2] MOHAMMAD B,,AHMAD A K,ABDALLAH A E,,et al.An energy-efficient threshold-based clustering protocol for wireless sensor networks[J].Wireless Personal Communications,,2013,70(1):99-112.
[3] 蔣暢江,,石為人,唐賢倫,,等.能量均衡的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)非均勻分簇路由協(xié)議[J].軟件學(xué)報(bào),,2012(5):1222-1232.
[4] Yao Liping,Li Xi,,Ji Hong,,et al.Systematic energy-balanced cooperative transmission scheme in wireless sensor networks[J].The Journal of China Universities of Posts and Telecommunications,2012(06):14-18.
[5] 李?lèi)?,孫力娟,,王汝傳,等.一種改進(jìn)的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)LEACH算法[J].計(jì)算機(jī)研究與發(fā)展,,2011,,48(z2):131-134.
[6] 游曉黔,李明隆,,楊佳,,等.無(wú)線(xiàn)傳感器網(wǎng)絡(luò)LEACH協(xié)議的研究與改進(jìn)[J].重慶郵電大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,,23(6):746-751.
[7] 呂濤,,朱清新,張路橋,,等.一種基于LEACH協(xié)議的改進(jìn)算法[J].電子學(xué)報(bào),,2011,,39(6):1405-1409.
[8] 王翊,范興剛,,王萬(wàn)良,,等.基于混合量子進(jìn)化算法的高效節(jié)能無(wú)線(xiàn)傳感器網(wǎng)絡(luò)路由算法[J].傳感技術(shù)學(xué)報(bào),2011,,24(2):253-258.
[9] 尚鳳軍,,任東海.無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中分布式多跳路由算法研究[J].傳感技術(shù)學(xué)報(bào),2012,,25(4):529-535.
[10] 尚鳳軍,,雷陽(yáng).無(wú)線(xiàn)傳感器網(wǎng)絡(luò)能量有效成簇算法研究[J].小型微型計(jì)算機(jī)系統(tǒng),2009,,30(5):839-842.
[11] Wu Mingming,,Xu Wenbo.The research of multi-hop routing algorithm in the field of distributed wireless sensor network[C].10th International Symposium on Distributed Computing and Applications to Business,Engineering and Science,,2011:234-238.