劉陳男,羅 恒,2
(1.蘇州科技大學(xué) 電子與信息工程學(xué)院,江蘇 蘇州 215000;2.江蘇省建筑智慧節(jié)能重點實驗室,江蘇 蘇州 215000)
近年來,隨著人們對室內(nèi)環(huán)境健康和舒適性的關(guān)注度不斷提高,室內(nèi)環(huán)境數(shù)據(jù)采集在研究和實踐中變得越來越重要,進(jìn)行室內(nèi)環(huán)境數(shù)據(jù)采集可以保障人們的健康和安全,提高室內(nèi)環(huán)境的舒適度和節(jié)能效率,以及優(yōu)化室內(nèi)空間布局和設(shè)計,讓人們在室內(nèi)獲得更好的使用體驗和感受[1]。室內(nèi)溫濕度,光照度,二氧化碳濃度等指標(biāo)是影響室內(nèi)環(huán)境的關(guān)鍵因素。
對于以時間序列來進(jìn)行采集的室內(nèi)環(huán)境數(shù)據(jù)[2]。最常見的是以分鐘為單位進(jìn)行多次采集,采集的密度高種類多,隨著時間的推移,越來越多的環(huán)境數(shù)據(jù)會堆疊,數(shù)據(jù)的復(fù)雜程度和數(shù)量會大幅提高。數(shù)據(jù)融合是指將來自不同數(shù)據(jù)源[3]、不同傳感器或不同模態(tài)的數(shù)據(jù)進(jìn)行整合、分析和處理的過程。在國外,數(shù)據(jù)融合的研究已經(jīng)有數(shù)十年的歷史,主要應(yīng)用于軍事、情報、醫(yī)療、環(huán)境監(jiān)測等領(lǐng)域。數(shù)據(jù)融合技術(shù)已經(jīng)發(fā)展出多種方法和算法,例如基于貝葉斯網(wǎng)絡(luò)的數(shù)據(jù)融合[4]、基于神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)融合等[5]。通常的傳感器數(shù)據(jù)融合本質(zhì)是物理量融合,指對多個傳感器測量得到的相同物理量進(jìn)行融合,如溫度、濕度、二氧化碳濃度等。但在實際生活中,一個普通的室內(nèi)空間有著不止一類傳感器,而且同種類傳感器的數(shù)量也是有限的,以溫濕度傳感器為例,溫濕度的變化過程是比較緩慢的,假設(shè)按照固定的采樣頻率進(jìn)行采樣,會產(chǎn)生冗余數(shù)據(jù)并且加重了網(wǎng)絡(luò)傳輸?shù)呢?fù)荷,所以傳感器的數(shù)據(jù)融合成為了研究的重點。文獻(xiàn)[6]研究了基于卡爾曼濾波算法的溫室數(shù)據(jù)采集系統(tǒng),通過在溫室中放置多個相同種類的傳感器監(jiān)測溫度及濕度,對多個同種類的傳感器數(shù)據(jù)進(jìn)行靜態(tài)的數(shù)據(jù)融合,提高了數(shù)據(jù)采集的準(zhǔn)確性。文獻(xiàn)[7]設(shè)計了在礦井中利用多個同種類傳感器對瓦斯數(shù)據(jù),一氧化碳濃度,粉塵濃度進(jìn)行分批估計和自適應(yīng)加權(quán),對監(jiān)測數(shù)據(jù)進(jìn)行融合。數(shù)據(jù)融合技術(shù)在環(huán)境數(shù)據(jù)處理和分析中具有十分廣泛的應(yīng)用前景。
針對各種數(shù)據(jù)融合算法的提出,已經(jīng)在融合精度和復(fù)雜度方面取得了一定的提高。然而,這些算法都是在對同一空間的多個傳感器的數(shù)據(jù)進(jìn)行橫向融合的基礎(chǔ)上實現(xiàn)的。實際應(yīng)用中,數(shù)據(jù)采集是以時間為單位的,采集的密度也很高。因此,將這些數(shù)據(jù)融合算法應(yīng)用于基于時間序列的數(shù)據(jù)融合會帶來相對較高的計算復(fù)雜性。為了降低數(shù)據(jù)傳輸量并提高融合數(shù)據(jù)的準(zhǔn)確性,可以采用縱向融合,即將基于時間序列的數(shù)據(jù)用卡爾曼濾波算法進(jìn)行數(shù)據(jù)融合[8]。然而,傳統(tǒng)的卡爾曼數(shù)據(jù)融合算法存在一個問題,當(dāng)測量數(shù)據(jù)出現(xiàn)異常時,可能會導(dǎo)致最終結(jié)果出現(xiàn)不同程度的波動。因此,本文的重點研究內(nèi)容在于如何處理異常值和缺失數(shù)據(jù),以進(jìn)一步提高數(shù)據(jù)融合算法的準(zhǔn)確性和可靠性。對此問題的研究將有助于更好地利用基于時間序列的數(shù)據(jù),為各種實際應(yīng)用提供更好的數(shù)據(jù)融合解決方案。
進(jìn)行室內(nèi)溫度數(shù)據(jù)采集的系統(tǒng)包括溫度數(shù)據(jù)監(jiān)測功能和數(shù)據(jù)處理功能,系統(tǒng)結(jié)構(gòu)如圖1所示,系統(tǒng)包含三部分:終端節(jié)點,網(wǎng)關(guān)節(jié)點和云服務(wù)器。LoRa終端節(jié)點中的STM32主控芯片控制DS18B20溫度傳感器采集室內(nèi)實時的溫度數(shù)據(jù),并通過串口將測量得到的溫度數(shù)據(jù)經(jīng)由LoRaWAN網(wǎng)絡(luò)傳輸?shù)絃oRa網(wǎng)關(guān)節(jié)點,網(wǎng)關(guān)節(jié)點將其他由終端節(jié)點傳輸過來的溫度數(shù)據(jù)進(jìn)行匯總,由STM32主控芯片處理后通過4 G模塊上傳到云服務(wù)器進(jìn)行保存[9]。云服務(wù)器上掛載的Python數(shù)據(jù)處理程序?qū)⒔邮盏降臄?shù)據(jù)按照程序內(nèi)部邏輯進(jìn)行有規(guī)律的儲存和分析,最后再進(jìn)行數(shù)據(jù)融合。

