基于神經網絡的卡爾曼濾波甲醛檢測方法
【專利摘要】本發明公開了一種基于神經網絡的卡爾曼濾波甲醛檢測方法,包括1)初始化檢測環境,確定環境參數;2)模擬檢測過程數據,得出神經網絡訓練數據;3)建立兩輸入一輸出結構的神經網絡,采用BP神經網絡,附加動量學習規則,訓練神經網絡;4)進行第一次檢測估計;5)判斷是否停止檢測;6)如果停止則休眠等待,如果不停止,則使用卡爾曼濾波估計甲醛含量。本發明通過離線訓練神經網絡的方法,建立了檢測量與狀態轉移量之間的關系,進而解決了傳統卡爾曼濾波在甲醛檢測時,狀態方程特別是狀態轉移量難以確定的問題,極大的提高了甲醛檢測的速度、精度與可靠性。
【專利說明】基于神經網絡的卡爾曼濾波甲醛檢測方法
【技術領域】
[0001]本發明涉及一種甲醛檢測方法,尤其涉及一種基于神經網絡的卡爾曼濾波甲醛檢測方法,屬于檢測【技術領域】。
【背景技術】
[0002]甲醛是一種無色、有強烈刺激性氣味的氣體,有劇毒,其主要運用于木材工業與紡織工業中,是一種重要的化工原料和有機溶劑,現在廣泛使用于家庭裝修的材料中,這使得新裝修房屋中甲醛污染問題十分嚴重。現有技術對于甲醛的檢測方法主要有:分光光度法、電化學檢測法、氣相色譜法、液相色譜法、傳感器法等,這些方法雖然可能檢測精度較高,但由于缺少對于檢測誤差的分析與濾除,因而檢測誤差較大,準確性并不高,對環境中甲醛的真實含量并不能有效檢出。
[0003]卡爾曼濾波方法是1960年由R.E.Kalman提出的一種數值濾波方法,其處理的典型實例是從一組有限的,包含噪聲的,對物體狀態的觀測數據中預測估計出物體的實際狀態,因此合理使用卡爾曼濾波可以很好地解決甲醛檢測中的誤差濾除問題。針對甲醛檢測問題,甲醛含量的狀態方程可以表示為:
[0004]Χ(?+1)=Φ (t)X(t)
[0005]其中X(t)為t時刻的甲醛實際含量值,Φα)為t時刻的狀態轉移量,其表示t時刻與t+i時刻甲醛實際含量之間的關系。
[0006]甲醛檢測的觀測(檢測)方程可以表示為:
[0007]Z(t)=X(t)+v(t)
[0008]其中Z(t)為t時刻的檢`測值,X⑴為t時刻甲醛實際含量值,V⑴為t時刻的檢測誤差,由大數定理,服從均值為零,方差為定值的高斯正態分布。對于甲醛檢測問題,狀態方程中的參數Φα)以及檢測誤差v(t)都由實際檢測情況決定,很難得到明確的表達式,因此現有技術的卡爾曼濾波難以直接運用在甲醛檢測之中。
【發明內容】
[0009]本發明的目的在于提供一種基于神經網絡的卡爾曼濾波甲醛檢測方法,通過神經網絡解決卡爾曼濾波在甲醛檢測問題中遇到的狀態方程參數難以確定的問題,并將其使用在甲醛檢測誤差濾除中,以提高現有甲醛檢測方法的準確性。
[0010]本發明的目的通過以下技術方案予以實現:
[0011]一種基于神經網絡的卡爾曼濾波甲醛檢測方法,包括以下步驟:
[0012]I)初始化檢測環境,確定環境參數:使用傳感器對環境中的甲醛含量進行多次取樣,得出一組取樣數據;將取樣數據最大檢測值記為Zmax,最小檢測值記為Zmin,求此組數據均方差并除以2得到檢測誤差的近似方差G ;
[0013]2)設檢測誤差為G,令零時刻狀態值X (O)分別為Zmin和Zmax,對不同的狀態轉移量φ,使用公式χα+ι)=Φα)χα) ?ρζα)=χω+να)模擬檢測過程,v(t)為數值模擬出的服從均值為零,方差為G的檢測誤差,得出不同的狀態轉移量Φ對應的一組檢測數據Z ;
[0014]3)建立兩輸入一輸出結構的神經網絡,兩輸入為模擬檢測數據每組中相鄰兩時刻的檢測值,輸出為對應的Φ值,采用BP神經網絡,附加動量學習規則,訓練神經網絡;
[0015]4)開始檢測過程:設定初始甲醛檢測值Z(O)為(Zmax+Zmin)/2,將此時傳感器取得的甲醛檢測值記為Z(I),將Z(O)、Z(I)輸入神經網絡,得出神經網絡預測估計的φ (I)
值,確定此時刻的狀態方程,迭代卡爾曼濾波估計方程,得出此時的甲醛估計值;^⑴,輸出
顯示結果;
[0016]5)判斷是否停止檢測,如果不停止,則轉步驟6);如果停止檢測,則進入休眠狀態;
[0017]6)記上一次傳感器取得的甲醛檢測量為Z(t-l),當前時刻傳感器取得的甲醛檢測量為ζα),將ζα-ι)與ζα)輸入神經網絡,得出當前時刻的狀態轉移量Φα)的值,確
定當前時刻的狀態方程,記上一次的甲醛估計值為Xu -1),迭代卡爾曼濾波估計方程,得出當前時刻的甲醛估計值$(/),輸出顯示結構;
[0018]7)判斷是否要初始化環境,若是,轉步驟I),若否,則轉步驟6)。
[0019]本發明的目的還可以通過以下技術措施來進一步實現:
[0020]前述基于神經網絡的卡爾曼濾波甲醛檢測方法,其中卡爾曼濾波方法如下:
[0021]I)預估計:
[0022]Χ(? + 1)=Φ(?)Χ(?),其中為估計值,X(Z)為預估計值,Φ⑴為狀態轉移量;
[0023]2)計算預估計協方差矩陣:
[0024]辦+ ^二中⑴尸⑴中丫七其中P(t)為估計協方差,P⑴力預估計協方差,Φ (t)為
狀態轉移量,Φ ' (t)為Φ⑴的轉置;
[0025]3)計算卡爾曼增益矩陣:
[0026]+ = + + + '丨-1,其中K(t)為卡爾曼增益,G為檢測誤差的近似方差;
[0027]4)更新估計:
[0028]X(/ + L) = Z(i + l) + K(t + l)[Z(t + l)-X(t +1)];
[0029]5)更新估計協防差矩陣:
[0030]PU + 1) = (1-KU + 1)1,)(/ +1)11-^(/ + 1)1 + Kd +1) G.Kd +1);
[0031]6)每取得一次檢測值,重復迭代上述步驟一次。
[0032]前述基于神經網絡的卡爾曼濾波甲醛檢測方法,其中附加動量學習規則如下:
【權利要求】
1.一種基于神經網絡的卡爾曼濾波甲醛檢測方法,其特征在于,包括以下步驟: 1)初始化檢測環境,確定環境參數:使用傳感器對環境中的甲醛含量進行多次取樣,得出一組取樣數據;將取樣數據最大檢測值記為Zmax,最小檢測值記為Zmin,求此組數據均方差并除以2得到檢測誤差的近似方差G ; 2)設檢測誤差為G,令零時刻狀態值X(O)分別為Zmin和Zmax,對不同的狀態轉移量φ,使用公式χα+ι)=Φα)χα) ?ρζα)=χω+να)模擬檢測過程,v(t)為數值模擬出的服從均值為零,方差為G的檢測誤差,得出不同的狀態轉移量Φ對應的一組檢測數據Z ; 3)建立兩輸入一輸出結構的神經網絡,兩輸入為模擬檢測數據每組中相鄰兩時刻的檢測值,輸出為對應的Φ值,采用BP神經網絡,附加動量學習規則,訓練神經網絡; 4)開始檢測過程:設定初始甲醛檢測值Z(O)為(Zmax+Zmin)/2,將此時傳感器取得的甲醛檢測值記為Z(I),將Z(O)、Z(1)輸入神經網絡,得出神經網絡預測估計的Φ (I)值,確定此時刻的狀態方程,迭代卡爾曼濾波估計方程,得出此時的甲醛估計值f (I),輸出顯示結果; 5)判斷是否停止檢測,如果不停止,則轉步驟6);如果停止檢測,則進入休眠狀態; 6)記上一次傳感器取得的甲醛檢測量為Z(t-Ι),當前時刻傳感器取得的甲醛檢測量為Z(t),將Z(t-l)與Z(t)輸入神經網絡,得出當前時刻的狀態轉移量Φ (t)的值,確定當前時刻的狀態方程,記上一次的甲醛估計值為-1),迭代卡爾曼濾波估計方程,得出當前時刻的甲醛估計值f(/),輸出顯示結構; 7)判斷是否要初始化環境,若是,轉步驟I),若否,則轉步驟6)。
2.如權利要求 1所述的基于神經網絡的卡爾曼濾波甲醛檢測方法,其特征在于,包括以下步驟: 1)預估計: 1(? + 1) = Φ(?):^(?),其中X⑴力估計值X(r)為預估計值,Φ (t)為狀態轉移量; 2)計算預估計協方差矩陣: Ρ(? + 1) = Φ(ΟΡ(?)Φ\?),其中P(t)為估計協方差,戶(f)為預估計協方差,φ (t)為狀態轉移量,Φ'⑴為Φ⑴的轉置; 3)計算卡爾曼增益矩陣: KU +1) = Pd + DlPii +1) + GP1,其中K⑴為卡爾曼增益,G為檢測誤差的近似方差; 4)更新估計:
Χ(? + 1) = Χ(? + 1) + ^(/ + !)[Ζ(/+1)-Λ~(/ + !)|: 5)更新估計協防差矩陣:
Pd + 1) = 11-K (I + 1)1/)(/ + 1)11 -尺(/ + I) I + KU +1).G.KU + I); 6)每取得一次檢測值,重復迭代上述步驟一次。
3.如權利要求1所述的基于神經網絡的卡爾曼濾波甲醛檢測方法,其特征在于,所述附加動量學習規則如下:
【文檔編號】G06F19/00GK103743867SQ201310740484
【公開日】2014年4月23日 申請日期:2013年12月30日 優先權日:2013年12月30日
【發明者】徐沛, 樓群 申請人:鎮江市高等專科學校