楊 軍,李麗宏,周尚儒
(太原理工大學 信息工程學院,太原 030024)
汽車動態稱重過程中的運動狀態比較復雜,當車輛輪軸駛過秤臺時,傳感器受到兩部分的作用力,一是車輛的穩態載荷,二是車輛的動態載荷(瞬態載荷)。瞬態載荷是影響稱重的干擾噪聲,也是影響稱重準確度的最主要因素[1]。動態載荷產生的因素有很多,如路面凹凸不平、車輛自身的振動、車輛結構的差異、車輛過秤不規則(包括拖磅、跳磅、加減速等)等,這些因素將導致稱重數據中信噪比降低、采樣數據波形不穩定、車輛重復稱量的差異大,尤其是由于車輛過秤速度不同,導致稱重數據個數有很大差異,這些問題將導致在使用常規濾波算法處理稱重數據時無法保證稱量的精度[2]。
卡爾曼濾波是以最小均方誤差為最佳估計準則尋求一種遞推估計的算法,其基本思想是:采用信號與噪聲的狀態空間模型,利用前一時刻的估計值和現時刻的觀測值來更新對狀態變量的估計,求出現時刻的估計值。本文提出的自適應卡爾曼濾波算法中加入了系統誤差計算,自適應調節系統的量測噪聲[3],最大限度去除了干擾噪聲對系統狀態估計的影響。目前采用該算法的儀表已在實際中全面推廣應用,稱重數據穩定,稱重準確度等級達到國家《GB/T 21296-2007動態公路車輛自動衡器》規定的2級秤要求[4]。
在傳統卡爾曼濾波算法中,一般假設系統過程噪聲和量測噪聲不相關,并且均為零均值的白噪聲。但在動態稱重系統中的狀態空間模型中量測噪聲屬于時變性質的,其協方差矩陣將不為零。稱重系統在受到外部干擾時運動狀態可由2部分組成:一部分由已知的運動方程預測出來,另一部分為隨機噪聲[5],其狀態方程和量測方程可表示為

式中:x(t)為狀態矢量;z(t)為輸出矢量;w(t)和 v(t)分別為系統噪聲和量測噪聲。
卡爾曼濾波用反饋控制的方法估計過程狀態:濾波器估計過程某一時刻的狀態,然后以含噪聲的測量變量的方式獲得反饋[6,9]。卡爾曼濾波的結構圖如圖1所示。

圖1 卡爾曼濾波的結構圖Fig.1 Structure diagram of Kalman filter
由圖1可知,卡爾曼濾波的基本思路是先預測、后校正,可分為兩部分:時間更新和量測更新。時間更新包括狀態預測和先驗誤差協方差預測[7-8],離散表達式為


類似的,預測的觀測向量及誤差協方差為

量測更新包括計算卡爾曼濾波器增益和協方差,離散表達式為


對應的濾波誤差協方差更新表達式為

在卡爾曼濾波器中時變噪聲統計估值器可表示為

其中,dk=(1-b)/(1-bk+1),0<b<1,b 為遺忘因子。
在動態稱重系統中,外部干擾噪聲w(t)可認為是由車輛、計量平臺、地面三者之間組成的耦合系統到時汽車振動的系統噪聲[10-11]和因車輛變速行駛、車輛自身結構等引起的隨機噪聲組成:

式中:βi為第i階振幅放大因子;ψi為系統振幅相對激振力的相位差。因此在卡爾曼濾波算法中,系統過程噪聲(系統誤差)可以認為是定值,即Qk為常量,而由于量測噪聲是時變的,在濾波時不能假定Rk為常量,否則將可能導致濾波不準確和濾波發散等后果[12]。
為了得到時變噪聲的協方差,本文首先通過最小二乘法對稱重數據進行擬合,然后將實際數據與擬合曲線對比,求出時變噪聲的協方差,最后通過計算出的量測噪聲值帶入卡爾曼濾波公式中,對數據進行濾波。
設原始數據陣列為 X= [(x1,y1),(x2,y2),…,(xn,yn)]T,
1122nn

根據動態稱重數學模型可設擬合曲線方程y=f(x)的具體表達式(在此不需要考慮干擾噪聲)為其中,c0為稱重平臺的自重,可在實際中測量出來,且為恒值。根據最小二乘法原理,要求測量值yi的偏差的加權平均和最小,即:

式中,C=(c1,c2,c3,c4), 考慮到各測量值是相互獨立的,根據式(17)可得:



由此可得yi的標準偏差

根據S值可以檢驗擬合曲線是否滿足系統要求。
得到擬合曲線后,則原始數據波形上任簇點(xk,yk)到擬合曲線上對應點(xk′,yk′)的距離

線性化后得到的量測矩陣為