圖1 系統(tǒng)整體結(jié)構(gòu)圖
網(wǎng)關(guān)節(jié)點和終端節(jié)點使用STM32F103RCT6作為主控芯片,并通過SX1278射頻芯片進(jìn)行LoRa網(wǎng)絡(luò)通信。終端節(jié)點由LoRa模塊、主控芯片和各種不同類型的傳感器構(gòu)成,這些傳感器采集環(huán)境數(shù)據(jù)并將其傳輸?shù)街骺匦酒詈笸ㄟ^LoRa模塊進(jìn)行發(fā)送。網(wǎng)關(guān)節(jié)點的LoRa模塊接收到數(shù)據(jù)后,通過STM32主控芯片將所有傳感器數(shù)據(jù)經(jīng)由4 G模塊發(fā)送到云服務(wù)器。通過這種方式,環(huán)境數(shù)據(jù)可以在云端進(jìn)行進(jìn)一步處理和分析,例如生成報告和制定決策等。在這個系統(tǒng)中,LoRa網(wǎng)絡(luò)通信技術(shù)被廣泛應(yīng)用,其具有較遠(yuǎn)的傳輸距離、較低的功耗和高度的可靠性等優(yōu)點,能夠滿足室內(nèi)環(huán)境數(shù)據(jù)采集和傳輸?shù)囊蟆M瑫r,STM32F103RCT6主控芯片具有高性能、低功耗和豐富的外設(shè)接口等特點,為該系統(tǒng)的高效運行提供了保障。
主控芯片STM32F103RCT6是由ST公司開發(fā),基于ARM Cortex-M3內(nèi)核,可以采用I2C,SPI,UART/USART等通信協(xié)議和外設(shè)模塊進(jìn)行數(shù)據(jù)傳輸。其內(nèi)置了48 K的RAM,256 K的FLASH,包括電源電路,晶振電路和復(fù)位電路,最高主頻可達(dá)72 MHz,滿足絕大部分的使用場景。
LoRa是一種基于擴頻技術(shù)的低功耗、長距離、低速率的無線通信技術(shù),它是低功耗廣域網(wǎng)(LPWAN)中的一種。使用頻率偏移調(diào)制(FSK)或擴頻技術(shù)在無線電頻段發(fā)送數(shù)據(jù)包[10]。與其他低功耗無線通信技術(shù)相比,它具有更長的通信范圍和更長的電池壽命。它可以在數(shù)公里范圍內(nèi)傳輸數(shù)據(jù),同時保持非常低的功耗,這使得LoRa非常適合需要低速、低功耗和長距離通信的應(yīng)用,如智能城市、智能家居、物聯(lián)網(wǎng)等。本系統(tǒng)使用SX1278射頻芯片通過SPI協(xié)議與STM32進(jìn)行數(shù)據(jù)傳輸。LoRa模塊的電路原理圖如圖2所示。

