楊金鑫,王志明
(南京理工大學(xué)機(jī)械工程學(xué)院,江蘇南京 210000)
近年來,無線傳感器技術(shù)飛速發(fā)展,利用無線傳感器技術(shù)組建的多傳感器數(shù)據(jù)采集系統(tǒng)也應(yīng)用到了生活生產(chǎn)的很多方面,如智能家居、環(huán)境監(jiān)測和智能農(nóng)業(yè)[1-4]。由于無線傳感器采集的數(shù)據(jù)大多是冗余的,因此近些年的研究大多集中在對數(shù)據(jù)處理的相關(guān)算法上。許可、馮丹等直接利用分批估計(jì)理論和自適應(yīng)加權(quán)平均融合算法進(jìn)行數(shù)據(jù)融合[5];曹守啟、劉影采用模糊集理論,根據(jù)隸屬函數(shù)的隸屬度剔除粗大誤差,然后在分批估計(jì)的基礎(chǔ)上,加入修正因子對溫度數(shù)據(jù)進(jìn)行分批自適應(yīng)加權(quán)融合[6];宋慶恒利用一種改進(jìn)的拉依達(dá)準(zhǔn)則去除異常值,然后使用加權(quán)平均算法對同類數(shù)據(jù)融合,再采用向量機(jī)模型對不同類型數(shù)據(jù)進(jìn)行融合[7];陳春玲、崔琳等通過無線傳感器進(jìn)行溫度數(shù)據(jù)的實(shí)時(shí)采集,利用格拉布斯準(zhǔn)則剔除異常值,然后使用自適應(yīng)加權(quán)平均算法進(jìn)行數(shù)據(jù)融合[8]。
在認(rèn)真研究以上算法的基礎(chǔ)上,針對其算法較復(fù)雜,需要查表等缺陷,對數(shù)據(jù)的預(yù)處理過程進(jìn)行了改進(jìn),再對處理過的數(shù)據(jù)進(jìn)行自適應(yīng)加權(quán)融合。最后對使用格拉布斯法、改進(jìn)算法和平均值法剔除數(shù)據(jù)進(jìn)行融合的結(jié)果進(jìn)行比較,結(jié)果表明改進(jìn)算法融合結(jié)果更準(zhǔn)確,無需查表也可以剔除異常值。
在數(shù)據(jù)融合中,首先要對單個(gè)節(jié)點(diǎn)采集的數(shù)據(jù)進(jìn)行預(yù)處理,主要是剔除粗大誤差。目前的數(shù)據(jù)預(yù)處理方法種類較多,主要有拉依達(dá)準(zhǔn)則、狄克遜準(zhǔn)則和格拉布斯準(zhǔn)則[9],應(yīng)用較多的是格拉布斯準(zhǔn)則。
(1)
(2)
依據(jù)式(1)、式(2)的結(jié)果再通過式(3)計(jì)算格拉布斯統(tǒng)計(jì)量Tji,即:
(3)
規(guī)定T(n,a)為格拉布斯準(zhǔn)則臨界值,其中n為測量次數(shù),a為顯著水平,a可以取0.01或0.05,表1為摘取的部分n和a對應(yīng)的T值。如果Tji>T(n,a),則認(rèn)為該數(shù)據(jù)屬于異常的粗大誤差值,應(yīng)該剔除Tji對應(yīng)的數(shù)據(jù)xji。將該數(shù)據(jù)剔除后,再重復(fù)進(jìn)行上述判斷,直至所有數(shù)據(jù)都滿足格拉布斯準(zhǔn)則即不存在粗大誤差。然后將數(shù)據(jù)處理后得到的各組數(shù)據(jù)的標(biāo)準(zhǔn)差和平均值代入下一步的自適應(yīng)加權(quán)融合算法。
表1 格拉布斯準(zhǔn)則臨界值
圖1 自適應(yīng)加權(quán)算法模型
(4)
(5)
總均方誤差為
(6)
由于X1,X2,X3,…,Xn彼此獨(dú)立,而且為X的無偏估計(jì)。所以
E[(X-Xp)(X-Xq)=0,p≠q;p=1,2,3,…,n;q=1,2,3,…,n
(7)
因此可以化簡為
(8)
從式(8)可以看出σ2為加權(quán)因子Wp的多元二次函數(shù),為了得到最小的σ2,需要求出σ2最小時(shí)的各個(gè)Wp。問題轉(zhuǎn)變?yōu)橐允?5)為約束條件的多變量函數(shù)求極限問題??梢岳美窭嗜粘藬?shù)法求解,最后得到:
(9)
可得σ2的最小值為
(10)
該改進(jìn)算法原理如下:在對同一變量的多次測量中,如果數(shù)據(jù)較多,測量得到的數(shù)據(jù)分布可以近似為正態(tài)分布,如圖2所示。在一個(gè)標(biāo)準(zhǔn)的正態(tài)分布中,其中值和平均值應(yīng)該是一樣的。在實(shí)際應(yīng)用中,雖然不可能做到中值和平均值完全一樣,但它們之間的差距不應(yīng)該太大。而當(dāng)一組數(shù)據(jù)的中值和平均值相差較多時(shí),說明該組數(shù)據(jù)中有粗大誤差,應(yīng)當(dāng)予以剔除。
圖2 正態(tài)分布示意圖
設(shè)經(jīng)測量得到變量xj1,xj2,…,xjn,將測得的數(shù)據(jù)按照從小到大進(jìn)行排序得到集合U={xmin,…,xmax},將集合U中的最大值xmax去除得到數(shù)組A,將集合U中的最小值xmin去除得到數(shù)組B。
A∈U,B∈U
求取新得到的2個(gè)集合A和B中的數(shù)據(jù)的平均值和中值,得到Aave,Amed,Bave,Bmed,然后對2個(gè)新的數(shù)組的平均值和中值進(jìn)行求差:
A-=|Aave-Amed|
B-=|Bave-Bmed|
由于主要是對算法計(jì)算結(jié)果的驗(yàn)證和比較,因此這里引用了文獻(xiàn)[5]的某時(shí)段待融合溫度數(shù)據(jù)來進(jìn)行處理,進(jìn)而實(shí)現(xiàn)算法的驗(yàn)證和比較,引用數(shù)據(jù)見表2。
表2 某時(shí)段待融合溫度數(shù)據(jù)[5] ℃
該組數(shù)據(jù)中共有11組數(shù)據(jù),每組數(shù)據(jù)有11個(gè)傳感器的測量值,這里選取6組數(shù)據(jù)A1、A3、A5、A7、A9、A11進(jìn)行算法的驗(yàn)證。在A1中引入了2個(gè)同側(cè)誤差17.1 ℃、17.0 ℃,在A7中引入了一個(gè)誤差14.3 ℃,算法驗(yàn)證所使用的數(shù)據(jù)如表3所示。
表3 算法驗(yàn)證所用數(shù)據(jù)[5] ℃
由于標(biāo)準(zhǔn)差σ代表一組數(shù)據(jù)集的離散程度,所以以下的分析以σ作為評價(jià)標(biāo)準(zhǔn)。
表4為格拉布斯法對A1組數(shù)據(jù)的處理過程,在對A1組數(shù)據(jù)進(jìn)行預(yù)處理的過程中可以看出:格拉布斯法不能發(fā)現(xiàn)引入的2個(gè)同側(cè)誤差,即出現(xiàn)同側(cè)異常值屏蔽效應(yīng)。
最終預(yù)處理的結(jié)果是:X1=16.31 ℃,σ1=0.375 3 ℃。
而使用改進(jìn)的算法可以剔除17.1 ℃這個(gè)引入誤差,最終預(yù)處理的結(jié)果是:X1=16.23 ℃,σ1=0.293 4 ℃。
可以看出,使用改進(jìn)的方法能夠?qū)Ω窭妓狗ǖ耐瑐?cè)異常值屏蔽效應(yīng)進(jìn)行部分糾正,從而使結(jié)果更精準(zhǔn)。
接著使用完整的算法進(jìn)行融合得到最終結(jié)果,這里引用了不對數(shù)據(jù)進(jìn)行預(yù)處理和使用格拉布斯法進(jìn)行數(shù)據(jù)預(yù)處理來與改進(jìn)算法進(jìn)行對比,表5、表6和表7分別為平均值處理、格拉布斯準(zhǔn)則處理和改進(jìn)算法處理后的融合結(jié)果。
表4 格拉布斯法對A1組數(shù)據(jù)的處理過程
表5 平均值處理后融合結(jié)果
表6 格拉布斯準(zhǔn)則處理后融合結(jié)果
表7 改進(jìn)算法處理后融合結(jié)果
從所得結(jié)果中可以看出各種預(yù)處理算法的優(yōu)越性:改進(jìn)算法>格拉布斯法>不進(jìn)行預(yù)處理,從A1組數(shù)據(jù)的處理結(jié)果可以看出改進(jìn)的算法可以有效抑制同側(cè)屏蔽效應(yīng),從A7組數(shù)據(jù)的處理結(jié)果可以看出改進(jìn)的算法和格拉布斯法同樣能夠有效剔除粗大誤差,提高處理結(jié)果的準(zhǔn)確性。從整體來看,改進(jìn)算法能夠同時(shí)剔除同側(cè)誤差和粗大誤差,相對其他處理方式能夠得到更符合要求的結(jié)果。
無線傳感器所用芯片內(nèi)存較小,如果使用格拉布斯法進(jìn)行處理,需要在內(nèi)存中儲存該臨界值表,這樣會占據(jù)較大的內(nèi)存空間。而在無線傳感器芯片中還需要存儲路由協(xié)議表、歷史數(shù)據(jù)等多種必要信息,如果再加上格拉布斯臨界值表,會造成內(nèi)存緊張。改進(jìn)算法無需查表,可以最大程度地減少因?yàn)樗惴ㄐ枰獙?nèi)存空間的占用。
提出了一種對當(dāng)前數(shù)據(jù)融合算法進(jìn)行改進(jìn)的新算法,主要在數(shù)據(jù)預(yù)處理階段進(jìn)行數(shù)據(jù)加工,然后使用自適應(yīng)加權(quán)融合算法進(jìn)行數(shù)據(jù)融合。從分析結(jié)果可以看出:
(1)改進(jìn)算法主要針對數(shù)據(jù)的預(yù)處理階段進(jìn)行了改進(jìn),從對實(shí)驗(yàn)數(shù)據(jù)進(jìn)行處理的結(jié)果可以看出,改進(jìn)算法相對格拉布斯法進(jìn)行預(yù)處理和不進(jìn)行預(yù)處理兩種方式有更好的融合結(jié)果。
(2)改進(jìn)算法無需查表,相對格拉布斯法和狄克遜法均需要查表相比,可以節(jié)省一部分內(nèi)存空間,提升系統(tǒng)的其他方面的性能。