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