黃全高
(贛南師范大學(xué),江西 贛南 341000)
農(nóng)作物的生長(zhǎng)與光照強(qiáng)度、溫濕度、土壤的PH值等環(huán)境條件有著密不可分的聯(lián)系[1],如何快捷高效地篩選并提取農(nóng)作物的生長(zhǎng)環(huán)境數(shù)據(jù)從而幫助其健康生長(zhǎng),將農(nóng)產(chǎn)量大幅度提升,是實(shí)現(xiàn)精準(zhǔn)農(nóng)業(yè)管理的核心內(nèi)容。隨著網(wǎng)絡(luò)技術(shù)的不斷革新,物聯(lián)網(wǎng)能夠有效地將信息化與農(nóng)業(yè)結(jié)合在一起,摒棄了傳統(tǒng)生產(chǎn)管理模式的弊端,打開(kāi)了現(xiàn)代化農(nóng)業(yè)生產(chǎn)的新局面。
農(nóng)業(yè)信息傳輸主要采用無(wú)線傳感網(wǎng)絡(luò),其數(shù)據(jù)信息數(shù)量十分龐大,且網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)對(duì)數(shù)據(jù)的處理能力有限,因此對(duì)物聯(lián)網(wǎng)中所監(jiān)測(cè)的數(shù)據(jù)進(jìn)行數(shù)據(jù)融合是很有必要的[2]。數(shù)據(jù)融合是一種多源信息的綜合技術(shù),可以把監(jiān)測(cè)到的諸多繁瑣數(shù)據(jù)進(jìn)行整合使其簡(jiǎn)單化,消除干擾與噪聲,同時(shí)減少數(shù)據(jù)的富裕度,提升數(shù)據(jù)采集的效率與精準(zhǔn)度。
針對(duì)數(shù)據(jù)融合的相關(guān)問(wèn)題,研究人員提出如下解決方法。蔡昱[3]等人提出一種基于WDNN網(wǎng)絡(luò)的兩級(jí)溫室數(shù)據(jù)融合方法,通過(guò)構(gòu)建WDNN深度學(xué)習(xí)模型,將該輸出數(shù)據(jù)依據(jù)少數(shù)服從多數(shù)的方式進(jìn)行融合,從而得到溫室整體的評(píng)估結(jié)果,但該方法存在融合精度不高的問(wèn)題。朱銀鋒[4]等人提出一種基于分?jǐn)?shù)階微分算子的多傳感器數(shù)據(jù)融合算法,通過(guò)將周邊環(huán)境的某種特性當(dāng)作數(shù)據(jù)檢測(cè)的影響因素,運(yùn)用分?jǐn)?shù)階微積分的概念推理得到基于分?jǐn)?shù)階微分的多傳感器數(shù)據(jù)融合算法模型,以此檢測(cè)不同環(huán)境下的溫度變化。但該算法只考慮采樣數(shù)據(jù)的空間關(guān)聯(lián)特質(zhì),對(duì)節(jié)點(diǎn)取樣值是一個(gè)隨機(jī)變量和取樣方差對(duì)數(shù)據(jù)的影響有所疏忽,獲得的結(jié)果具有較大程度的誤差。
通過(guò)總結(jié)上面方法出現(xiàn)的問(wèn)題,提出一種基于物聯(lián)網(wǎng)的農(nóng)作物生長(zhǎng)監(jiān)測(cè)數(shù)據(jù)融合方法,該方法首先對(duì)監(jiān)測(cè)數(shù)據(jù)進(jìn)行預(yù)處理,去除粗大誤差;其次建立卡爾曼濾波模型,使得數(shù)據(jù)的噪聲降到最低;最后將數(shù)據(jù)進(jìn)行加權(quán)數(shù)據(jù)融合。通過(guò)仿真證明此種方法可行性較高,可以大大提升數(shù)據(jù)融合的精確性,從而對(duì)農(nóng)作物的生長(zhǎng)起到積極作用。
估計(jì)算法需要依據(jù)可靠的測(cè)量初值才能完成,在反復(fù)測(cè)量單一節(jié)點(diǎn)的過(guò)程中,無(wú)法確保每一次的測(cè)量值都是對(duì)的,所以先要去除粗大誤差[5]。粗大誤差(又稱疏失誤差)表示在測(cè)量時(shí),偶爾出現(xiàn)的某些不應(yīng)發(fā)生的異常因素導(dǎo)致測(cè)量數(shù)值超出正常測(cè)量誤差范圍的小概率誤差。無(wú)線傳感器網(wǎng)絡(luò)在數(shù)據(jù)采集的過(guò)程中,因外界干擾有時(shí)會(huì)出現(xiàn)粗大誤差。數(shù)據(jù)中若含有粗大誤差,會(huì)極大程度擾亂試驗(yàn)結(jié)果,對(duì)試驗(yàn)結(jié)論的正確性也會(huì)產(chǎn)生影響。去除監(jiān)測(cè)數(shù)據(jù)中的粗大誤差,能夠?qū)?shù)據(jù)融合的自適應(yīng)度及精準(zhǔn)度大幅度提高。最常使用的去除粗大誤差方式有分布圖法、拉伊達(dá)法則、格拉布斯準(zhǔn)則等。分布圖法利用中位數(shù)、四分位數(shù)等剔除粗大誤差,但過(guò)程比較復(fù)雜。拉伊達(dá)法則只有在測(cè)量次數(shù)趨于無(wú)窮大時(shí)才較為適用,測(cè)量次數(shù)在有限范圍內(nèi)時(shí)適用性不強(qiáng)。
通過(guò)多次驗(yàn)證得出,在檢測(cè)較少數(shù)據(jù)時(shí),格拉布斯準(zhǔn)則剔除粗大誤差的準(zhǔn)確性較高,為了確保即時(shí)性,在單位時(shí)間內(nèi)對(duì)數(shù)據(jù)取樣的次數(shù)不宜太頻繁,因此選擇格拉布斯準(zhǔn)則去除粗大誤差。
假設(shè)某個(gè)節(jié)點(diǎn)單位時(shí)間內(nèi)的測(cè)量數(shù)據(jù)分別是x1,x2,x3,…,xi,…,xk,那么此節(jié)點(diǎn)測(cè)量數(shù)據(jù)算術(shù)平均值
(1)
其中,Vi為第i個(gè)測(cè)量值的剩余誤差。
對(duì)應(yīng)的該組數(shù)值標(biāo)準(zhǔn)差為
(2)
在表1中可以查出格拉布斯統(tǒng)計(jì)量的臨界值g0(n,α),即p[g≥g0(n,α)]=α(顯著水平α一般取0.05或0.01,即置信度是94%或者98%),為提高測(cè)量精度,取置信度為94%。
表1 部分常用格拉布斯準(zhǔn)則臨界值
如果第i個(gè)測(cè)量數(shù)據(jù)xi包含下列條件,即
|Vi|≥g0(n,α)σ
(3)
則把xi進(jìn)行剔除。
把余下數(shù)據(jù)反復(fù)進(jìn)行上面的過(guò)程,直到所有數(shù)據(jù)滿足要求為止。
雖然對(duì)農(nóng)作物監(jiān)測(cè)數(shù)據(jù)進(jìn)行了預(yù)處理,提高了數(shù)據(jù)的準(zhǔn)確率,但因?yàn)槠涮刭|(zhì)及環(huán)境因素變化,在數(shù)據(jù)的采集中時(shí)常會(huì)存在數(shù)量眾多的偏差存在[6]??柭鼮V波是一種依據(jù)最小均方誤差為基準(zhǔn)的遞推無(wú)偏估計(jì)算法,其容錯(cuò)性能極好,能最大限度使監(jiān)測(cè)的數(shù)據(jù)值與真實(shí)值更為接近,將噪聲帶來(lái)的影響降到最低。
卡爾曼濾波算法,需要構(gòu)建一個(gè)狀態(tài)空間模型,利用上一階段的系統(tǒng)狀態(tài)估計(jì)值與現(xiàn)階段系統(tǒng)狀態(tài)觀測(cè)值,確定其中存在的過(guò)程噪聲和觀測(cè)噪聲,來(lái)不斷變換系統(tǒng)狀態(tài)變量的估計(jì)值,使之與真實(shí)值更加相近。過(guò)程如下所示。
系統(tǒng)的狀態(tài)方程可以表達(dá)為
X(k)=AX(k-1)+W(k)
(4)
其中X(k),X(k-1)分別是k、k-1時(shí)刻的狀態(tài)值,A是狀態(tài)轉(zhuǎn)移矩陣,W(k)是過(guò)程噪聲,W(k)~N(0,Q)。
可將過(guò)程噪聲W(k)與觀測(cè)噪聲V(k)可看作是高斯白噪聲,依照式(4)進(jìn)行狀態(tài)一步預(yù)測(cè),將k-1時(shí)刻的狀態(tài)X(k-1|k-1)對(duì)k時(shí)刻的預(yù)測(cè)值X(k|k-1)可以表達(dá)為
X(k|k-1)=AX(k-1|k-1)+BU(k)
(5)
U(k)是現(xiàn)在狀態(tài)的控制量,假如無(wú)控制量的產(chǎn)生,可以是0。與X(k|k-1)相對(duì)應(yīng)的協(xié)方差可以表達(dá)為
P(k|k-1)=AP(k|k)AT+Q
(6)
其中,P(k|k-1)代表與X(k|k-1)相對(duì)應(yīng)的協(xié)方差,P(k-1|k-1)代表與X(k-1|k-1)相對(duì)應(yīng)的協(xié)方差,AT是A的轉(zhuǎn)置矩陣。
通過(guò)式(5)、(6)能夠得出現(xiàn)在k時(shí)刻的系統(tǒng)狀態(tài)最優(yōu)估計(jì)值X(k|k)
X(k|k)=X(k|k-1)+Kg(k)Z(k)
(7)
其中Kg(k)是卡爾曼增益(Kalman Gain)。
(8)
想要將所提算法濾波持續(xù)迭代運(yùn)轉(zhuǎn),需將目前k時(shí)刻下X(k|k)的協(xié)方差不斷進(jìn)行更新
P(k|k)=[I-Kg(k)H]P(k|k-1)
(9)
其中,I代表單位陣。當(dāng)系統(tǒng)進(jìn)入下一時(shí)刻時(shí),P(k|k)就是式(6)中的P(k-1|k-1),這樣卡爾曼濾波依照如前所述的公式就能夠不間斷地進(jìn)行自回歸迭代。由此可知,卡爾曼濾波是一種在時(shí)域基礎(chǔ)下的濾波,運(yùn)算較為方便,在迭代進(jìn)行時(shí)僅需保留前一時(shí)刻計(jì)算參數(shù)的變量值[7],這樣可以大大減少空間存儲(chǔ)數(shù)量,提升空間利用率。
溫室狀態(tài)下極易產(chǎn)生諸多干擾,先將監(jiān)測(cè)數(shù)據(jù)采取預(yù)處理手段,然后使用卡爾曼濾波算法,把噪聲影響所致的偏差值降到最低,有效實(shí)現(xiàn)追蹤被測(cè)參變量的真實(shí)值。
中心節(jié)點(diǎn)使用最小二乘理論下的加權(quán)數(shù)據(jù)融合。若n個(gè)傳感器的觀測(cè)方程是
Z=Hx+V
(10)
(11)
其中,zi是每個(gè)傳感器的測(cè)量值,wi是其對(duì)應(yīng)的加權(quán)系數(shù)。定義估計(jì)誤差
(12)
其中,測(cè)量噪聲V表示高斯白噪聲,期望等于零。對(duì)式(12)兩端在同一時(shí)刻取期望,可以得出
(13)
由式(13)能夠得到,加權(quán)最小二乘法是一種無(wú)偏估計(jì)算法,該算法準(zhǔn)確性高,優(yōu)良性好。按照式(13)可得到誤差的估計(jì)方差如式(14)
(14)
依據(jù)得出的估計(jì)誤差數(shù)值取最小值的原則,求式(14)對(duì)wi的偏導(dǎo),讓其數(shù)值為零,可得出式(17)
(15)
由此可知測(cè)量方差和加權(quán)系數(shù)有直接聯(lián)系。因?yàn)榭柭鼮V波對(duì)狀態(tài)的真實(shí)值進(jìn)行追蹤監(jiān)測(cè),因此所提方法運(yùn)用方差估計(jì)學(xué)習(xí)算法實(shí)現(xiàn)數(shù)據(jù)的加權(quán)融合,過(guò)程如下所示:
假設(shè)中心節(jié)點(diǎn)有n個(gè)數(shù)據(jù)要實(shí)現(xiàn)數(shù)據(jù)融合,xi(k)表示第i個(gè)傳感器在k時(shí)刻下所顯示的數(shù)據(jù)。
1)算出k時(shí)刻下任意節(jié)點(diǎn)狀態(tài)均值,獲得第i個(gè)節(jié)點(diǎn)k時(shí)刻的狀態(tài)值和均值,最后將兩者差方當(dāng)成第i個(gè)節(jié)點(diǎn)k時(shí)刻的測(cè)量方差分配值,過(guò)程如式(16)所示
(16)
2)獲取全部測(cè)量方差分配值的平均值,將其看成目前時(shí)刻測(cè)量方差數(shù)值的估計(jì)值,詳細(xì)過(guò)程如式(17)所示
(17)
當(dāng)農(nóng)作物處于溫室狀態(tài),傳感器節(jié)點(diǎn)向中心節(jié)點(diǎn)傳遞信息的過(guò)程中,極易發(fā)生丟包問(wèn)題,數(shù)據(jù)丟包將會(huì)大幅降低其精確率[9]。當(dāng)相同節(jié)點(diǎn)接連發(fā)生丟包或在同一時(shí)間段簇內(nèi)多個(gè)節(jié)點(diǎn)發(fā)生數(shù)據(jù)丟包時(shí),可直接導(dǎo)致傳感器穩(wěn)定性變差,并且使中心節(jié)點(diǎn)融合數(shù)據(jù)不能如實(shí)反映溫室內(nèi)農(nóng)作物生長(zhǎng)的變化走向,從而導(dǎo)致網(wǎng)絡(luò)性能利用率降低[10]。
通常產(chǎn)生數(shù)據(jù)丟包現(xiàn)象時(shí)也可通過(guò)傳感器的歷史數(shù)據(jù)取代丟包數(shù)據(jù)的方式來(lái)解決此問(wèn)題。但是有持續(xù)丟包問(wèn)題時(shí),這種算法的可行性不高。本文所提方法使用狀態(tài)補(bǔ)償手段,采集數(shù)據(jù)的變化走勢(shì)及速率,從而對(duì)數(shù)據(jù)狀態(tài)進(jìn)行預(yù)先推測(cè),把狀態(tài)預(yù)測(cè)值當(dāng)成目前時(shí)刻丟包節(jié)點(diǎn)的上傳數(shù)據(jù)。
若某個(gè)傳感器節(jié)點(diǎn)k將上傳數(shù)據(jù),k+1時(shí)刻有丟包問(wèn)題,過(guò)程為
δ(k)=x(k)-x(k-1)
(18)
其中,x(k-1)是k-1時(shí)刻傳感器的上傳數(shù)據(jù),x(k)是k時(shí)刻傳感器的上傳數(shù)據(jù),δ(k)表示在k時(shí)刻的數(shù)據(jù)增加數(shù)量,其作用是可以反饋測(cè)量數(shù)據(jù)的變化速率。當(dāng)k+1時(shí)刻有丟包現(xiàn)象時(shí),通過(guò)式(19)預(yù)測(cè)作為k+1時(shí)刻的狀態(tài)補(bǔ)償。
x(k+1)=x(k)+αδ(k)+β(δ(k)-δ(k-1))
(19)
其中,α表示速率變化系數(shù),β表示趨勢(shì)變化系數(shù)。
使用狀態(tài)補(bǔ)償手段來(lái)解決傳感器網(wǎng)絡(luò)數(shù)據(jù)丟包問(wèn)題,能夠最大程度減小數(shù)據(jù)的偏差率,使其在監(jiān)測(cè)農(nóng)作物生長(zhǎng)中更具實(shí)用性。
為了驗(yàn)證所提方法的有效性,仿真使用的無(wú)線傳感器采集數(shù)據(jù)時(shí)間間隔是3h。實(shí)驗(yàn)環(huán)境如圖1所示。
圖1 實(shí)驗(yàn)環(huán)境
一個(gè)傳感器36h農(nóng)作物生長(zhǎng)含水量的變化曲線如圖2所示。
圖2 預(yù)處理前后曲線示意圖
如圖2(a)所示,采集的數(shù)據(jù)抗干擾性很差,曲線波動(dòng)較大,表明有異常數(shù)據(jù)的產(chǎn)生。數(shù)據(jù)采取數(shù)據(jù)預(yù)處理之后的變化示意圖如圖2(b)所示。通過(guò)對(duì)比圖2得出如下結(jié)論:數(shù)據(jù)經(jīng)過(guò)預(yù)處理之后,能夠有效去除異常數(shù)據(jù),使變化曲線更為順滑,數(shù)據(jù)浮動(dòng)波度起伏減小。在網(wǎng)絡(luò)運(yùn)轉(zhuǎn)時(shí),抗干擾能力有明顯改善,更具穩(wěn)定性。
在中心節(jié)點(diǎn)進(jìn)行數(shù)據(jù)融合的過(guò)程中,本文所提方法使用狀態(tài)補(bǔ)償手段處理節(jié)點(diǎn)在傳遞數(shù)據(jù)時(shí)發(fā)生的丟包問(wèn)題,減少誤差,提升融合準(zhǔn)確度。為了進(jìn)一步驗(yàn)證監(jiān)測(cè)數(shù)據(jù)融合準(zhǔn)確率,所提方法與文獻(xiàn)[3]方法、文獻(xiàn)[4]方法對(duì)比,實(shí)驗(yàn)結(jié)果如圖3所示。
圖3 監(jiān)測(cè)數(shù)據(jù)融合準(zhǔn)確率對(duì)比圖
如圖所示,通過(guò)觀察能夠得知當(dāng)傳感器節(jié)點(diǎn)傳輸數(shù)據(jù)的過(guò)程中,所提方法監(jiān)測(cè)數(shù)據(jù)融合準(zhǔn)確率在90%左右,相比傳統(tǒng)方法,具有明顯優(yōu)勢(shì)。
為了進(jìn)一步驗(yàn)證所提方法的融合效率,以融合時(shí)間為指標(biāo),進(jìn)行仿真,實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 不同方法融合時(shí)間對(duì)比圖
如圖4所示,所提方法的融合時(shí)間在53左右,短于傳統(tǒng)方法,說(shuō)明所提方法具有較高是融合效率。
針對(duì)傳統(tǒng)數(shù)據(jù)融合的不足之處,例如精準(zhǔn)度不高、融合時(shí)間長(zhǎng)等問(wèn)題,提出一種基于物聯(lián)網(wǎng)的農(nóng)作物生長(zhǎng)監(jiān)測(cè)數(shù)據(jù)融合方法,所提方法主要分為三部分。首先將監(jiān)測(cè)數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,這樣可以大大降低網(wǎng)絡(luò)能耗,提高網(wǎng)絡(luò)生命周期;其次通過(guò)卡爾曼濾波有效去除數(shù)據(jù)中的噪聲;最后以農(nóng)作物生長(zhǎng)監(jiān)測(cè)數(shù)據(jù)融合準(zhǔn)確度和融合時(shí)間為指標(biāo)進(jìn)行實(shí)驗(yàn)。經(jīng)過(guò)仿真,結(jié)論表明所提方法數(shù)據(jù)融合準(zhǔn)確度較高,數(shù)據(jù)融合時(shí)間較短。