圖2 LoRa模塊電路原理圖
溫度采集模塊選取的是DS18B20傳感器,由于它采用的是單線通信協(xié)議[11],所以只需要一條數(shù)據(jù)線就可以實現(xiàn)數(shù)據(jù)的傳輸和控制,并且輸出數(shù)字信號,便于數(shù)字化系統(tǒng)處理和數(shù)據(jù)傳輸。測量范圍在-55 ℃到+125 ℃,精度可以達(dá)到±0.5 ℃。DS18B20模塊的電路原理圖如圖3所示。

圖3 DS18B20模塊電路原理圖
為了避免在終端節(jié)點與網(wǎng)關(guān)節(jié)點進(jìn)行通信時出現(xiàn)主動發(fā)送數(shù)據(jù)、信道搶占和互相干擾的情況,導(dǎo)致數(shù)據(jù)傳輸過程中出現(xiàn)差錯,采用了一種基于星型拓?fù)浣Y(jié)構(gòu)構(gòu)造的LoRa組網(wǎng)結(jié)構(gòu)。在該結(jié)構(gòu)中,整個LoRa網(wǎng)絡(luò)中的各終端節(jié)點通過點對點的方式連接到一個中央節(jié)點,即LoRa網(wǎng)關(guān)。這種構(gòu)造方式可以避免終端節(jié)點之間的干擾,保證數(shù)據(jù)傳輸?shù)姆€(wěn)定性。同時,終端節(jié)點和網(wǎng)關(guān)節(jié)點之間的交互方式采用了輪詢方式,使得通信過程更加高效和可靠。
在LoRa終端節(jié)點首次上電后,STM32主控芯片會對串口進(jìn)行使能以及SPI接口進(jìn)行初始化。通過使用C語言編程開發(fā),并借助Keil5軟件,對STM32主程序進(jìn)行開發(fā)。通過SPI接口發(fā)送AT指令對各節(jié)點的LoRa模塊進(jìn)行初始化并配置不同的地址和信道。這樣可以在網(wǎng)關(guān)節(jié)點上區(qū)分不同傳感器設(shè)備上傳的環(huán)境數(shù)據(jù),同時也減少了傳輸過程中可能出現(xiàn)的錯誤數(shù)據(jù)。在主控芯片程序中,還定義了一些自定義函數(shù)用于傳感器的初始化,并在收到網(wǎng)關(guān)節(jié)點發(fā)出的喚醒指令后,采集實時的環(huán)境數(shù)據(jù)。該數(shù)據(jù)隨后通過USART串口發(fā)送到主控芯片,主控芯片接收到數(shù)據(jù)后再將其按照固定的格式封裝成數(shù)據(jù)幀,并發(fā)送到網(wǎng)關(guān)節(jié)點[12]。LoRa終端節(jié)點的軟件流程圖如圖4所示。

