周 飛
(安徽理工大學(xué),安徽 淮南 232000)
無(wú)線傳感器網(wǎng)絡(luò)[1]是由大量的靜止或移動(dòng)的傳感器以自組織和多跳的方式構(gòu)成的無(wú)線網(wǎng)絡(luò),傳感器可以通過(guò)飛機(jī)播撒或者發(fā)射炮彈到指定區(qū)域部署,特別適合部署在環(huán)境惡劣或人員不能到達(dá)的區(qū)域。煤礦井下巷道大都是類(lèi)似于隧道的長(zhǎng)帶狀結(jié)構(gòu),因而布置在巷道的無(wú)線傳感器網(wǎng)絡(luò)也呈狹長(zhǎng)的長(zhǎng)帶狀,而匯聚節(jié)點(diǎn)普遍布置在巷道入口處,信息會(huì)從巷道的一側(cè)向另一側(cè)的匯聚節(jié)點(diǎn)傳輸,數(shù)據(jù)流量會(huì)隨著與匯聚節(jié)點(diǎn)的距離變小而變大,最終會(huì)導(dǎo)致靠近匯聚節(jié)點(diǎn)的傳感器節(jié)點(diǎn)因負(fù)載過(guò)重而過(guò)早死亡,形成“熱區(qū)”問(wèn)題[2]。無(wú)線傳感器節(jié)點(diǎn)通常都是自帶電源,但能量有限且一經(jīng)部署就無(wú)法進(jìn)行充電或更換,這就使得如何均衡能量消耗,延長(zhǎng)網(wǎng)絡(luò)壽命變得尤為重要。
LEACH(Low Energy Adaptive Clustering Hierarchy)[3]算法是一種自適應(yīng)分簇拓?fù)渌惴?,它的?zhí)行過(guò)程是周期性的,每輪循環(huán)分為簇的建立階段和穩(wěn)定的數(shù)據(jù)通信階段[4]。在簇的建立階段,相鄰節(jié)點(diǎn)動(dòng)態(tài)的形成簇并隨機(jī)產(chǎn)生簇頭節(jié)點(diǎn),成為簇頭的節(jié)點(diǎn)向周?chē)l(fā)布自己是簇頭節(jié)點(diǎn)的信息,其他節(jié)點(diǎn)收到信息后根據(jù)特定規(guī)則選擇加入某個(gè)簇。在數(shù)據(jù)通信階段,簇內(nèi)節(jié)點(diǎn)把數(shù)據(jù)發(fā)送給簇頭節(jié)點(diǎn),簇頭節(jié)點(diǎn)進(jìn)行數(shù)據(jù)融合并將結(jié)果發(fā)送給匯聚節(jié)點(diǎn)。由于簇頭需要完成數(shù)據(jù)融合、匯聚節(jié)點(diǎn)通信等工作,所以能量消耗大。LEACH算法能夠保證各節(jié)點(diǎn)等概率的擔(dān)任簇頭,使得網(wǎng)絡(luò)中的節(jié)點(diǎn)相對(duì)均衡消耗能量。
LEACH協(xié)議是無(wú)線傳感器網(wǎng)絡(luò)中最早提出的分層路由算法,但直接應(yīng)用在煤礦巷道中,還存在一些不足。
(1)LEACH協(xié)議在選舉簇頭時(shí)并沒(méi)有考慮節(jié)點(diǎn)的剩余能量,且同一節(jié)點(diǎn)可能多次擔(dān)任簇頭,導(dǎo)致該節(jié)點(diǎn)能量因負(fù)載過(guò)重能量損耗太大而過(guò)早死亡,直接影響到網(wǎng)絡(luò)生存時(shí)間的大小。
(2)節(jié)點(diǎn)在網(wǎng)絡(luò)中是隨機(jī)分布的,LEACH協(xié)議沒(méi)有參考節(jié)點(diǎn)在網(wǎng)絡(luò)中的位置就隨機(jī)選舉簇頭,這就導(dǎo)致節(jié)點(diǎn)多的地方可能沒(méi)有簇頭,節(jié)點(diǎn)少的地方又有可能有好幾個(gè)簇頭,簇頭分布不均勻,網(wǎng)絡(luò)的能耗也就不均衡。
(3)LEACH協(xié)議中假設(shè)所有節(jié)點(diǎn)均可和簇頭節(jié)點(diǎn)以及匯聚節(jié)點(diǎn)直接通信,通信采用單跳方式,但煤礦巷道呈長(zhǎng)帶狀,通常長(zhǎng)達(dá)數(shù)千米以上,而匯聚節(jié)點(diǎn)通常情況下安置在巷道口,如果采用單跳方式通信,在通信距離以及有限節(jié)點(diǎn)能量的條件下,距離匯聚節(jié)點(diǎn)遠(yuǎn)的節(jié)點(diǎn)會(huì)率先耗盡能量過(guò)早死亡,降低網(wǎng)絡(luò)的生存周期,還有可能形成監(jiān)測(cè)盲區(qū)[5]。
(4)煤礦巷道長(zhǎng)帶狀的網(wǎng)絡(luò)中,信息會(huì)從巷道的一側(cè)傳遞到巷道口的匯聚節(jié)點(diǎn),越靠近匯聚節(jié)點(diǎn)數(shù)據(jù)量會(huì)越來(lái)越大,使節(jié)點(diǎn)負(fù)載過(guò)重,從而導(dǎo)致能量消耗過(guò)大過(guò)早死亡,形成“熱區(qū)”問(wèn)題。
通過(guò)上述分析,本文針對(duì)LEACH協(xié)議應(yīng)用在煤礦巷道中的不足之處,對(duì)LEACH協(xié)議進(jìn)行以下改進(jìn)。
節(jié)點(diǎn)在LEACH算法網(wǎng)絡(luò)中是隨機(jī)分布的,并沒(méi)有考慮節(jié)點(diǎn)在網(wǎng)絡(luò)中的位置以及節(jié)點(diǎn)的剩余能量就隨機(jī)選舉簇頭。在煤礦巷道這個(gè)特殊的長(zhǎng)帶狀網(wǎng)絡(luò)中,將節(jié)點(diǎn)的位置信息和剩余能量納入考慮因素中,這樣可以優(yōu)化簇頭的分布以及均衡網(wǎng)絡(luò)的能耗。因此本文對(duì)LEACH協(xié)議的門(mén)限值T(n)進(jìn)行改進(jìn),加入節(jié)點(diǎn)的剩余能量和地理位置信息,得出新的門(mén)限值公式,如下所示:
(1)
式(1)中α是能量參數(shù),Ecur是當(dāng)前節(jié)點(diǎn)剩余能量,Et是當(dāng)前所有節(jié)點(diǎn)剩余能量總和,β為距離參數(shù),d1為節(jié)點(diǎn)到匯聚節(jié)點(diǎn)的距離,d2節(jié)點(diǎn)到監(jiān)測(cè)區(qū)域中心的距離,G是在這一輪循環(huán)中還沒(méi)有擔(dān)任簇頭的集合,p是網(wǎng)絡(luò)中簇頭節(jié)點(diǎn)數(shù)量占所有節(jié)點(diǎn)的期望百分比,新的門(mén)限值公式使得剩余能量多和距離匯聚節(jié)點(diǎn)近的節(jié)點(diǎn)成為簇頭的可能性增大。
針對(duì)長(zhǎng)帶狀網(wǎng)絡(luò)信息傳輸中的“熱區(qū)”問(wèn)題,改進(jìn)的協(xié)議網(wǎng)絡(luò)中使用非均勻建簇算法。網(wǎng)絡(luò)部署后,匯聚節(jié)點(diǎn)以固定功率向全網(wǎng)發(fā)送一個(gè)聲明信號(hào),簇頭節(jié)點(diǎn)通過(guò)接收到的信號(hào)強(qiáng)度來(lái)計(jì)算與匯聚節(jié)點(diǎn)的距離,然后根據(jù)這個(gè)距離將簇頭節(jié)點(diǎn)分為幾類(lèi):距離較近的簇頭節(jié)點(diǎn),不近不遠(yuǎn)的簇頭節(jié)點(diǎn),較遠(yuǎn)的簇頭節(jié)點(diǎn)。其中距離匯聚節(jié)點(diǎn)較近的和不遠(yuǎn)不近的簇頭節(jié)點(diǎn)可直接將數(shù)據(jù)傳輸給匯聚節(jié)點(diǎn),而距離較遠(yuǎn)的簇頭節(jié)點(diǎn)則通過(guò)多跳的方式向匯聚節(jié)點(diǎn)傳輸數(shù)據(jù)。簇內(nèi)普通節(jié)點(diǎn)采集信息后先向簇頭節(jié)點(diǎn)傳輸數(shù)據(jù),簇頭再將數(shù)據(jù)通過(guò)前面所述方式傳輸給匯聚節(jié)點(diǎn),多跳方式傳輸可以有效減少簇頭節(jié)點(diǎn)進(jìn)行遠(yuǎn)距離傳輸信息的能量消耗,延長(zhǎng)網(wǎng)絡(luò)周期。
綜上所述,改進(jìn)的協(xié)議模型是一種分簇?zé)o線長(zhǎng)帶狀能量的多跳路由協(xié)議(圖1)。
圖1 長(zhǎng)帶狀煤礦巷道多跳無(wú)線傳感器網(wǎng)絡(luò)模型
圖1中每個(gè)圓形區(qū)域代表一個(gè)簇,其由簇頭節(jié)點(diǎn)和若干個(gè)分布均勻的普通節(jié)點(diǎn)組成,簇內(nèi)的普通節(jié)點(diǎn)負(fù)責(zé)收集信息并傳給簇頭節(jié)點(diǎn),簇頭將信息數(shù)據(jù)進(jìn)行融合后,通過(guò)如圖所示多跳的方式傳輸至匯聚節(jié)點(diǎn)。
本文仿真實(shí)驗(yàn)中,使用MATLAB軟件進(jìn)行仿真,實(shí)驗(yàn)設(shè)置網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)n為100,網(wǎng)絡(luò)節(jié)點(diǎn)隨機(jī)分布在600 m×3 m的長(zhǎng)帶狀的場(chǎng)景中,匯聚節(jié)點(diǎn)放置在(0,1.5)點(diǎn)處,每個(gè)節(jié)點(diǎn)初始能量為1 J,p取值為5%,能量因數(shù)α取值為0.6,距離因數(shù)β取值為0.4,仿真從網(wǎng)絡(luò)節(jié)點(diǎn)總能耗和網(wǎng)絡(luò)節(jié)點(diǎn)存活數(shù)量?jī)蓚€(gè)方面來(lái)評(píng)價(jià)改進(jìn)后LEACH協(xié)議的性能。
如圖2所示,LEACH算法的總能耗更早的穩(wěn)定在某一數(shù)值,說(shuō)明該網(wǎng)絡(luò)因部分節(jié)點(diǎn)死亡而喪失了傳輸數(shù)據(jù)的能力,而改進(jìn)的LEACH算法下在相同時(shí)間段內(nèi)的網(wǎng)絡(luò)總能耗明顯小于LEACH算法,說(shuō)明改進(jìn)后的LEACH可以利用有限能量繼續(xù)完成信息傳輸工作。
從圖3可以看出,LEACH算法網(wǎng)絡(luò)約在50輪左右就出現(xiàn)節(jié)點(diǎn)死亡的情況,且在500輪左右算法網(wǎng)絡(luò)已經(jīng)失效,而改進(jìn)的LEACH算法約在550輪左右才出現(xiàn)第一個(gè)死亡節(jié)點(diǎn),死亡的輪數(shù)遠(yuǎn)比LEACH算法大,并且算法失效輪數(shù)較LEACH算法有了很大延遲,網(wǎng)絡(luò)生命周期有了明顯延長(zhǎng)。
圖2 網(wǎng)絡(luò)節(jié)點(diǎn)總能耗
圖3 網(wǎng)絡(luò)節(jié)點(diǎn)存活數(shù)量
本文針對(duì)煤礦巷道長(zhǎng)帶狀特點(diǎn),并通過(guò)對(duì)LEACH協(xié)議的分析,將節(jié)點(diǎn)在網(wǎng)絡(luò)中的位置以及節(jié)點(diǎn)的剩余能量納入考慮范圍,對(duì)LEACH算法的簇頭選擇以及建簇算法進(jìn)行了改進(jìn),并采用多跳的方式在網(wǎng)絡(luò)中傳輸數(shù)據(jù)以減少簇頭節(jié)點(diǎn)進(jìn)行遠(yuǎn)距離傳輸信息的能量消耗,MATLAB仿真證明,改進(jìn)后的LEACH協(xié)議可以有效延長(zhǎng)網(wǎng)絡(luò)生命周期,降低能耗,提高節(jié)點(diǎn)存活數(shù),更加適合應(yīng)用于長(zhǎng)帶狀的煤礦巷道無(wú)線傳感器網(wǎng)絡(luò)中。