0 引言
無線傳感器網絡綜合了無線通信技術、傳感器技術、嵌入式系統、分布式計算等多種前沿技術,網絡內各節點能夠通過無線通信方式(如ZigBee)形成自組織網絡,協同感知與處理待測區域內的相關信息并發送給觀測者。在無線傳感器網絡具備諸多優勢的同時,其節點在電池能量、數據處理能力、存儲能力等方面資源十分有限,因此在數據采集與處理過程中的路由與數據融合是一個影響整個網絡生存時間與數據采集效率的關鍵性問題,這也是當前的研究熱點之一。無線傳感器網絡誕生以來,研究者依據使用環境設計了很多經典的路由協議,其中包括基于節點分簇機制的LEACH(Low-Energy Adaptive Clustering Hierarchy)、定向擴散路由DD(Directed Diffusion)、基于地理位置信息的GEAR(Geographical and Energy Aware Routing)等等。本文主要討論基于分簇路由的數據融合問題,下面將以LEACH為基礎加以分析。
1 LEACH協議分析
LEACH協議是由MIT的Heinzelman等學者提出的一種用于無線傳感器網絡的低功耗自適應分層聚簇路由算法,其基本思想就是以“輪”為周期循環地隨機選擇簇頭節點,將整個網絡的能量消耗盡量分散在每個節點中,延長網絡生存時間。每一輪包括兩個階段:簇的建立階段與數據的穩定傳輸階段。在簇的建立階段,通過算法隨機選擇某些節點成為簇頭,其他節點則選擇與其距離最近的簇頭形成簇;在數據的穩定傳輸階段,每個節點分別采集相關數據傳送至簇頭,簇頭接收簇內各個節點的數據后一起發送給基站。
在簇的建立階段,關鍵問題就是簇頭的選擇。為了選擇簇頭,網絡內每個節點都隨機生成一個介于0~1之間的數n如果n小于T(n),則其成為簇頭,T(n)的計算方法如下:

式中:p為預設的每個節點成為簇頭的概率;r為當前運行的輪數;G為最近的1/p輪中尚未成為簇頭的節點集合。該算法讓每1/p輪中網絡內的各個節點都有且僅有一次輪成為簇頭。完成簇頭選擇以后,成為簇頭的每個節點都向網絡發送廣播信息,然后網絡內的每個節點通過收到的信號強度決定它要加入的簇(信號的強度與兩個節點直接的距離正相關)并向該簇頭發送請求信息,形成簇。分簇完成之后簇頭節點采用TDMA方式為簇內的每個節點分配其向簇頭上傳數據的時隙,開始數據的穩定傳輸階段,經過一定時間后再開始下一輪的循環,直至節點因能量耗盡陸續死亡,當剩余節點不再滿足數據采集的需要時,網絡的生命結束。
LEACH協議的分簇拓撲結構無需復雜的路由信息,減少了路由控制過程中消耗的能量,簇內節點大部分時間可以關閉耗能最高的通信模塊,將數據轉發功能交給簇頭節點,有效地節省了簇內節點能量,而簇頭的輪換機制也保證了某個節點的能量不至于過快消耗,相對平衡了所有節點的能耗,延長了網絡生存時間。
顯然,LEACH協議也存在缺點,主要體現在以下兩個方面:
(1)簇頭選擇算法的隨機性過大,在每輪的簇頭選擇階段,任何節點成為簇頭的概率相同,而簇頭節點承擔了網絡中的很大部分通信,包括從簇內節點接收數據與發送數據至基站,當能量較低的節點當選為簇頭時必然會導致其能量的快速耗散以至死亡,節點能量的不平衡也將影響網絡整體的生存時間;
(2)LEACH協議在數據傳輸中雖然體現了數據融合的思想,但并未提出數據融合的具體措施。
2 基于LEACH的數據融合算法
針對LEACH協議的不足,本文提出了一種基于LEACH的數據融合算法,旨在克服LEACH的不足并加入數據融合機制,節省網絡資源,提升數據采集效率。
2.1 簇頭選擇算法
因為LEACH的簇頭選擇算法隨機性過大會導致部分節點的能量消耗過快,本算法在簇頭選擇機制上加入了能量控制因素,讓剩余能量高的節點有更大的概率當選為簇頭。具體實現方法是通過節點當前剩余能量與其初始能量的比值來影響閾值T(n),T(n)的計算方法如下:

式中:En_current表示節點當前的剩余能量;En_initial表示節點的初始能量;rm表示節點連續未當選為簇頭的輪數,每輪進行簇頭選擇時若該節點當選為簇頭,則rm重置為0,而若該節點未當選為簇頭,則rm自增一次。
在簇頭選擇算法中加入上述能量限制因素后,節點當選為簇頭的隨機性大大降低,剩余能量多的節點比剩余能量低的節點有更大的幾率當選為簇頭,因此極大地利用了節點的剩余能量,有效防止了某些節點能量消耗過快以致死亡,平衡了網絡內節點的能量消耗。
2.2 簇頭數據融合樹的建立
依據LEACH對無線傳感器網絡的假設,節點發送信息的能耗ETx(k,d)與接收信息的能耗ERx(k)分別為:

