關(guān) 偉,單伶燕,肖 倩
(交通運(yùn)輸部公路科學(xué)研究所 基礎(chǔ)創(chuàng)新中心,北京 100088)
近年來,為了更加深入的研究揭示道路結(jié)構(gòu)設(shè)計(jì)的科學(xué)問題,在道路結(jié)構(gòu)內(nèi)部埋設(shè)傳感器已成為道路行業(yè)內(nèi)較為普遍的一種研究方式。尤其是通過在各結(jié)構(gòu)層間埋設(shè)應(yīng)力、應(yīng)變傳感器,記錄不同環(huán)境及荷載下道路結(jié)構(gòu)內(nèi)部的實(shí)際響應(yīng)數(shù)據(jù),將能夠有效地對(duì)現(xiàn)有各種道路結(jié)構(gòu)設(shè)計(jì)模型、方法及原料進(jìn)行實(shí)際驗(yàn)證,從而有效地解釋研究者所提出的新理論、新方法。然而,在實(shí)際應(yīng)用中由于車輛通過時(shí)傳感器所產(chǎn)生的信號(hào)較弱以及外界干擾信號(hào)較強(qiáng)等問題,使得采集的數(shù)據(jù)信噪比較低,有效數(shù)據(jù)往往被外界噪聲淹沒,難以直接應(yīng)用,大大降低了數(shù)據(jù)的可靠性。故在此采用卡爾曼濾波算法,對(duì)采集的道路動(dòng)態(tài)信號(hào)進(jìn)行濾波,可以有效地提高數(shù)據(jù)可靠性,并通過對(duì)比其它類型的濾波算法說明該方法的有效性。
濾波器在數(shù)字信號(hào)領(lǐng)域是一種較為成熟的技術(shù),從其提出到現(xiàn)在已有近百年的歷史。時(shí)至今日已廣泛的應(yīng)用于各個(gè)行業(yè),但是由于噪聲來源的差異、應(yīng)用對(duì)象及對(duì)于性能指標(biāo)要求的不同,使得并沒有一個(gè)通用的濾波方法能適用于所有的系統(tǒng)。因此,人們針對(duì)不同的場(chǎng)合提出了各種濾波理論并設(shè)計(jì)研制了大量相關(guān)的濾波器[1]。目前,應(yīng)用最為廣泛的就是卡爾曼濾波器。其最為知名的應(yīng)用就是有效地解決了阿波羅飛船導(dǎo)航系統(tǒng)的信號(hào)噪聲問題,同時(shí)也使得其逐漸被人們所青睞。
卡爾曼濾波理論由美籍科學(xué)家R.E.Kalman提出。起初該方法只適用于離散隨機(jī)系統(tǒng),隨后其聯(lián)合R.S.Bucy將該方法擴(kuò)展到連續(xù)時(shí)間系統(tǒng)中,并最終構(gòu)成完備的卡爾曼濾波估計(jì)體系[2]。其核心思想就是通過獲取系統(tǒng)狀態(tài)的最小均方差,來估計(jì)包含噪聲系統(tǒng)中的真實(shí)值。從本質(zhì)上講,卡爾曼濾波是一種基于狀態(tài)空間法的濾波算法,在狀態(tài)空間中引入了狀態(tài)變量來實(shí)現(xiàn)對(duì)真實(shí)值的計(jì)算[3]。在實(shí)際的應(yīng)用過程中,可以采用選取恰當(dāng)?shù)臓顟B(tài)變量來體現(xiàn)系統(tǒng)的特征、特點(diǎn)和狀況的變化。
卡爾曼濾波的模型包括狀態(tài)空間模型和觀測(cè)模型。狀態(tài)空間模型是反映狀態(tài)變化規(guī)律的模型,通過狀態(tài)方程來描述相鄰時(shí)刻的狀態(tài)轉(zhuǎn)移變化規(guī)律;觀測(cè)模型反映了實(shí)際觀測(cè)量與狀態(tài)變量之間的關(guān)系[4-5]。因此,卡爾曼濾波問題就是聯(lián)合觀測(cè)值及狀態(tài)估計(jì)值來得到系統(tǒng)狀態(tài)的最優(yōu)化估計(jì)。其理論推導(dǎo)如下:
假設(shè),測(cè)量值為z(n)~N(μz,σ2z),估計(jì)值為x(n)~N(μx,σ2x),二者均服從高斯正態(tài)分布。 首先計(jì)算測(cè)量值和估計(jì)值的卷積,即:
經(jīng)過計(jì)算,求出μ和σ2分別為
則式(2)、式(3)簡(jiǎn)化為
正態(tài)分布的均值μ即為期望的輸出結(jié)果,正態(tài)分布的方差σ2即為最小均方誤差。如果是矢量,則最小均方誤差矩陣就變成多維正態(tài)分布的協(xié)方差矩陣。由式(4)也很容易分析出卡爾曼增益K的含義即為估計(jì)量的方差占總方差的比重。
根據(jù)卡爾曼濾波原理,其濾波的過程就是通過系統(tǒng)輸入輸出的觀測(cè)數(shù)據(jù),利用線性系統(tǒng)的狀態(tài)方程對(duì)系統(tǒng)狀態(tài)進(jìn)行最優(yōu)估計(jì),從而去除噪聲還原真實(shí)數(shù)據(jù)。在實(shí)際計(jì)算中,通常將物理系統(tǒng)描述成符合線性系統(tǒng)要求的系統(tǒng)模型,將運(yùn)行過程看作是一個(gè)狀態(tài)轉(zhuǎn)換過程,并假設(shè)系統(tǒng)狀態(tài)可以用n維空間的一個(gè)向量來表示。實(shí)際物理系統(tǒng)可描述為[6]
式中:X(k)為在 k時(shí)刻的系統(tǒng)狀態(tài);U(k)為在 k 時(shí)刻外界對(duì)該系統(tǒng)的控制量;A和B為系統(tǒng)參數(shù),對(duì)于多模型系統(tǒng)而言,它們以矩陣的形式進(jìn)行描述;Z(k)為在k時(shí)刻傳感器的測(cè)量值;H為測(cè)量系統(tǒng)的數(shù),對(duì)于多測(cè)量系統(tǒng)而言,它以矩陣的形式進(jìn)行描述;W(k),V(k)分別為系統(tǒng)噪聲和測(cè)量過程中產(chǎn)生的噪聲。
卡爾曼濾波算法主要分為時(shí)間更新與測(cè)量更新兩大部分。即給定某一時(shí)刻的初始值,然后在觀測(cè)空間和狀態(tài)空間之間不停的迭代,求取k時(shí)刻的估計(jì)值X和均方誤差矩陣P。該算法主要由5個(gè)核心公式表示,分別代表卡爾曼濾波算法的5個(gè)主要步驟[7-8]:
步驟1預(yù)測(cè)當(dāng)前時(shí)刻的狀態(tài)。
式中:X(k∣k-1)為利用上一時(shí)刻的系統(tǒng)狀態(tài)對(duì)當(dāng)前時(shí)刻系統(tǒng)狀態(tài)的預(yù)測(cè)結(jié)果;X(k-1∣k-1)為上一時(shí)刻系統(tǒng)的最優(yōu)估計(jì)值;U(k)為當(dāng)前時(shí)刻系統(tǒng)狀態(tài)的控制量。
步驟2更新現(xiàn)在狀態(tài)的協(xié)方差,用P表示。
式中: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)置矩陣;Q為系統(tǒng)的噪聲。
步驟3計(jì)算卡爾曼增益。
步驟4進(jìn)行更新校驗(yàn),求出當(dāng)前時(shí)刻最優(yōu)狀態(tài)值。
步驟5更新當(dāng)前時(shí)刻的協(xié)方差。
式(8)~式(12)為卡爾曼濾波的5個(gè)核心公式,每次 P(k∣k)和 kg(k)都需要系統(tǒng)前一時(shí)刻的狀態(tài)值來進(jìn)行更新,這使得該算法在實(shí)際應(yīng)用中更為方便。
雖然,卡爾曼濾波算法能夠很好地應(yīng)用于各種場(chǎng)合,但由于應(yīng)用對(duì)象及所處環(huán)境的不同,在實(shí)際應(yīng)用時(shí)需要選擇適合的參數(shù)才能有效地發(fā)揮其最佳性能。
為了對(duì)采集的動(dòng)態(tài)信號(hào)進(jìn)行有效的濾波降噪,需要對(duì)其進(jìn)行必要的時(shí)、頻分析。通過時(shí)域分析可以獲知噪聲信號(hào)特征規(guī)律,而頻域分析則主要關(guān)注有效信號(hào)的頻率與幅值的特征。
噪聲信號(hào)隨時(shí)間變化而變化,因此為了更好地找出噪聲信號(hào)的特征,在此利用了無荷載通過時(shí)的數(shù)據(jù)信號(hào)進(jìn)行分析。首先,假設(shè)在無荷載經(jīng)過時(shí),動(dòng)態(tài)信號(hào)為某一固定值,即真實(shí)值;而噪聲信號(hào)為Q(t)。 因此,實(shí)際傳感器采集的數(shù)據(jù)為xi=+Q(t),如圖1所示。
圖1 無載荷下的動(dòng)態(tài)數(shù)據(jù)信號(hào)Fig.1 Dynamic data signal under zero-load
據(jù)此,可以判斷噪聲信號(hào)是一個(gè)典型隨機(jī)信號(hào),其真實(shí)值可以通過大量數(shù)據(jù)的平均值獲得,即=Σxi;則噪聲信號(hào) Q(t)=-xi。 在對(duì)信號(hào)進(jìn)行分析時(shí),選取了100個(gè)采樣段進(jìn)行統(tǒng)計(jì)分析,其中5 s為1個(gè)采樣段,采樣頻率為2000Hz,即10000個(gè)采樣點(diǎn)。根據(jù)統(tǒng)計(jì)分析結(jié)果可以看出,噪聲信號(hào)服從N(0,0.001)的正態(tài)分布。噪聲信號(hào)的數(shù)據(jù)統(tǒng)計(jì)如圖2所示。
圖2 噪聲信號(hào)數(shù)據(jù)統(tǒng)計(jì)Fig.2 Data statistics of noise signal
相對(duì)于時(shí)域分析,頻域分析則主要用于獲知采集信號(hào)的頻譜特征。其方法是將時(shí)域信號(hào)變換為頻域信號(hào),把復(fù)雜的時(shí)間歷程波形,經(jīng)過傅里葉變換分解為若干單一的諧波分量來研究,以獲得信號(hào)的頻率結(jié)構(gòu)以及各諧波和相位信息。通過FFT對(duì)采集的動(dòng)態(tài)信號(hào)進(jìn)行分析,獲知采集信號(hào)的頻譜組成及相應(yīng)的能量分布,從而得到荷載信號(hào)的主要頻率。如圖3a為采集的原始信號(hào),圖3b為采集信號(hào)的頻譜分析結(jié)果。由圖可見,采集信號(hào)主要能量的頻率為0~50 Hz,屬于低頻范圍。
圖3 采集信號(hào)頻域分析的結(jié)果Fig.3 Results of frequency domain analysis of collected signals
在充分獲知道路動(dòng)態(tài)信號(hào)的時(shí)頻域特征后,將通過與傳統(tǒng)的時(shí)頻域?yàn)V波算法進(jìn)行對(duì)比,進(jìn)一步說明卡爾曼濾波算法在實(shí)際道路動(dòng)態(tài)數(shù)據(jù)濾波處理應(yīng)用中的有效性。
均值濾波是一種常用的時(shí)域?yàn)V波算法,其廣泛應(yīng)用于各種數(shù)據(jù)采集領(lǐng)域。均值濾波算法的優(yōu)點(diǎn)在于計(jì)算簡(jiǎn)單、易于實(shí)現(xiàn)及具有明確的物理意義,通常適用于對(duì)數(shù)據(jù)質(zhì)量要求不高、數(shù)據(jù)處理設(shè)備性能有限以及要求數(shù)據(jù)處理數(shù)據(jù)較短等的工況。
圖4 均值濾波結(jié)果Fig.4 Mean filtering results
表1 平均值濾波結(jié)果Tab.1 Mean filtering results
另外,根據(jù)濾波后峰值處的時(shí)間顯示,可以發(fā)現(xiàn)當(dāng)N值的越大時(shí)峰值滯后越嚴(yán)重。并且這種時(shí)間滯后的缺陷是均值濾波算法不可避免的。
低通濾波算法是頻域?yàn)V波中較為常用的濾波算法,其原理主要是根據(jù)信號(hào)與噪聲的頻譜能量差異將高頻噪聲去除。在引選取通帶響應(yīng)曲線最為平滑的巴特沃斯濾波算法進(jìn)行對(duì)比分析:
式中:n為濾波器階數(shù);ωc為截止頻率。根據(jù)2.2節(jié)中頻域分析信號(hào)的主要頻率為100 Hz,采用截止頻率為150 Hz的一階低通濾波器進(jìn)行濾波,結(jié)果如圖5所示。濾波后,信號(hào)的信噪比為60 dB,峰值為1.4397 mV/V,峰值時(shí)間為700 ms。對(duì)比均值濾波可見,低通濾波的主要優(yōu)點(diǎn)在于峰值無滯后,這對(duì)于后期的應(yīng)力應(yīng)變響應(yīng)分析十分重要。
圖5 低通濾波結(jié)果Fig.5 Low pass filtering results
根據(jù)1.2節(jié)所介紹,采用的科爾曼濾波器中對(duì)象模型為
式中:X(k∣k-1)為k時(shí)刻的預(yù)測(cè)值。當(dāng)變化量小于某一閾值時(shí)認(rèn)為信號(hào)未產(chǎn)生變化;當(dāng)其大于閾值時(shí)則以k-1時(shí)刻的值加上k-2時(shí)刻的變化量作為預(yù)測(cè)值??柭鼮V波結(jié)果如圖6所示。濾波后,信號(hào)的信噪比77 dB,峰值為1.4396 mV/V,峰值時(shí)間為700 ms。
圖6 卡爾曼濾波結(jié)果Fig.6 Kalman filtering results
由此可見,卡爾曼濾波綜合了前2種濾波算法的優(yōu)點(diǎn),不但具有較好的噪聲抑制作用,同時(shí)對(duì)于峰值保持及峰值點(diǎn)跟隨的效果也十分出色。其良好的綜合性能能夠有效地去除道路動(dòng)態(tài)數(shù)據(jù)的噪聲還原真實(shí)信號(hào),為后續(xù)數(shù)據(jù)分析的正確性提供可靠保障。
道路動(dòng)態(tài)響應(yīng)數(shù)據(jù)的信號(hào)較小且相對(duì)噪聲較大,致使在對(duì)其進(jìn)行后續(xù)分析前需要采取適當(dāng)?shù)臑V波處理。通過對(duì)比3種濾波算法的效果(相對(duì)于原始信號(hào),均值濾波、低通濾波、爾曼濾波后信號(hào)的信噪比分別提高了16,3,20 dB,峰值滯后時(shí)間分別為8,0,0 ms),說明了卡爾曼濾波在處理道路動(dòng)態(tài)響應(yīng)數(shù)據(jù)時(shí)要優(yōu)于傳統(tǒng)的均值和低通濾波算法。其原因在于卡爾曼濾波算法在進(jìn)行濾波計(jì)算時(shí)引入了預(yù)估模型,而其濾波結(jié)果是根據(jù)測(cè)量值和預(yù)測(cè)值共同決定的,并且相關(guān)系數(shù)可根據(jù)迭代不斷更新確保了算法的準(zhǔn)確性。為提高濾波性能,后續(xù)將進(jìn)一步優(yōu)化預(yù)估模型,并通過海量數(shù)據(jù)分析得到適用性更廣的預(yù)估模型,以使卡爾曼濾波算法能夠發(fā)揮其最大優(yōu)勢(shì)。