杜 鵬,包曉安,胡逸飛,陳迪榮
(浙江理工大學 信息學院,浙江 杭州 310018)
隨著物聯(lián)網(wǎng)技術研究的不斷深入,信息的獲取愈發(fā)便捷,數(shù)據(jù)傳輸量也不斷增加。但現(xiàn)階段通過無線傳感網(wǎng)絡獲取到的原始信息因為信息形式和內容不統(tǒng)一、信息時空關系不一致、信息精度差異、網(wǎng)絡傳輸不穩(wěn)定等原因而具有顯著的不確定性[1]。此外,由于無線傳感網(wǎng)絡節(jié)點布置相對密集,數(shù)據(jù)采集頻率相對頻繁,采集到的數(shù)據(jù)在時間上與空間上具有相似性,也會造成大量數(shù)據(jù)冗余[2],而將相似和異常數(shù)據(jù)進行剔除并進行融合處理可提高數(shù)據(jù)的精確度和穩(wěn)定性,降低數(shù)據(jù)傳輸頻率和數(shù)量。
目前已有一系列針對無線傳感網(wǎng)絡數(shù)據(jù)融合相關問題的研究。文獻[3]利用歸一化方法進行預處理,分析建模后通過最近鄰點拓撲目標,選擇最佳數(shù)據(jù)進行初始化,根據(jù)其它數(shù)據(jù)記錄實現(xiàn)數(shù)據(jù)融合。該方法效果較好,但建模期間需要不斷以大量數(shù)據(jù)進行調整,無法直接使用。文獻[4]通過貝葉斯算法實現(xiàn)測量數(shù)據(jù)的數(shù)據(jù)融合,結合卡爾曼濾波器的貝葉斯融合算法有效解決了數(shù)據(jù)不確定性和不一致性的問題。文獻[5]提出一種具有預處理的改進型分批估計自適應加權數(shù)據(jù)融合算法,根據(jù)格羅貝斯準則對單個傳感器測量數(shù)據(jù)序列進行一致性檢驗,隨后使用改進的分批估計算法對單個傳感器計算最優(yōu)監(jiān)測值,最后使用自適應加權進行數(shù)據(jù)融合。該方法使用格羅貝斯準則進行判斷雖然可以較好地實現(xiàn)異常數(shù)據(jù)剔除,但格羅貝斯準則判據(jù)是一個遞歸算法,每次只能剔除一個可疑值,效率不高。文獻[6]提出采用自適應加權平均法及BP神經(jīng)網(wǎng)絡結合的技術實現(xiàn)環(huán)境監(jiān)測數(shù)據(jù)融合。該方法使用BP神經(jīng)網(wǎng)絡,較好地提高了數(shù)據(jù)準確度,但是會造成網(wǎng)絡內信息冗余,增加傳輸壓力。文獻[7]提出一種3層架構的數(shù)據(jù)融合系統(tǒng),底層采集原始數(shù)據(jù),中間層通過動態(tài)貝葉斯網(wǎng)絡處理異構數(shù)據(jù),上層自適應系統(tǒng)動態(tài)調整傳感器采集。該方法融合結果較好,數(shù)據(jù)上傳不會造成冗余,但網(wǎng)關層節(jié)點需要大量數(shù)據(jù)集進行訓練,節(jié)點運算資源消耗較大,不適合長期使用。
考慮到無線傳感網(wǎng)絡節(jié)點功耗、運算能力的限制,以及數(shù)據(jù)采集時處理實時性的要求和數(shù)據(jù)融合的準確性需求,本文結合時空融合模型提出了一種基于卡爾曼濾波的時空數(shù)據(jù)融合方法。該方法將數(shù)據(jù)融合分為兩次,第1次對原始采集到的數(shù)據(jù)進行預處理,在時間序列上進行卡爾曼濾波融合;第2次在網(wǎng)關層進行數(shù)據(jù)處理,將空間信息加權融合?;跁r間序列的處理可以對數(shù)據(jù)未來的趨勢進行預判和分析;基于空間的處理則增強了對數(shù)據(jù)的真實性與可靠性。時間信息融合中,本研究使用卡爾曼濾波算法處理了動態(tài)噪聲,對無線傳感器節(jié)點的環(huán)境噪聲做到了實時動態(tài)計算和補償??臻g信息融合中,針對不同區(qū)域誤差分布不均勻的特點,提出了依據(jù)時間數(shù)據(jù)融合結果對空間融合的權重進行自適應調整的策略。
無線傳感網(wǎng)節(jié)點采集到的數(shù)據(jù)具有時間和空間兩種屬性,每個獨立的傳感器節(jié)點在時間序列上進行數(shù)據(jù)采集,每個路由器節(jié)點或協(xié)調器節(jié)點在空間序列上進行數(shù)據(jù)匯總上傳[8]。本研究針對無線傳感網(wǎng)絡節(jié)點分布特性,提出了分別在終端節(jié)點和網(wǎng)關層進行融合的雙層數(shù)據(jù)融合架構。針對數(shù)據(jù)采集的特點,本文將數(shù)據(jù)融合分為基于時間序列的時間數(shù)據(jù)融合和依據(jù)空間分布特點的空間數(shù)據(jù)融合兩個步驟。圖1所示為基于時空數(shù)據(jù)融合和卡爾曼濾波的無線傳感網(wǎng)絡的數(shù)據(jù)算法結構。該算法的數(shù)據(jù)融合過程分為兩個階段:第1階段在終端層進行處理基于時間的數(shù)據(jù)融合,采用卡爾曼濾波算法實現(xiàn)單個無線傳感器數(shù)據(jù)采集,按時間序列進行融合估計,消除單個傳感器節(jié)點測量中的不確定性,提高測量的準確性,降低數(shù)據(jù)的重復性,得到更準確的實時測量數(shù)據(jù);第2階段基于空間的數(shù)據(jù)融合由網(wǎng)關層節(jié)點進行處理,采用多傳感器加權自適應估計融合算法,在總均方誤差最小的情況下,以時間融合后的傳感器數(shù)據(jù)為基礎自適應尋找對應的最優(yōu)加權因子,獲得最優(yōu)的估計融合值[9]。
現(xiàn)有的數(shù)據(jù)融合處理大多是對數(shù)據(jù)進行簡單的剔除處理,對偏離的數(shù)據(jù)進行過濾后會影響數(shù)據(jù)的真實性。采用時空數(shù)據(jù)融合方法將剔除后的數(shù)據(jù)再次根據(jù)空間分布進行處理,由于多個傳感器共同對目標進行檢測,彌補了數(shù)據(jù)真實性的缺失。將目前的研究數(shù)據(jù)剔除后,并沒有進行相應的補償,雖然對數(shù)據(jù)影響不大,但考慮到無線傳感網(wǎng)絡數(shù)據(jù)實時性較高且數(shù)據(jù)采集量較大,每次融合后的數(shù)據(jù)都產(chǎn)生了一定的偏離,最終結果會產(chǎn)生較大的偏差。采用時空數(shù)據(jù)融合方法在剔除較大誤差后,空間上多個傳感器對數(shù)據(jù)進行補充,使得數(shù)據(jù)的真實性得以提高。
卡爾曼濾波算法相較于其他融合算法實時性較強,可及時處理大量數(shù)據(jù),避免數(shù)據(jù)存儲帶來的資源消耗。在數(shù)據(jù)處理時,卡爾曼濾波融合算法分為3個步驟:首先,通過已有數(shù)據(jù)進行預測,根據(jù)上一輪的估計值預測下一刻的值,成為先驗估計,同時預測出下一時刻的誤差作為先驗誤差,在時間序列上數(shù)據(jù)實現(xiàn)了趨勢預測和估計的目的;然后,計算出卡爾曼增益,用以權衡先驗估計和測量值的權重。通過采集的真實數(shù)據(jù)對預測的數(shù)據(jù)進行修正,以此提高數(shù)據(jù)精確度和準確性;最后,將上一輪修正后的數(shù)據(jù)放入到下一個預測和更新方程中使算法不斷迭代。相較于目前的研究,該方法實時性更好,對時間序列內數(shù)據(jù)的更新迭代提高了數(shù)據(jù)的精確度和準確度。
以空間數(shù)據(jù)為基礎的自適應加權算法,雖然多個傳感器處于同一區(qū)域檢測同一目標,但是因為空間區(qū)域不同必然會有些許的不同。對此,自適應加權方法是一個較好的解決方案。但是實際使用過程中,復雜環(huán)境因素的影響是多變的,可能存在均方差偏大的檢驗數(shù)據(jù),因此本文引入環(huán)境因子來克服該誤差,選擇性地去除一定比例的最大最小值來提高數(shù)據(jù)的準確性。相較于傳統(tǒng)的加權方法,該方法結合了空間特性,考慮了空間數(shù)據(jù)的不穩(wěn)定結果,降低了空間數(shù)據(jù)本身因干擾造成的影響。
圖1 數(shù)據(jù)融合算法結構模型Figure 1. Structure model of data fusion algorithm
無線數(shù)據(jù)的采集取決于布置的無線傳感器節(jié)點。無線傳感器節(jié)點間歇地進行數(shù)據(jù)采集,但無線傳感器節(jié)點無論布置在室內還是室外,由于環(huán)境干擾和節(jié)點自身精度限制,采集到的數(shù)據(jù)會不可避免地產(chǎn)生誤差。這些誤差數(shù)據(jù)在數(shù)據(jù)融合過程中會使結果出現(xiàn)較大偏差甚至造成結果無效。為了減小異常數(shù)據(jù)的影響,本文采用卡爾曼濾波法進行誤差數(shù)據(jù)的修正。卡爾曼濾波是基于狀態(tài)變量線性最小方差的遞歸估計算法[10],也被稱作最優(yōu)自回歸數(shù)據(jù)處理算法。系統(tǒng)如果具有線性動力學模型,且系統(tǒng)與傳感器的誤差符合高斯白噪聲模型,則卡爾曼濾波將為融合數(shù)據(jù)提供唯一統(tǒng)計意義下的最優(yōu)估計[11]。無線傳感器在實際測量中由于外界環(huán)境的變化,噪聲頻率也會發(fā)生變化,卡爾曼濾波可以更好地控制噪聲對真實數(shù)據(jù)的干擾,降低采集數(shù)據(jù)過程中因傳感器節(jié)點自身的精度及使用后期部件老化產(chǎn)生的隨機測量誤差,降低傳感器受其他環(huán)境因素例如溫濕度、大氣壓、風速、光照變化等的影響[12]。
卡爾曼濾波操作主要包括兩個步驟:首先在預估階段,算法根據(jù)上一時刻的估計結果預測下一時刻的值,成為先驗估計;然后是校正階段,這時首先計算卡爾曼增益,利用前一時刻的先驗估計計算后驗估計并更新先驗誤差到后驗誤差。
卡爾曼濾波算法預測值的狀態(tài)估計式為
X(k|k-1)=A×X(k-1|k-1)+B×U(k)
(1)
式中,X(k|k-1)為利用上一狀態(tài)預測得到的結果;X(k-1|k-1)為上一狀態(tài)最優(yōu)結果;B為輸入控制項矩陣;U(k)為現(xiàn)在狀態(tài)的控制量。
更新預測結果與實際值誤差的協(xié)方差,預測值的協(xié)方差矩陣估計式為
P(k|k-1)=A×P(k-1|k-1)×AT+Q
(2)
式中,P(k|k-1)為X(k|k-1)對應的協(xié)方差;P(k-1|k-1)為X(k-1|k-1)對應的協(xié)方差;Q為系統(tǒng)噪聲的協(xié)方差。
卡爾曼濾波器更新值的狀態(tài)估計式為
X(k|k)=
X(k|k-1)+G(k)×[Z(k)-H×X(k|k-1)]
(3)
式中,X(k|k)為當前最優(yōu)估計值;Z(k)為當前傳感器的觀測值;H為測量矩陣;G為卡爾曼增益,其計算為
(4)
其中,R是測量噪聲協(xié)方差。
協(xié)方差更新值的狀態(tài)估計式為
P(k|k)=[I-G(k)×H]P(k|k-1)
(5)
式中,P(k|k)為當前最優(yōu)估計值的協(xié)方差;I為單位矩陣。
在檢測區(qū)域內,數(shù)量眾多的無線傳感網(wǎng)節(jié)點分布相對均勻。區(qū)域內的無線傳感網(wǎng)節(jié)點被分為多組,每組傳感網(wǎng)絡內會分配一個節(jié)點作為協(xié)調器進行數(shù)據(jù)收集和上傳,因此空間融合主要在路由器、協(xié)調器節(jié)點為主的網(wǎng)關層進行。加權數(shù)據(jù)融合方法僅依靠傳感器采集的測量數(shù)據(jù)即可完成較高精度的融合,無需系統(tǒng)先驗知識,且計算方法簡便??紤]到傳感器網(wǎng)絡的運算能力及數(shù)據(jù)融合的需求,本文選擇使用加權融合估計方法進行空間數(shù)據(jù)融合[13]。
每個傳感器采集的數(shù)據(jù)經(jīng)過卡爾曼濾波處理后,得到單個傳感器測量值的最優(yōu)融合估計[14]。假設監(jiān)測區(qū)域分布著n個某一種傳感器節(jié)點進行獨立測量,某一時刻時間信息融合后得到了n個最優(yōu)融合估計數(shù)據(jù)x1,x2,…,xn。
根據(jù)加權融合估計計算式可得空間信息融合結果為
(6)
式中,Wi為加權因子,根據(jù)每輪空間匯聚數(shù)據(jù)自適應加權運算得出。
(7)
因為x1,x2,…,xn相互獨立互不影響,并且為真值x的無偏估計,所以有
E(x-xi)(x-xj)=0,
i=1,2,...,n;j=1,2,...,n;i≠j
(8)
故總均方誤差σ2可寫作
(9)
當均方差最小時總方差最小,此時第i個節(jié)點的權值為
(10)
將式(10)代入式(6),依據(jù)式(1)~式(6)可得到最終數(shù)據(jù)融合結果。單一的自適應加權融合對于原始采集的數(shù)據(jù)中偏離較大的值無法較好地處理,影響精確度。僅靠卡爾曼濾波算法也無法對區(qū)域內匯聚的數(shù)據(jù)進行處理,易產(chǎn)生冗余情況。將兩者結合,依據(jù)無線傳感網(wǎng)絡時間和空間的特性,可以有效地處理無線傳感節(jié)點數(shù)據(jù)。
為了驗證該時空融合算法的有效性,選用對無線傳感網(wǎng)仿真的方式進行測試[17]。實驗以Windows10下MATLAB R2018b環(huán)境進行仿真。這里以溫度傳感器舉例,共仿真室外分布100個節(jié)點進行數(shù)據(jù)采集。本文取某一時間節(jié)點分別對比算數(shù)平均法和基礎的自適應加權算法,并對結果進行分析。
時間信息融合是單個傳感器節(jié)點在某一段時間內采集到的數(shù)據(jù)依據(jù)時間序列進行的融合?,F(xiàn)實生活中的噪聲屬于加性噪聲,由傳感器內部噪聲和環(huán)境干擾等多種相對獨立因素產(chǎn)生的測量噪聲為相互獨立的白噪聲。利用概率知識,多個相互獨立的隨機變量相加的和接近正態(tài)分布,因此測量噪聲的分布規(guī)律也是正態(tài)分布的。添加均值大于真實值的正態(tài)分布作為噪聲波動,Q為噪聲方差設為4×10-4,該數(shù)據(jù)可根據(jù)環(huán)境情況進行調整。
在數(shù)據(jù)采集時間內溫度被認為是不變的,因此A=1。系統(tǒng)不存在控制量,因此U(k)=0。假設選用溫濕度度測量傳感器DHT11進行測量,其開發(fā)文檔對應方差為0.25,即R=0.25。
卡爾曼濾波是先驗估計,需要初始值,因為隨著卡爾曼濾波算法運行,X會逐漸收斂,不影響結果,因此在零時刻X(0|0)和P(0|0)分別為20.5和1。
利用k-1時刻溫度預計第k時刻的溫度,預計偏差為P(k|k-1)=P(k-1)+Q=0.2,計算卡爾曼增益G為0.800 063,據(jù)此可得卡爾曼估計值X(k)=20.833。更新k時刻的偏側,對下一時刻數(shù)據(jù)更新處理。迭代運行100 min后卡爾曼濾波數(shù)據(jù)如圖2所示。
圖2 溫度傳感器測量值與卡爾曼濾波值Figure 2. Temperature sensor measurement values and Kalman filter values
圖2中通過測量結果與卡爾曼濾波后的結果進行對比,可發(fā)現(xiàn)卡爾曼濾波器較好地抑制了噪聲誤差,并且隨著采樣時間的積累,卡爾曼濾波算法處理的數(shù)據(jù)會逐漸趨于穩(wěn)定和精確,誤差值也較小,這表明卡爾曼濾波融合可以滿足時間信息融合的需求。
基于空間的數(shù)據(jù)融合是在時間數(shù)據(jù)融合的基礎上進行的。綜合考慮能耗及采集精度,設置每個節(jié)點定時喚醒采集傳感數(shù)據(jù)60 min,每個獨立的傳感器節(jié)點在完成采集并進行卡爾曼濾波融合后便得到了最優(yōu)融合估計數(shù)據(jù)。將這些數(shù)據(jù)匯聚在網(wǎng)關,由協(xié)調器進行空間上的數(shù)據(jù)融合。真實值為15.5 ℃、17.2 ℃、20.8 ℃、25.5 ℃、30.5 ℃ 的溫度數(shù)據(jù)加入高斯噪聲后,由卡爾曼濾波仿真。將10組、20組、50組、100組數(shù)據(jù)進行自適應加權融合后,得到結果如表1和圖3所示。把實驗數(shù)據(jù)值轉化為相對偏差可以更直觀地看到,在經(jīng)過基于時間的數(shù)據(jù)融合后,節(jié)點較少時即可得到相對偏差較小的數(shù)據(jù)融合結果。隨著節(jié)點的增多,結果逐漸趨于真值。
表1 空間數(shù)據(jù)融合結果
圖3 各溫度仿真相對偏差折線圖Figure 3. Line graph of relative deviation of each temperature simulation
分別對比本研究算法、算數(shù)平均法和改進的分批估計自適應加權數(shù)據(jù)融合方法對實驗數(shù)據(jù)的處理結果,如表2和圖4所示。通過圖表可以看出,相對于算術平均法和改進的分批估計自適應加權融合算法,本文提出的數(shù)據(jù)融合算法的融合結果更接近數(shù)據(jù)真值,算法誤差明顯小于算術平均法。這是由于算術平均法中具有無法避免的外界干擾以及傳感器誤差。分批估計自適應加權融合算法相對于算術平均算法數(shù)據(jù)穩(wěn)定性好,但融合誤差仍然比本文提出的算法大,這是數(shù)據(jù)處理實時性不高造成的。雖然對原始數(shù)據(jù)進行了預處理,但格羅貝斯判斷準則判據(jù)需要階段運行,且每次只剔除一個可疑值。當數(shù)據(jù)不嚴格服從正態(tài)分布時,該方法的準確性易受到干擾。通過計算,算數(shù)平均法均方差約為1.85,分批估計自適應加權算法均方差為1.32,基于卡爾曼濾波的時空數(shù)據(jù)融合方法均方差為1.21,本文算法對比分批估計自適應加權算法的均方根誤差減少約7.9%,精度提高了2.1%。綜上所述,本文的基于卡爾曼濾波的無線傳感網(wǎng)時空數(shù)據(jù)融合算法在不同節(jié)點數(shù)量、不同環(huán)境的情況下都有較低的融合誤差。
表2 3種算法數(shù)據(jù)融合值與真值比較
圖4 3種算法融合值與真值相對偏差折線圖Figure 4. Line graph of the relative deviation between the fusion value of the three algorithms and the true value
基于物聯(lián)網(wǎng)思想,結合當前無線傳感網(wǎng)絡的架構及現(xiàn)階段應用中信息存在的不確定性、冗余等問題,本文提出了基于卡爾曼濾波的無線傳感網(wǎng)時空數(shù)據(jù)融合算法。首先對每個傳感器節(jié)點在時間上進行基于卡爾曼濾波的數(shù)據(jù)融合,再對全部部署的無線傳感網(wǎng)中的節(jié)點在空間上進行基于自適應加權法的數(shù)據(jù)融合。仿真結果表明,卡爾曼濾波融合可以較好地處理無線傳感器節(jié)點工作過程中的動態(tài)噪聲問題,動態(tài)補償測量誤差,實現(xiàn)時間序列下的數(shù)據(jù)融合。相較于其他的數(shù)據(jù)融合方法,本文方法融合后數(shù)據(jù)更接近真值,隨著傳感器數(shù)量增加,融合結果越接近真值且對比圖中折線更平緩。實驗證明本方法可以降低環(huán)境和傳感器自身靈敏度等帶來的誤差,有效提高無線傳感網(wǎng)絡測量的精確度和準確度。后續(xù)將重點研究該方法對傳感器網(wǎng)絡數(shù)據(jù)傳輸頻率、數(shù)量及數(shù)據(jù)傳輸壓力的影響,以期降低無線傳感網(wǎng)整體能耗。