本發(fā)明涉及信號處理
技術(shù)領(lǐng)域:
,尤其涉及一種自適應(yīng)在線濾波方法。
背景技術(shù):
:隨著大數(shù)據(jù)時代的來臨,各種各樣的數(shù)據(jù)時時刻刻都會經(jīng)由如手機、智能手環(huán)、共享單車等各式各樣的傳感器器件傳輸?shù)綌?shù)據(jù)中心中,與此同時,人們對數(shù)據(jù)的準(zhǔn)確性和可靠性的要求也越來越高;但是,在實際系統(tǒng)中,錯誤的測量方式、傳感器元件的老化、有缺陷的數(shù)據(jù)收集方式或外界的干擾等,都會造成測量數(shù)據(jù)中含有噪音,而任何噪音都有可能對數(shù)據(jù)的分析和使用造成嚴(yán)重的誤差和錯誤的結(jié)果。因此如何實時的處理這些數(shù)據(jù),實現(xiàn)在線去噪,提高數(shù)據(jù)精度具有重要的意義。在實際系統(tǒng)中,常常需要實時在線的處理傳感器的測量數(shù)據(jù),以達到實時數(shù)據(jù)傳輸,比如對行人車輛軌跡測量、土木結(jié)構(gòu)的形變監(jiān)測等等,所以需要大量離線數(shù)據(jù)的方法如小波變換濾波,頻率域濾波并不適用。其次,傳感器測到的很多測量數(shù)據(jù)都是具有強機動性的,所以,sg濾波方法、bise方法、平滑濾波法、指數(shù)平滑濾波法、經(jīng)典的卡爾曼濾波等傳統(tǒng)方法都無法保留數(shù)據(jù)迅速變化的特性,去噪效果不夠精確。最后,由于測量過程中測量噪音的存在,會極大的影響數(shù)據(jù)精度,人們往往利用經(jīng)驗知識來給定測量噪音方差,這樣的方法是不夠準(zhǔn)確的。在現(xiàn)有的研究成果和技術(shù)方法中,還沒有能夠同時解決上述三類問題的高精度在線去噪方法,導(dǎo)致現(xiàn)有方法的通用性較弱,精度較低。技術(shù)實現(xiàn)要素:基于此,本發(fā)明的目的在于提供一種自適應(yīng)在線濾波的方法,利用多個自適應(yīng)模型實時修正參數(shù),解決了傳感器測量數(shù)據(jù)的高精度在線去噪問題,其精度高,普適性強,具有良好的在線去噪效果。該方法是一種基于自適應(yīng)當(dāng)前統(tǒng)計模型的改進的卡爾曼濾波器的方法。首先,為了到達在線去噪的目的,采用了遞歸卡爾曼濾波;其次,運用自適應(yīng)當(dāng)前統(tǒng)計模型來抓取數(shù)據(jù)的波動特性,同時也去除估計過程中的有色噪音;最后,引入滑動窗口,并且運用一種自適應(yīng)平滑濾波的誤差補償方法,將測量噪音收斂于真值,并去除測量噪音,從而使結(jié)果更加精確。具體實現(xiàn)步驟如下:步驟1:數(shù)據(jù)波動狀態(tài)和系統(tǒng)自適應(yīng)參數(shù)初始化;步驟2:建立具有系統(tǒng)自適應(yīng)參數(shù)的自適應(yīng)當(dāng)前統(tǒng)計模型,求出符合數(shù)據(jù)波動特性的狀態(tài)轉(zhuǎn)移矩陣φ(k+1,k),輸入矩陣u(k)以及有色過程噪音方差q(k);其中,系統(tǒng)自適應(yīng)參數(shù)包括機動頻率α和變化率方差步驟3:根據(jù)自適應(yīng)當(dāng)前統(tǒng)計模型和數(shù)據(jù)初始狀態(tài)對數(shù)據(jù)進行一步預(yù)測,得出下一時刻數(shù)據(jù)的狀態(tài)預(yù)測值步驟4:基于自適應(yīng)當(dāng)前統(tǒng)計模型和過程噪音計算向前一步估計方差p(k+1|k);步驟5:通過測量數(shù)據(jù)y(k+1)和狀態(tài)預(yù)測值計算出估計過程中的殘差e(k);步驟6:引入滑動窗口;步驟7:通過滑動窗口和殘差計算出窗口內(nèi)殘差均值步驟8:通過殘差均值和向前一步估計方差求出測量噪音r(k);步驟9:根據(jù)向前一步估計方差和測量噪音求出卡爾曼濾波增益k(k+1);步驟10:根據(jù)向前一步狀態(tài)預(yù)測值,測量數(shù)據(jù)和卡爾曼濾波增益更新狀態(tài)估計值步驟11:通過卡爾曼濾波增益和向前一步估計方差,得到更新后的估計方差p(k+1|k+1);步驟12:利用yule-walker方法,通過狀態(tài)估計值更新系統(tǒng)自適應(yīng)參數(shù),進而更新自適應(yīng)當(dāng)前統(tǒng)計模型。步驟13:重復(fù)步驟2至步驟12,直至所有測量數(shù)據(jù)全部執(zhí)行完畢,則結(jié)束。在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進。進一步地,步驟1中數(shù)據(jù)波動狀態(tài)和系統(tǒng)自適應(yīng)參數(shù)初始化包括:設(shè)置數(shù)據(jù)波動狀態(tài)的初始值設(shè)置估計方差初值p(0|0)=p0;設(shè)置自適應(yīng)當(dāng)前統(tǒng)計模型參數(shù)初值:α(0)=α0、設(shè)置過程噪音方差初值q(0)=q0;設(shè)置測量噪音方差初值r(0)=r0。進一步地,步驟2中建立具有系統(tǒng)自適應(yīng)參數(shù)的自適應(yīng)當(dāng)前統(tǒng)計模型,包括:將系統(tǒng)的狀態(tài)向量設(shè)置成:x,分別表示位移、速度和加速度;建立反應(yīng)數(shù)據(jù)波動特性的離散時間方程:式中,x(k+1)為k+1時刻數(shù)據(jù)的狀態(tài)向量,k為采樣時刻;φ(k+1,k)表示狀態(tài)轉(zhuǎn)移矩陣;x(k)為k時刻數(shù)據(jù)的狀態(tài)向量,u(k)表示輸入矩陣,為0時刻開始至k時刻數(shù)據(jù)的加速度均值;w(k)表示過程噪音,其均值為0,方差為q(k);φ(k+1,k)、u(k)和q(k)中含有機動頻率α和變化率方差隨著系統(tǒng)自適應(yīng)參數(shù)的變化而變化。進一步地,步驟5的計算公式如下:式中,e(k+1)為估計過程中的殘差,y(k+1)為測量數(shù)據(jù),h(k)表示k時刻的測量矩陣,表示k時刻預(yù)測目標(biāo)在k+1時刻的狀態(tài),k為采樣時刻,|表示條件操作符。進一步地,步驟7的計算公式如下:其中,表示k+1時刻的殘差均值,k為采樣時刻,表示k時刻的殘差均值,e(k+1)表示估計過程中的殘差,n為殘差的個數(shù)。進一步地,步驟8的計算公式如下:其中,e(k+1)表示估計過程中的殘差,表示k+1時刻的殘差均值,k為采樣時刻;h(k+1)表示k+1時刻的測量矩陣,p(k+1|k)表示向前一步估計方差,|表示條件操作符;h(k+1)表示k+1時刻的測量矩陣,n為殘差的個數(shù)。進一步地,步驟9的計算公式如下:k(k+1)=p(k+1|k)ht(k+1)[h(k+1)p(k+1|k)ht(k+1)+r]-1式中,k(k+1)為k+1時刻的卡爾曼濾波增益,k為采樣時刻,p(k+1|k)表示向前一步估計方差,|表示條件操作符;h(k+1)表示k+1時刻的測量矩陣,ht(k+1)表示k+1時刻的測量矩陣的裝置,r為高斯測量白噪音的方差。進一步地,步驟10的計算公式如下:其中,表示狀態(tài)估計值,y(k+1)為測量數(shù)據(jù),表示k時刻預(yù)測目標(biāo)在k+1時刻的狀態(tài),k為采樣時刻,|表示條件操作符;k(k+1)表示k+1時刻的卡爾曼濾波增益,h(k+1)表示k+1時刻的測量矩陣。進一步地,步驟11的計算公式如下:p(k+1|k+1)=[i-k(k+1)h(k+1)]p(k+1|k)其中,i是3維矩陣,p(k+1|k+1)表示k+1時刻的目標(biāo)狀態(tài)估計方差,k為采樣時刻,k(k+1)為k+1時刻的卡爾曼濾波增益,p(k+1|k)表示向前一步估計方差,|表示條件操作符,h(k+1)表示k+1時刻的測量矩陣。進一步地,步驟12的計算公式如下:式中,lk(1)為k時刻的狀態(tài)向量中變化率分量的向前一步相關(guān)函數(shù),lk(0)為k時刻狀態(tài)向量中變化率分量自相關(guān)函數(shù);為k時刻的計算中間變量,為k時刻的變化率方差;表示k時刻數(shù)據(jù)波動加速度估計值,表示k-1時刻數(shù)據(jù)波動加速度估計值;ln為以e取對數(shù)計算,α(k)為k時刻的機動頻率,α(k)和為系統(tǒng)自適應(yīng)參數(shù),k為采樣時刻,t為采樣間隔。本發(fā)明的有益效果是:本發(fā)明的自適應(yīng)在線濾波方法,利用多個自適應(yīng)模型實時修正參數(shù),解決了傳感器測量數(shù)據(jù)的高精度在線去噪問題,具有以下優(yōu)點:1.針對傳感器數(shù)據(jù)實時處理的問題,利用卡爾曼遞歸估計算法實現(xiàn)在線去噪。2.針對數(shù)據(jù)機動性強的問題,利用自適應(yīng)當(dāng)前統(tǒng)計模型來抓取數(shù)據(jù)的波動特性,與此同時,去除估計過程中的有色噪音。3.針對不同測量數(shù)據(jù)的測量噪音不同的問題,引入滑動窗口,利用一種自適應(yīng)平滑濾波的誤差補償方法,將測量方差收斂于真值。4.實驗證明本發(fā)明的去噪方法精度高,普適性強,具有良好的在線去噪效果。附圖說明圖1是本發(fā)明的自適應(yīng)在線濾波方法的流程圖;圖2是實施例1的真實值和測量值的對比圖;圖3是實施例1的測量值和去噪后的值的對比圖;圖4是實施例1的真實值和去噪后的值的對比圖;圖5是實施例1的測量噪音方差的收斂圖。具體實施方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例對本發(fā)明的自適應(yīng)在線濾波方法進行進一步詳細(xì)說明。需要說明的是,在不沖突的情況下,以下各實施例及實施例中的特征可以相互組合。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用于解釋本發(fā)明,并不用于限定本發(fā)明。參照圖1,本發(fā)明一實施例的自適應(yīng)在線濾波方法,包括以下步驟:步驟s1:數(shù)據(jù)波動狀態(tài)和系統(tǒng)自適應(yīng)參數(shù)初始化;步驟s2:建立具有系統(tǒng)自適應(yīng)參數(shù)的自適應(yīng)當(dāng)前統(tǒng)計模型,求出符合數(shù)據(jù)波動特性的狀態(tài)轉(zhuǎn)移矩陣φ(k+1,k),輸入矩陣u(k)以及有色過程噪音方差q(k);其中,系統(tǒng)自適應(yīng)參數(shù)包括機動頻率α和變化率方差步驟s3:根據(jù)自適應(yīng)當(dāng)前統(tǒng)計模型和數(shù)據(jù)初始狀態(tài)對數(shù)據(jù)進行一步預(yù)測,得出下一時刻數(shù)據(jù)的狀態(tài)預(yù)測值步驟s4:基于自適應(yīng)當(dāng)前統(tǒng)計模型和過程噪音計算向前一步估計方差p(k+1|k);步驟s5:通過測量數(shù)據(jù)y(k+1)和狀態(tài)預(yù)測值計算出估計過程中的殘差e(k);步驟s6:引入滑動窗口;步驟s7:通過滑動窗口和殘差計算出窗口內(nèi)殘差均值步驟s8:通過殘差均值和向前一步估計方差求出測量噪音r(k);步驟s9:根據(jù)向前一步估計方差和測量噪音求出卡爾曼濾波增益k(k+1);步驟s10:根據(jù)向前一步狀態(tài)預(yù)測值,測量數(shù)據(jù)和卡爾曼濾波增益更新狀態(tài)估計值步驟s11:通過卡爾曼濾波增益和向前一步估計方差,得到更新后的估計方差p(k+1|k+1);步驟s12:利用yule-walker方法,通過狀態(tài)估計值更新系統(tǒng)自適應(yīng)參數(shù),進而更新自適應(yīng)當(dāng)前統(tǒng)計模型。步驟s13:重復(fù)步驟s2至步驟s12,直至所有測量數(shù)據(jù)全部執(zhí)行完畢,則結(jié)束。以上各步驟具體如下:步驟s1:設(shè)置初值:設(shè)置數(shù)據(jù)波動狀態(tài)的初始值設(shè)置估計方差初值p(0|0)=p0;設(shè)置自適應(yīng)當(dāng)前統(tǒng)計模型參數(shù)初值:α(0)=α0、設(shè)置過程噪音方差初值q(0)=q0;設(shè)置測量噪音方差初值r(0)=r0。本實例中:x0=0;p0=100*eye(3);α0=1/20;q0=anyvalue;r0=anyvalue。步驟s2:建立自適應(yīng)當(dāng)前統(tǒng)計模型:為了更好的抓取數(shù)據(jù)的波動特性,將系統(tǒng)的狀態(tài)向量設(shè)置成:其中x,分別表示位移、速度和加速度;其次,為了去除估計過程中的有色噪音,設(shè)數(shù)據(jù)的波動特性為非零均值的時間相關(guān)隨機過程:其中為加速度均值,v(t)為零均值指數(shù)相關(guān)有色噪音模型,其相關(guān)函數(shù)為:式中:rv(τ)表示相關(guān)函數(shù),表示的方差,α為機動頻率,反應(yīng)數(shù)據(jù)的波動特性。接著對有色噪音v(t)做白化處理,得到:式中:表示有色噪音v(t)的一階導(dǎo)數(shù);w(t)為零均值白噪音,方差為綜上所述,以周期t采樣,可以得到如下的反應(yīng)數(shù)據(jù)波動特性的離散時間方程:式中,φ(k+1,k)表示狀態(tài)轉(zhuǎn)移矩陣,u(k)表示輸入矩陣,w(k)表示過程噪音;x(k+1)為k+1時刻數(shù)據(jù)的狀態(tài)向量,k為采樣時刻;φ(k+1,k)表示狀態(tài)轉(zhuǎn)移矩陣;x(k)為k時刻數(shù)據(jù)的狀態(tài)向量,u(k)表示輸入矩陣,為0時刻開始至k時刻數(shù)據(jù)的波動加速度均值;w(k)表示過程噪音,其均值為0,方差為q(k);φ(k+1,k)、u(k)和q(k)中含有機動頻率α和變化率方差隨著系統(tǒng)自適應(yīng)參數(shù)的變化而變化。則:其中:步驟s3:根據(jù)自適應(yīng)當(dāng)前統(tǒng)計模型和系統(tǒng)狀態(tài)初值計算下一時刻的狀態(tài)預(yù)測值其中,表示k時刻預(yù)測數(shù)據(jù)在k+1時刻的狀態(tài),k為采樣時刻,|表示條件操作符,φ(k+1,k)表示狀態(tài)轉(zhuǎn)移矩陣,u(k)表示輸入矩陣,為加速度均值;表示數(shù)據(jù)在k時刻的狀態(tài)估計值,特別的在k=0時刻為初值步驟s4:基于自適應(yīng)當(dāng)前統(tǒng)計模型和過程噪音計算向前一步估計方差p(k+1|k):p(k+1|k)=φ(k+1,k)p(k|k)φt(k+1,k)+q(k)式中,p(k+1|k)表示向前一步估計方差,即k時刻預(yù)測數(shù)據(jù)在k+1時刻的狀態(tài)協(xié)方差,k為采樣時刻,|表示條件操作符;φ(k+1,k)表示狀態(tài)轉(zhuǎn)移矩陣,u(k)表示輸入矩陣,p(k|k)表示k時刻數(shù)據(jù)的狀態(tài)協(xié)方差的估計值,q(k)為過程噪音協(xié)方差。步驟s5:通過測量數(shù)據(jù)y(k+1)和一步預(yù)測值計算估計過程中的殘差e(k):計算公式如下:式中,e(k+1)為估計過程中的殘差,y(k+1)為測量數(shù)據(jù),h(k)表示k時刻的測量矩陣,表示k時刻預(yù)測數(shù)據(jù)在k+1時刻的狀態(tài),k為采樣時刻,|表示條件操作符。步驟s6:引入滑動窗口,需取一個較大的數(shù),這個窗口的大小對結(jié)果影響不大,本實驗中滑動窗口長度取100。步驟s7:優(yōu)化殘差值,得到殘差均值計算公式如下:其中,表示k+1時刻的殘差均值,k為采樣時刻,表示k時刻的殘差均值,e(k+1)表示估計過程中的殘差,n為殘差的個數(shù)。步驟s8:通過殘差均值和向前一步方差求出測量噪音r(k+1),計算公式如下:其中,e(k+1)表示估計過程中的殘差,表示k+1時刻的殘差均值,k為采樣時刻;h(k+1)表示k+1時刻的測量矩陣,p(k+1|k)表示向前一步估計方差,|表示條件操作符;h(k+1)表示k+1時刻的測量矩陣,n為殘差的個數(shù),殘差的個數(shù)與樣本中數(shù)據(jù)的數(shù)量相等。步驟s9:根據(jù)向前一步估計方差和測量噪音求出卡爾曼濾波增益k(k+1),計算公式如下:k(k+1)=p(k+1|k)ht(k+1)[h(k+1)p(k+1|k)ht(k+1)+r]-1式中,k(k+1)為k+1時刻的卡爾曼濾波增益,k為采樣時刻,p(k+1|k)表示向前一步估計方差,|表示條件操作符;h(k+1)表示k+1時刻的測量矩陣,ht(k+1)表示k+1時刻的測量矩陣的裝置,r為高斯測量白噪音的方差。步驟s10:根據(jù)向前一步狀態(tài)預(yù)測值、測量數(shù)據(jù)和卡爾曼增益更新狀態(tài)估計值計算公式如下:其中,表示狀態(tài)估計值,y(k+1)為測量數(shù)據(jù),表示k時刻預(yù)測數(shù)據(jù)在k+1時刻的狀態(tài),k為采樣時刻,|表示條件操作符;k(k+1)表示k+1時刻的卡爾曼濾波增益,h(k+1)表示k+1時刻的測量矩陣。步驟s11:通過卡爾曼增益和向前一步估計方差得到更新后的估計方差,計算公式如下:p(k+1|k+1)=[i-k(k+1)h(k+1)]p(k+1|k)其中,i是3維矩陣,p(k+1|k+1)表示k+1時刻的數(shù)據(jù)狀態(tài)估計方差,k為采樣時刻,k(k+1)為k+1時刻的卡爾曼濾波增益,p(k+1|k)表示向前一步估計方差,|表示條件操作符,h(k+1)表示k+1時刻的測量矩陣。步驟s12:利用yule-walker方法,通過狀態(tài)估計值更新自適應(yīng)當(dāng)前模型參數(shù),計算公式如下:式中,lk(1)為k時刻的狀態(tài)向量中變化率分量的向前一步相關(guān)函數(shù),lk(0)為k時刻狀態(tài)向量中變化率分量自相關(guān)函數(shù);為k時刻的計算中間變量,為k時刻的變化率方差;表示k時刻數(shù)據(jù)加速度估計值,表示k-1時刻數(shù)據(jù)加速度估計值;ln為以e取對數(shù)計算,α(k)為k時刻的機動頻率,α(k)和為系統(tǒng)自適應(yīng)參數(shù),t為采樣間隔。從而實時更新自適應(yīng)當(dāng)前統(tǒng)計模型中的參數(shù)。步驟s13:重復(fù)步驟s2至步驟s12,直至所有測量數(shù)據(jù)全部執(zhí)行完畢,則結(jié)束。實施例1:本實施例將自適應(yīng)在線濾波方法應(yīng)用于傳感器數(shù)據(jù)的在線去噪,在未知過程噪聲及測量噪聲的方差的情況下,自適應(yīng)濾波仍然可以獲得很好的去噪效果。實驗選用了10000組試驗測量數(shù)據(jù)對本發(fā)明進行計算,時間步長為0.01s,數(shù)據(jù)見表1。表1實驗1測量數(shù)據(jù)和真實數(shù)據(jù)序號t(s)測試值(mm)真實值(mm)序號t(s)測試值(mm)真實值(mm)1000426342.6200.26040.156120.0100.07300426442.6301.35710.152230.0200.7186-0.0009426542.640-1.60700.155940.0300.7905-0.0058426642.650-0.17950.155850.040-0.0331-0.0139426742.660-0.67360.147360.0500.7105-0.0147426842.670-0.35650.146570.060-0.6498-0.0006…………80.0700.69860.0172999699.950-0.34660.4242…………999799.9600.69600.4145426042.590-0.25930.1731999899.9700.34600.4117426142.600-0.63450.1687999999.980-0.26870.4118426242.6100.00600.16231000099.990-0.29350.4156按上述具體實施方式的步驟進行仿真驗證,驗證結(jié)果見附圖2-附圖5。附圖2是實施例1的真實值和測量值的對比圖;附圖3是實施例1的測量值和去噪后的值的對比圖;附圖4是實施例1的真實值和去噪后的值的對比圖;附圖5是實施例1的測量噪音方差的收斂圖。在附圖2-附圖4中:橫坐標(biāo)表示時間,單位為s(秒);縱坐標(biāo)表示位移,單位為mm(毫米)。附圖2中,中部的一條連續(xù)折線表示真實值;附圖3中,中部的一條連續(xù)折線表示去噪后的值;附圖4中,連續(xù)折線101表示真實值,連續(xù)折線102表示去噪后的值。在附圖5中:橫坐標(biāo)表示離散采樣點,縱坐標(biāo)表示測量噪音方差,單位為mm(毫米)。從附圖2至附圖5可以看出,采用本發(fā)明的自適應(yīng)在線濾波方法可以對數(shù)據(jù)有效進行實時在線去噪,將測量方差收斂于真值,其精度高,具有良好的在線去噪效果,解決了傳感器測量數(shù)據(jù)的高精度在線去噪問題。此外,該方法具有普適性,可拓展運用于各種具有動力學(xué)特性的數(shù)據(jù)的實時在線去噪,可以廣泛的應(yīng)用于實際系統(tǒng)中具有強機動性和有色噪音的數(shù)據(jù)預(yù)處理中。以上各實施例的自適應(yīng)在線濾波方法,利用多個自適應(yīng)模型實時修正參數(shù),解決了傳感器測量數(shù)據(jù)的高精度在線去噪問題,具有以下優(yōu)點:1.針對傳感器數(shù)據(jù)實時處理的問題,利用卡爾曼遞歸估計算法實現(xiàn)在線去噪。2.針對數(shù)據(jù)機動性強的問題,利用自適應(yīng)當(dāng)前統(tǒng)計模型來抓取數(shù)據(jù)的波動特性,與此同時,去除估計過程中的有色噪音。3.針對不同測量數(shù)據(jù)的測量噪音不同的問題,引入滑動窗口,利用一種自適應(yīng)平滑濾波的誤差補償方法,將測量方差收斂于真值。4.實驗證明本發(fā)明的去噪方法精度高,普適性強,具有良好的在線去噪效果。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。當(dāng)前第1頁12