鄒罡
摘要
這個研究的目的是對材料壓力測試系統(tǒng)中的壓力測量環(huán)節(jié)進行傳感器采集值數(shù)據(jù)優(yōu)化。通過建立被測樣品受力的數(shù)學(xué)模型并結(jié)合傳感器原始測量值,使用卡爾曼濾波器對測量值進行實時的修正。在linux平臺上使用C++設(shè)計了包含卡爾曼濾波器算法的壓力測試系統(tǒng)上位機軟件。
【關(guān)鍵詞】數(shù)據(jù)優(yōu)化 數(shù)據(jù)采集 卡爾曼濾波
模擬信號傳感器的應(yīng)用非常廣泛,但是其測量精度會因為外界各種條件變化而受到影響,干擾因素包括環(huán)境溫度、濕度、磁場等。因此模擬傳感器的輸出信號一般會被噪聲污染,信號輸出通常會攜帶白噪聲??柭鼮V波器具有和一階低通濾波器相似的性質(zhì),但卡爾曼濾波器則可以自適應(yīng)系統(tǒng)的變化,因此被應(yīng)用在本研究中。
1 壓力測試系統(tǒng)組成
此系統(tǒng)由機械傳動控制裝置以及控制系統(tǒng)上的下位機和電腦上的上位機軟件組成。傳動裝置由電機控制一個雙向絲桿機械夾,用于對被測樣品施加壓力。電腦上的上位機軟件會不斷接收上傳的測量數(shù)據(jù)并使用濾波算法對傳感器原始數(shù)據(jù)進行處理并顯示其結(jié)果。
2 卡爾曼濾波算法
卡爾曼濾波算法一般是依次重復(fù)執(zhí)行一下4個步驟(圖1)。
此系統(tǒng)中壓力傳感器的數(shù)值變化主要取決于彈簧位移變化。將絲桿上機械夾平移速度v設(shè)定為一種狀態(tài)變量。與v所關(guān)聯(lián)的變量為機械夾所受壓力p。設(shè)彈簧系數(shù)為k,則單位時間壓力增量為Δp=Δt*v*ks。
在實現(xiàn)卡爾曼濾波器算法前先使用matlab對其進行設(shè)計驗證。決定卡爾曼濾波算法自身屬性的參量分別為上面的A、H、Q以及R,通過matlab對這幾個參量進行設(shè)定并代入卡爾曼濾波算法流程中。為了更容易分辨數(shù)值的變化差異,數(shù)據(jù)均乘以一定的倍數(shù)使其為整數(shù)。算法驗證效果如圖2、圖3。
3 系統(tǒng)實現(xiàn)
此系統(tǒng)的上位機軟件由Qt來編寫,設(shè)計語言為C++,運行平臺為ubuntu 16.0。如圖4所示。
4 結(jié)論
本文針對一種材料壓力測試系統(tǒng)中的壓力值的數(shù)據(jù)處理提出了使用基于卡爾曼濾波器算法的數(shù)據(jù)優(yōu)化方法??柭鼮V波器會在每一次循環(huán)計算中根據(jù)誤差協(xié)方差的計算來對權(quán)值Kk進行修改更新,使其權(quán)值的分配在時間變化中仍然能保證其合理性。因此卡爾曼濾波在此線性系統(tǒng)中處理白噪聲要優(yōu)于一階低通濾波算法。
參考文獻
[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.