圖4 終端節(jié)點軟件流程圖
在網(wǎng)關(guān)節(jié)點首次上電后,STM32主控芯片對4 G模塊發(fā)送AT指令進(jìn)行初始化配置,其中包括設(shè)置4 G模塊的傳輸模式和服務(wù)器的地址端口號等,同樣,需要對LoRa通信模塊配置地址和信道。STM32主控芯片的程序流程為將喚醒指令通過LoRa網(wǎng)關(guān)依次發(fā)給終端節(jié)點,再接收LoRa終端上傳的傳感器數(shù)據(jù),接收完成后在主程序中進(jìn)行數(shù)據(jù)幀格式的判斷,保證數(shù)據(jù)的正確性和完整性。確認(rèn)數(shù)據(jù)無誤后,將接收到的數(shù)據(jù)通過4 G模塊發(fā)送給服務(wù)器進(jìn)行進(jìn)一步的數(shù)據(jù)預(yù)處理和算法過濾。LoRa網(wǎng)關(guān)節(jié)點的軟件流程圖如圖5所示。

圖5 網(wǎng)關(guān)節(jié)點軟件流程圖
卡爾曼濾波算法是一種高效率的遞歸濾波器,其主要應(yīng)用于估計動態(tài)系統(tǒng)的狀態(tài),尤其是從一系列包含噪聲的測量中。該算法采用信號與噪聲的狀態(tài)空間模型[13],通過利用前一時刻的估計值和當(dāng)前時刻的觀測值來更新對狀態(tài)變量的估計,從而計算出當(dāng)前時刻的估計值。由于其精度高、效率高和可靠性強等特點,卡爾曼濾波算法已經(jīng)廣泛應(yīng)用于諸多領(lǐng)域,包括航空航天、自動控制、信號處理等。其本質(zhì)是由量測值來重構(gòu)系統(tǒng)的狀態(tài)向量,以“預(yù)測—實測—修正”的順序遞歸來消除隨機干擾[14],逐步實現(xiàn)達(dá)到最優(yōu)估計的效果。
一般形式下的卡爾曼狀態(tài)空間方程為:
狀態(tài)方程:
Xt=AXt-1+BUt+Wt
(1)
觀測方程:
Yt=HXt+Vt
(2)
在上述的狀態(tài)方程和觀測方程中,Xt為t時刻的系統(tǒng)狀態(tài),Xt-1為上一時刻的系統(tǒng)狀態(tài),Ut為系統(tǒng)在t時刻的輸入信號,Wt為系統(tǒng)在t時刻的過程噪聲,Vt為t時刻的觀測噪聲,A為狀態(tài)轉(zhuǎn)移矩陣,B為控制矩陣,H為觀測矩陣。由卡爾曼的狀態(tài)方程和t-1時刻的最優(yōu)估計值可得出t時刻的預(yù)測值,也就是先驗估計為:
(3)
對應(yīng)的先驗估計協(xié)方差為:
(4)
式中,Q的對應(yīng)的過程噪聲Wt的方差,為了得到當(dāng)前t時刻的最優(yōu)估計值Xt,需要結(jié)合公式(2)和(3)得出t時刻的最優(yōu)估計值,也就是后驗估計值Xt,其公式為:
(5)
在計算出t時刻的最優(yōu)估計值后,需要對卡爾曼算法進(jìn)行迭代運算,要更新上式中的卡爾曼增益Kt和Xt所對應(yīng)的后驗估計協(xié)方差Pt,卡爾曼增益Kt和后驗估計協(xié)方差Pt的公式如下:
(6)
(7)
式中,R為觀測噪聲Vt的方差,I為單位矩陣。
在實際的應(yīng)用中,需要根據(jù)測量數(shù)據(jù)的實際情況進(jìn)行參數(shù)的設(shè)置。該算法的應(yīng)用場景是建筑物內(nèi)部的某個有流通性的空間,并不是一個密閉空間,所以會與外界的空間存在熱量交換導(dǎo)致的過程噪聲[15],室內(nèi)的環(huán)境屬于一維系統(tǒng),將一般的卡爾曼濾波方程改造成一維狀態(tài)下的卡爾曼濾波方程,其中A=H=1,由于整個系統(tǒng)沒有控制量,Ut=0,過程噪聲Wt和觀測噪聲Vt對應(yīng)的方差分別是Q和R,R由測量儀器的精度決定,Q一般設(shè)置為一個確定的值,取值越接近0,融合的曲線越光滑。初值X0可以取0或者初始的測量值。在一般情況下,初始協(xié)方差P0的值越小代表初始的估計較好。
4.3.1 孤立森林算法
在一個相對穩(wěn)定的數(shù)據(jù)采集環(huán)境中,傳統(tǒng)的卡爾曼濾波算法可以獲得一個較為理想的數(shù)據(jù)融合結(jié)果。然而,由于周圍環(huán)境的突然改變或傳感器本身的機械故障等原因,異常值或缺失值可能會出現(xiàn),導(dǎo)致傳統(tǒng)的卡爾曼濾波算法出現(xiàn)不同程度的波動。為了解決此類問題,引入孤立森林算法對原始數(shù)據(jù)進(jìn)行預(yù)處理[16],再利用卡爾曼數(shù)據(jù)融合算法進(jìn)行融合,從而得到更加準(zhǔn)確的融合結(jié)果。孤立森林算法是一種基于Ensemble的快速離群點檢測方法,具有線性時間復(fù)雜度和高精度。該算法不依賴于距離、密度等量化指標(biāo)來比較樣本之間的差異。它使用孤立樹iTree[17],這是一種結(jié)構(gòu)為二叉搜索樹的孤立樹,用于孤立樣本。由于異常值數(shù)量較少,樣本疏離度高等特征,異常值可以在樣本中被早期孤立出來。因此,通過使用孤立森林算法預(yù)處理數(shù)據(jù),可以更好地提高卡爾曼數(shù)據(jù)融合算法的融合效果,從而獲得更加準(zhǔn)確的融合結(jié)果。
該算法的大致流程可以分為兩個步驟,第一步是構(gòu)建出孤立樹組成孤立森林,具體過程如下:
對需要被測量的對象進(jìn)行多次測量,得到的數(shù)據(jù)集可表示為:
X={x1,x2,x3,…,xn}
(8)
從X數(shù)據(jù)集中隨機選擇ψ個樣本點并將其作為數(shù)據(jù)集X的子集X′放入根節(jié)點后,需要在數(shù)據(jù)集的m個維度中隨機選擇一個維度q,在當(dāng)前數(shù)據(jù)集中隨機選擇一個切割點p,以便滿足以下條件:
Min(xij,j=q)
(9)
以隨機選擇的切割點p生成一個超平面。該超平面將數(shù)據(jù)空間劃分成為兩個子空間,其中小于p的樣本點被指定為左子節(jié)點,大于或等于p的樣本點被指定為右子節(jié)點。然后,遞歸地隨機選擇一個維度和一個點p,并重復(fù)上述操作,直到所有葉子節(jié)點都只有一個數(shù)據(jù)或達(dá)到了預(yù)設(shè)的iTree高度。最后,上述操作會循環(huán)執(zhí)行,直到生成T個iTree。然后使用這些iTree來預(yù)測數(shù)據(jù)的異常分?jǐn)?shù),并據(jù)此識別異常值。
第二步是將每個樣本點帶入孤立森林中的每棵孤立樹,以此來計算每個樣本點的異常值分?jǐn)?shù)和平均高度。其具體過程如下:
在獲得T個iTree后,對每一個數(shù)據(jù)xi,讓這個數(shù)據(jù)遍歷每一棵iTree,從而計算xi在森林中的平均高度h(xi),對所有的數(shù)據(jù)點的平均高度做歸一化處理。異常值分?jǐn)?shù)的計算公式如下所示:
s(x,ψ)=2E(h(x))/c(ψ)
(10)
s(x,ψ)代表記錄數(shù)據(jù)xi在ψ個樣本中的訓(xùn)練數(shù)據(jù)構(gòu)成的iTree的異常指數(shù),其中:
(11)
H(k)=lnk+ζ,ζ=0.5772156649
(12)
當(dāng)異常值被識別出,為了保證數(shù)據(jù)質(zhì)量和完整性,提高數(shù)據(jù)的可用性,避免誤導(dǎo)性分析,可以通過對異常點周圍數(shù)據(jù)取平均值來替代異常點數(shù)據(jù)來保證數(shù)據(jù)的完整性。
4.3.2 融合算法步驟
改進(jìn)的卡爾曼數(shù)據(jù)融合算法步驟如下:
1)將原始的室內(nèi)溫度數(shù)據(jù)導(dǎo)入孤立森林算法中,利用孤立森林算法識別異常數(shù)據(jù),并用平均值算法代替原始數(shù)據(jù)中的異常數(shù)據(jù)。
2)確定卡爾曼濾波算法的參數(shù),設(shè)置狀態(tài)轉(zhuǎn)移矩陣A,控制矩陣B,觀測矩陣H的值和X0,P0的初始值。
3)使用卡爾曼濾波算法對采樣數(shù)據(jù)進(jìn)行迭代運算,得到數(shù)據(jù)融合的結(jié)果。
選取南方2月份一個學(xué)校內(nèi)的教室進(jìn)行為期一天的室內(nèi)溫度數(shù)據(jù)采集,每隔三分鐘進(jìn)行一次采樣,一小時會得到20個室內(nèi)溫度數(shù)據(jù),24小時可以得到480個采樣數(shù)據(jù),分別使用平均值法,傳統(tǒng)的卡爾曼數(shù)據(jù)融合算法和改進(jìn)的卡爾曼數(shù)據(jù)融合算法按小時對480個室內(nèi)溫度數(shù)據(jù)進(jìn)行融合,融合成為24個數(shù)據(jù)。
使用平均值法[18]、傳統(tǒng)的卡爾曼數(shù)據(jù)融合算法以及改進(jìn)的卡爾曼數(shù)據(jù)融合算法對采樣數(shù)據(jù)進(jìn)行了融合。如圖6所示,融合結(jié)果反映了一天內(nèi)室內(nèi)氣溫的變化趨勢。在下午2點到3點期間,室內(nèi)溫度達(dá)到最高點。3種方法在融合趨勢方面大致相同,但都存在微小的突變。然而,與平均值算法和傳統(tǒng)的卡爾曼數(shù)據(jù)融合算法相比,改進(jìn)的卡爾曼數(shù)據(jù)融合算法的突變程度更低,更加符合室內(nèi)溫度緩慢變化的客觀規(guī)律。這表明改進(jìn)的算法在數(shù)據(jù)融合方面具有更好的性能,能夠更準(zhǔn)確地反映室內(nèi)氣溫的變化。