式中:Eelec為發送和接收單位信息的能耗;εamp為信號發送放大器向單位距離發送單位信息的能耗;k為傳輸的信息量;d為信息發送節點與接收節點間的距離;λ為路徑損耗指數。
由上述公式可知,節點發送信息消耗的能量會因為距離的增加而大幅增加,而在LEACH的數據傳輸階段,簇內各節點將數據傳輸給簇頭之后簇頭直接與基站通信,這雖然簡便,但若簇頭與基站距離過遠,數據傳輸所消耗的能量將會很大,為解決這個問題,本文將在簇頭節點與基站的通信中加入多跳的數據融合樹。
具體實現方法是在分簇過程完成之后,簇頭節點相互發送探測信息包,和基站形成反向組播樹,該樹的形成算法主要基于DDSP,在保證與基站路徑最短的前提下,選擇與已計算的目的簇頭最近的路徑,通過目的簇頭之間共享盡可能長的路徑來降低生成樹的能量消耗。反向組播樹形成之后,數據融合過程不僅能在簇頭處理簇內節點傳送來的數據時實現,也能在簇頭之間通過反向組播樹向基站發送數據時實現,讓數據采集效率更高,同時避免了過遠的簇頭直接向基站發送數據時產生過高的能耗,此時網絡的拓撲結構如圖1所示。

2.3 數據融合策略
無線傳感器網絡的數據融合不僅僅是對數據進行簡單的平均、求和等運算,根據具體需求,需要采取不同的融合措施,數據融合的順序一般是從數據層到特征層再到決策層。本協議應用信息熵進行數據分類融合,節點感知的各種信息的數據關系可通過信息熵的計算分為補充數據、冗余數據以及沖突數據。補充數據指傳感器節點感知的目標不同特征的信息;冗余數據指傳感器節點感知的目標同一特征的信息;沖突數據指傳感器節點感知的不同目標的信息或者是同一目標時空不相關的信息,或者是傳感器故障而提供的矛盾信息。判定兩個傳感器節點提供的信息的數據關系方法如下:
假定節點1與節點2感知數據的分布特性符合pi(x/xi),其中i為傳感器號1或2,x(x∈X)為感知的隨機數,xi為節點i感知的數據值;節點i和節點j的聯合分布為pij(x/xi,xj),由信息熵的定義,節點i和j感知數據的自熵hi(xi)與聯合熵hij(xi,xj)的計算如下:

自熵表明了節點i感知數據xi的不確定性,而互熵則表明了節點i和j聯合感知數據(xi,xj)的不確定性。比較hi(xi),hj(xj)與hij(xi,xj)三者的大小關系有以下三種情況:
(1)hi(xi)≤hij(xi,xj)≤hj(xj),說明兩個傳感器的聯合感知數據既沒減少xi的不確定性,也沒增加xj的不確定性,兩個節點的感知數據互不影響,因此兩個數據是互補的;
(2)hij(xi,xj) (3)hi(xi)≤hj(xj)
3 仿真實驗
本文采用Matlab建立仿真模型,分別對原LEACH算法與改進后的算法進行仿真分析并加以比較。
3.1 仿真模型與參數設置
本實驗采用LEACH定義的物理模型,其定義如下:
(1)所有節點屬性完全一樣,能量有限并且均能與基站直接通信;
(2)基站位置固定,節點不知道其自身位置信息;
(3)無線通信采用對稱的信道,消耗的能量與傳輸的方向無關,節點可根據與目標節點的距離來調節射頻發射功率;
(4)簇頭節點可執行數據融合。
實驗采用的各參數定義如表1所示。

3.2 仿真結果及分析
算法的仿真采用了300個節點,隨機分布在500×500的平面區域,而基站位置為(250,250)。節點分布示意如圖2所示。

圖2中“*”表示傳感器節點,“☆”表示基站。建立上述模型后,LEACH協議的仿真結果如圖3所示。

改進后的協議仿真結果如圖4所示。

通過比較可以明顯地得出,新協議比原LEACH協議具有很長的網絡生存時間。為了更量化地比較兩個協議的網絡性能,下面繼續對網絡運行中第一個節點的死亡時間(First Node Dead,FND)以及一半節點的死亡時間(Half Nocles Dead,HND)進行比較,因為在分簇路由中,必須要一個以上的節點才能進行路由計算,所以在此不考慮全部節點的死亡時間。由于仿真實驗的隨機性,每個協議的FND與HND值是對兩個協議進行多次運算后取的平均值。如圖5所示。
由圖5可知,對于FND,新協議比原LEACH協議延長了網絡生存時間約85%,而對于HND,新協議則比原LEACH協議延長了約100%。綜上所述,由于新算法的諸多改進,網絡的整體性能比LEACH更為優秀。
4 結語
本文通過對LEACH在簇頭選擇機制以及數據融合方面不足之處的改進,提出了一種新的基于LEACH分簇路由協議的數據融合算法,改進主要體現在三個方面;在簇頭選擇算法上加入了能量控制機制,讓剩余能量高的節點有更高幾率當選為簇頭;將簇頭節點到基站的單跳路由改為加入了數據融合策略的反向組播樹,節省了與基站過遠的簇頭消耗的能量,數據在不斷往基站的傳輸中也有更多的機會融合;提出了基于信息熵的具體數據融合策略,讓信息的傳輸更有效率。仿真結果表明,這些改進有效平衡了節點能量消耗,延長了網絡生存時間。