文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)02-0021-03
無(wú)線傳感器網(wǎng)絡(luò)(WSN)[1]是集數(shù)據(jù)采集,、處理及通信功能于一體的分布式自組織網(wǎng)絡(luò),其特點(diǎn)是能量,、計(jì)算能力和存儲(chǔ)空間有限,。無(wú)線傳感器網(wǎng)絡(luò)中的路由協(xié)議必須時(shí)刻關(guān)注降低能耗、延長(zhǎng)網(wǎng)絡(luò)生命周期這一核心問(wèn)題,。設(shè)計(jì)精良的網(wǎng)絡(luò)協(xié)議就可以降低能耗,,延長(zhǎng)網(wǎng)絡(luò)的生命周期。通常無(wú)線傳感器網(wǎng)絡(luò)的路由協(xié)議[2]可以分為平面路由協(xié)議和層次路由協(xié)議兩種,。目前,,路由協(xié)議的主流是層次路由協(xié)議,該協(xié)議具有代表性的路由算法是低功耗自適應(yīng)分簇(LEACH)算法[3],。LEACH協(xié)議中,,簇首形成高一層的網(wǎng)絡(luò),這樣簇內(nèi)成員的功能就變相地簡(jiǎn)單,,大大減少了路由控制信息的數(shù)量,。但該協(xié)議也存在耗能大、能量不均衡的問(wèn)題,。針對(duì)以上問(wèn)題,,本文通過(guò)對(duì)經(jīng)典的分簇路由協(xié)議LEACH的分析,并且以降低功耗,、實(shí)現(xiàn)能量均衡,、延長(zhǎng)網(wǎng)絡(luò)壽命為主要目的,對(duì)LEACH協(xié)議進(jìn)行改進(jìn),。
1 LEACH算法分析
LEACH算法(Low Energy Adaptive Clustering Hierarchy)是MIT的Chandrakasan等人為無(wú)線傳感器網(wǎng)絡(luò)設(shè)計(jì)的低功率自適應(yīng)分簇路由算法,。它的基本思想是:以循環(huán)的方式隨機(jī)選擇簇首節(jié)點(diǎn),將整個(gè)網(wǎng)絡(luò)的能量負(fù)載平均分配到每個(gè)傳感器節(jié)點(diǎn)中,,從而達(dá)到提高網(wǎng)絡(luò)整體生存時(shí)間的目的,。LEACH在運(yùn)行過(guò)程中不斷地循環(huán)執(zhí)行簇的重構(gòu)過(guò)程,每個(gè)簇重構(gòu)過(guò)程可以用“輪(round)”來(lái)描述,,每一輪包含簇的建立和穩(wěn)定運(yùn)行兩個(gè)階段,。其中穩(wěn)定階段持續(xù)時(shí)間要比簇建立階段持續(xù)的時(shí)間長(zhǎng)得多。
被選為簇首的節(jié)點(diǎn)會(huì)利用CSMA MAC協(xié)議廣播ADV消息,宣布自己成為簇首,。非簇首節(jié)點(diǎn)收到來(lái)自各簇首的消息,,并根據(jù)接收信號(hào)的強(qiáng)度選擇強(qiáng)度最大的簇首發(fā)送加入請(qǐng)求JOIN-REQ(其包含了節(jié)點(diǎn)的ID和要求加入簇首的ID信息)。
(2)時(shí)隙表建立
當(dāng)簇首確定并且簇域劃分工作完成后,,簇頭將根據(jù)成員節(jié)點(diǎn)的數(shù)目,,產(chǎn)生TDMA時(shí)隙表。成員節(jié)點(diǎn)通過(guò)接收簇首的廣播獲取該表,,并在自己的時(shí)隙到達(dá)時(shí)才開(kāi)啟發(fā)送裝置向簇首發(fā)送數(shù)據(jù),,其余時(shí)間處于休眠狀態(tài)以節(jié)省能量。
(3)穩(wěn)定
相對(duì)于簇的建立階段,,穩(wěn)定階段是相對(duì)較長(zhǎng)的一個(gè)階段,,該階段主要是各節(jié)點(diǎn)完成數(shù)據(jù)傳輸?shù)娜蝿?wù)。一旦簇形成,,TDMA時(shí)刻表確定,,則數(shù)據(jù)傳輸開(kāi)始。簇首節(jié)點(diǎn)在收到成員節(jié)點(diǎn)傳來(lái)的數(shù)據(jù)后對(duì)數(shù)據(jù)進(jìn)行數(shù)據(jù)融合和壓縮,,將壓縮處理后的信號(hào)傳輸給基站,。
1.2 LEACH算法存在的問(wèn)題
(1)壽命不均:簇首的選舉策略是隨機(jī)的,可能造成簇首分布不均,,簇成員個(gè)數(shù)也有較大差異,,使得各簇首負(fù)載不均衡,造成個(gè)別簇首較早死亡,。
(2)距離受限:LEACH協(xié)議只適用于小規(guī)模的無(wú)線傳感器網(wǎng)絡(luò),。由于基站與簇首之間采用單跳路徑選擇模式,所以簇首與基站必須布置在通信可達(dá)的范圍內(nèi),。
2 LEACH算法的改進(jìn)
2.1 改進(jìn)算法的設(shè)計(jì)思路
針對(duì)LEACH算法中存在的問(wèn)題,,結(jié)合無(wú)線傳感器網(wǎng)絡(luò)的特點(diǎn),本文從以下幾個(gè)方面對(duì)LEACH協(xié)議進(jìn)行改進(jìn),。
(1)改變簇首產(chǎn)生方式
主要從以下兩個(gè)方面改變簇首的產(chǎn)生:
①基于節(jié)點(diǎn)的剩余能量選擇簇首,。考慮到無(wú)線傳感器網(wǎng)絡(luò)的能耗問(wèn)題,,選取能量較多的節(jié)點(diǎn)作為簇首,。將節(jié)點(diǎn)的剩余能量作為選擇簇首的一個(gè)重要衡量標(biāo)準(zhǔn),以保證區(qū)域內(nèi)剩余能量較多的節(jié)點(diǎn)被選為簇首,。
②基于節(jié)點(diǎn)與簇首之間的距離選擇簇首,。考慮到簇首地理分布平均的問(wèn)題,,每個(gè)簇首發(fā)射信號(hào),,其他節(jié)點(diǎn)則根據(jù)接收到的信號(hào)判斷離簇首的距離,離簇首距離小于設(shè)定值M的節(jié)點(diǎn)不再選為簇首,從而保證所有簇首之間距離不小于M,。
(2)改變簇首與基站之間的通信方式
LEACH算法中,,簇首與基站(BS)之間的數(shù)據(jù)發(fā)送過(guò)程采用單跳的方式。由于基站距離傳感區(qū)域很遠(yuǎn),,所以簇首將數(shù)據(jù)發(fā)送給基站時(shí)所消耗的能量很多,。基于這一點(diǎn),,在簇首向基站發(fā)送數(shù)據(jù)的時(shí)候采用多跳的方式,,這樣可以使簇首節(jié)點(diǎn)能量的消耗相對(duì)減少,。本文提出的改進(jìn)算法是把簇首組織起來(lái),,以多跳的方式向基站發(fā)送融合后的數(shù)據(jù)。
依次遍歷其他節(jié)點(diǎn),,重復(fù)上述操作,。最后剩下的候補(bǔ)簇首即成為最終的簇首。
當(dāng)選為簇首的節(jié)點(diǎn)會(huì)將自己的ID添加到該簇域的全局變量ch_list_中去,,最終得到的ch_list_就是該簇域內(nèi)所有簇首節(jié)點(diǎn)ID的列表,。通過(guò)簇域的ch_list_即可以得到下游(下游指的是指向BS方向的下一個(gè)簇域)簇域內(nèi)的所有節(jié)點(diǎn)的ID列表。有了該列表,,就相當(dāng)于得到了下一跳的候選列表,。如圖2所示,簇首只需從這些候選節(jié)點(diǎn)中隨機(jī)選出一個(gè)節(jié)點(diǎn)作為自己的下一跳節(jié)點(diǎn),,這樣就將各個(gè)簇首的多跳路徑建立起來(lái)了,。
從圖3中可以得出以下結(jié)論:
①LEACH算法在365 s時(shí)出現(xiàn)節(jié)點(diǎn)死亡,而改進(jìn)后的算法在375 s時(shí)開(kāi)始有節(jié)點(diǎn)出現(xiàn)死亡,。從節(jié)點(diǎn)開(kāi)始死亡的時(shí)間上說(shuō)明,,改進(jìn)后的算法相對(duì)于LEACH算法提高了2.73%。
②LEACH算法在500 s左右時(shí)結(jié)束了網(wǎng)絡(luò)生命,,而改進(jìn)后的算法在580 s左右時(shí)才結(jié)束網(wǎng)絡(luò)生命,。從網(wǎng)絡(luò)存活時(shí)間比較說(shuō)明,改進(jìn)后的算法比LEACH算法存活時(shí)間延長(zhǎng)了16%,。
(2)不同時(shí)段網(wǎng)絡(luò)內(nèi)存活節(jié)點(diǎn)數(shù)目的比較很直觀地說(shuō)明了兩種算法下網(wǎng)絡(luò)生命周期的不同,。下面從能量消耗的角度來(lái)進(jìn)一步對(duì)兩種算法進(jìn)行比較。
圖4為兩種算法下在不同時(shí)段網(wǎng)絡(luò)消耗總能量的值,,由圖4可以看出,,LEACH算法在500 s結(jié)束網(wǎng)絡(luò)生命時(shí)的總能耗為450 J左右,而改進(jìn)后的算法在580 s時(shí)結(jié)束生命周期時(shí)總能耗是350 J,。對(duì)比結(jié)果進(jìn)一步印證了本文算法較LEACH算法延長(zhǎng)了網(wǎng)絡(luò)生命周期,。
從表1可以看出,改進(jìn)-LEACH協(xié)議和LEACH協(xié)議相比,如果以節(jié)點(diǎn)開(kāi)始死亡的時(shí)間為標(biāo)準(zhǔn),,改進(jìn)-LEACH協(xié)議相比LEACH協(xié)議可有2.73%的提高,;若以網(wǎng)絡(luò)生命周期為標(biāo)準(zhǔn),則有16%的提高,;如果以網(wǎng)絡(luò)總能耗為標(biāo)準(zhǔn),,相比LEACH協(xié)議,改進(jìn)-LEACH協(xié)議其性能提高了21%,。
本文針對(duì)無(wú)線傳感器網(wǎng)絡(luò),,在理論分析的基礎(chǔ)上提出了一種改進(jìn)的LEACH協(xié)議。該協(xié)議在選擇簇首方面,,充分考慮了網(wǎng)絡(luò)中節(jié)點(diǎn)的位置和剩余能量,,進(jìn)而使簇的大小更為合理;在簇首與基站之間的路徑選擇方面,,采取了多跳傳輸?shù)姆绞?。通過(guò)NS2的仿真實(shí)驗(yàn)表明,將改進(jìn)后的算法應(yīng)用于傳感器網(wǎng)絡(luò)中,,能更有效地降低與均衡網(wǎng)絡(luò)的能量消耗,,從而較大幅度地延長(zhǎng)了傳感器網(wǎng)絡(luò)的生命周期。
參考文獻(xiàn)
[1] 孫利民,,李建中,,陳渝,等.無(wú)線傳感器網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,,2005:124-151.
[2] 余勇昌,,韋崗.無(wú)線傳感器網(wǎng)絡(luò)中基于PEGASIS協(xié)議的改進(jìn)算法[J].電子學(xué)報(bào),2008,,36(7):1309-1313.
[3] SHAH R C,,RABAEY J.Energy aware routing for low energy Ad hoc sensor networks[C].Orlando:IEEE Wireless Communications and Networking Conferenee(WCNC),2002:350-355.
[4] 陶東.基于無(wú)線傳感器網(wǎng)絡(luò)LEACH協(xié)議的仿真分析研究[J].現(xiàn)代電子技術(shù),,2011(12):11.
[5] 王盛.基于NS2的無(wú)線傳感器網(wǎng)絡(luò)LEACH協(xié)議的改進(jìn)仿真研究[D].武漢:武漢理工大學(xué),,2010.
[6] 徐雷鳴.NS與網(wǎng)絡(luò)模擬[M].北京:人民郵電出版,2003.