將式(23)帶入式(2)中可得到量測噪聲:

然后通過量測噪聲方差Rk調整卡爾曼濾波增益Kk和量測更新協方差Pk|k。
為了驗證濾波算法的性能,將稱重儀表采集到的若干車輛過秤時的原始數據通過傳統的卡爾曼濾波算法和改進后自適應濾波算法將數據進行了對比處理,隨后對該算法進行了多次現場重復實驗。
由于系統的干擾噪聲在濾波算法中進行了處理,因此在對動態稱重系統建模時可忽略干擾噪聲的影響,即系統模型如式(16)所示,式中參數C需根據采樣數據擬合后確定,c0為稱重平臺自重。為保證算法驗證的準確性,系統采樣頻率和稱重平臺尺寸與選用采樣儀表中的設定值一樣。在調試中發現,卡爾曼濾波器的初值協方差P(0)應根據當前儀表采樣分度值來確定,這樣能減少濾波迭代次數。系統各參數輸入如下。

表1 系統參數Tab.1 System Parameters
在實驗中發現,當系統量測噪聲較小時,兩種方法濾波效果均能較好地將干擾噪聲濾除,但是對于量測噪聲較大的數據,傳統的卡爾曼濾波算法有明顯的缺陷(濾波程度不夠甚至發散)。圖2為在量測噪聲較大時傳統卡爾曼濾波算法和改進后自適應濾波算法的對比圖(濾波前后波形在實際中有一定的滯后,為了便于觀察現象,在圖2中將濾波后前一段無關數據去掉了)。
由圖2可知,當原始數據中參雜較為嚴重的干擾噪聲時,傳統卡爾曼濾波后的數據仍不能滿足實際要求,而使用自適應濾波算法后,數據漸趨平滑,一方面能使系統方便的判斷出車軸數量,另一方面能大大提高稱重精度。隨后將算法改進后的儀表在現場進行了多次試驗發現,數據經濾波處理后,稱量結果有明顯改善;表2所示為10組濾波前后數據對比圖,從表中可以看出,濾波處理前,稱重精度最大可達到5.81%,而經濾波處理后,稱重誤差小于±2%。

圖2 傳統卡爾曼濾波算法和自適應卡爾曼濾波算法濾波效果對比圖Fig.2 Comparison of filter result between traditional Kalman and adaptive Kalman

表2 濾波前后數據對比Tab.2 Comparison of the data before and after filtering
本文討論了動態稱重系統中使用傳統卡爾曼濾波算法的局限性,并針對該問題提出了一種自適應濾波算法。該算法是一種自適應調節過程,實時計算系統的量測誤差,當系統擾動有明顯變化時,在線實時調整卡爾曼濾波器增益及量測更新協方差,而當系統擾動無明顯變化時,采用前一階段的狀態進行快速濾波處理。最后通過對原始數據進行分析以及現場試驗進行算法驗證。試驗結果表明,本文提出的自適應卡爾曼濾波算法能明顯提高動態稱量的準確度以及精度。
[1] 樊旺日.提高動態汽車衡稱重精度的算法設計與實現[J].自動化技術與應用,2010,29(7):47-50,58.
[2] 邵勇強.動態汽車衡存在的問題及對策[J].計量與測試技術,2013,40(1):7-9.
[3] 趙洪山,田甜.基于自適應無跡卡爾曼濾波的電力系統動態狀態估計[J].電網技術,2014,38(1):3790-3794.
[4] 中國國家標準化管理委員會.GB/T 21296—2007準確度等級[S],2007.
[5] 章旭景.基于卡爾曼濾波的語音增強算法研究[D].合肥:中國科學技術大學,2009.
[6] 龍禮,張合,唐玉發,等.自適應卡爾曼濾波在地磁姿態檢測中的應用[J].兵工學報,2013,34(9):1155-1160.
[7] 王沖,曾慶軍.自適應濾波算法在AUV組合導航中的方法[J].中南大學學報,2014,44(2):155-160.
[8] 徐經緯,劉士君.交互多模型擴展卡爾曼濾波算法的FPGA實現[J].傳感器與微系統,2014,33(1):11-14.
[9] 李麗宏,趙娜.卡爾曼濾波在動態汽車衡稱量中的應用[J].軟件,2012,33(3):25-28.
[10]馬曉君,張則,祝思亮.動態電子汽車衡稱重系統數學模型的建立[J].佳木斯大學學報,2006,24(3):379-381.
[11]李麗宏,裴春清,劉軍,等.采樣點選擇對動態汽車衡稱量精度的影響[J].中北大學學報,2010,31(1):19-22.
[12]張文會,韓冰源,馬振江.車輛動態稱重系統誤差產生機理[J].森林工程,2007,23(5):22-24. ■