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