楊 軍,李麗宏,周尚儒
(太原理工大學(xué) 信息工程學(xué)院,太原 030024)
汽車(chē)動(dòng)態(tài)稱重過(guò)程中的運(yùn)動(dòng)狀態(tài)比較復(fù)雜,當(dāng)車(chē)輛輪軸駛過(guò)秤臺(tái)時(shí),傳感器受到兩部分的作用力,一是車(chē)輛的穩(wěn)態(tài)載荷,二是車(chē)輛的動(dòng)態(tài)載荷(瞬態(tài)載荷)。瞬態(tài)載荷是影響稱重的干擾噪聲,也是影響稱重準(zhǔn)確度的最主要因素[1]。動(dòng)態(tài)載荷產(chǎn)生的因素有很多,如路面凹凸不平、車(chē)輛自身的振動(dòng)、車(chē)輛結(jié)構(gòu)的差異、車(chē)輛過(guò)秤不規(guī)則(包括拖磅、跳磅、加減速等)等,這些因素將導(dǎo)致稱重?cái)?shù)據(jù)中信噪比降低、采樣數(shù)據(jù)波形不穩(wěn)定、車(chē)輛重復(fù)稱量的差異大,尤其是由于車(chē)輛過(guò)秤速度不同,導(dǎo)致稱重?cái)?shù)據(jù)個(gè)數(shù)有很大差異,這些問(wèn)題將導(dǎo)致在使用常規(guī)濾波算法處理稱重?cái)?shù)據(jù)時(shí)無(wú)法保證稱量的精度[2]。
卡爾曼濾波是以最小均方誤差為最佳估計(jì)準(zhǔn)則尋求一種遞推估計(jì)的算法,其基本思想是:采用信號(hào)與噪聲的狀態(tài)空間模型,利用前一時(shí)刻的估計(jì)值和現(xiàn)時(shí)刻的觀測(cè)值來(lái)更新對(duì)狀態(tài)變量的估計(jì),求出現(xiàn)時(shí)刻的估計(jì)值。本文提出的自適應(yīng)卡爾曼濾波算法中加入了系統(tǒng)誤差計(jì)算,自適應(yīng)調(diào)節(jié)系統(tǒng)的量測(cè)噪聲[3],最大限度去除了干擾噪聲對(duì)系統(tǒng)狀態(tài)估計(jì)的影響。目前采用該算法的儀表已在實(shí)際中全面推廣應(yīng)用,稱重?cái)?shù)據(jù)穩(wěn)定,稱重準(zhǔn)確度等級(jí)達(dá)到國(guó)家《GB/T 21296-2007動(dòng)態(tài)公路車(chē)輛自動(dòng)衡器》規(guī)定的2級(jí)秤要求[4]。
在傳統(tǒng)卡爾曼濾波算法中,一般假設(shè)系統(tǒng)過(guò)程噪聲和量測(cè)噪聲不相關(guān),并且均為零均值的白噪聲。但在動(dòng)態(tài)稱重系統(tǒng)中的狀態(tài)空間模型中量測(cè)噪聲屬于時(shí)變性質(zhì)的,其協(xié)方差矩陣將不為零。稱重系統(tǒng)在受到外部干擾時(shí)運(yùn)動(dòng)狀態(tài)可由2部分組成:一部分由已知的運(yùn)動(dòng)方程預(yù)測(cè)出來(lái),另一部分為隨機(jī)噪聲[5],其狀態(tài)方程和量測(cè)方程可表示為
式中:x(t)為狀態(tài)矢量;z(t)為輸出矢量;w(t)和 v(t)分別為系統(tǒng)噪聲和量測(cè)噪聲。
卡爾曼濾波用反饋控制的方法估計(jì)過(guò)程狀態(tài):濾波器估計(jì)過(guò)程某一時(shí)刻的狀態(tài),然后以含噪聲的測(cè)量變量的方式獲得反饋[6,9]??柭鼮V波的結(jié)構(gòu)圖如圖1所示。
圖1 卡爾曼濾波的結(jié)構(gòu)圖Fig.1 Structure diagram of Kalman filter
由圖1可知,卡爾曼濾波的基本思路是先預(yù)測(cè)、后校正,可分為兩部分:時(shí)間更新和量測(cè)更新。時(shí)間更新包括狀態(tài)預(yù)測(cè)和先驗(yàn)誤差協(xié)方差預(yù)測(cè)[7-8],離散表達(dá)式為
類(lèi)似的,預(yù)測(cè)的觀測(cè)向量及誤差協(xié)方差為
量測(cè)更新包括計(jì)算卡爾曼濾波器增益和協(xié)方差,離散表達(dá)式為
對(duì)應(yīng)的濾波誤差協(xié)方差更新表達(dá)式為
在卡爾曼濾波器中時(shí)變?cè)肼暯y(tǒng)計(jì)估值器可表示為
其中,dk=(1-b)/(1-bk+1),0<b<1,b 為遺忘因子。
在動(dòng)態(tài)稱重系統(tǒng)中,外部干擾噪聲w(t)可認(rèn)為是由車(chē)輛、計(jì)量平臺(tái)、地面三者之間組成的耦合系統(tǒng)到時(shí)汽車(chē)振動(dòng)的系統(tǒng)噪聲[10-11]和因車(chē)輛變速行駛、車(chē)輛自身結(jié)構(gòu)等引起的隨機(jī)噪聲組成:
式中:βi為第i階振幅放大因子;ψi為系統(tǒng)振幅相對(duì)激振力的相位差。因此在卡爾曼濾波算法中,系統(tǒng)過(guò)程噪聲(系統(tǒng)誤差)可以認(rèn)為是定值,即Qk為常量,而由于量測(cè)噪聲是時(shí)變的,在濾波時(shí)不能假定Rk為常量,否則將可能導(dǎo)致濾波不準(zhǔn)確和濾波發(fā)散等后果[12]。
為了得到時(shí)變?cè)肼暤膮f(xié)方差,本文首先通過(guò)最小二乘法對(duì)稱重?cái)?shù)據(jù)進(jìn)行擬合,然后將實(shí)際數(shù)據(jù)與擬合曲線對(duì)比,求出時(shí)變?cè)肼暤膮f(xié)方差,最后通過(guò)計(jì)算出的量測(cè)噪聲值帶入卡爾曼濾波公式中,對(duì)數(shù)據(jù)進(jìn)行濾波。
設(shè)原始數(shù)據(jù)陣列為 X= [(x1,y1),(x2,y2),…,(xn,yn)]T,
1122nn
根據(jù)動(dòng)態(tài)稱重?cái)?shù)學(xué)模型可設(shè)擬合曲線方程y=f(x)的具體表達(dá)式(在此不需要考慮干擾噪聲)為其中,c0為稱重平臺(tái)的自重,可在實(shí)際中測(cè)量出來(lái),且為恒值。根據(jù)最小二乘法原理,要求測(cè)量值yi的偏差的加權(quán)平均和最小,即:
式中,C=(c1,c2,c3,c4), 考慮到各測(cè)量值是相互獨(dú)立的,根據(jù)式(17)可得:
由此可得yi的標(biāo)準(zhǔn)偏差
根據(jù)S值可以檢驗(yàn)擬合曲線是否滿足系統(tǒng)要求。
得到擬合曲線后,則原始數(shù)據(jù)波形上任簇點(diǎn)(xk,yk)到擬合曲線上對(duì)應(yīng)點(diǎn)(xk′,yk′)的距離
線性化后得到的量測(cè)矩陣為
將式(23)帶入式(2)中可得到量測(cè)噪聲:
然后通過(guò)量測(cè)噪聲方差Rk調(diào)整卡爾曼濾波增益Kk和量測(cè)更新協(xié)方差Pk|k。
為了驗(yàn)證濾波算法的性能,將稱重儀表采集到的若干車(chē)輛過(guò)秤時(shí)的原始數(shù)據(jù)通過(guò)傳統(tǒng)的卡爾曼濾波算法和改進(jìn)后自適應(yīng)濾波算法將數(shù)據(jù)進(jìn)行了對(duì)比處理,隨后對(duì)該算法進(jìn)行了多次現(xiàn)場(chǎng)重復(fù)實(shí)驗(yàn)。
由于系統(tǒng)的干擾噪聲在濾波算法中進(jìn)行了處理,因此在對(duì)動(dòng)態(tài)稱重系統(tǒng)建模時(shí)可忽略干擾噪聲的影響,即系統(tǒng)模型如式(16)所示,式中參數(shù)C需根據(jù)采樣數(shù)據(jù)擬合后確定,c0為稱重平臺(tái)自重。為保證算法驗(yàn)證的準(zhǔn)確性,系統(tǒng)采樣頻率和稱重平臺(tái)尺寸與選用采樣儀表中的設(shè)定值一樣。在調(diào)試中發(fā)現(xiàn),卡爾曼濾波器的初值協(xié)方差P(0)應(yīng)根據(jù)當(dāng)前儀表采樣分度值來(lái)確定,這樣能減少濾波迭代次數(shù)。系統(tǒng)各參數(shù)輸入如下。
表1 系統(tǒng)參數(shù)Tab.1 System Parameters
在實(shí)驗(yàn)中發(fā)現(xiàn),當(dāng)系統(tǒng)量測(cè)噪聲較小時(shí),兩種方法濾波效果均能較好地將干擾噪聲濾除,但是對(duì)于量測(cè)噪聲較大的數(shù)據(jù),傳統(tǒng)的卡爾曼濾波算法有明顯的缺陷(濾波程度不夠甚至發(fā)散)。圖2為在量測(cè)噪聲較大時(shí)傳統(tǒng)卡爾曼濾波算法和改進(jìn)后自適應(yīng)濾波算法的對(duì)比圖(濾波前后波形在實(shí)際中有一定的滯后,為了便于觀察現(xiàn)象,在圖2中將濾波后前一段無(wú)關(guān)數(shù)據(jù)去掉了)。
由圖2可知,當(dāng)原始數(shù)據(jù)中參雜較為嚴(yán)重的干擾噪聲時(shí),傳統(tǒng)卡爾曼濾波后的數(shù)據(jù)仍不能滿足實(shí)際要求,而使用自適應(yīng)濾波算法后,數(shù)據(jù)漸趨平滑,一方面能使系統(tǒng)方便的判斷出車(chē)軸數(shù)量,另一方面能大大提高稱重精度。隨后將算法改進(jìn)后的儀表在現(xiàn)場(chǎng)進(jìn)行了多次試驗(yàn)發(fā)現(xiàn),數(shù)據(jù)經(jīng)濾波處理后,稱量結(jié)果有明顯改善;表2所示為10組濾波前后數(shù)據(jù)對(duì)比圖,從表中可以看出,濾波處理前,稱重精度最大可達(dá)到5.81%,而經(jīng)濾波處理后,稱重誤差小于±2%。
圖2 傳統(tǒng)卡爾曼濾波算法和自適應(yīng)卡爾曼濾波算法濾波效果對(duì)比圖Fig.2 Comparison of filter result between traditional Kalman and adaptive Kalman
表2 濾波前后數(shù)據(jù)對(duì)比Tab.2 Comparison of the data before and after filtering
本文討論了動(dòng)態(tài)稱重系統(tǒng)中使用傳統(tǒng)卡爾曼濾波算法的局限性,并針對(duì)該問(wèn)題提出了一種自適應(yīng)濾波算法。該算法是一種自適應(yīng)調(diào)節(jié)過(guò)程,實(shí)時(shí)計(jì)算系統(tǒng)的量測(cè)誤差,當(dāng)系統(tǒng)擾動(dòng)有明顯變化時(shí),在線實(shí)時(shí)調(diào)整卡爾曼濾波器增益及量測(cè)更新協(xié)方差,而當(dāng)系統(tǒng)擾動(dòng)無(wú)明顯變化時(shí),采用前一階段的狀態(tài)進(jìn)行快速濾波處理。最后通過(guò)對(duì)原始數(shù)據(jù)進(jìn)行分析以及現(xiàn)場(chǎng)試驗(yàn)進(jìn)行算法驗(yàn)證。試驗(yàn)結(jié)果表明,本文提出的自適應(yīng)卡爾曼濾波算法能明顯提高動(dòng)態(tài)稱量的準(zhǔn)確度以及精度。
[1] 樊旺日.提高動(dòng)態(tài)汽車(chē)衡稱重精度的算法設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化技術(shù)與應(yīng)用,2010,29(7):47-50,58.
[2] 邵勇強(qiáng).動(dòng)態(tài)汽車(chē)衡存在的問(wèn)題及對(duì)策[J].計(jì)量與測(cè)試技術(shù),2013,40(1):7-9.
[3] 趙洪山,田甜.基于自適應(yīng)無(wú)跡卡爾曼濾波的電力系統(tǒng)動(dòng)態(tài)狀態(tài)估計(jì)[J].電網(wǎng)技術(shù),2014,38(1):3790-3794.
[4] 中國(guó)國(guó)家標(biāo)準(zhǔn)化管理委員會(huì).GB/T 21296—2007準(zhǔn)確度等級(jí)[S],2007.
[5] 章旭景.基于卡爾曼濾波的語(yǔ)音增強(qiáng)算法研究[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2009.
[6] 龍禮,張合,唐玉發(fā),等.自適應(yīng)卡爾曼濾波在地磁姿態(tài)檢測(cè)中的應(yīng)用[J].兵工學(xué)報(bào),2013,34(9):1155-1160.
[7] 王沖,曾慶軍.自適應(yīng)濾波算法在AUV組合導(dǎo)航中的方法[J].中南大學(xué)學(xué)報(bào),2014,44(2):155-160.
[8] 徐經(jīng)緯,劉士君.交互多模型擴(kuò)展卡爾曼濾波算法的FPGA實(shí)現(xiàn)[J].傳感器與微系統(tǒng),2014,33(1):11-14.
[9] 李麗宏,趙娜.卡爾曼濾波在動(dòng)態(tài)汽車(chē)衡稱量中的應(yīng)用[J].軟件,2012,33(3):25-28.
[10]馬曉君,張則,祝思亮.動(dòng)態(tài)電子汽車(chē)衡稱重系統(tǒng)數(shù)學(xué)模型的建立[J].佳木斯大學(xué)學(xué)報(bào),2006,24(3):379-381.
[11]李麗宏,裴春清,劉軍,等.采樣點(diǎn)選擇對(duì)動(dòng)態(tài)汽車(chē)衡稱量精度的影響[J].中北大學(xué)學(xué)報(bào),2010,31(1):19-22.
[12]張文會(huì),韓冰源,馬振江.車(chē)輛動(dòng)態(tài)稱重系統(tǒng)誤差產(chǎn)生機(jī)理[J].森林工程,2007,23(5):22-24. ■