文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2015)01-0050-03
0 引言
微機(jī)電系統(tǒng)(Micro Electro Mechanical Systems,MEMS)陀螺儀已經(jīng)廣泛應(yīng)用于慣性導(dǎo)航、組合導(dǎo)航系統(tǒng)中[1]。但是目前低成本MEMS陀螺儀精度相對較低,零偏穩(wěn)定度等性能較差,而作為導(dǎo)航應(yīng)用對MEMS陀螺儀的精度要求較高,因此,在使用前首先要對隨機(jī)誤差進(jìn)行處理[1]。
處理這個問題的思路一般是首先建立輸出的誤差模型,再根據(jù)一定的濾波技術(shù),通常是Kalman濾波[2],或小波變換等濾波方法[3]來估計和補(bǔ)償陀螺誤差。以前的相關(guān)工作一般在對單一型號陀螺儀進(jìn)行分析的基礎(chǔ)上,建立AR模型來近似描述誤差[3-5],取得了一定的濾波效果。然而,低成本MEMS陀螺誤差成分復(fù)雜,不同低成本MEMS陀螺之間一致性差,啟動重復(fù)性差[6]。因此,難以對低成本MEMS陀螺建立準(zhǔn)確的誤差模型,對一個陀螺的建模也無法適用其他陀螺。
為解決對低成本MEMS陀螺建模困難的問題,本文從工程實際應(yīng)用角度出發(fā),使用Allan方差法分析了MEMS陀螺儀輸出的特點,詳細(xì)探討了一種普遍適合低成本MEMS陀螺儀的實用隨機(jī)誤差實時處理方法。該方法由零偏補(bǔ)償、可去除粗大誤差的平均濾波算法和基于最小二乘法預(yù)測的Kalman濾波器三部分共同組成。其中,傳統(tǒng)Kalman濾波算法需要建立誤差模型以寫出系統(tǒng)狀態(tài)方程,本文所述方法不同于傳統(tǒng)方法,可以不對誤差進(jìn)行建模,具有更好的通用性。實驗結(jié)果證明,該方法可以有效濾除噪聲,并具有良好動態(tài)特性。
1 基于Allan方差的陀螺誤差分析
為獲得低成本MEMS陀螺儀輸出的誤差特性,首先設(shè)計實驗條件采集數(shù)據(jù)并保存,然后根據(jù)文獻(xiàn)[7、8]中所描述的Allan方差分析法對數(shù)據(jù)進(jìn)行分析。
1.1 數(shù)據(jù)采集
選取若干同一型號低成本MEMS三軸陀螺儀,該型號陀螺儀以數(shù)字量輸出,AD位數(shù)為16位。在恒溫并且將器件固定的條件下每一枚器件進(jìn)行兩次上電數(shù)據(jù)采集。每次上電首先預(yù)熱30 min,然后保存數(shù)據(jù)。采樣率設(shè)置為100 Hz,每次保存15 min數(shù)據(jù)。
1.2 使用Allan方差分析法分析數(shù)據(jù)
Allan方差分析法可以確定產(chǎn)生數(shù)據(jù)噪聲的基本隨機(jī)過程特性,并能識別給定噪聲的來源[8]。Allan方差的計算公式為[7]:
式中,表示平均時間,K為所劃分的子集個數(shù),為第k個子集的平均值。按照式(1)計算每個平均時間的Allan方差,以雙對數(shù)曲線畫出Allan標(biāo)準(zhǔn)差隨平均時間變化的情況。任選一個器件兩次上電測試的原始數(shù)據(jù),繪制雙對數(shù)曲線,如圖1所示。
選取器件的X軸,分別計算測試數(shù)據(jù)的均值和均方差,計算結(jié)果如表1所示。
利用文獻(xiàn)[7]中所描述的分析方法對圖1和表1進(jìn)行分析可知,該型號陀螺儀輸出隨機(jī)漂移中,角度隨機(jī)游走占據(jù)主要部分;同一器件不同測量軸誤差特性各不相同;同一個陀螺儀兩次上電的誤差特性并不相同。
由于采用16位AD,原始輸出序列的范圍在-32 768~
32 768之間,通過觀察,發(fā)現(xiàn)數(shù)據(jù)中偶爾存在一些明顯錯誤的野值,例如,一段實測原始輸出序列為67,49,
55,-233,21,17,23,63。可以發(fā)現(xiàn),數(shù)據(jù)-233明顯不合理,屬于野值,這種野值一般不會在連續(xù)10個采樣中出現(xiàn)兩次。
2 實時濾波算法
由分析的結(jié)果可以發(fā)現(xiàn)難以建立一個通用的陀螺誤差模型。因此,對誤差建模的方法并不適用于低成本MEMS陀螺儀。針對低成本MEMS陀螺輸出特點,本文設(shè)計了一種實時濾波算法,該方法分為三個步驟。
2.1 零偏補(bǔ)償
在進(jìn)行濾波之前,首先應(yīng)該去除原始測量值中的常值漂移信號[1]。文獻(xiàn)[1]指出,可以用一段零輸入條件下輸出數(shù)據(jù)的均值代表整體的零偏。經(jīng)充分預(yù)熱后,在敏感軸上零角速度輸入,保存一定時間的數(shù)據(jù)。對這段數(shù)據(jù)求均值,作為陀螺儀輸出的零偏,在以后每次得到的原始值都減去這個零偏。
2.2 平均濾波算法
對已去除零偏的原始數(shù)據(jù),由于存在粗差,應(yīng)先設(shè)法抑制。
首先,用陀螺儀以往的幾個測量值的均值作為下一次實際值的估計[5],均值估計法的表達(dá)式為:
式中,xi為數(shù)據(jù)窗內(nèi)的元素,L為數(shù)據(jù)窗的長度,為均值估計結(jié)果。由于不是滑動平均方式,經(jīng)過平均后,的輸出率為xi輸出率的1/L,L越大,輸出率越低。
通過觀察原始數(shù)據(jù)可以發(fā)現(xiàn),野值一般不會在短期內(nèi)連續(xù)出現(xiàn),野值和正常值的偏差在200以上。因此,本文選取L=5,對5個歷史數(shù)據(jù)平均得到估計結(jié)果,再設(shè)置一個門限值q,然后將5個歷史數(shù)據(jù)xi分別和做差,用差值的絕對值和q比較,如果大于q,則xi被判決為野值,否則為有效數(shù)據(jù)。實際使用時,L和q應(yīng)根據(jù)需要靈活選取。最后,將剩下的有效數(shù)據(jù)xi再次用式(2)計算均值,作為平均濾波后的結(jié)果輸出。經(jīng)過平均濾波后的輸出序列不僅消除了粗大誤差的影響,方差也顯著降低。
2.3 基于最小二乘法預(yù)測的Kalman濾波算法
在經(jīng)過平均濾波算法后,將輸出再經(jīng)過Kalman濾波器進(jìn)一步處理。
Kalman濾波是工程中應(yīng)用的成熟方法,其工作過程可以分為預(yù)測和校正兩個過程[9]。預(yù)測過程在上一個歷元狀態(tài)估計值的基礎(chǔ)上,利用系統(tǒng)的狀態(tài)方程來預(yù)測當(dāng)前歷元的狀態(tài)值,即先驗估計值。涉及公式如下:
校正過程利用實際測量值來校正經(jīng)上一步預(yù)測得到的狀態(tài)先驗估計值,獲得后驗估計值。涉及公式如下:
對于預(yù)測過程,由于無法對低成本MEMS陀螺儀誤差建立通用、準(zhǔn)確的模型,不能采用傳統(tǒng)的建立AR模型預(yù)測的方法,但并不意味著無法對當(dāng)前輸出值做出先驗估計。載體運(yùn)動具有連續(xù)性和運(yùn)動變化的緩慢性[9],這意味著載體具有保持原來運(yùn)動狀態(tài)的趨勢,在短時間內(nèi)的真實角速度不會發(fā)生突變。最小二乘法通過最小化誤差的平方和尋找數(shù)據(jù)的最佳函數(shù)匹配,利用最小二乘法可以簡便地根據(jù)歷史記錄數(shù)據(jù)估計下一時刻的真值,并使得估計數(shù)據(jù)和真實數(shù)據(jù)誤差的平方和最小。
另外,最小二乘法直接根據(jù)歷史后驗估計值實時調(diào)整參數(shù),來預(yù)測下一時刻的實際值,是一種動態(tài)的預(yù)測方法,這樣不僅適用于靜止條件下的濾波,在有角速度輸入變化的情況下依然可以有效工作。
本文設(shè)置一個深度為10的FIFO,用于保存Kalman濾波后驗估計值輸出結(jié)果。FIFO內(nèi)為按時間先后順序排列的最近的10個濾波后輸出結(jié)果。對于一般的應(yīng)用場景,在短時內(nèi)載體不可能發(fā)生劇烈的運(yùn)動狀態(tài)變化,數(shù)據(jù)序列具有穩(wěn)定性,擬合的結(jié)果近似為一條直線。為保證預(yù)測準(zhǔn)確性并兼顧計算復(fù)雜度,使用二次函數(shù)擬合,令:
式中,ti為時間序列;xi為對應(yīng)的后驗估計值,即實際使用值;a、b、c為擬合二次函數(shù)的參數(shù),此時為未知。令:
其中,為利用式(8)計算得到的每一時刻的估計值,是未知參數(shù)的函數(shù),分別與實際值作差。?追為這些差的平方和。根據(jù)最小二乘法原理,?追應(yīng)取得最小值。用函數(shù)?追對a、b、c求偏導(dǎo)數(shù),令偏導(dǎo)數(shù)等于0,獲得關(guān)于a、b、c的線性方程組,解方程確定未知參數(shù),代入式(8),可得:
使用式(10)即可獲得當(dāng)前時刻的先驗估計值,式(10)也即系統(tǒng)狀態(tài)方程。另外,預(yù)測過程除了獲得預(yù)測值,還需要一個衡量預(yù)測值可靠性的過程噪聲參數(shù)Q。由于預(yù)測值將在校正過程中被校正,將校正后的使用值序列和預(yù)測值序列做差分,差分序列的方差即表示預(yù)測結(jié)果的可靠性。即:
對于校正過程,根據(jù)去除粗大誤差后,由式(2)計算得到的平均濾波結(jié)果,作為校正過程的測量值輸入。測量噪聲R用平均濾波后的數(shù)據(jù)方差衡量,即:
調(diào)整合適的狀態(tài)均方差初始估計值P0,保證濾波器收斂。以Kalman濾波后的校正值作為使用值輸出,完成對陀螺輸出的濾波。
3 濾波器性能測試
為不失一般性,再選一顆該型號MEMS陀螺儀的輸出數(shù)據(jù),使用上述濾波方法對數(shù)據(jù)進(jìn)行實時處理。為描述動態(tài)下的濾波性能,可以使用在所采集的靜態(tài)數(shù)據(jù)基礎(chǔ)上疊加一個角速率來模擬動態(tài)變化[2]。
3.1 靜態(tài)實驗
截取一段時間數(shù)據(jù)作圖,圖2展示陀螺濾波前后的輸出對比。
由圖2看出,雖然原始輸出的零偏和波動性相差很大,圖形上有較密集的毛刺,但是在經(jīng)過常值漂移補(bǔ)償,平均濾波算法后,輸出零偏有效改善,毛刺被基本濾除,粗大誤差得到了有效抑制。在此基礎(chǔ)上,Kalman濾波器進(jìn)一步改善了零偏穩(wěn)定度,獲得了更出色的濾波降噪效果。將這段數(shù)據(jù)的均值和均方差進(jìn)行定量計算,如表2所示。
由表2看出,經(jīng)過濾波,能使零偏減小到令人滿意的程度,同時,均方差在濾波后小于濾波前的十分之一,證明輸出序列的波動性被顯著降低,零偏穩(wěn)定度性能得到大幅提升。
3.2 動態(tài)實驗
選取另一顆陀螺儀采樣,首先截取90 s靜態(tài)實驗數(shù)據(jù),以一次函數(shù)擬合模擬勻角加速度轉(zhuǎn)動過程;以常數(shù)模擬勻角速度轉(zhuǎn)動;以正弦函數(shù)模擬較為復(fù)雜角速度變化情況。圖3為模擬信號、與原始數(shù)據(jù)疊加后信號和濾波后信號對比圖。
由圖3看出,濾波后,零偏被有效校正,方差明顯降低,輸出較完美地恢復(fù)了輸入信號,證明該方法在動態(tài)下依然可以有效工作,工程實際應(yīng)用價值較高。
4 結(jié)論
低成本MEMS陀螺儀特性參差不齊,啟動重復(fù)性差,不適宜采用對誤差建模的方法處理隨機(jī)誤差。本文所述實時濾波算法從實際工程應(yīng)用角度出發(fā),可以較好地抑制低成本MEMS陀螺隨機(jī)誤差中的角度隨機(jī)游走,有效補(bǔ)償常值漂移,均方差小于濾波前的十分之一,大幅提升低成本MEMS陀螺儀零偏穩(wěn)定度性能。該方法不僅能在靜態(tài)下工作,在動態(tài)情況下不會淹沒有效信號,也表現(xiàn)出良好性能。另外,該方法相對易于實現(xiàn),算法復(fù)雜度相對低,普遍適用于低成本MEMS陀螺儀的隨機(jī)誤差濾波,具有較高的實用價值。
參考文獻(xiàn)
[1] 蒙濤,王昊,李輝,等.MEMS陀螺誤差建模與濾波方法[J].系統(tǒng)工程與電子技術(shù),2009,31(8):1944-1948.
[2] 錢華明,夏全喜,闕興濤,等.基于Kalman濾波的MEMS陀螺儀濾波算法[J].哈爾濱工程大學(xué)學(xué)報,2010,31(9):1217-1221.
[3] 叢麗,秦紅磊,邢菊紅.小波閾值去噪和FAR建模結(jié)合的MEMS陀螺數(shù)據(jù)處理方法[J].電子技術(shù)應(yīng)用,2010,36(12):120-123.
[4] 陳濤,王新龍,杜宇.基于AR模型的光纖陀螺建模方法研究[J].魚雷技術(shù),2005,13(3):25-27.
[5] 吉訓(xùn)生,王壽榮.MEMS陀螺儀隨機(jī)漂移誤差研究[J].宇航學(xué)報,2006,27(4):640-642.
[6] 張智永,周曉堯,范大鵬.穩(wěn)定平臺中陀螺漂移自適應(yīng)實時估計算法[J].航空學(xué)報,2012,33(6):1044-1051.
[7] 趙思浩,陸明泉,馮振明.MEMS慣性器件誤差系數(shù)的Allan方差分析方法[J].中國科學(xué),2010,40(5):672-675.
[8] 王新龍,李娜.MEMS陀螺隨機(jī)誤差的建模與分析[J].北京航空航天大學(xué)學(xué)報,2012,38(2):170-174.
[9] 謝鋼.GPS原理與接收機(jī)設(shè)計[M].北京:電子工業(yè)出版社,2009:129-134.