專利名稱:基于傳感網(wǎng)節(jié)點(diǎn)通用中間件的數(shù)據(jù)融合方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于傳感網(wǎng)節(jié)點(diǎn)通用中間件的數(shù)據(jù)融合方法,屬于無(wú)線傳感網(wǎng)絡(luò)領(lǐng)域。
背景技術(shù):
對(duì)于無(wú)線傳感網(wǎng)(WSN, Wireless Sensor Network)來(lái)說(shuō),布置在同一區(qū)域的傳感器節(jié)點(diǎn)所采集到的數(shù)據(jù)在時(shí)間和空間上都是有相關(guān)性的,這些數(shù)據(jù)的相關(guān)性就造成了最后傳輸?shù)絽R聚節(jié)點(diǎn)的數(shù)據(jù)冗余。在一些關(guān)鍵的連接節(jié)點(diǎn)上,在它將所采集以及接收到的數(shù)據(jù)向前傳給匯聚節(jié)點(diǎn)之前,如果能夠清除掉這些數(shù)據(jù)里的冗余信息,那么就能減少整個(gè)網(wǎng)絡(luò)的傳輸數(shù)據(jù)量,從而提高有效網(wǎng)絡(luò)容量,這個(gè)技術(shù)叫作數(shù)據(jù)融合。在無(wú)線傳感網(wǎng)中,采用數(shù)據(jù)融合技術(shù)對(duì)提高整個(gè)網(wǎng)絡(luò)的容量意義重大。為了使數(shù)據(jù)融合更加有效,要求融合節(jié)點(diǎn)必須延遲一段時(shí)間以收集到足夠多的數(shù)據(jù)進(jìn)行融合。通常延遲時(shí)間越長(zhǎng),在所述的時(shí)間段內(nèi)獲得的數(shù)據(jù)就越多,數(shù)據(jù)處理能更顯著的降低數(shù)據(jù)量,若超過(guò)最大延遲時(shí)間,則此數(shù)據(jù)不滿足實(shí)時(shí)性要求,對(duì)用戶來(lái)說(shuō)是失效的;但延遲時(shí)間過(guò)短,獲得的數(shù)據(jù)過(guò)少,融合的信息準(zhǔn)確度就很差。因此必須考慮在數(shù)據(jù)延遲受約束的條件下盡量實(shí)現(xiàn)高效的數(shù)據(jù)融合。為了使數(shù)據(jù)融合具有良好的通用性,可以與多種路由協(xié)議和MAC協(xié)議協(xié)同工作,在設(shè)計(jì)數(shù)據(jù)融合模型時(shí),數(shù)據(jù)融合算法的實(shí)現(xiàn)應(yīng)當(dāng)獨(dú)立于網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層。由于數(shù)據(jù)融合關(guān)注的是應(yīng)用數(shù)據(jù)包,因此數(shù)據(jù)融合的實(shí)現(xiàn)應(yīng)當(dāng)位于應(yīng)用層與網(wǎng)絡(luò)層之間。為使數(shù)據(jù)融合與應(yīng)用層數(shù)據(jù)形成緊密的聯(lián)系,又可保持?jǐn)?shù)據(jù)融合的相對(duì)獨(dú)立性,本發(fā)明將數(shù)據(jù)融合作為中間件的一個(gè)模塊。傳感網(wǎng)中間件用于屏蔽底層硬件、網(wǎng)絡(luò)平臺(tái)復(fù)雜性及異構(gòu)性,可以減小用戶高層應(yīng)用需求與網(wǎng)絡(luò)復(fù)雜性差異,優(yōu)化系統(tǒng)的資源管理,增加程序執(zhí)行的可預(yù)見(jiàn)性。由于標(biāo)準(zhǔn)接口對(duì)于可移植性和標(biāo)準(zhǔn)協(xié)議于互操作性的重要性,中間件已成為許多標(biāo)準(zhǔn)化工作的主要部分。中間件提供的程序接口定義了一個(gè)相對(duì)穩(wěn)定的高層應(yīng)用環(huán)境,不管底傳感網(wǎng)絡(luò)硬件和操作系統(tǒng)存在多少差異,只要將中間件升級(jí)更新,并保持對(duì)外接口定義不變,便可以給用戶提供一個(gè)統(tǒng)一的運(yùn)行平臺(tái)和友好開(kāi)發(fā)環(huán)境,有利于加快傳感網(wǎng)大規(guī)模產(chǎn)業(yè)化發(fā)展步伐。沿信息傳輸路徑,轉(zhuǎn)發(fā)節(jié)點(diǎn)的融合時(shí)間分配是影響融合效果的主要因素,是融合技術(shù)的核心問(wèn)題。例如,Jae Young Choi等人于2006年提出一種協(xié)商式的分布式分配方法 ATC (融合時(shí)間控制算法)(參考:Jae Young Choi, Jong Eook, Kamrok Lee, SunghyunChoi, Wook Hyun Kwonj and Hong Seong Park.Aggregation Time Control Algorithmfor Time Constrained Data Delivery in Wireless Sensor Networks.1n:VehicularTechnology Conference,VTC 2006-Spring,IEEE 63rd.Melbourne, Australia, May7-10,2006.563-567)。在網(wǎng)絡(luò)應(yīng)用過(guò)程中,各傳感器節(jié)點(diǎn)按照一定規(guī)則,自主的增加傳輸延遲的時(shí)間。匯聚節(jié)點(diǎn)則檢查接收的每個(gè)分組是否超時(shí),一旦發(fā)現(xiàn)分組超時(shí),匯聚節(jié)點(diǎn)啟動(dòng)超時(shí)信息廣播。傳感器節(jié)點(diǎn)一旦收到sink超時(shí)分組消息,將減少延遲時(shí)間。此過(guò)程不斷重復(fù),直到達(dá)到穩(wěn)定狀態(tài)。所報(bào)道的技術(shù)數(shù)據(jù)處理復(fù)雜度高,而且何時(shí)能夠達(dá)到穩(wěn)定狀態(tài)也很難控制,這在傳感網(wǎng)中并不實(shí)用。又如,SiyuanChen, XiangYang Li 等人在 2009 年發(fā)表 “Order-Optimal DataCollection in Wireless Sensor Networks:Delay and Capacity (無(wú)線傳感器網(wǎng)絡(luò)中階次最優(yōu)的數(shù)據(jù)收集:時(shí)延和容量)”(參考:Siyuan Chen, Yu Wang, Xiang-Yang Li, XinghuaSh1.Proc.0f The 6th Annual IEEE Communications Society Conference on Sensor, Meshand Ad Hoc Communications and Networks (SEC0N’09).1-9),作者將整個(gè)網(wǎng)絡(luò)劃分為很多小的方形網(wǎng)格,每個(gè)網(wǎng)格中有一個(gè)簇頭節(jié)點(diǎn),簇頭節(jié)點(diǎn)對(duì)各自網(wǎng)格里所有的數(shù)據(jù)進(jìn)行融合,再將融合好的數(shù)據(jù)向上一級(jí)傳輸,直至匯聚節(jié)點(diǎn)。所報(bào)道的方法只利用了傳感網(wǎng)傳感器節(jié)點(diǎn)分布和采集數(shù)據(jù)的空間冗余性,每個(gè)傳感器節(jié)點(diǎn)定期采集數(shù)據(jù),并將數(shù)據(jù)發(fā)送給匯聚節(jié)點(diǎn),并不能有效的節(jié)省能量;而且延遲時(shí)間的計(jì)算,只考慮了傳輸延遲,沒(méi)有考慮數(shù)據(jù)融合的處理時(shí)間。這與一些實(shí)際情況不相符。為此,本發(fā)明人試圖基于傳感網(wǎng)絡(luò)節(jié)點(diǎn)的通用中間件,提出數(shù)據(jù)融合方法,以克服現(xiàn)有技術(shù)存在的缺點(diǎn)。
發(fā)明內(nèi)容
本發(fā)明的目的在于基于傳感網(wǎng)節(jié)點(diǎn)通用中間件的數(shù)據(jù)融合方法,本發(fā)明涉及一種基于需求的動(dòng)態(tài)自適應(yīng)數(shù)據(jù)融合方法(wait-time adaptivedata aggregation scheme,WADA),所述的方法采用基于需求的方式減少數(shù)據(jù)量,匯聚節(jié)點(diǎn)需要收集數(shù)據(jù)時(shí),將興趣消息廣播,傳感器節(jié)點(diǎn)將采集的數(shù)據(jù)進(jìn)行數(shù)據(jù)融合后按照一定路由(網(wǎng)絡(luò)層路由協(xié)議中研究,這里重點(diǎn)分析數(shù)據(jù)融合方法,故不做詳細(xì)說(shuō)明),通過(guò)無(wú)線射頻方式發(fā)送至匯聚節(jié)點(diǎn),匯聚節(jié)點(diǎn)根據(jù)所收到應(yīng)答包的數(shù)量動(dòng)態(tài)調(diào)整各傳感器節(jié)點(diǎn)的等待融合的時(shí)間,從而在數(shù)據(jù)準(zhǔn)確性和實(shí)效性之間取得平衡。本發(fā)明中涉及的低功耗傳感網(wǎng)節(jié)點(diǎn)中通用設(shè)備中間件位于WSN設(shè)備應(yīng)用軟件和底層支撐之間,屬于應(yīng)用層軟件范疇。所述的通用設(shè)備中間件在底層支撐軟件的支持下實(shí)現(xiàn)一系列基本的節(jié)點(diǎn)功能,包括傳感探測(cè)、數(shù)據(jù)處理、時(shí)間同步、定位服務(wù)和安全管理等管理和服務(wù)模塊。其中,數(shù)據(jù)融合模塊是數(shù)據(jù)處理模塊的重要部分,可減少網(wǎng)絡(luò)中傳感節(jié)點(diǎn)間的傳輸量,降低帶寬限制,降低整個(gè)網(wǎng)絡(luò)中的能量消耗和數(shù)據(jù)沖突,從而優(yōu)化WSN的整體性倉(cāng)泛。本發(fā)明提供的完整技術(shù)方案是:在WSN中,所有的傳感器節(jié)點(diǎn)采集到的數(shù)據(jù)均要通過(guò)多跳方式傳遞至匯聚節(jié)點(diǎn),整個(gè)網(wǎng)絡(luò)形成以匯聚節(jié)點(diǎn)為根節(jié)點(diǎn)的樹(shù)狀拓?fù)浣Y(jié)構(gòu)。每一個(gè)傳感器節(jié)點(diǎn)都采用中間件構(gòu)思,傳感網(wǎng)節(jié)點(diǎn)中間件位于硬件和軟件支撐之上,位于應(yīng)用層之下,通過(guò)服務(wù)原語(yǔ)方式與上層和下層通信。其中通用中間件中提供對(duì)同步、定位、數(shù)據(jù)處理、代碼管理、網(wǎng)絡(luò)管理和安全管理等功能。數(shù)據(jù)融合是數(shù)據(jù)處理的方法,作為中間件的一個(gè)模塊,是有效減少傳感網(wǎng)能量、延長(zhǎng)生命周期的主要手段之一。數(shù)據(jù)融合模塊在中間件系統(tǒng)中的作用可參考圖1。該中間件系統(tǒng)按其功能可分為通用中間件(Common Middleware)和域中間件(Domain Middleware)。低功耗傳感網(wǎng)節(jié)點(diǎn)設(shè)備中間件位于WSN設(shè)備應(yīng)用軟件和底層支撐軟件之間,屬于應(yīng)用層軟件范疇。
(一)通用中間件:在底層運(yùn)行支撐軟件的支持下實(shí)現(xiàn)一系列基本的節(jié)點(diǎn)功能,主要包括以下兩個(gè)方面:(i)為域中間件提供基本的業(yè)務(wù)支撐服務(wù),如傳感探測(cè)服務(wù)、定位服務(wù)、時(shí)間同步服務(wù)等;(ii)實(shí)現(xiàn)基本的管理功能,如安全管理、統(tǒng)計(jì)服務(wù)、代碼管理、網(wǎng)絡(luò)管理、設(shè)備管理等,為傳感網(wǎng)運(yùn)營(yíng)提供支持。( 二)域中間件:位于通用中間件之上。域中間件在單個(gè)或多個(gè)通用中間件提供的基本功能服務(wù)基礎(chǔ)上,實(shí)現(xiàn)較為復(fù)雜的業(yè)務(wù)功能,向上為應(yīng)用提供配置、控制、數(shù)據(jù)訪問(wèn)接口。WSN設(shè)備中加載的域中間件類型與特定區(qū)域的傳感網(wǎng)功能密切相關(guān)。上層傳感網(wǎng)應(yīng)用只與域中間件有直接接口,其對(duì)通用中間件的訪問(wèn)必須通過(guò)域中間件來(lái)完成。(三)中間件容器(MiddlewareContainer):域中間件、通用中間件均運(yùn)行在(四)底層支撐軟件:除了中間件容器之外,底層支撐軟件也是之外,底層支撐軟件也是WSN設(shè)備中間件正常運(yùn)行所必需的軟組成部分,這部分軟件包括操作系統(tǒng)(OS)、軟件運(yùn)行環(huán)境(Runtime Support)、硬件設(shè)備抽象模塊(HAL)和網(wǎng)絡(luò)協(xié)議棧和網(wǎng)絡(luò)協(xié)議棧(Network Stack)。本發(fā)明提出的數(shù)據(jù)融合方法基于需求的思想,如圖2,分為三個(gè)階段:(I)需求擴(kuò)散階段:當(dāng)匯聚節(jié)點(diǎn)需要收集信息時(shí),它會(huì)向網(wǎng)內(nèi)廣播查詢請(qǐng)求(request)中的興趣消息,興趣消息是對(duì)用戶需求的數(shù)據(jù)信息類型的一種描述,是匯聚節(jié)點(diǎn)發(fā)送給傳感器節(jié)點(diǎn)(包括簇頭節(jié)點(diǎn))的信息之一。當(dāng)父?jìng)鞲衅鞴?jié)點(diǎn)在收到該消息后,它也會(huì)向網(wǎng)絡(luò)中的子節(jié)點(diǎn)傳達(dá)此消息,這樣沿著樹(shù)狀網(wǎng)絡(luò)結(jié)構(gòu)向下傳遞,該需求消息被通知到所有節(jié)點(diǎn)。(2)數(shù)據(jù)融合階段:傳感器子節(jié)點(diǎn)和父節(jié)點(diǎn)需對(duì)其采集數(shù)據(jù)或接收數(shù)據(jù)進(jìn)行不同的融合操作。子節(jié)點(diǎn)在延遲時(shí)間內(nèi),采集到數(shù)據(jù)后,由于傳感器本身的不穩(wěn)定因素與環(huán)境的干擾,該數(shù)據(jù)是含有噪聲的,將該數(shù)據(jù)通過(guò)卡爾曼濾波器濾波,再將采集數(shù)據(jù)與預(yù)測(cè)數(shù)據(jù)綜合考慮計(jì)算,得到一個(gè)平滑變化的數(shù)值。父節(jié)點(diǎn)在延遲時(shí)間內(nèi)等待子節(jié)點(diǎn)傳輸?shù)臄?shù)據(jù),并將接收到的數(shù)據(jù)與自身采集數(shù)據(jù)進(jìn)行相關(guān)數(shù)據(jù)融合操作(如取最值、求平均值、加權(quán)求和、求相關(guān)等)。如火災(zāi)報(bào)警系統(tǒng)中,對(duì)于溫度傳感器采集到數(shù)據(jù),關(guān)心最高溫度,若溫度超過(guò)閾值,則可能會(huì)引起火災(zāi),這里父節(jié)點(diǎn)可在接收到子節(jié)點(diǎn)傳輸?shù)臄?shù)據(jù)后,加入自身采集的溫度值,求取溫度最大值作為數(shù)據(jù)融合結(jié)果。(僅作舉例,不限于溫度傳感器,也不限于該應(yīng)用。)(3)數(shù)據(jù)發(fā)送階段:子節(jié)點(diǎn)采用卡爾曼濾波的算法,通過(guò)過(guò)去N個(gè)數(shù)據(jù)作遞歸計(jì)算,得到當(dāng)前采樣數(shù)據(jù)的預(yù)測(cè)值,將直接采樣值與預(yù)測(cè)值做差,并將差值的絕對(duì)值作為預(yù)測(cè)誤差,當(dāng)預(yù)測(cè)誤差大于預(yù)先設(shè)定的與誤差閾值時(shí),該傳感器節(jié)點(diǎn)向父節(jié)點(diǎn)發(fā)送實(shí)際采樣數(shù)據(jù),若不大于誤差閾值,則不傳輸數(shù)據(jù)。父節(jié)點(diǎn)接收到子節(jié)點(diǎn)的數(shù)據(jù)后經(jīng)過(guò)數(shù)據(jù)融合操作,將數(shù)據(jù)發(fā)送父節(jié)點(diǎn)或匯聚節(jié)點(diǎn)。匯聚節(jié)點(diǎn)收到數(shù)據(jù)后經(jīng)過(guò)最后的融合判決通過(guò)有線的方式傳給應(yīng)用層用戶。如前所述,數(shù)據(jù)融合的關(guān)鍵在于確定最大延遲時(shí)間,并將延遲時(shí)間合理的分配到各個(gè)節(jié)點(diǎn)上,流程如圖3初步確定各節(jié)點(diǎn)的延遲時(shí)間,圖4為動(dòng)態(tài)調(diào)整節(jié)點(diǎn)延遲時(shí)間的流程圖(請(qǐng)?jiān)斠?jiàn)實(shí)施例介紹)。顯然,本發(fā)明提供的方法的數(shù)據(jù)處理復(fù)雜度較低,而融合效果也有明顯改善,能有效減少的數(shù)據(jù)收集過(guò)程中的傳輸次數(shù),減少數(shù)據(jù)量,提高無(wú)線傳感器網(wǎng)絡(luò)的容量,降低其能耗。
綜上所述,本發(fā)明的有益效果是將數(shù)據(jù)融合方法有效的置于傳感網(wǎng)中間件中的數(shù)據(jù)處理模塊,采用服務(wù)原語(yǔ)的方式,向上層傳輸數(shù)據(jù)使用Response (響應(yīng))原語(yǔ),向下層傳輸數(shù)據(jù)使用Request (請(qǐng)求)原語(yǔ),使其有良好的通用性。
圖1、節(jié)點(diǎn)通用中間件體系架構(gòu)圖;圖2、無(wú)線傳感網(wǎng)數(shù)據(jù)融合流程;圖3、各節(jié)點(diǎn)分配延遲時(shí)間的流程;圖4、動(dòng)態(tài)調(diào)整最大延遲時(shí)間策略的流程。
具體實(shí)施例方式下面通過(guò)實(shí)施例,以進(jìn)一步闡明本發(fā)明的顯著進(jìn)步和實(shí)質(zhì)性特點(diǎn)。實(shí)施例1各節(jié)點(diǎn)延遲時(shí)間在本發(fā)明所述的數(shù)據(jù)融合方法,最大延遲時(shí)間由匯聚節(jié)點(diǎn)確定,匯聚節(jié)點(diǎn)將最大延遲時(shí)間信息置于數(shù)據(jù)請(qǐng)求(Data Request)中,并首先發(fā)送Data Request,傳感器節(jié)點(diǎn)收到Data Request后,獲得包中攜帶的最大延遲時(shí)間信息,由于數(shù)據(jù)的傳輸和處理都需要時(shí)間,為了使父節(jié)點(diǎn)能夠有時(shí)間對(duì)信息進(jìn)行處理,傳感器節(jié)點(diǎn)需要在此基礎(chǔ)上減去一定時(shí)間作為本節(jié)點(diǎn)的延遲時(shí)間。理想情況下,減去的時(shí)間應(yīng)該為傳輸時(shí)延兩倍,但由于無(wú)線信道特性,減去的時(shí)間應(yīng)比兩倍的傳輸時(shí)延要長(zhǎng)。確定本節(jié)點(diǎn)延遲時(shí)間后,再向子節(jié)點(diǎn)發(fā)送攜帶有本節(jié)點(diǎn)延遲時(shí)間信息的Data Request,這樣隨著Data Request沿著樹(shù)狀網(wǎng)絡(luò)結(jié)構(gòu)向下傳輸,延遲時(shí)間被分配到各個(gè)節(jié)點(diǎn)上。各節(jié)點(diǎn)獲得自己的延遲時(shí)間后,葉子節(jié)點(diǎn)(數(shù)據(jù)響應(yīng))在自己延遲時(shí)間內(nèi)對(duì)采集數(shù)據(jù)進(jìn)行卡爾曼濾波,然后通過(guò)預(yù)測(cè)誤差與誤差閾值的比較結(jié)果決定是否發(fā)送數(shù)據(jù);若預(yù)測(cè)誤差大于誤差閾值,則將采集數(shù)據(jù)置于Data Response中,發(fā)送至父節(jié)點(diǎn)。父節(jié)點(diǎn)開(kāi)始等待Dara Response的到來(lái),并將接收到的Data Response放入緩存中,直到延遲時(shí)間結(jié)束,將所有接收到的子節(jié)點(diǎn)Data Response與自身采集到的數(shù)據(jù)進(jìn)行融合處理,并將處理后的數(shù)據(jù)置于新的Data Response中,向其父節(jié)點(diǎn)轉(zhuǎn)發(fā)。最終所有經(jīng)過(guò)融合處理的數(shù)據(jù)均以DataResponse服務(wù)原語(yǔ)的形式傳至匯聚節(jié)點(diǎn)。匯聚節(jié)點(diǎn)根據(jù)本輪融合接收到的Data Response的數(shù)目來(lái)動(dòng)態(tài)調(diào)整下一輪融合的最大延遲時(shí)間。Tn+1 = Tn+i (Ropt-Rrec)式中,1;為本輪的最大延遲時(shí)間;Tn+1為下一輪的最大延遲時(shí)間;R_本輪接收到的Data Response數(shù)目JtjptSData Response最佳接收數(shù)目,與應(yīng)用層需求相關(guān);i為調(diào)整因子,i > 0,對(duì)動(dòng)態(tài)自適應(yīng)數(shù)據(jù)融合方法的的時(shí)間收斂性產(chǎn)生直接影響。如果R_ > Rre。,接收到的Data Response數(shù)目小于最佳值,表明本輪設(shè)定的最大延遲時(shí)間過(guò)短,將會(huì)增加下一輪的延遲時(shí)間,使各節(jié)點(diǎn)有充足的時(shí)間進(jìn)行數(shù)據(jù)融合,增加融合數(shù)據(jù)的準(zhǔn)確性;如果R_ < Rra。,接收到的Data Response數(shù)目超過(guò)最佳值,表明本輪設(shè)定的最大延遲時(shí)間過(guò)長(zhǎng),可以減少下一輪的最大延遲時(shí)間,以增加數(shù)據(jù)的實(shí)效性。實(shí)施例2對(duì)節(jié)點(diǎn)數(shù)據(jù)融合的方法,子節(jié)點(diǎn)和父節(jié)點(diǎn)采取不同的融合策略。
對(duì)于子節(jié)點(diǎn),首先進(jìn)行卡爾曼濾波,然后再對(duì)數(shù)據(jù)進(jìn)行比較處理。其特征在于:該方法在采樣節(jié)點(diǎn)采集數(shù)據(jù)之后到傳輸數(shù)據(jù)之前增加一個(gè)數(shù)據(jù)過(guò)濾過(guò)程,節(jié)點(diǎn)采集到數(shù)據(jù)后,該數(shù)據(jù)是含有噪聲的,將該數(shù)據(jù)通過(guò)卡爾曼濾波器去除噪聲,去除噪聲后的數(shù)據(jù)再通過(guò)數(shù)據(jù)融合模型進(jìn)行處理,可以更加準(zhǔn)確的預(yù)測(cè)數(shù)據(jù)??柭鼮V波器是以最小均方誤差為估計(jì)的最佳準(zhǔn)則,來(lái)尋求一套遞推估計(jì)的算法,其基本思想是:采用信號(hào)與噪聲的狀態(tài)空間模型,利用前一時(shí)刻地估計(jì)值和現(xiàn)時(shí)刻的觀測(cè)值來(lái)更新對(duì)狀態(tài)變量的估計(jì),求出現(xiàn)時(shí)刻的估計(jì)值。具體步驟如下:步驟1、定義系統(tǒng)狀態(tài)變量為X e Rn,k時(shí)刻系統(tǒng)控制輸入為U(k),系統(tǒng)過(guò)程激勵(lì)噪聲為w(k)。引入離散控制過(guò)程的系統(tǒng),可用一個(gè)系統(tǒng)的線性隨機(jī)微分方程描述: X(k) =AX (k-1)+BU(k) +W(k)定義觀測(cè)變量Z e Rm,觀測(cè)噪聲為V,可得系統(tǒng)測(cè)量值:Z (k) = HX (k) +V (k)其中,X(k)是k時(shí)刻的系統(tǒng)狀態(tài),U(k)是k時(shí)刻對(duì)系統(tǒng)的控制量,X(k-Ι)為(k-1)時(shí)刻的系統(tǒng)狀態(tài),A和B是系統(tǒng)參數(shù),對(duì)于多模型系統(tǒng),它們?yōu)榫仃嚒 (k)是k時(shí)刻的測(cè)量值,H是測(cè)量系統(tǒng)的參數(shù),對(duì)于多測(cè)量系統(tǒng),H為矩陣。假設(shè)W(k)和V(k)為相互獨(dú)立的高斯白噪聲(White Gaussian Noise),它們的協(xié)方差分別是Q,R (這里假設(shè)它們不隨系統(tǒng)狀態(tài)變化而變化),即:W N (0,Q)V N (O, R)步驟2、為便于描述,做如下說(shuō)明:l)X(k|k_l)為k時(shí)刻之前的狀態(tài)已知的情況下k時(shí)刻的先驗(yàn)狀態(tài)估計(jì)值;2)X(k|k)為測(cè)量值Z(k)已知的情況下k時(shí)刻的后驗(yàn)狀態(tài)估計(jì)值。由此定義先驗(yàn)估計(jì)誤差和后驗(yàn)估計(jì)誤差:E (k I k-1) = X (k)-X (k | k_l)E (k I k) =X (k) -X (k | k)先驗(yàn)估計(jì)誤差和后驗(yàn)估計(jì)誤差的協(xié)方差矩陣分別為: P (k I k-1) = E (E (k I k-1) E (k | k-1)τ)P (k I k) = E (E (k I k) E (k | k)τ)設(shè)定過(guò)程噪聲和測(cè)量噪聲的協(xié)方差,分別用Q和R表示。用設(shè)定的Q和R構(gòu)造出卡爾曼濾波器模型的遞歸公式。利用上一狀態(tài)預(yù)測(cè)出當(dāng)前的狀態(tài):X (k I k-1) =AX (k_l | k_l)+BU (k) (I)協(xié)方差:P(kI k-1) = AP (k-11 k-1) A’+Q (2)式(I)表示,上一狀態(tài)的最優(yōu)估計(jì)值乘以狀態(tài)變換矩陣A,加上輸入控制參數(shù)與控制輸入的乘積,得到當(dāng)前狀態(tài)的預(yù)測(cè)值。式(2)中,P (k I k-ι)是x(k|k-l)對(duì)應(yīng)的協(xié)方差,P (k-ι I k-ι)是X(k-llk-l)對(duì)應(yīng)的協(xié)方差,A’表示A的轉(zhuǎn)置矩陣,Q是系統(tǒng)過(guò)程的協(xié)方差。步驟3、現(xiàn)在我們有了當(dāng)前狀態(tài)的預(yù)測(cè)結(jié)果,然后我們?cè)偈占?dāng)前狀態(tài)的測(cè)量值。結(jié)合預(yù)測(cè)值和測(cè)量值,我們可以得到當(dāng)前狀態(tài)k的最優(yōu)化估計(jì)值x(k|k):X(k I k) = X(k I k-1) +Kg(k) (Z (k) -HX(k | k_l)) (3)式(3)中,Z(k)-HX(kI k-1)反應(yīng)了預(yù)測(cè)值和實(shí)際值之間的不一致程度,成為測(cè)量過(guò)程的殘余。Kg為殘余的增益,也叫卡爾曼增益(Kalman Gain),作用是是后驗(yàn)估計(jì)誤差協(xié)方差最小,可由下式求出: Kg (k) = P (k I k-1) H’ / (HP (k | k-1) H’ +R)到現(xiàn)在為止,我們已經(jīng)得到了 k狀態(tài)下的最優(yōu)估算值X(k|k)。但為了要令卡爾曼濾波器不斷的運(yùn)行下去,知道系統(tǒng)過(guò)程結(jié)束,我們還要更新k狀態(tài)下的X(kIk)的協(xié)方差P(k|k):P (k I k) = (1-Kg (k) H) P (k I k-1)其中I為單位矩陣,對(duì)于單模型單測(cè)量,1=1。當(dāng)系統(tǒng)進(jìn)入k+Ι狀態(tài)時(shí),P(k|k)就是式子(2)的P(k-l|k-l)。這樣,算法就可以自回歸的運(yùn)算下去。步驟4、在子節(jié)點(diǎn)的延遲時(shí)間內(nèi),將傳感器采集的實(shí)測(cè)數(shù)據(jù)通過(guò)卡爾曼濾波器得到剔除噪聲的實(shí)際數(shù)據(jù),并且根據(jù)時(shí)間序列模型以及本節(jié)點(diǎn)緩存的前N個(gè)歷史數(shù)據(jù),計(jì)算本輪的預(yù)測(cè)數(shù)據(jù),N的大小由采用時(shí)間序列模型決定。步驟5、計(jì)算該節(jié)點(diǎn)本輪實(shí)測(cè)數(shù)據(jù)與預(yù)測(cè)數(shù)據(jù)的差值,作為預(yù)測(cè)誤差和預(yù)定的誤差閾值比較。若預(yù)測(cè)誤差大于誤差閾值,則將實(shí)測(cè)數(shù)據(jù)置于Data Response中,向父節(jié)點(diǎn)發(fā)送;若小于,則不發(fā)送,以減少網(wǎng)絡(luò)中的傳輸數(shù)據(jù)。對(duì)于父節(jié)點(diǎn),利用空間位置的相關(guān)性,對(duì)接收到的子節(jié)點(diǎn)的數(shù)據(jù)包求取相關(guān)。父節(jié)點(diǎn)在獲得自己的延遲時(shí)間后,開(kāi)始等待Data Response的到來(lái),并將第一個(gè)接收到的數(shù)據(jù)Data Response放入緩存Rl中,對(duì)于第二個(gè)到來(lái)的數(shù)據(jù),將其與緩存中的數(shù)據(jù)求相關(guān),若相關(guān)值大于設(shè)定閾值,隨機(jī)選取一個(gè)放入緩存中,且Data Response數(shù)目加I ;若相關(guān)值小于設(shè)定閾值,將該數(shù)據(jù)另存緩存R2中。對(duì)于隨后接收到的數(shù)據(jù)包都進(jìn)行類似處理,延遲時(shí)間結(jié)束后,最后將緩存中的數(shù)據(jù)(Rl-Rk)分為k個(gè)Data Response數(shù)據(jù)包來(lái)發(fā)送。當(dāng)然父節(jié)點(diǎn)也可以進(jìn)行簡(jiǎn)單一些的融合操作(比如取最值,求均值等)。對(duì)于數(shù)據(jù)融合層,網(wǎng)絡(luò)中存在兩種類型的數(shù)據(jù)包:數(shù)據(jù)請(qǐng)求包Data Request和數(shù)據(jù)應(yīng)答包Data Response。Data Request和Data Response數(shù)據(jù)包格式分別如表I所不。表I
權(quán)利要求
1.一種基于傳感網(wǎng)節(jié)點(diǎn)通用中間件的數(shù)據(jù)融合方法,其特征在于在無(wú)線傳感網(wǎng)絡(luò)中,所有的傳感器節(jié)點(diǎn)采集到的數(shù)據(jù)均要通過(guò)多跳方式傳遞至匯聚節(jié)點(diǎn),整個(gè)網(wǎng)絡(luò)形成以匯聚節(jié)點(diǎn)為根節(jié)點(diǎn)的樹(shù)狀拓?fù)浣Y(jié)構(gòu);每一個(gè)傳感器節(jié)點(diǎn)都采用通用中間件,無(wú)線傳感網(wǎng)節(jié)點(diǎn)通用中間件位于硬件和軟件支撐之上,位于應(yīng)用層之下,通過(guò)服務(wù)原語(yǔ)方式與上層和下層通信;其中通用中間件中提供對(duì)同步、定位、數(shù)據(jù)處理、代碼管理、網(wǎng)絡(luò)管理或安全管理功能;數(shù)據(jù)融合是數(shù)據(jù)處理的方法,作為中間件的一個(gè)模塊,采用服務(wù)原語(yǔ)的方式,向上層傳輸數(shù)據(jù)使用Response原語(yǔ),向下層傳輸數(shù)據(jù)使用Request原語(yǔ)。
2.按權(quán)利要求1所述的方法,其特征在于所述數(shù)據(jù)融合處理方法基于需求的思想,分為三個(gè)階段: (O需求擴(kuò)散階段:當(dāng)匯聚節(jié)點(diǎn)需要收集信息時(shí),它會(huì)向網(wǎng)內(nèi)廣播查詢請(qǐng)求的興趣消息,當(dāng)父?jìng)鞲衅鞴?jié)點(diǎn)在收到該消息后,它會(huì)向網(wǎng)絡(luò)中的子節(jié)點(diǎn)傳達(dá)此消息,沿著樹(shù)狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)向下傳遞,該需求消息被通知到所有節(jié)點(diǎn); (2)數(shù)據(jù)融合階段:傳感器子節(jié)點(diǎn)和父節(jié)點(diǎn)需對(duì)其采集數(shù)據(jù)或接收數(shù)據(jù)進(jìn)行不同的融合操作;子節(jié)點(diǎn)在延遲時(shí)間內(nèi),采集到數(shù)據(jù)后,將該數(shù)據(jù)通過(guò)卡爾曼濾波器濾波,再將采集數(shù)據(jù)與預(yù)測(cè)數(shù)據(jù)綜合考慮 計(jì)算,得到一個(gè)平滑變化的數(shù)值;而父節(jié)點(diǎn)在延遲時(shí)間內(nèi)等待子節(jié)點(diǎn)傳輸?shù)臄?shù)據(jù),并將接收到的數(shù)據(jù)與自身采集數(shù)據(jù)進(jìn)行相關(guān)數(shù)據(jù)融合操作; (3)數(shù)據(jù)發(fā)送階段:子節(jié)點(diǎn)采用卡爾曼濾波的算法,通過(guò)過(guò)去N個(gè)數(shù)據(jù)作遞歸計(jì)算,得到當(dāng)前采樣數(shù)據(jù)的預(yù)測(cè)值,將直接采樣值與預(yù)測(cè)值做差,并將差值的絕對(duì)值作為預(yù)測(cè)誤差,當(dāng)預(yù)測(cè)誤差大于預(yù)先設(shè)定的與誤差閾值時(shí),該傳感器節(jié)點(diǎn)向父節(jié)點(diǎn)發(fā)送實(shí)際采樣數(shù)據(jù),若不大于誤差閾值,則不傳輸數(shù)據(jù);父節(jié)點(diǎn)接收到子節(jié)點(diǎn)的數(shù)據(jù)后經(jīng)過(guò)數(shù)據(jù)融合操作,將數(shù)據(jù)發(fā)送父節(jié)點(diǎn)或匯聚節(jié)點(diǎn);匯聚節(jié)點(diǎn)收到數(shù)據(jù)后經(jīng)過(guò)最后的融合判決通過(guò)有線的方式傳給應(yīng)用層用戶。
3.按權(quán)利要求2所述的方法,其特征在于所述的興趣消息是對(duì)用戶需求的一種數(shù)據(jù)信 O
4.按權(quán)利要求2所述的方法,其特征在于第2階段所述的最大延遲時(shí)間由匯聚節(jié)點(diǎn)確定,匯聚節(jié)點(diǎn)將最大延遲時(shí)間信息置于數(shù)據(jù)請(qǐng)求Data Request中,并首先發(fā)送DataRequest,傳感器節(jié)點(diǎn)收到Data Request后,獲得包中攜帶的最大延遲時(shí)間信息。
5.按權(quán)利要求4所述的方法,其特征在于在確定本節(jié)點(diǎn)延遲時(shí)間后,再向子節(jié)點(diǎn)發(fā)送攜帶有本節(jié)點(diǎn)延遲時(shí)間信息的Data Request,隨著Data Request沿著樹(shù)狀網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)向下傳輸,延遲時(shí)間被分配到各個(gè)節(jié)點(diǎn)上。
6.按權(quán)利要求4所述的方法,其特征在于各節(jié)點(diǎn)獲得自己的延遲時(shí)間后,數(shù)據(jù)響應(yīng)的葉子節(jié)點(diǎn)在自己延遲時(shí)間內(nèi)對(duì)采集數(shù)據(jù)進(jìn)行卡爾曼濾波,然后通過(guò)預(yù)測(cè)誤差與誤差閾值的比較結(jié)果決定是否發(fā)送數(shù)據(jù);若預(yù)測(cè)誤差大于誤差閾值,則將采集數(shù)據(jù)置于Data Response中,發(fā)送至父節(jié)點(diǎn);父節(jié)點(diǎn)開(kāi)始等待Data Response的到來(lái),并將接收到的Data Response放入緩存中,直到延遲時(shí)間結(jié)束,將所有接收到的子節(jié)點(diǎn)Data Response與自身采集到的數(shù)據(jù)進(jìn)行融合處理,并將處理后的數(shù)據(jù)置于新的Data Response中,向其父節(jié)點(diǎn)轉(zhuǎn)發(fā);最終所有經(jīng)過(guò)融合處理的數(shù)據(jù)均以Data Response服務(wù)原語(yǔ)的形式傳至匯聚節(jié)點(diǎn)。
7.按權(quán)利要求6所述的方法,其特征在于匯聚節(jié)點(diǎn)根據(jù)本輪融合接收到的DataResponse的數(shù)目來(lái)動(dòng)態(tài)調(diào)整下一輪融合的最大延遲時(shí)間:Tn+1 = Tn+i (Ropt-Rrec) 式中,1;為本輪的最大延遲時(shí)間;Tn+1為下一輪的最大延遲時(shí)間;RM。本輪接收到的DataResponse數(shù)目;R_為Data Response最佳接收數(shù)目,與應(yīng)用層需求相關(guān);i為調(diào)整因子,i> 0,對(duì)動(dòng)態(tài)自適應(yīng)數(shù)據(jù)融合方法的的時(shí)間收斂性產(chǎn)生直接影響; 如果> Rra。,接收到的Data Response數(shù)目小于最佳值,表明本輪設(shè)定的最大延遲時(shí)間過(guò)短,將會(huì)增加下一輪的延遲時(shí)間,使各節(jié)點(diǎn)有充足的時(shí)間進(jìn)行數(shù)據(jù)融合,增加融合數(shù)據(jù)的準(zhǔn)確性;如果R_ < Rra。,接收到的Data Response數(shù)目超過(guò)最佳值,表明本輪設(shè)定的最大延遲時(shí)間過(guò)長(zhǎng),可以減少下一輪的最大延遲時(shí)間,以增加數(shù)據(jù)的實(shí)效性。
8.按權(quán)利要求2或6所述的方法,其特征在于對(duì)子節(jié)點(diǎn)和父節(jié)點(diǎn)采取不同的融合策略; A.對(duì)于子節(jié)點(diǎn),首先進(jìn)行卡爾曼濾波,然后再對(duì)數(shù)據(jù)進(jìn)行比較處理;卡爾曼濾波器是一個(gè)最優(yōu)化自回歸數(shù)據(jù)處理算法,具體步驟如下: 步驟1、引入離散控制過(guò)程的系統(tǒng),可用一個(gè)線性隨機(jī)微分方程描述: X (K) = AX (k-1) +BU (k) +W (k) 系統(tǒng)測(cè)量值:Z (k) = HX(k)+V(k) 其中,X(k)是k時(shí)刻的系統(tǒng)狀態(tài),U (k)是k時(shí)刻對(duì)系統(tǒng)的控制量,A和B是系統(tǒng)參數(shù);對(duì)于多模型系統(tǒng),它們?yōu)榫仃?lt;1 (k)是k時(shí)刻的測(cè)量值,H是測(cè)量系統(tǒng)的參數(shù),對(duì)于多測(cè)量系統(tǒng),H為矩陣;W(k)和V(k)分別表示過(guò)程和測(cè)量的噪聲; 步驟2、設(shè)定過(guò)程噪聲和測(cè)量噪聲的協(xié)方差,分別用Q和R表示。用設(shè)定的Q和R構(gòu)造出卡爾曼濾波器模型的遞歸公式; 步驟3、再收集當(dāng)前狀態(tài)的測(cè)量值,結(jié)合步驟2的當(dāng)前狀態(tài)的預(yù)測(cè)值和測(cè)量值而得到當(dāng)前狀態(tài)k的最優(yōu)化估計(jì)值X (k I k);當(dāng)前狀態(tài) k 的最優(yōu)化估計(jì)值:X (k I k) = X (k I k-1) +Kg (k) (Z (k) -HX (k I k-1))式中,Kg 為卡爾曼增益:Kg(k) = P (k I k-1) H,/(HP (k I k-1) H’+R) 更新k狀態(tài)下X(k|k)的協(xié)方差:P(k|k) = (1-Kg (k) H) P (k I k-1)。其中I為I的矩陣,對(duì)于單模型單測(cè)量,I=I ;當(dāng)系統(tǒng)進(jìn)入k+Ι狀態(tài)時(shí),P(k|k)就是式子(2)的P(k-l|k-l);使算法就可以自回歸的運(yùn)算下去。
步驟4、在子節(jié)點(diǎn)的延遲時(shí)間內(nèi),將傳感器采集的實(shí)測(cè)數(shù)據(jù)通過(guò)卡爾曼濾波器得到剔除噪聲的實(shí)際數(shù)據(jù),并且根據(jù)時(shí)間序列模型以及本節(jié)點(diǎn)緩存的前N個(gè)歷史數(shù)據(jù),計(jì)算本輪的預(yù)測(cè)數(shù)據(jù),N的大小由采用時(shí)間序列模型決定; 步驟5、計(jì)算該節(jié)點(diǎn)本輪實(shí)測(cè)數(shù)據(jù)與預(yù)測(cè)數(shù)據(jù)的差值,作為預(yù)測(cè)誤差和預(yù)定的誤差閾值比較,若預(yù)測(cè)誤差大于誤差閾值,則將實(shí)測(cè)數(shù)據(jù)置于Data Response中,向父節(jié)點(diǎn)發(fā)送;若小于,則不發(fā)送,以減少網(wǎng)絡(luò)中的傳輸數(shù)據(jù); B.對(duì)于父節(jié)點(diǎn),利用空間位置的相關(guān)性,對(duì)接收到的子節(jié)點(diǎn)的數(shù)據(jù)包求取相關(guān);父節(jié)點(diǎn)在獲得自己的延遲時(shí)間后,開(kāi)始等待Data Response的到來(lái),并將第一個(gè)接收到的數(shù)據(jù)Data Response放入緩存Rl中,對(duì)于第二個(gè)到來(lái)的數(shù)據(jù),將其與緩存中的數(shù)據(jù)求相關(guān),若相關(guān)值大于設(shè)定閾值,隨機(jī)選取一個(gè)放入緩存中,且Data Response數(shù)目加I ;若相關(guān)值小于設(shè)定閾值,將該數(shù)據(jù)另存緩存R2中;對(duì)于隨后接收到的數(shù)據(jù)包都進(jìn)行類似處理,延遲時(shí)間結(jié)束后,最后將緩存中的數(shù)據(jù)(Rl-R k)分為k個(gè)Data Response數(shù)據(jù)包來(lái)發(fā)送。
9.按權(quán)利要求8所述的方法,其特征在于所述的數(shù)據(jù)融合,網(wǎng)絡(luò)中存在數(shù)據(jù)請(qǐng)求包和數(shù)據(jù)應(yīng)答包另種類型的數(shù)據(jù)包; 其中,數(shù)據(jù)請(qǐng)求包中,ID號(hào)不僅標(biāo)示了包類型,也指明了此時(shí)數(shù)據(jù)請(qǐng)求屬于第幾輪數(shù)據(jù)融合;融合類型表明節(jié)點(diǎn)執(zhí)行的融合操作;延遲時(shí)間包含有父節(jié)點(diǎn)的延遲時(shí)間信息,節(jié)點(diǎn)在向子節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)請(qǐng)求時(shí),需對(duì)此域值進(jìn)行修改; 對(duì)于數(shù)據(jù)應(yīng)答包中,ID號(hào)與其相關(guān)聯(lián)的數(shù)據(jù)請(qǐng)求時(shí)的ID相同,即節(jié)點(diǎn)收到DataRequest數(shù)據(jù)包后,將Data Request中的ID提取出來(lái),放到自己的ID數(shù)據(jù)域,作為DataResponse發(fā)送出去;Data Response數(shù)目表示融合后的數(shù)據(jù)包中Data Response的數(shù)目;數(shù)據(jù)域負(fù)責(zé)攜帶融合后的數(shù)據(jù),主要指?jìng)鞲衅鞑杉瘮?shù)據(jù)的融合結(jié)果,該域可根據(jù)具體的應(yīng)用需求自行定 義。
全文摘要
本發(fā)明涉及一種基于傳感網(wǎng)節(jié)點(diǎn)通用中間件的數(shù)據(jù)融合方法,其特征在于在無(wú)線傳感網(wǎng)絡(luò)中,所有的傳感器節(jié)點(diǎn)采集到的數(shù)據(jù)均要通過(guò)多跳方式傳遞至匯聚節(jié)點(diǎn),整個(gè)網(wǎng)絡(luò)形成以匯聚節(jié)點(diǎn)為根節(jié)點(diǎn)的樹(shù)狀拓?fù)浣Y(jié)構(gòu);每一個(gè)傳感器節(jié)點(diǎn)都采用通用中間件,無(wú)線傳感網(wǎng)節(jié)點(diǎn)通用中間件位于硬件和軟件支撐之上,位于應(yīng)用層之下,通過(guò)服務(wù)原語(yǔ)方式與上層和下層通信;其中通用中間件中提供對(duì)同步、定位、數(shù)據(jù)處理、代碼管理、網(wǎng)絡(luò)管理或安全管理功能;數(shù)據(jù)融合是數(shù)據(jù)處理的方法,作為中間件的一個(gè)模塊,采用服務(wù)原語(yǔ)的方式,向上層傳輸數(shù)據(jù)使用Response原語(yǔ),向下層傳輸數(shù)據(jù)使用Request原語(yǔ)。總之,本發(fā)明所涉及的方法基于需求思想,分為3個(gè)階段需求擴(kuò)散階段、數(shù)據(jù)融合階段及數(shù)據(jù)發(fā)送階段。
文檔編號(hào)H04W84/18GK103118439SQ20131002623
公開(kāi)日2013年5月22日 申請(qǐng)日期2013年1月18日 優(yōu)先權(quán)日2013年1月18日
發(fā)明者尚琳, 趙康, 才正國(guó) 申請(qǐng)人:中國(guó)科學(xué)院上海微系統(tǒng)與信息技術(shù)研究所