0 引言
無線傳感器網絡綜合了無線通信技術、傳感器技術,、嵌入式系統(tǒng),、分布式計算等多種前沿技術,網絡內各節(jié)點能夠通過無線通信方式(如ZigBee)形成自組織網絡,,協(xié)同感知與處理待測區(qū)域內的相關信息并發(fā)送給觀測者,。在無線傳感器網絡具備諸多優(yōu)勢的同時,其節(jié)點在電池能量,、數(shù)據(jù)處理能力,、存儲能力等方面資源十分有限,因此在數(shù)據(jù)采集與處理過程中的路由與數(shù)據(jù)融合是一個影響整個網絡生存時間與數(shù)據(jù)采集效率的關鍵性問題,,這也是當前的研究熱點之一,。無線傳感器網絡誕生以來,研究者依據(jù)使用環(huán)境設計了很多經典的路由協(xié)議,,其中包括基于節(jié)點分簇機制的LEACH(Low-Energy Adaptive Clustering Hierarchy),、定向擴散路由DD(Directed Diffusion)、基于地理位置信息的GEAR(Geographical and Energy Aware Routing)等等,。本文主要討論基于分簇路由的數(shù)據(jù)融合問題,,下面將以LEACH為基礎加以分析。
1 LEACH協(xié)議分析
LEACH協(xié)議是由MIT的Heinzelman等學者提出的一種用于無線傳感器網絡的低功耗自適應分層聚簇路由算法,,其基本思想就是以“輪”為周期循環(huán)地隨機選擇簇頭節(jié)點,,將整個網絡的能量消耗盡量分散在每個節(jié)點中,延長網絡生存時間。每一輪包括兩個階段:簇的建立階段與數(shù)據(jù)的穩(wěn)定傳輸階段,。在簇的建立階段,,通過算法隨機選擇某些節(jié)點成為簇頭,其他節(jié)點則選擇與其距離最近的簇頭形成簇,;在數(shù)據(jù)的穩(wěn)定傳輸階段,,每個節(jié)點分別采集相關數(shù)據(jù)傳送至簇頭,簇頭接收簇內各個節(jié)點的數(shù)據(jù)后一起發(fā)送給基站,。
在簇的建立階段,,關鍵問題就是簇頭的選擇。為了選擇簇頭,,網絡內每個節(jié)點都隨機生成一個介于0~1之間的數(shù)n如果n小于T(n),,則其成為簇頭,T(n)的計算方法如下:
式中:p為預設的每個節(jié)點成為簇頭的概率,;r為當前運行的輪數(shù),;G為最近的1/p輪中尚未成為簇頭的節(jié)點集合。該算法讓每1/p輪中網絡內的各個節(jié)點都有且僅有一次輪成為簇頭,。完成簇頭選擇以后,,成為簇頭的每個節(jié)點都向網絡發(fā)送廣播信息,然后網絡內的每個節(jié)點通過收到的信號強度決定它要加入的簇(信號的強度與兩個節(jié)點直接的距離正相關)并向該簇頭發(fā)送請求信息,,形成簇,。分簇完成之后簇頭節(jié)點采用TDMA方式為簇內的每個節(jié)點分配其向簇頭上傳數(shù)據(jù)的時隙,開始數(shù)據(jù)的穩(wěn)定傳輸階段,,經過一定時間后再開始下一輪的循環(huán),,直至節(jié)點因能量耗盡陸續(xù)死亡,當剩余節(jié)點不再滿足數(shù)據(jù)采集的需要時,,網絡的生命結束,。
LEACH協(xié)議的分簇拓撲結構無需復雜的路由信息,減少了路由控制過程中消耗的能量,,簇內節(jié)點大部分時間可以關閉耗能最高的通信模塊,,將數(shù)據(jù)轉發(fā)功能交給簇頭節(jié)點,有效地節(jié)省了簇內節(jié)點能量,,而簇頭的輪換機制也保證了某個節(jié)點的能量不至于過快消耗,,相對平衡了所有節(jié)點的能耗,延長了網絡生存時間,。
顯然,,LEACH協(xié)議也存在缺點,主要體現(xiàn)在以下兩個方面:
(1)簇頭選擇算法的隨機性過大,,在每輪的簇頭選擇階段,,任何節(jié)點成為簇頭的概率相同,,而簇頭節(jié)點承擔了網絡中的很大部分通信,包括從簇內節(jié)點接收數(shù)據(jù)與發(fā)送數(shù)據(jù)至基站,,當能量較低的節(jié)點當選為簇頭時必然會導致其能量的快速耗散以至死亡,,節(jié)點能量的不平衡也將影響網絡整體的生存時間;
(2)LEACH協(xié)議在數(shù)據(jù)傳輸中雖然體現(xiàn)了數(shù)據(jù)融合的思想,,但并未提出數(shù)據(jù)融合的具體措施,。
2 基于LEACH的數(shù)據(jù)融合算法
針對LEACH協(xié)議的不足,本文提出了一種基于LEACH的數(shù)據(jù)融合算法,,旨在克服LEACH的不足并加入數(shù)據(jù)融合機制,,節(jié)省網絡資源,提升數(shù)據(jù)采集效率,。
2.1 簇頭選擇算法
因為LEACH的簇頭選擇算法隨機性過大會導致部分節(jié)點的能量消耗過快,,本算法在簇頭選擇機制上加入了能量控制因素,讓剩余能量高的節(jié)點有更大的概率當選為簇頭,。具體實現(xiàn)方法是通過節(jié)點當前剩余能量與其初始能量的比值來影響閾值T(n),,T(n)的計算方法如下:
式中:En_current表示節(jié)點當前的剩余能量;En_initial表示節(jié)點的初始能量,;rm表示節(jié)點連續(xù)未當選為簇頭的輪數(shù),,每輪進行簇頭選擇時若該節(jié)點當選為簇頭,則rm重置為0,,而若該節(jié)點未當選為簇頭,,則rm自增一次,。
在簇頭選擇算法中加入上述能量限制因素后,,節(jié)點當選為簇頭的隨機性大大降低,剩余能量多的節(jié)點比剩余能量低的節(jié)點有更大的幾率當選為簇頭,,因此極大地利用了節(jié)點的剩余能量,,有效防止了某些節(jié)點能量消耗過快以致死亡,平衡了網絡內節(jié)點的能量消耗,。
2.2 簇頭數(shù)據(jù)融合樹的建立
依據(jù)LEACH對無線傳感器網絡的假設,,節(jié)點發(fā)送信息的能耗ETx(k,d)與接收信息的能耗ERx(k)分別為:
式中:Eelec為發(fā)送和接收單位信息的能耗,;εamp為信號發(fā)送放大器向單位距離發(fā)送單位信息的能耗,;k為傳輸?shù)男畔⒘浚籨為信息發(fā)送節(jié)點與接收節(jié)點間的距離,;λ為路徑損耗指數(shù),。
由上述公式可知,節(jié)點發(fā)送信息消耗的能量會因為距離的增加而大幅增加,,而在LEACH的數(shù)據(jù)傳輸階段,,簇內各節(jié)點將數(shù)據(jù)傳輸給簇頭之后簇頭直接與基站通信,,這雖然簡便,但若簇頭與基站距離過遠,,數(shù)據(jù)傳輸所消耗的能量將會很大,,為解決這個問題,本文將在簇頭節(jié)點與基站的通信中加入多跳的數(shù)據(jù)融合樹,。
具體實現(xiàn)方法是在分簇過程完成之后,,簇頭節(jié)點相互發(fā)送探測信息包,和基站形成反向組播樹,,該樹的形成算法主要基于DDSP,,在保證與基站路徑最短的前提下,選擇與已計算的目的簇頭最近的路徑,,通過目的簇頭之間共享盡可能長的路徑來降低生成樹的能量消耗,。反向組播樹形成之后,數(shù)據(jù)融合過程不僅能在簇頭處理簇內節(jié)點傳送來的數(shù)據(jù)時實現(xiàn),,也能在簇頭之間通過反向組播樹向基站發(fā)送數(shù)據(jù)時實現(xiàn),,讓數(shù)據(jù)采集效率更高,同時避免了過遠的簇頭直接向基站發(fā)送數(shù)據(jù)時產生過高的能耗,,此時網絡的拓撲結構如圖1所示,。
2.3 數(shù)據(jù)融合策略
無線傳感器網絡的數(shù)據(jù)融合不僅僅是對數(shù)據(jù)進行簡單的平均、求和等運算,,根據(jù)具體需求,,需要采取不同的融合措施,數(shù)據(jù)融合的順序一般是從數(shù)據(jù)層到特征層再到決策層,。本協(xié)議應用信息熵進行數(shù)據(jù)分類融合,,節(jié)點感知的各種信息的數(shù)據(jù)關系可通過信息熵的計算分為補充數(shù)據(jù)、冗余數(shù)據(jù)以及沖突數(shù)據(jù),。補充數(shù)據(jù)指傳感器節(jié)點感知的目標不同特征的信息,;冗余數(shù)據(jù)指傳感器節(jié)點感知的目標同一特征的信息;沖突數(shù)據(jù)指傳感器節(jié)點感知的不同目標的信息或者是同一目標時空不相關的信息,,或者是傳感器故障而提供的矛盾信息,。判定兩個傳感器節(jié)點提供的信息的數(shù)據(jù)關系方法如下:
假定節(jié)點1與節(jié)點2感知數(shù)據(jù)的分布特性符合pi(x/xi),其中i為傳感器號1或2,,x(x∈X)為感知的隨機數(shù),,xi為節(jié)點i感知的數(shù)據(jù)值;節(jié)點i和節(jié)點j的聯(lián)合分布為pij(x/xi,,xj),,由信息熵的定義,節(jié)點i和j感知數(shù)據(jù)的自熵hi(xi)與聯(lián)合熵hij(xi,,xj)的計算如下:
自熵表明了節(jié)點i感知數(shù)據(jù)xi的不確定性,,而互熵則表明了節(jié)點i和j聯(lián)合感知數(shù)據(jù)(xi,,xj)的不確定性。比較hi(xi),,hj(xj)與hij(xi,,xj)三者的大小關系有以下三種情況:
(1)hi(xi)≤hij(xi,xj)≤hj(xj),,說明兩個傳感器的聯(lián)合感知數(shù)據(jù)既沒減少xi的不確定性,,也沒增加xj的不確定性,兩個節(jié)點的感知數(shù)據(jù)互不影響,,因此兩個數(shù)據(jù)是互補的,;
(2)hij(xi,xj) (3)hi(xi)≤hj(xj)
3 仿真實驗
本文采用Matlab建立仿真模型,,分別對原LEACH算法與改進后的算法進行仿真分析并加以比較,。
3.1 仿真模型與參數(shù)設置
本實驗采用LEACH定義的物理模型,其定義如下:
(1)所有節(jié)點屬性完全一樣,,能量有限并且均能與基站直接通信,;
(2)基站位置固定,節(jié)點不知道其自身位置信息,;
(3)無線通信采用對稱的信道,,消耗的能量與傳輸?shù)姆较驘o關,節(jié)點可根據(jù)與目標節(jié)點的距離來調節(jié)射頻發(fā)射功率,;
(4)簇頭節(jié)點可執(zhí)行數(shù)據(jù)融合,。
實驗采用的各參數(shù)定義如表1所示。
3.2 仿真結果及分析
算法的仿真采用了300個節(jié)點,,隨機分布在500×500的平面區(qū)域,,而基站位置為(250,250),。節(jié)點分布示意如圖2所示,。
圖2中“*”表示傳感器節(jié)點,,“☆”表示基站,。建立上述模型后,LEACH協(xié)議的仿真結果如圖3所示,。
改進后的協(xié)議仿真結果如圖4所示,。
通過比較可以明顯地得出,新協(xié)議比原LEACH協(xié)議具有很長的網絡生存時間,。為了更量化地比較兩個協(xié)議的網絡性能,,下面繼續(xù)對網絡運行中第一個節(jié)點的死亡時間(First Node Dead,F(xiàn)ND)以及一半節(jié)點的死亡時間(Half Nocles Dead,,HND)進行比較,,因為在分簇路由中,,必須要一個以上的節(jié)點才能進行路由計算,所以在此不考慮全部節(jié)點的死亡時間,。由于仿真實驗的隨機性,,每個協(xié)議的FND與HND值是對兩個協(xié)議進行多次運算后取的平均值。如圖5所示,。
由圖5可知,,對于FND,新協(xié)議比原LEACH協(xié)議延長了網絡生存時間約85%,,而對于HND,,新協(xié)議則比原LEACH協(xié)議延長了約100%。綜上所述,,由于新算法的諸多改進,,網絡的整體性能比LEACH更為優(yōu)秀。
4 結語
本文通過對LEACH在簇頭選擇機制以及數(shù)據(jù)融合方面不足之處的改進,,提出了一種新的基于LEACH分簇路由協(xié)議的數(shù)據(jù)融合算法,,改進主要體現(xiàn)在三個方面;在簇頭選擇算法上加入了能量控制機制,,讓剩余能量高的節(jié)點有更高幾率當選為簇頭,;將簇頭節(jié)點到基站的單跳路由改為加入了數(shù)據(jù)融合策略的反向組播樹,節(jié)省了與基站過遠的簇頭消耗的能量,,數(shù)據(jù)在不斷往基站的傳輸中也有更多的機會融合,;提出了基于信息熵的具體數(shù)據(jù)融合策略,讓信息的傳輸更有效率,。仿真結果表明,,這些改進有效平衡了節(jié)點能量消耗,延長了網絡生存時間,。