摘要:首先介紹當(dāng)前無(wú)線傳感器網(wǎng)絡(luò)中具有代表性的數(shù)據(jù)融合算法;然后基于樹(shù)型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),結(jié)合節(jié)點(diǎn)休眠調(diào)度機(jī)制,建立傳感器節(jié)點(diǎn)的能量模型;最后提出從能量的角度評(píng)價(jià)不同數(shù)據(jù)融合算法性能的方法,并通過(guò)模擬對(duì)典型數(shù)據(jù)融合算法進(jìn)行分析。
關(guān)鍵詞:無(wú)線傳感器網(wǎng)絡(luò); 數(shù)據(jù)融合; 能量
中圖分類號(hào):TP393文獻(xiàn)標(biāo)志碼:A
文章編號(hào):1001-3695(2008)02-0546-05
0引言
隨著無(wú)線通信技術(shù)以及電子技術(shù)的飛速發(fā)展,低成本#65380;低功耗以及多功能的傳感器節(jié)點(diǎn)應(yīng)運(yùn)而生。每個(gè)傳感器節(jié)點(diǎn)具有感知#65380;存儲(chǔ)#65380;數(shù)據(jù)處理以及無(wú)線通信的能力。多個(gè)傳感器節(jié)點(diǎn)的集合構(gòu)成了無(wú)線傳感器網(wǎng)絡(luò)。傳感器節(jié)點(diǎn)之間以Ad hoc的方式相互連接[1,2]。無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用前景十分廣闊,能夠廣泛應(yīng)用于軍事#65380;環(huán)境監(jiān)測(cè)#65380;醫(yī)療健康#65380;交通管理以及商業(yè)應(yīng)用等領(lǐng)域[3~5]。傳感器節(jié)點(diǎn)之間相互協(xié)作,采集并處理監(jiān)測(cè)對(duì)象的相關(guān)數(shù)據(jù),通過(guò)多跳路由將用戶需要的信息發(fā)送到基站。無(wú)線傳感器網(wǎng)絡(luò)將虛擬的信息世界與客觀的物理世界聯(lián)系在一起,改變了人類與自然界的交互方式。然而,無(wú)線傳感器網(wǎng)絡(luò)中存在許多限制條件。首先,大多數(shù)傳感器節(jié)點(diǎn)是由電池供電的,而且經(jīng)常被部署在難以更換電池的區(qū)域。因此,傳感器節(jié)點(diǎn)的能量十分有限,無(wú)線傳感器網(wǎng)絡(luò)具有有限的生命期。其次,傳感器節(jié)點(diǎn)的存儲(chǔ)及處理能力十分有限。其他限制條件還包括:有限的網(wǎng)絡(luò)帶寬;有限的傳輸服務(wù)質(zhì)量;不同類型的應(yīng)用對(duì)于數(shù)據(jù)延遲以及數(shù)據(jù)準(zhǔn)確性的要求有所不同等。因此需要采用新的技術(shù)對(duì)無(wú)線傳感器網(wǎng)絡(luò)進(jìn)行優(yōu)化,使其有效地應(yīng)用于各個(gè)領(lǐng)域。
數(shù)據(jù)融合是無(wú)線傳感器網(wǎng)絡(luò)中重要的研究領(lǐng)域之一。使用數(shù)據(jù)融合技術(shù)能夠有效地克服無(wú)線傳感器網(wǎng)絡(luò)中能量的限制。通過(guò)合并多個(gè)數(shù)據(jù)源產(chǎn)生的數(shù)據(jù),去除冗余信息,數(shù)據(jù)融合能夠有效地減少網(wǎng)絡(luò)中的數(shù)據(jù)傳輸量,從而節(jié)省傳感器節(jié)點(diǎn)的能量,延長(zhǎng)無(wú)線傳感器網(wǎng)絡(luò)的生命期。在無(wú)線傳感器網(wǎng)絡(luò)中,數(shù)據(jù)融合的作用還體現(xiàn)在以下幾個(gè)方面:通過(guò)減少網(wǎng)絡(luò)中的數(shù)據(jù)傳輸量,數(shù)據(jù)融合能夠降低無(wú)線信道中發(fā)生沖突的可能性,從而提高數(shù)據(jù)收集的效率;通過(guò)比較相鄰傳感器節(jié)點(diǎn)采集的數(shù)據(jù),數(shù)據(jù)融合能夠檢測(cè)失效節(jié)點(diǎn),丟棄異常數(shù)據(jù),從而增強(qiáng)數(shù)據(jù)的準(zhǔn)確性;通過(guò)綜合各種類型傳感器節(jié)點(diǎn)感知的信息,數(shù)據(jù)融合能夠彌補(bǔ)高層的用戶需求與底層傳感器節(jié)點(diǎn)采集的原始數(shù)據(jù)之間的差距。數(shù)據(jù)融合的出現(xiàn)使無(wú)線傳感器網(wǎng)絡(luò)的研究焦點(diǎn)從以地址為中心的方法(尋找節(jié)點(diǎn)之間的較短路徑)擴(kuò)展到以數(shù)據(jù)為中心的方法(尋找節(jié)點(diǎn)之間能夠盡可能去除冗余信息的路徑)[6~8]。
本文介紹了當(dāng)前無(wú)線傳感器網(wǎng)絡(luò)中具有代表性的數(shù)據(jù)融合算法,包括基于分布式數(shù)據(jù)庫(kù)的聚集操作#65380;數(shù)據(jù)包合并和模型驅(qū)動(dòng)的數(shù)據(jù)融合。能量是無(wú)線傳感器網(wǎng)絡(luò)中重要的資源,而數(shù)據(jù)融合的主要作用是節(jié)省能量。因此,建立傳感器節(jié)點(diǎn)的能量模型#65380;量化分析數(shù)據(jù)融合,對(duì)于傳感器節(jié)點(diǎn)能量的影響以及對(duì)于無(wú)線傳感器網(wǎng)絡(luò)生命期的影響是十分必要的。
1典型數(shù)據(jù)融合算法
1.1基于分布式數(shù)據(jù)庫(kù)的聚集操作
在基于分布式數(shù)據(jù)庫(kù)的聚集操作中,無(wú)線傳感器網(wǎng)絡(luò)被視為一個(gè)分布式數(shù)據(jù)庫(kù)。用戶使用描述性的語(yǔ)言向網(wǎng)絡(luò)發(fā)送查詢請(qǐng)求。查詢請(qǐng)求在網(wǎng)絡(luò)中以分布式的方式進(jìn)行處理。查詢結(jié)果通過(guò)多跳路由返回給用戶。處理查詢請(qǐng)求以及返回查詢結(jié)果的過(guò)程實(shí)質(zhì)上就是進(jìn)行數(shù)據(jù)融合的過(guò)程。在這類算法中,典型的方法包括TAG[9]#65380;TiNA[10]和計(jì)算中位數(shù)[11]等。
1.1.1TAG
TAG (tiny aggregation)是一個(gè)基于 TinyOS[12]的通用聚集操作服務(wù)模塊。它采用類似SQL(structured query language)的查詢語(yǔ)法。TAG中的查詢過(guò)程分為查詢請(qǐng)求分發(fā)和查詢結(jié)果收集兩個(gè)階段。在第一個(gè)階段,基站廣播查詢請(qǐng)求消息。當(dāng)某個(gè)節(jié)點(diǎn)第一次收到查詢請(qǐng)求時(shí),它將消息的發(fā)送者作為自己的父節(jié)點(diǎn),然后轉(zhuǎn)發(fā)查詢請(qǐng)求消息;否則丟棄查詢請(qǐng)求消息。查詢請(qǐng)求消息以這種洪泛的方式遍及整個(gè)網(wǎng)絡(luò)。所有節(jié)點(diǎn)形成一棵以基站為根的數(shù)據(jù)融合樹(shù)。在第二個(gè)階段,每個(gè)節(jié)點(diǎn)周期性地采集數(shù)據(jù),融合本地采集的數(shù)據(jù)以及子節(jié)點(diǎn)發(fā)來(lái)的查詢結(jié)果,然后將融合結(jié)果發(fā)送到父節(jié)點(diǎn)。
TAG實(shí)質(zhì)上是一種空間域上的數(shù)據(jù)融合。它利用相鄰傳感器節(jié)點(diǎn)采集數(shù)據(jù)的空間一致性去除冗余信息,從而減少網(wǎng)絡(luò)中的數(shù)據(jù)傳輸量。這種方法對(duì)于一些簡(jiǎn)單的聚集操作十分有效,如max#65380;min#65380;average#65380;sum及count等。然而,對(duì)于一般的查詢請(qǐng)求來(lái)說(shuō),TAG的作用就不是非常明顯了。例如,當(dāng)查詢請(qǐng)求為收集所有傳感器節(jié)點(diǎn)采集的溫度值時(shí),轉(zhuǎn)發(fā)節(jié)點(diǎn)收到子節(jié)點(diǎn)發(fā)來(lái)的查詢結(jié)果后無(wú)法進(jìn)行聚集操作,只能將每個(gè)子節(jié)點(diǎn)的查詢結(jié)果依次發(fā)送到父節(jié)點(diǎn)。
1.1.2TiNA
TiNA (temporal coherency-aware in-network aggregation)是一種利用傳感器節(jié)點(diǎn)采集數(shù)據(jù)的時(shí)間一致性進(jìn)行網(wǎng)內(nèi)融合的機(jī)制。它在滿足用戶對(duì)于數(shù)據(jù)準(zhǔn)確性需求的前提下,通過(guò)網(wǎng)內(nèi)融合盡可能地節(jié)省能量。TiNA的基本思想是,只有當(dāng)前采集的數(shù)據(jù)與上一次采集的數(shù)據(jù)的差值大于某個(gè)用戶指定的容忍限度時(shí),節(jié)點(diǎn)才進(jìn)行數(shù)據(jù)發(fā)送。它采用定向擴(kuò)散(directed diffusion)[6]的方式建立路由樹(shù),為每個(gè)節(jié)點(diǎn)分配梯度值并指定其父節(jié)點(diǎn)。節(jié)點(diǎn)為了利用數(shù)據(jù)的時(shí)間一致性,必須保存額外的信息。葉節(jié)點(diǎn)需要保存上一次發(fā)送到父節(jié)點(diǎn)的數(shù)據(jù)。轉(zhuǎn)發(fā)節(jié)點(diǎn)不但需要保存自己上一次發(fā)送到父節(jié)點(diǎn)的數(shù)據(jù),而且需要保存每個(gè)子節(jié)點(diǎn)發(fā)來(lái)的最新數(shù)據(jù)。
TiNA實(shí)質(zhì)上是一種時(shí)間域上的數(shù)據(jù)融合。它對(duì)TAG進(jìn)行了擴(kuò)展,引入了數(shù)據(jù)時(shí)間一致性的概念。這種方法對(duì)于監(jiān)測(cè)數(shù)據(jù)波動(dòng)較小的應(yīng)用十分有效,能夠顯著地減少網(wǎng)絡(luò)中的數(shù)據(jù)傳輸量。然而,當(dāng)監(jiān)測(cè)數(shù)據(jù)波動(dòng)較大時(shí),TiNA的作用就不是非常明顯了;而且TiNA對(duì)于節(jié)點(diǎn)存儲(chǔ)空間的要求比較高,尤其當(dāng)網(wǎng)絡(luò)規(guī)模較大時(shí),轉(zhuǎn)發(fā)節(jié)點(diǎn)需要保存大量的額外信息。
1.1.3復(fù)雜的聚集操作
簡(jiǎn)單的聚集操作如average以及sum等,在許多應(yīng)用場(chǎng)景中能夠滿足用戶的需求。然而,當(dāng)個(gè)別傳感器節(jié)點(diǎn)失效時(shí),它所產(chǎn)生的異常數(shù)據(jù)將對(duì)average以及sum等聚集結(jié)果造成很大的影響。在這種情況下,估計(jì)網(wǎng)絡(luò)中傳感數(shù)據(jù)的分布變得十分重要。文獻(xiàn)[11]提出一種新的概要結(jié)構(gòu)q-digest,它能夠近似地捕獲傳感數(shù)據(jù)的分布。q-digest的核心思想是根據(jù)傳感數(shù)據(jù)的分布,對(duì)數(shù)值進(jìn)行自動(dòng)分組并將其放到可變大小的具有相似權(quán)重的容器中。每個(gè)傳感器節(jié)點(diǎn)采集數(shù)據(jù)之后,首先在本地構(gòu)造一個(gè)q-digest,然后將其與子節(jié)點(diǎn)發(fā)來(lái)的q-digest進(jìn)行合并,最后將合并后的q-digest發(fā)送到父節(jié)點(diǎn)。q-digest能夠支持一些復(fù)雜的查詢操作,如分位數(shù)查詢#65380;反轉(zhuǎn)分位數(shù)查詢#65380;范圍查詢及協(xié)調(diào)控制查詢等。
上述方法實(shí)質(zhì)上是用近似的傳感數(shù)據(jù)的分布取代具體的每個(gè)節(jié)點(diǎn)采集的數(shù)據(jù)。它對(duì)傳統(tǒng)聚集操作進(jìn)行了擴(kuò)展,引入了分位數(shù)等復(fù)雜的聚集操作。這些聚集操作能夠有效地避免少數(shù)異常數(shù)據(jù)對(duì)于聚集結(jié)果的影響。然而,這種方法是針對(duì)基于數(shù)據(jù)分布的聚集操作設(shè)計(jì)的,適用范圍具有一定的局限性。
1.2數(shù)據(jù)包合并
數(shù)據(jù)包合并是無(wú)線傳感器網(wǎng)絡(luò)中一種有效的數(shù)據(jù)融合算法。數(shù)據(jù)包合并的主要思想是當(dāng)某個(gè)節(jié)點(diǎn)收到多個(gè)子節(jié)點(diǎn)發(fā)來(lái)的數(shù)據(jù)包時(shí),將它們合并成一個(gè)大的數(shù)據(jù)包,然后將合并后的數(shù)據(jù)包發(fā)送到父節(jié)點(diǎn)。在無(wú)線傳感器網(wǎng)絡(luò)中,數(shù)據(jù)字段相對(duì)較短,而控制字段相對(duì)較長(zhǎng)。數(shù)據(jù)包合并能夠有效地降低包頭的開(kāi)銷。在無(wú)線傳感器網(wǎng)絡(luò)中,典型的數(shù)據(jù)包合并算法包括數(shù)據(jù)漏斗[13]以及AIDA[14]等。
1.2.1數(shù)據(jù)漏斗
數(shù)據(jù)漏斗將網(wǎng)絡(luò)中的節(jié)點(diǎn)分為少量的控制節(jié)點(diǎn)和大量的傳感節(jié)點(diǎn)兩類。其主要思想是,控制節(jié)點(diǎn)將被監(jiān)測(cè)空間劃分為不同的區(qū)域,并向每個(gè)區(qū)域發(fā)送查詢消息;收到查詢消息后,區(qū)域中的傳感器節(jié)點(diǎn)開(kāi)始周期性地向控制節(jié)點(diǎn)發(fā)送傳感數(shù)據(jù)。由于同一區(qū)域內(nèi)的大部分節(jié)點(diǎn)幾乎在同一時(shí)間向控制節(jié)點(diǎn)發(fā)送數(shù)據(jù),將這些數(shù)據(jù)合并為一個(gè)數(shù)據(jù)包發(fā)送到控制節(jié)點(diǎn)是十分有效的。在數(shù)據(jù)包合并的基礎(chǔ)上,文獻(xiàn)[13]提出了一種數(shù)據(jù)壓縮機(jī)制。其主要思想是,當(dāng)發(fā)送多個(gè)數(shù)據(jù)并且數(shù)據(jù)的次序?qū)τ趹?yīng)用并不重要時(shí),選擇以哪種次序發(fā)送這些數(shù)據(jù)能夠用來(lái)向接收者傳達(dá)附加信息。例如,區(qū)域中有四個(gè)節(jié)點(diǎn),節(jié)點(diǎn)號(hào)分別為1#65380;2#65380;3#65380;4。每個(gè)節(jié)點(diǎn)產(chǎn)生獨(dú)立的數(shù)據(jù),數(shù)據(jù)的取值范圍為{0,1,2,3,4,5}。邊界節(jié)點(diǎn)可以從3!=6種可能發(fā)送前三個(gè)數(shù)據(jù)的排序中選擇適當(dāng)?shù)拇涡?,指出第四個(gè)節(jié)點(diǎn)產(chǎn)生的數(shù)據(jù)。
數(shù)據(jù)漏斗實(shí)質(zhì)上是一種基于簇的數(shù)據(jù)融合,邊界節(jié)點(diǎn)相當(dāng)于簇頭節(jié)點(diǎn),傳感器節(jié)點(diǎn)屬于簇內(nèi)節(jié)點(diǎn)。簇頭節(jié)點(diǎn)負(fù)責(zé)合并簇內(nèi)節(jié)點(diǎn)的數(shù)據(jù)包。基于數(shù)據(jù)次序的編碼算法能夠進(jìn)一步壓縮數(shù)據(jù)包的大小。然而,數(shù)據(jù)漏斗要求節(jié)點(diǎn)具有自身的位置信息。在無(wú)線傳感器網(wǎng)絡(luò)中,節(jié)點(diǎn)的位置信息通常是難以得到的。同時(shí),上述數(shù)據(jù)壓縮機(jī)制的效率與具體應(yīng)用密切相關(guān)。當(dāng)數(shù)據(jù)的取值范圍較大時(shí),數(shù)據(jù)壓縮效率較低。
1.2.2AIDA
AIDA (application-independent data aggregation)是一種與應(yīng)用無(wú)關(guān)的數(shù)據(jù)融合算法。它能夠無(wú)縫地安裝到現(xiàn)有的無(wú)線傳感器網(wǎng)絡(luò)協(xié)議棧中。AIDA由兩個(gè)部分組成:a)功能單元,負(fù)責(zé)融合以及分解網(wǎng)絡(luò)中的數(shù)據(jù)包;b)控制單元,負(fù)責(zé)自適應(yīng)地調(diào)整定時(shí)器設(shè)置及融合度。AIDA按照如下方式進(jìn)行工作:將來(lái)自網(wǎng)絡(luò)層的數(shù)據(jù)包放到融合池中,根據(jù)融合度以及這些數(shù)據(jù)包下一跳的目的地址,AIDA功能單元將多個(gè)數(shù)據(jù)包合并成一個(gè)數(shù)據(jù)包;然后將其傳遞到MAC(media access control)層進(jìn)行發(fā)送。每次融合多少個(gè)數(shù)據(jù)包以及什么時(shí)候調(diào)用融合算法等決策由AIDA控制單元負(fù)責(zé)。AIDA控制單元是一個(gè)基于反饋的自適應(yīng)組件。它能夠根據(jù)本地當(dāng)前的網(wǎng)絡(luò)狀況作出在線決策。與流出的數(shù)據(jù)相似,流入的數(shù)據(jù)在MAC層被接收,然后傳遞到AIDA。在AIDA中,流入的數(shù)據(jù)被分解成原始數(shù)據(jù)包,然后向上傳遞到網(wǎng)絡(luò)層或者應(yīng)用層。
AIDA實(shí)質(zhì)上是在MAC層與網(wǎng)絡(luò)層之間加入了一個(gè)數(shù)據(jù)融合層進(jìn)行數(shù)據(jù)包合并的操作。通過(guò)數(shù)據(jù)包合并,AIDA能夠有效地減少網(wǎng)絡(luò)中的數(shù)據(jù)傳輸量,降低無(wú)線信道中發(fā)生沖突的可能性。然而,AIDA與應(yīng)用相互獨(dú)立,它無(wú)法利用高層次的語(yǔ)義信息對(duì)數(shù)據(jù)作進(jìn)一步的壓縮。因此,AIDA的融合度相對(duì)比較低。
1.3模型驅(qū)動(dòng)的數(shù)據(jù)融合
無(wú)線傳感器網(wǎng)絡(luò)是以數(shù)據(jù)為中心的。傳感器節(jié)點(diǎn)采集的數(shù)據(jù)在空間及時(shí)間上往往具有一定的規(guī)律,能夠用某種模型進(jìn)行描述。無(wú)線傳感器網(wǎng)絡(luò)中的一些研究工作集中在基于某種模型進(jìn)行數(shù)據(jù)融合。典型的模型包括小波與神經(jīng)網(wǎng)絡(luò)[15]#65380;卡爾曼濾波[16]及概率模型[17]等。
1.3.1小波與神經(jīng)網(wǎng)絡(luò)
對(duì)于無(wú)線傳感器網(wǎng)絡(luò)來(lái)說(shuō),一個(gè)完全集中式的數(shù)據(jù)收集策略所需保存的數(shù)據(jù)量將很快超過(guò)中央服務(wù)器的容量。而且這種體系結(jié)構(gòu)浪費(fèi)能量,因?yàn)閭鞲袛?shù)據(jù)在時(shí)間與空間上包含很多冗余信息。在應(yīng)用需要大量傳感數(shù)據(jù)的概要信息以及進(jìn)行相似性查詢時(shí),使用神經(jīng)網(wǎng)絡(luò)算法是一個(gè)合理的選擇。小波變換是一個(gè)濾波以及二次抽樣的過(guò)程。它無(wú)須占用過(guò)多的存儲(chǔ)空間,而且能夠?qū)崟r(shí)執(zhí)行,適合對(duì)連續(xù)的傳感數(shù)據(jù)進(jìn)行編/解碼。文獻(xiàn)[15]將人工智能神經(jīng)網(wǎng)絡(luò)算法中的一個(gè)常用模型ART (adaptive resonance theory)用于無(wú)線傳感器網(wǎng)絡(luò)。它提出了一種體系結(jié)構(gòu)。在這種體系結(jié)構(gòu)中,簇頭節(jié)點(diǎn)僅僅收集來(lái)自其他單元的聚類輸出,從而減少了網(wǎng)絡(luò)中的數(shù)據(jù)傳輸量。信號(hào)的離散小波變換可以與神經(jīng)網(wǎng)絡(luò)相結(jié)合,作為神經(jīng)網(wǎng)絡(luò)的預(yù)處理單元。它使系統(tǒng)具有從數(shù)據(jù)中提取重要特征的能力。上述方法將小波變換以及神經(jīng)網(wǎng)絡(luò)中的一些模型與算法應(yīng)用到無(wú)線傳感器網(wǎng)絡(luò)中,對(duì)原始數(shù)據(jù)進(jìn)行編/解碼以及進(jìn)一步的智能處理。它能夠有效地減少網(wǎng)絡(luò)中的數(shù)據(jù)傳輸量,從而節(jié)省能量;同時(shí),它使無(wú)線傳感器網(wǎng)絡(luò)具有一定的智能性。
1.3.2卡爾曼濾波
對(duì)于無(wú)線傳感器網(wǎng)絡(luò)來(lái)說(shuō),最基本的分布式估計(jì)問(wèn)題是開(kāi)發(fā)一種用于卡爾曼濾波(Kalman filtering) 的分布式算法。文獻(xiàn)[16]指出,分布式卡爾曼濾波問(wèn)題可以簡(jiǎn)化為兩個(gè)動(dòng)態(tài)協(xié)調(diào)控制問(wèn)題,即測(cè)量數(shù)據(jù)的融合和協(xié)方差信息的融合。解決這兩個(gè)協(xié)調(diào)控制問(wèn)題需要一個(gè)合適的協(xié)調(diào)控制濾波器(一個(gè)低通濾波器與一個(gè)帶通濾波器)。協(xié)調(diào)控制濾波器是一種分布式算法,它能夠計(jì)算隨時(shí)間變化信號(hào)的協(xié)調(diào)控制平均值。文獻(xiàn)[16]使用低通濾波器進(jìn)行測(cè)量數(shù)據(jù)的融合,使用帶通濾波器進(jìn)行逆協(xié)方差矩陣的融合。它將用于無(wú)線傳感器網(wǎng)絡(luò)的中心卡爾曼濾波器分解為多個(gè)微卡爾曼濾波器。這些微卡爾曼濾波器由兩個(gè)協(xié)調(diào)控制濾波器提供輸入。微卡爾曼濾波器組成的網(wǎng)絡(luò)能夠以協(xié)作的方式提供對(duì)觀測(cè)過(guò)程狀態(tài)的估計(jì)。
上述方法將卡爾曼濾波應(yīng)用到無(wú)線傳感器網(wǎng)絡(luò)中,對(duì)相關(guān)信息進(jìn)行估計(jì)。它能夠有效地去除某些異常數(shù)據(jù)的影響,從而得到準(zhǔn)確的信息。在此基礎(chǔ)上,節(jié)點(diǎn)通過(guò)傳輸融合結(jié)果代替?zhèn)鬏斣紨?shù)據(jù),從而達(dá)到節(jié)省能量的目的。
1.3.3概率模型
概率模型能夠?yàn)闊o(wú)線傳感器網(wǎng)絡(luò)中近似的#65380;信息損失有界的數(shù)據(jù)收集提供及時(shí)有效的支持。物理環(huán)境常常具有可預(yù)測(cè)的穩(wěn)定狀態(tài),以及很強(qiáng)的屬性之間的相關(guān)性,因此可以根據(jù)傳感器節(jié)點(diǎn)的歷史數(shù)據(jù)以及周圍環(huán)境推斷出它的狀態(tài)。文獻(xiàn)[17]提出了一種基于復(fù)制動(dòng)態(tài)概率模型的數(shù)據(jù)融合機(jī)制。其基本思想是維護(hù)一對(duì)關(guān)于網(wǎng)絡(luò)屬性的動(dòng)態(tài)概率模型。其中,一個(gè)模型分布在網(wǎng)絡(luò)中,另一個(gè)模型位于基站。在每個(gè)采樣周期,基站根據(jù)模型計(jì)算出期望的網(wǎng)絡(luò)屬性值,將其作為查詢結(jié)果返回給用戶。這種方法無(wú)須在節(jié)點(diǎn)與基站之間進(jìn)行數(shù)據(jù)傳輸。傳感器節(jié)點(diǎn)始終進(jìn)行數(shù)據(jù)處理,它將預(yù)測(cè)的數(shù)據(jù)與采集的數(shù)據(jù)進(jìn)行比較。當(dāng)預(yù)測(cè)的數(shù)據(jù)超出某個(gè)誤差范圍時(shí),它將采集的數(shù)據(jù)發(fā)送到基站。這種方法同樣適用于基于事件檢測(cè)以及異常檢測(cè)的應(yīng)用。
上述方法將概率模型應(yīng)用到無(wú)線傳感器網(wǎng)絡(luò)中,根據(jù)模型對(duì)網(wǎng)絡(luò)屬性進(jìn)行預(yù)測(cè)。它分為預(yù)測(cè)和檢驗(yàn)兩個(gè)階段。當(dāng)預(yù)測(cè)成功時(shí),能夠最大限度地減少網(wǎng)絡(luò)中的數(shù)據(jù)傳輸量,從而節(jié)省能量;否則,在檢驗(yàn)階段進(jìn)行數(shù)據(jù)傳輸,確保結(jié)果的正確性。
2傳感器節(jié)點(diǎn)的能量模型
能量是無(wú)線傳感器網(wǎng)絡(luò)中的重要資源,而數(shù)據(jù)融合的主要作用是節(jié)省能量。因此,建立傳感器節(jié)點(diǎn)的能量模型,量化分析數(shù)據(jù)融合對(duì)于傳感器節(jié)點(diǎn)能量的影響以及對(duì)于無(wú)線傳感器網(wǎng)絡(luò)生命期的影響是十分必要的。當(dāng)前,無(wú)線傳感器網(wǎng)絡(luò)研究領(lǐng)域出現(xiàn)了許多數(shù)據(jù)融合算法,但缺乏對(duì)這些算法進(jìn)行有效評(píng)價(jià)的方法。一些研究工作僅僅從數(shù)據(jù)發(fā)送量的角度近似地估計(jì)數(shù)據(jù)融合對(duì)于能量的影響[18,19]。這種方法基于如下假設(shè):當(dāng)節(jié)點(diǎn)無(wú)須進(jìn)行數(shù)據(jù)傳輸時(shí),就完全不消耗能量。然而在實(shí)際應(yīng)用中,這種假設(shè)是不成立的。節(jié)點(diǎn)工作狀態(tài)與能量消耗如圖1所示。
從圖1中可以看出,節(jié)點(diǎn)的能量消耗并非僅僅與數(shù)據(jù)發(fā)送量相關(guān)。事實(shí)上,節(jié)點(diǎn)在接收數(shù)據(jù)以及監(jiān)聽(tīng)信道時(shí)都要消耗一部分能量,即使在休眠狀態(tài),也要消耗少量的能量。因此,建立準(zhǔn)確的節(jié)點(diǎn)能量模型用來(lái)指導(dǎo)實(shí)際應(yīng)用具有重要意義。本文對(duì)節(jié)點(diǎn)的能量消耗進(jìn)行分析,基于樹(shù)型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),結(jié)合節(jié)點(diǎn)休眠調(diào)度機(jī)制,建立傳感器節(jié)點(diǎn)的能量模型。
2.1節(jié)點(diǎn)能耗分析
在無(wú)線傳感器網(wǎng)絡(luò)中,傳感器節(jié)點(diǎn)的能量消耗可以分為三個(gè)部分:數(shù)據(jù)感知的能量消耗#65380;數(shù)據(jù)處理的能量消耗和數(shù)據(jù)傳輸?shù)哪芰肯?。用公式表示為E=Esense+Eprocess+Etransmit,Etotal=∑Ni=1Ei。其中: E為單個(gè)節(jié)點(diǎn)的能量消耗;Etotal為整個(gè)網(wǎng)絡(luò)的能量消耗;N為網(wǎng)絡(luò)中節(jié)點(diǎn)的個(gè)數(shù)。
在實(shí)際應(yīng)用中,數(shù)據(jù)感知的能量消耗取決于具體的傳感器件。根據(jù)應(yīng)用場(chǎng)景的需求確定使用的傳感器件之后,數(shù)據(jù)感知的能量消耗也隨之確定。數(shù)據(jù)處理的能量消耗取決于節(jié)點(diǎn)運(yùn)行的嵌入式程序的復(fù)雜程度。節(jié)點(diǎn)程序確定之后,數(shù)據(jù)處理的能量消耗也隨之確定。數(shù)據(jù)傳輸?shù)哪芰肯呐c節(jié)點(diǎn)的工作狀態(tài)密切相關(guān)。根據(jù)節(jié)點(diǎn)的工作狀態(tài),數(shù)據(jù)傳輸?shù)哪芰肯目梢赃M(jìn)一步分為數(shù)據(jù)發(fā)送的能量消耗#65380;數(shù)據(jù)接收的能量消耗#65380;監(jiān)聽(tīng)信道的能量消耗和節(jié)點(diǎn)休眠的能量消耗。用公式表示為Etransmitting=Esend+Ereceive+Elisten+Esleep。
在無(wú)線傳感器網(wǎng)絡(luò)中,數(shù)據(jù)傳輸?shù)哪芰肯母哂趫?zhí)行其他操作的能量消耗[20]。數(shù)據(jù)融合的主要作用是減少節(jié)點(diǎn)數(shù)據(jù)傳輸?shù)哪芰肯摹R虼?,建立?zhǔn)確的節(jié)點(diǎn)能量模型,特別是進(jìn)行數(shù)據(jù)傳輸?shù)哪芰磕P?,?duì)于評(píng)價(jià)數(shù)據(jù)融合算法的性能具有重要意義。
2. 2節(jié)點(diǎn)工作模式
傳感器節(jié)點(diǎn)的能量消耗與其工作模式具有密切關(guān)系。因此,建立節(jié)點(diǎn)的能量模型之前,必須先定義節(jié)點(diǎn)的工作模式。本文中節(jié)點(diǎn)的能量模型是基于樹(shù)型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),結(jié)合節(jié)點(diǎn)休眠調(diào)度機(jī)制建立的。
在無(wú)線傳感器網(wǎng)絡(luò)中,樹(shù)型結(jié)構(gòu)是最常見(jiàn)的拓?fù)浣Y(jié)構(gòu)。網(wǎng)絡(luò)中的所有節(jié)點(diǎn)形成一棵以基站為根節(jié)點(diǎn)的數(shù)據(jù)收集樹(shù)。在每個(gè)采樣周期,傳感器節(jié)點(diǎn)首先采集數(shù)據(jù),然后將其發(fā)送到自己的父節(jié)點(diǎn)。某個(gè)節(jié)點(diǎn)收到其子節(jié)點(diǎn)發(fā)來(lái)的數(shù)據(jù)后,將其轉(zhuǎn)發(fā)到自己的父節(jié)點(diǎn)。網(wǎng)絡(luò)中所有節(jié)點(diǎn)的數(shù)據(jù)通過(guò)這種多跳路由的方式最終匯聚到根節(jié)點(diǎn)。本文中節(jié)點(diǎn)的能量模型是基于這種樹(shù)型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)建立的。在無(wú)線傳感器網(wǎng)絡(luò)中,傳感器節(jié)點(diǎn)的工作模式主要取決于節(jié)點(diǎn)休眠調(diào)度機(jī)制。本文采用的節(jié)點(diǎn)休眠調(diào)度機(jī)制基于B-MAC[21]協(xié)議。網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)具有四個(gè)不同的狀態(tài),即發(fā)送#65380;接收#65380;監(jiān)聽(tīng)和休眠,如圖2所示。
具體的休眠調(diào)度方法如下:當(dāng)無(wú)須發(fā)送或者接收數(shù)據(jù)時(shí),節(jié)點(diǎn)進(jìn)行周期性的監(jiān)聽(tīng)與休眠;發(fā)送數(shù)據(jù)時(shí),節(jié)點(diǎn)首先監(jiān)聽(tīng)信道,如果信道空閑,則進(jìn)入發(fā)送狀態(tài)進(jìn)行數(shù)據(jù)發(fā)送,發(fā)送結(jié)束后進(jìn)入休眠狀態(tài);監(jiān)聽(tīng)信道時(shí),節(jié)點(diǎn)如果聽(tīng)到發(fā)給自己的數(shù)據(jù),則進(jìn)入接收狀態(tài)進(jìn)行數(shù)據(jù)接收,接收結(jié)束后進(jìn)入休眠狀態(tài)。為了保持同步,節(jié)點(diǎn)在發(fā)送數(shù)據(jù)之前首先發(fā)送一個(gè)前導(dǎo)字段 。前導(dǎo)字段在網(wǎng)絡(luò)中的傳輸時(shí)間大于其他節(jié)點(diǎn)的休眠時(shí)間,這樣能夠確保接收節(jié)點(diǎn)在數(shù)據(jù)到來(lái)之前進(jìn)入接收狀態(tài)。
2. 3節(jié)點(diǎn)能量模型
基于上述節(jié)點(diǎn)工作模式,可以得到節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸?shù)哪芰磕P?。?jié)點(diǎn)能量模型中參數(shù)的含義如表1所示。
與葉節(jié)點(diǎn)相比,轉(zhuǎn)發(fā)節(jié)點(diǎn)不僅需要發(fā)送自己采集的數(shù)據(jù),而且需要接收子孫節(jié)點(diǎn)采集的數(shù)據(jù)并進(jìn)行轉(zhuǎn)發(fā)。在上述轉(zhuǎn)發(fā)節(jié)點(diǎn)的能量模型中,第一部分為接收數(shù)據(jù)消耗的能量;第二部分為發(fā)送數(shù)據(jù)以及轉(zhuǎn)發(fā)數(shù)據(jù)消耗的能量;第三部分為進(jìn)行周期性監(jiān)聽(tīng)與休眠消耗的能量。
上述節(jié)點(diǎn)能量模型綜合考慮了節(jié)點(diǎn)在不同工作狀態(tài)的能量消耗,因此更加符合實(shí)際應(yīng)用中的真實(shí)情況。與從數(shù)據(jù)發(fā)送量的角度近似地估計(jì)數(shù)據(jù)融合對(duì)于能量的影響方法相比,使用本文的節(jié)點(diǎn)能量模型能夠更為準(zhǔn)確地從能量的角度評(píng)價(jià)數(shù)據(jù)融合算法的性能。
3融合算法性能評(píng)價(jià)
基于上述節(jié)點(diǎn)工作模式以及節(jié)點(diǎn)能量模型,本文使用NS[22]進(jìn)行模擬,從能量的角度對(duì)聚集操作和數(shù)據(jù)包合并這兩種數(shù)據(jù)融合算法進(jìn)行性能評(píng)價(jià)。為了便于比較,本文同時(shí)模擬了不使用數(shù)據(jù)融合技術(shù),而采用直接發(fā)送的數(shù)據(jù)收集方式。
3.1網(wǎng)絡(luò)模擬方法
本文使用的模擬平臺(tái)為NS2.29,參數(shù)設(shè)置如表2所示。
在本文的網(wǎng)絡(luò)模擬中,節(jié)點(diǎn)按照網(wǎng)格的形式進(jìn)行部署。其中,位于網(wǎng)格中心的節(jié)點(diǎn)作為基站,其他節(jié)點(diǎn)作為傳感器節(jié)點(diǎn)。這種網(wǎng)絡(luò)部署方法能夠確保節(jié)點(diǎn)之間的連通性,不會(huì)出現(xiàn)無(wú)法與基站建立連接的孤立節(jié)點(diǎn)。通過(guò)路由協(xié)議,網(wǎng)絡(luò)中的所有節(jié)點(diǎn)形成一棵以基站為根節(jié)點(diǎn)的數(shù)據(jù)融合樹(shù)。
本文在不同場(chǎng)景下進(jìn)行了多次模擬。網(wǎng)絡(luò)規(guī)模從20增加到200個(gè)節(jié)點(diǎn),每次遞增20個(gè)節(jié)點(diǎn)。傳感器節(jié)點(diǎn)的采樣周期從5增加到55 s,每次遞增5 s。網(wǎng)絡(luò)模擬中用到的一些參數(shù)如表3所示。
采用聚集操作的數(shù)據(jù)融合方式時(shí),轉(zhuǎn)發(fā)節(jié)點(diǎn)收到子節(jié)點(diǎn)發(fā)來(lái)的數(shù)據(jù)后并不立即進(jìn)行轉(zhuǎn)發(fā),而是啟動(dòng)一個(gè)定時(shí)器。定時(shí)器到期時(shí),轉(zhuǎn)發(fā)節(jié)點(diǎn)對(duì)這段時(shí)間收到的多個(gè)數(shù)據(jù)包執(zhí)行聚集操作,然后轉(zhuǎn)發(fā)聚集結(jié)果。
采用數(shù)據(jù)包合并的數(shù)據(jù)融合方式時(shí),轉(zhuǎn)發(fā)節(jié)點(diǎn)收到子節(jié)點(diǎn)發(fā)來(lái)的數(shù)據(jù)后并不立即進(jìn)行轉(zhuǎn)發(fā),同樣啟動(dòng)一個(gè)定時(shí)器。定時(shí)器到期時(shí),將多個(gè)數(shù)據(jù)包中的數(shù)據(jù)字段進(jìn)行合并,然后將其插入到轉(zhuǎn)發(fā)數(shù)據(jù)包中的數(shù)據(jù)字段。
采用直接發(fā)送的數(shù)據(jù)收集方式時(shí),轉(zhuǎn)發(fā)節(jié)點(diǎn)收到子節(jié)點(diǎn)發(fā)來(lái)的數(shù)據(jù)后,立即將其轉(zhuǎn)發(fā)到自己的父節(jié)點(diǎn)。
3. 2網(wǎng)絡(luò)模擬結(jié)果
采用上述方法進(jìn)行網(wǎng)絡(luò)模擬,得到的模擬結(jié)果如圖3#65380;4所示。
圖3描述了單個(gè)節(jié)點(diǎn)的平均能量消耗與網(wǎng)絡(luò)規(guī)模的關(guān)系。其中,傳感器節(jié)點(diǎn)的采樣周期為5 s??梢钥闯?,與直接發(fā)送相比,采用聚集操作以及數(shù)據(jù)包合并的融合算法,單個(gè)節(jié)點(diǎn)的平均能量消耗明顯減小,而且隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,它們之間的差值逐漸增大。聚集操作與數(shù)據(jù)包合并相比,單個(gè)節(jié)點(diǎn)的平均能量消耗基本相同。這是因?yàn)榕c聚集操作相比,數(shù)據(jù)包合并僅僅多傳輸了子節(jié)點(diǎn)數(shù)據(jù)包中的數(shù)據(jù)字段。在傳感器網(wǎng)絡(luò)中,數(shù)據(jù)字段的長(zhǎng)度通常為2 Byte,而整個(gè)數(shù)據(jù)包的長(zhǎng)度為133 Byte。傳輸數(shù)據(jù)字段的能量消耗可以忽略不計(jì)。
圖4描述了單位時(shí)間單個(gè)節(jié)點(diǎn)的平均能量消耗與傳感器節(jié)點(diǎn)的采樣周期關(guān)系。其中,節(jié)點(diǎn)數(shù)量為200。可以看出,與直接發(fā)送相比,采用聚集操作以及數(shù)據(jù)包合并的融合算法,單位時(shí)間單個(gè)節(jié)點(diǎn)的能量消耗明顯減小。然而隨著采樣周期的延長(zhǎng),它們之間的差值逐漸減小。這是因?yàn)殡S著單位時(shí)間數(shù)據(jù)傳輸量的減小,執(zhí)行融合操作的次數(shù)逐漸減少。聚集操作與數(shù)據(jù)包合并相比,單位時(shí)間單個(gè)節(jié)點(diǎn)的能量消耗基本相同。
基于上述網(wǎng)絡(luò)模擬結(jié)果可以得到以下結(jié)論:在無(wú)線傳感器網(wǎng)絡(luò)中,數(shù)據(jù)融合能夠帶來(lái)能量上的收益。當(dāng)網(wǎng)絡(luò)規(guī)模較大且傳感器節(jié)點(diǎn)的采樣周期較短時(shí),數(shù)據(jù)融合的作用更加明顯。
4結(jié)束語(yǔ)
數(shù)據(jù)融合是無(wú)線傳感器網(wǎng)絡(luò)中重要的研究領(lǐng)域之一。本文介紹了當(dāng)前無(wú)線傳感器網(wǎng)絡(luò)中具有代表性的數(shù)據(jù)融合算法,包括基于分布式數(shù)據(jù)庫(kù)的聚集操作#65380;數(shù)據(jù)包合并及模型驅(qū)動(dòng)的數(shù)據(jù)融合。在實(shí)際應(yīng)用中,數(shù)據(jù)融合需要與MAC協(xié)議#65380;以數(shù)據(jù)為中心的路由及網(wǎng)絡(luò)拓?fù)涞纫蛩鼐C合考慮,進(jìn)行跨層設(shè)計(jì)與優(yōu)化,從而得到最優(yōu)的能量收益。
參考文獻(xiàn):
[1]AKYILDIZ I F, SU W, SANKARASUBRAMANIAM Y,et al. A survey on sensor networks[J]. IEEE Communications Magazine, 2002, 40(8):102-114.
[2]崔莉,鞠海玲,苗勇,等. 無(wú)線傳感器網(wǎng)絡(luò)研究進(jìn)展[J]. 計(jì)算機(jī)研究與發(fā)展,2005,42(1):163-174.
[3]MAINWARIG A, POLASTRE J, SZEWCZYK R, et al. Wireless sensor networks for habitat monitoring[M]. New York: ACM Press, 2002:88-97.
[4]WERNER-ALLEN G, LORINCZ K, WELSH M, et al. Deploying a wireless sensor network on an active volcano[J]. IEEE Internet Computing, 2006, 10(2):18-25.
[5]SINOPOLI B, SHARP C, SCHENATO L, et al. Distributed control applications within sensor networks[C]//Proc of IEEE.2003:1235-1246.
[6]INTANAGONWIWAT C,GOVINDAN R,ESTRIN D. Directed diffusion: a scalable and robust communication paradigm for sensor networks[M]. Boston: ACM Press, 2000:56-67.
[7]HEIDEMANN J, SILVA F,INTANAGONWIWAT C, et al. Building efficient wireless sensor networks with low-level naming[M]. New York: ACM Press, 2001:146-159.
[8]KRISHNAMACHARI B,ESTRIN D,WICKER S. Modelling data-centric routing in wireless sensor networks[M]. New York: IEEE Computer Society, 2002:131-146.
[9]MADDEN S,F(xiàn)RANKLIN M,HELLERSTEIN J. TAG: a tiny aggregation service for Ad hoc sensor networks[M]. Boston: ACM Press, 2002:131-146.
[10]SHARAF M A, BEAVER J, LABRINIDIS A, et al. TiNA: a scheme for temporal coherency aware in network aggregation[C]//Proc of the 3rd ACM International Workshop on Data Engineering for Wireless and Mobile Access.San Diego:[s.n.],2003:69-76.
[11]SHRIVASTAVA N, BURAGOHAIN C, AGRAWAL D, et al. Medians and beyond: new aggregation techniques for sensor networks[M]. New York: ACM Press, 2004:239-249.
[12]TinyOS[EB/OL].[2006-09-15]. http://www.tinyos.net.
[13]PETROVIC D,SHAH R C,RAMCHANDRAN K,et al. Data funneling: routing with aggregation and compression for wireless sensor networks[C]//Proc of the 1st IEEE.2003:156-162.
[14]HE Tian, BLUM B M,STANKOVIC J A,et al. AIDA: adaptive application-independent data aggregation in wireless sensor networks[J]. ACM Trans on Embedded Computing Systems, 2002, 3(2): 426-457.
[15]KULAKOV A, DAVCEV D, TRAJKOVSKI G. Application of wavelet neural-networks in wireless sensor networks[C]//Proc of SNPD/SAWN.2005:262- 267.
[16]OLFATI-SABER R. Distributed kalman filtering and sensor fusion in sensor networks[EB/OL].[2006-09-15].
http://engineering.dartmouth.edu/~olfati/papers/dkf_nd05.pdf.
[17]CHU D, DESHPANDE A,HELLERSTEIN J M,et al. Approximate data collection in sensor networks using probabilistic model[C]//Proc of the 22nd International Conference on Data Engineering.2006:48.
[18]KRISHNAMACHARI B, ESTRIN D, WICKER S. Impact of data aggregation in wireless sensor networks[C]//Proc of the 22nd International Conference on Distributed Computing Systems.2002:575-578.
[19]INTANAGONWIWAT C,ESTRIN D,GOVINDAN R, et al. Impact of network density on data aggregation in wireless sensor networks[C]//Proc of the 22nd International Conference on Distributed Computing Systems.2002:457.
[20]SZEWCZYK R,F(xiàn)ERENCZ A. Energy implications of network sensor designs[EB/OL].[ 2006-09-15]. http://bwrc.eecs.berkeley.edu/Classes/CS252/Projects/Reports/robert_szewczyk.pdf.
[21]POLASTRE J, HILL J, CULLER D. Versatile low power media access for wireless sensor networks[M]. New York: ACM Press, 2004:95-107.
[22]NS[EB/OL].[2006-09-15].http://www.isi.edu/nsnam/ns.
“本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文”