圖6 3種方法的原始數(shù)據(jù)融合曲線
為了驗證改進(jìn)的卡爾曼數(shù)據(jù)融合算法的性能,在原始的室內(nèi)溫度采集數(shù)據(jù)中添加了擾動樣本和畸變數(shù)據(jù)[19-21]。擾動樣本是指對原始數(shù)據(jù)進(jìn)行隨機增加或減少的操作,以模擬真實世界中可能出現(xiàn)的干擾情況。而畸變數(shù)據(jù)則是通過將原始數(shù)據(jù)設(shè)置為最大或最小值,來產(chǎn)生異常數(shù)據(jù)。這些異常數(shù)據(jù)的具體設(shè)置如表1所示,旨在考察算法在面對不同程度的干擾和異常數(shù)據(jù)時的魯棒性和性能表現(xiàn)。通過這些實驗,能更全面地評估改進(jìn)的卡爾曼數(shù)據(jù)融合算法的性能。

表1 設(shè)置的異常數(shù)據(jù)
將設(shè)置的8個異常數(shù)據(jù)替換原始數(shù)據(jù),將帶有異常值的480個數(shù)據(jù)帶入孤立森林算法進(jìn)行判別,異常數(shù)據(jù)均被識別成功并賦予了新的值,并且估計值與原始數(shù)據(jù)的誤差控制在-0.47~0.44,如表2所示。

