一種基于LEACH的改進(jìn)型無線傳感器網(wǎng)絡(luò)路由算法
一旦簇頭選定后,簇頭節(jié)點(diǎn)會(huì)利用CSMA MAC協(xié)議對(duì)全網(wǎng)所有節(jié)點(diǎn)發(fā)送廣播數(shù)據(jù)包,其中包含該節(jié)點(diǎn)成為簇頭的信息。根據(jù)網(wǎng)絡(luò)的對(duì)稱性原則,其他節(jié)點(diǎn)選擇接收到信號(hào)最強(qiáng)的簇頭加入,至此簇建立階段完成。
在穩(wěn)定運(yùn)行階段,普通節(jié)點(diǎn)利用CSMA MAC協(xié)議向其簇頭發(fā)送加入數(shù)據(jù)包。簇頭節(jié)點(diǎn)收到加入數(shù)據(jù)包后,會(huì)產(chǎn)生一個(gè)TDMA時(shí)刻表,為簇內(nèi)所有節(jié)點(diǎn)分配發(fā)送時(shí)隙,并將此時(shí)刻表向各成員廣播。此后,簇頭節(jié)點(diǎn)即開始接收各成員采集到的數(shù)據(jù),并將其融合后發(fā)送到基站。簇頭節(jié)點(diǎn)在此階段保持接收機(jī)始終處于開機(jī)狀態(tài)以便接收數(shù)據(jù),而普通節(jié)點(diǎn)只有在自己發(fā)送時(shí)打開發(fā)射機(jī),其余時(shí)刻關(guān)閉發(fā)射機(jī)以節(jié)約能量。
相比于平面路由算法,LEACH算法明顯減少了能量消耗,并且將能量耗散分?jǐn)偟秸麄€(gè)網(wǎng)絡(luò),有效延長(zhǎng)了網(wǎng)絡(luò)生存時(shí)間。在文獻(xiàn)中,作者的仿真表明LEACH比平面型的Direct communication協(xié)議網(wǎng)絡(luò)生存時(shí)間提高了約6倍,比層次型固定簇頭協(xié)議StaticClusters網(wǎng)絡(luò)生存時(shí)間提高了約10倍。
然而,完全自主隨機(jī)的簇頭選擇不能保證每輪簇頭節(jié)點(diǎn)的數(shù)目和分布,存在距離基站較遠(yuǎn)且能量較少的節(jié)點(diǎn)擔(dān)當(dāng)簇頭的可能性,造成網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)能量損耗不均,節(jié)點(diǎn)的生存期散布較大,到網(wǎng)絡(luò)生存期后期會(huì)形成監(jiān)控盲點(diǎn),影響了網(wǎng)絡(luò)的整體性能。為了改善這種情況,本文提出了基于距離和能量選擇第二層簇頭的兩層LEACH算法DE―LEACH。本文引用地址:http://www.ex-cimer.com/article/158076.htm
2 基于距離能量選擇的兩層LEACH算法DE―LEACH
DE―LEACH算法與LEACH算法一樣,分為簇建立階段與穩(wěn)定運(yùn)行階段。
在簇建立階段,首先,各節(jié)點(diǎn)仍然利用自身產(chǎn)生的隨機(jī)數(shù)自主決定是否成為簇頭并通知網(wǎng)絡(luò)中所有節(jié)點(diǎn),在此不再贅述。不同之處在于,選出的簇頭節(jié)點(diǎn)將自己的剩余能量和到基站的距離加入到廣播數(shù)據(jù)包中進(jìn)行廣播。之后,在已選出的第一層簇頭中根據(jù)其剩余能量和到基站的距離關(guān)系參數(shù)Th選出第二層簇頭。
Th定義為:
其中i是網(wǎng)絡(luò)中節(jié)點(diǎn)編號(hào),En(i)是i節(jié)點(diǎn)剩余能量,Dist(i)是i節(jié)點(diǎn)到基站的距離。
具體的選舉第二層簇頭的策略為:簇頭j將自己的Th(i)值與接收、計(jì)算出到的其他簇頭Th值進(jìn)行比較,若自己最大,則成為第二層簇頭;若比較中發(fā)現(xiàn)簇頭i節(jié)點(diǎn)的Th(i)值最大,則認(rèn)為i是第二層簇頭。這里需要注意的是:
(1)第二層簇頭同時(shí)也完成第一層簇頭的廣播、分配時(shí)隙、采集數(shù)據(jù)和融合的工作;
(2)各個(gè)簇頭節(jié)點(diǎn)在計(jì)算Th值并比較過后,已經(jīng)能夠確認(rèn)哪個(gè)第一層簇頭節(jié)點(diǎn)同時(shí)承擔(dān)第二層簇頭節(jié)點(diǎn)職能,因此第二層簇頭節(jié)點(diǎn)不需要再就自己身份進(jìn)行廣播;又由于各簇頭節(jié)點(diǎn)已經(jīng)收到其他簇頭節(jié)點(diǎn)編號(hào),可按編號(hào)順序進(jìn)行數(shù)據(jù)傳遞,因此第二層簇頭節(jié)點(diǎn)不需要為第一層簇頭節(jié)點(diǎn)分配時(shí)隙而進(jìn)行廣播;這樣就省去了廣播開銷;
(3)各個(gè)普通節(jié)點(diǎn)無需知道誰是第二層簇頭,他們只與第一層簇頭通信,而第二層簇頭同時(shí)也承擔(dān)第一層簇頭的功能。
在穩(wěn)定運(yùn)行階段,普通節(jié)點(diǎn)與第一層簇頭通信方式與LEACH相同。但數(shù)據(jù)采集、融合工作完成之后不是將數(shù)據(jù)包直接發(fā)送到基站,而是依據(jù)簇頭節(jié)點(diǎn)編號(hào)順序分時(shí)隙由第一層簇頭發(fā)送到第二層簇頭節(jié)點(diǎn)。再由第二層簇頭節(jié)點(diǎn)進(jìn)行二次融合后,發(fā)送至基站。
LEACH算法假設(shè)基站離監(jiān)控區(qū)域較遠(yuǎn),若第一層簇頭節(jié)點(diǎn)均與基站直接通信,則通信能量消耗較大,且易造成網(wǎng)絡(luò)中各節(jié)點(diǎn)剩余能量差距較大的情況,使首末節(jié)點(diǎn)死亡時(shí)間間隔較長(zhǎng),產(chǎn)生監(jiān)控盲點(diǎn)。而DE―LEACH算法能夠有效推遲首節(jié)點(diǎn)死亡時(shí)間,縮小首末節(jié)點(diǎn)死亡時(shí)間間隔,使監(jiān)控盲點(diǎn)出現(xiàn)時(shí)間明顯縮短。這樣,在所有節(jié)點(diǎn)集中死亡后再進(jìn)行拋撒,無疑在經(jīng)濟(jì)上和控制上都將更加高效。
評(píng)論