羅永升
湖南中車時代通信信號有限公司 湖南長沙 410100
在機車的安全控制系統中,機車運行速度是整個系統中至關重要的信號之一。通常,機車速度通過速度傳感器被轉換為脈沖信號,計算該脈沖信號的頻率值即可獲得相對應的速度值。然而,在傳感器的轉換過程中,會存在隨機的轉換誤差;在采集脈沖信號并計算成速度值的過程中,也會存在精度誤差和舍入誤差。這些誤差都將成為疊加的白噪聲,使得安全控制系統所獲取的速度值與真實值之間存在一定的偏差,給行車安全帶來不利影響。同時,因機車運行環境的影響,速度傳感器可能會檢測并輸出瞬間的尖峰干擾;脈沖形式的速度信號在電磁環境的傳輸過程中也會引入尖峰干擾。這種突發干擾給速度信號的計算帶來了很大的量化誤差,必須進行預處理才能作為行車控制的依據。
為了降低隨機噪聲的影響并抑制突發干擾對速度信號的污染,需要利用隨機過程的統計特性,對速度信號進行自適應濾波[1]。卡爾曼濾波正是基于以最小均方誤差為準則的一種線性濾波,可根據觀測信號調整濾波增益,使估計速度在統計意義上最好地逼近真實速度。

如果對速度信號的采樣周期足夠短,取一階近似,可以認為在一個采樣周期內,機車做勻加速直線運動,但要考慮隨機加速度的影響。


建立觀測方程如下

其中C是觀測矩陣,在本數學模型中

卡爾曼濾波是解決以最小均方誤差為準則的最佳線性濾波問題,該方法最大的優點是可用于對非平穩隨機過程進行處理,并且利用狀態方程和遞推方法進行估計[2]。在數字信號處理領域,采用離散卡爾曼濾波解決離散時間系統狀態矢量的遞推估計問題。
在對機車速度信號的處理中,已知離散的狀態方程和觀測方程分別如式(1)和式(2)所示,這種狀態估計就表現為根據k時刻的估計結果的一個估計,所得的狀態估計矢量記為,估計的均方誤差為

用1kP+表示誤差協方差矩陣

根據卡爾曼濾波的基本原理可知, 時刻的最優線性估計應該是k時刻估計量

其中1kG+是設計選擇的卡爾曼濾波增益矩陣,遞歸式(3)就對應于離散卡爾曼濾波器。只要計算出最優卡爾曼濾波增益,就可以獲得使均方誤差最小的最優線性遞歸估計。

由于卡爾曼濾波采用遞歸計算的方法,需要確定 k = 0 時刻的初始化問題[3]。由于初始值是未知的,在沒有 k = 0 時刻的觀測數據時,可以選擇初始狀態估計為

選擇初始誤差協方差陣為

結合已知條件和輸入輸出關系,將離散卡爾曼濾波的遞歸算法進行總結,如表1所示。
在基于MATLAB環境的計算機仿真中,速度信號的采樣周期為50ms。
觀測數據中疊加的高斯白噪聲方差為0.9,針對隨機噪聲干擾的仿真結果如圖1所示,其中方形點(“□”)表示疊加了噪聲的觀測數據,星形點(“*”)為濾波后的估計值,平滑線表示用于參考的真實值。

表1

圖1 疊加隨機噪聲的仿真圖
由圖1可以看出,濾波后的估計值是真實速度值的無偏估計,且均方誤差明顯小于觀測量的誤差。通過疊加統計獨立的隨機噪聲并進行多次仿真,計算出經過卡爾曼濾波以后,估計值的噪聲均方誤差如表2所示。

表2 噪聲均方誤差表
在本仿真中,將突發干擾模擬為單采樣點的尖峰干擾,突變值為36 m/s(130km/h),且分為正向突變和負向突變。針對突發干擾的仿真結果如圖2所示,其中方形點(“□”)表示疊加了噪聲的觀測數據,星形點(“*”)為濾波后的估計值,平滑線表示用于參考的真實值。
由圖2可知,卡爾曼濾波能有效的抑制尖峰干擾。并且調整加速度的擾動均方誤差,可以使濾波抑制后加速度的變化值與機車運行時加速度的物理極值相匹配。
在機車速度信號的卡爾曼濾波計算過程中,通過計算方法的調整,可以降低計算量。當確定數學模型后,狀態轉移矩陣A、觀測矩陣C得以確定且為固定值;觀測噪聲的方差是由整個機車的安全控制系統決定的,也為常數;加速度的擾動方差根據機車的物理加速度極值可設定為常數。因此,卡爾曼濾波的增益矩陣Gk、誤差協方差矩陣Pk與觀測數據無關,且隨著遞推運算次數的增加,Gk和Pk逐漸趨于穩定值,從而這兩個矩陣可以離線計算并存儲在固定介質中,減少了實時在線計算量,提高了實時處理能力。
離散卡爾曼濾波的狀態估計采用遞推估計方法,數據存儲量少,特別是避免了高階矩陣求逆的問題,提高了運算效率。在針對機車速度信號的處理中,如果機車的運行距離不依賴于估計的速度值而是利用單獨的方法進行計算,則可以將該數學模型設定為只包含速度和加速度兩個狀態的估計模型,從而所有的矩陣運算從三維降低到二維,進一步降低計算量,使算法的可用性得到提高。

圖2 勻速階段的突發干擾仿真圖
速度信號為脈沖信號,需要專門的數字電路或集成模塊進行信號的采集,主要的方式有兩種:利用可編程邏輯器件(CPLD、FPGA等)或CPU自帶的脈沖處理模塊獲取離散數據,再分別進行硬件解析、軟件處理和表決,以實現對速度信號的安全計算。
本文通過搭建機車運行的狀態方程和基于加性高斯白噪聲的速度值觀測方程,利用離散卡爾曼濾波算法估計機車的運行速度。該濾波算法以遞推方式進行線性估計,并能得到最小均方誤差的速度信號估計值。在實際應用中,卡爾曼濾波能很大程度的降低高斯白噪聲帶來的隨機影響,且能有效的抑制突發干擾,是確保機車運行中速度安全和距離安全的重要手段之一;該方法的計算量小,實現方式簡單,適合在機車的安全控制系統中推廣使用。