表2 異常數(shù)據(jù)的估計值
對添加了擾動樣本和畸變數(shù)據(jù)的采樣數(shù)據(jù)分別采用平均值法、傳統(tǒng)的卡爾曼濾波算法和改進(jìn)的卡爾曼濾波算法進(jìn)行融合結(jié)果的比較,帶有擾動樣本的融合結(jié)果對比如圖7所示,同時對3種方法的融合誤差也進(jìn)行比較,如表3所示。帶有畸變數(shù)據(jù)的融合結(jié)果對比如圖8所示,3種方法的融合誤差如表4所示。

表3 3種融合方法帶有擾動樣本的誤差

表4 3種融合方法帶有畸變數(shù)據(jù)的誤差

圖7 3種方法帶有擾動樣本的融合曲線

圖8 3種方法帶有畸變數(shù)據(jù)的融合曲線
由圖7和表3可得,在4個時間點設(shè)置的擾動樣本,平均值法均有較大程度的波動,平均值法的誤差在-0.6~0.29的大范圍變化,傳統(tǒng)的卡爾曼數(shù)據(jù)融合算法在-0.17~0.56之間波動,相較于平均值法,波動范圍已經(jīng)縮小,而改進(jìn)的卡爾曼數(shù)據(jù)融合算法波動范圍控制在-0.12~0.1之間,基本上不受擾動樣本的干擾。
通過觀察圖8和表4可以得出,畸變數(shù)據(jù)對數(shù)據(jù)融合結(jié)果的影響遠(yuǎn)大于擾動樣本的影響。在12點和17點,平均值法和傳統(tǒng)的卡爾曼數(shù)據(jù)融合算法都出現(xiàn)了較大程度的變化。然而,通過改進(jìn)后的卡爾曼濾波算法處理畸變數(shù)據(jù),由于孤立森林算法能夠準(zhǔn)確地識別和替換畸變數(shù)據(jù),融合誤差范圍在-0.03至0.14之間。相比之下,平均值法的誤差范圍在-0.99至0.95之間,傳統(tǒng)的卡爾曼濾波算法的誤差范圍在-1.11至0.36之間。
綜合以上實驗結(jié)果,可以得出改進(jìn)的卡爾曼數(shù)據(jù)融合算法在處理類似于擾動樣本和畸變數(shù)據(jù)等異常數(shù)據(jù)時,不會出現(xiàn)融合值的突變,能夠獲得較為平滑的融合效果,融合曲線也更加平緩。因此,改進(jìn)后的卡爾曼數(shù)據(jù)融合算法具有較強的魯棒性,能夠更加穩(wěn)定和可靠的處理異常數(shù)據(jù)。
本研究采用了LoRa無線通信模塊和傳感器組成了室內(nèi)環(huán)境數(shù)據(jù)采集系統(tǒng)來監(jiān)測室內(nèi)溫度數(shù)據(jù)的變化。由于室內(nèi)溫度數(shù)據(jù)變化緩慢,并且是在同一空間下的基于時間序列的數(shù)據(jù),所以提出了一種應(yīng)用在一維線性空間中的改進(jìn)的卡爾曼濾波算法。經(jīng)過實驗驗證,該算法可以規(guī)避擾動樣本和畸變數(shù)據(jù)帶來的影響,提高了融合算法的魯棒性,能夠更加準(zhǔn)確的掌握室內(nèi)溫度的變化。