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