鄒罡



摘要
這個研究的目的是對材料壓力測試系統中的壓力測量環節進行傳感器采集值數據優化。通過建立被測樣品受力的數學模型并結合傳感器原始測量值,使用卡爾曼濾波器對測量值進行實時的修正。在linux平臺上使用C++設計了包含卡爾曼濾波器算法的壓力測試系統上位機軟件。
【關鍵詞】數據優化 數據采集 卡爾曼濾波
模擬信號傳感器的應用非常廣泛,但是其測量精度會因為外界各種條件變化而受到影響,干擾因素包括環境溫度、濕度、磁場等。因此模擬傳感器的輸出信號一般會被噪聲污染,信號輸出通常會攜帶白噪聲。卡爾曼濾波器具有和一階低通濾波器相似的性質,但卡爾曼濾波器則可以自適應系統的變化,因此被應用在本研究中。
1 壓力測試系統組成
此系統由機械傳動控制裝置以及控制系統上的下位機和電腦上的上位機軟件組成。傳動裝置由電機控制一個雙向絲桿機械夾,用于對被測樣品施加壓力。電腦上的上位機軟件會不斷接收上傳的測量數據并使用濾波算法對傳感器原始數據進行處理并顯示其結果。
2 卡爾曼濾波算法
卡爾曼濾波算法一般是依次重復執行一下4個步驟(圖1)。
此系統中壓力傳感器的數值變化主要取決于彈簧位移變化。將絲桿上機械夾平移速度v設定為一種狀態變量。與v所關聯的變量為機械夾所受壓力p。設彈簧系數為k,則單位時間壓力增量為Δp=Δt*v*ks。
在實現卡爾曼濾波器算法前先使用matlab對其進行設計驗證。決定卡爾曼濾波算法自身屬性的參量分別為上面的A、H、Q以及R,通過matlab對這幾個參量進行設定并代入卡爾曼濾波算法流程中。為了更容易分辨數值的變化差異,數據均乘以一定的倍數使其為整數。算法驗證效果如圖2、圖3。
3 系統實現
此系統的上位機軟件由Qt來編寫,設計語言為C++,運行平臺為ubuntu 16.0。如圖4所示。
4 結論
本文針對一種材料壓力測試系統中的壓力值的數據處理提出了使用基于卡爾曼濾波器算法的數據優化方法。卡爾曼濾波器會在每一次循環計算中根據誤差協方差的計算來對權值Kk進行修改更新,使其權值的分配在時間變化中仍然能保證其合理性。因此卡爾曼濾波在此線性系統中處理白噪聲要優于一階低通濾波算法。
參考文獻
[1]R.C.Brown and Patrick Y.C.Hwang,Introduction toRandow Signals andApplied Kalman Filtering,JohnWiley&Sons;,1997.
[2]Phil Kim.Kalman Filter for Beginners:with MATLAB Examples
[3]Lawrence D.Stone,Roy L.Streit andThomas L.Corwin.Bayesian MultipleTarget Tracking.2014.