張 旭,路永樂,郭俊啟,肖明朗,吳 英
(重慶郵電大學(xué),智能傳感技術(shù)與微系統(tǒng)重慶市高校工程研究中心,重慶 400065)
基于微機(jī)電系統(tǒng)(MEMS)的加速度計傳感器在尺寸、質(zhì)量、成本和功耗等方面具有突出的優(yōu)勢,但是由于安裝誤差、刻度因子、零偏和隨機(jī)噪聲等因素的影響,其輸出值存在一定的誤差。因此,需要對MEMS加速度計的輸出誤差進(jìn)行標(biāo)定補(bǔ)償,以提高M(jìn)EMS加速度計的測量精度。
MEMS加速度計輸出誤差的標(biāo)定補(bǔ)償,主要是對安裝誤差、刻度因子、零偏等確定性誤差的標(biāo)定和對隨機(jī)噪聲的處理。目前針對確定性誤差的標(biāo)定方法[1-3],雖然原理和具體方式不同,但是對于MEMS加速度計在不同位置下的實際測量數(shù)據(jù),都是取其均值作為該位置的測量值,用于求解或估計所需標(biāo)定的參數(shù)。但是,實際測量數(shù)據(jù)的均值并不能完全地反映所有的實際測量數(shù)據(jù)。此外,也沒有對實際測量數(shù)據(jù)中存在的隨機(jī)噪聲進(jìn)行預(yù)處理,噪聲誤差會遺留在所標(biāo)定的參數(shù)中。而針對隨機(jī)噪聲的處理,H. Wang等[4]利用小波分析算法去噪,杜少林等[5]利用Kalman濾波算法降噪,均沒有將噪聲處理的結(jié)果用于對確定性誤差的標(biāo)定。尹杭等[6]對確定性誤差和隨機(jī)噪聲進(jìn)行了標(biāo)定和處理,但實際上是獨立進(jìn)行的,在對確定性誤差標(biāo)定之前,沒有對實際測量數(shù)據(jù)中的隨機(jī)噪聲進(jìn)行預(yù)處理。
本文為進(jìn)一步提高M(jìn)EMS加速度計的測量精度,以測量值為輸入、以真實值為輸出建立MEMS加速度計誤差補(bǔ)償模型。利用實驗室研制的微慣性測量單元(MEMS-IMU),采集其加速度計在六位置下3個軸的m組實際測量數(shù)據(jù),利用Allan方差和最小均方(LMS)自適應(yīng)濾波算法對m組實際測量數(shù)據(jù)進(jìn)行噪聲分析和預(yù)處理,處理后的全部數(shù)據(jù)作為樣本用于訓(xùn)練所建模型的參數(shù),利用最小二乘和批量梯度下降相結(jié)合的方法獲得樣本數(shù)據(jù)對真實模型參數(shù)的最優(yōu)擬合。所建模型在m組樣本數(shù)據(jù)的訓(xùn)練下,能夠更加準(zhǔn)確地擬合真實模型參數(shù),同時規(guī)避了隨機(jī)噪聲對模型參數(shù)的污染。實驗驗證表明,利用該模型對MEMS加速度計進(jìn)行誤差補(bǔ)償后,輸出值的均值誤差為(0.72~1.19)×10-4g,標(biāo)準(zhǔn)差為(0.75~1.61)×10-4g,相對于補(bǔ)償前均值誤差降低了2個數(shù)量級,標(biāo)準(zhǔn)差降低了1個數(shù)量級,有效提高了MEMS加速度計的測量精度和穩(wěn)定性。
造成MEMS加速度計輸出誤差的主要誤差項有:安裝誤差、刻度因子、零偏、隨機(jī)噪聲和二階非線性誤差,由于非線性誤差影響較小,忽略非線性誤差后的MEMS加速度計實際輸出值為
A*=a+(C+K)H+v
(1)
則根據(jù)式(1)可得MEMS加速度計的誤差補(bǔ)償模型為
H=S(A-a)
(2)
式中:A=[Ax,jAy,jAz,j]T(j= 1,2,…,6)是經(jīng)過噪聲預(yù)處理后的實際測量值矩陣,也是3×m的矩陣。
(3)
Sii(i=x,y,z)是MEMS加速度計3個軸的比例因子,Sij(i,j=x,y,z;i≠j)是各軸之間的非正交因子。
將實驗室研制的MEMS-IMU固定在三軸轉(zhuǎn)臺上,如圖1所示。操作轉(zhuǎn)臺依次轉(zhuǎn)動到如表1所示的位置,以50 Hz的采樣頻率分別采集六個位置下的加速度計3個軸的輸出數(shù)據(jù),每個位置采集m組數(shù)據(jù)(m=15 000)。
圖1 三軸轉(zhuǎn)臺和固定在轉(zhuǎn)臺上的MEMS-IMU
表1 6位置坐標(biāo)軸取向及其重力加速度
位置1位置3位置5位置2位置4位置6
根據(jù)之前的分析,所采集到的實際測量數(shù)據(jù)中含有隨機(jī)噪聲,因此需要對噪聲進(jìn)行預(yù)處理后才能作為所建模型的訓(xùn)練樣本。本文采用基于LMS自適應(yīng)濾波算法的噪聲抵消器對所采集到的實際測量數(shù)據(jù)進(jìn)行處理,抵消器所需的參考噪聲參數(shù),則通過Allan方差分析獲得。
LMS自適應(yīng)濾波的原理是利用前一個已經(jīng)獲取的濾波器參數(shù),自動調(diào)整當(dāng)前的濾波器參數(shù),使濾波器的輸出與期望參考輸入之間的均方誤差最小,從而達(dá)到最優(yōu)的濾波效果。LMS自適應(yīng)濾波算法原理如圖2所示。
圖2 LMS自適應(yīng)濾波算法原理
圖2中,X(n)為濾波器的主輸入,Y(n) 為濾波器的輸出,d(n) 為濾波器的期望參考輸入,e(n) 為濾波器的估計誤差輸出,n= 1,2,3,…。
濾波器的輸出為
Y(n)=WT(n)X(n)
(4)
濾波器的估計誤差輸出為
e(n)=d(n)-Y(n)
(5)
W(n)為抽頭系數(shù)向量(權(quán)值向量),其遞推更新方程為
W(n+1)=W(n)-μX(n)e(n)
(6)
式中μ為步長因子,控制每次更新后沿著誤差函數(shù)表面移動的距離,其值滿足:0<μ≤ 1/λmax,而λmax是主輸入X(n)自相關(guān)矩陣的最大特征值。
如果直接使用LMS自適應(yīng)濾波器對A*進(jìn)行濾波,很難選取與A相關(guān)而與噪聲v不相關(guān)的期望參考輸入d(n),使最終的濾波輸出Y(n)為A。反之,可以利用Allan方差對A*中的噪聲v進(jìn)行分析,進(jìn)而得到噪聲v的模型。然后以噪聲v的相關(guān)噪聲v*為期望參考輸入d(n),以A*為主輸入X(n)。利用v與v*的相關(guān)性,使濾波輸出Y(n)盡量地逼近v*,即相當(dāng)于估計誤差輸出e(n)盡量地逼近A。在最優(yōu)條件下,估計誤差輸出e(n)即為去除噪聲后的A,實現(xiàn)了v與υ*的噪聲抵消。如圖3所示。
圖3 LMS自適應(yīng)噪聲抵消器
(7)
MEMS加速度計的主要的隨機(jī)噪聲及其Allan標(biāo)準(zhǔn)差、斜率如表2所示[7]。
表2 主要噪聲的Allan標(biāo)準(zhǔn)差和斜率
根據(jù)式(7)計算加速度計在六位置下3個軸實際測量數(shù)據(jù)的Allan方差并擬合Allan標(biāo)準(zhǔn)差,以位置1為例,Allan標(biāo)準(zhǔn)差與平均時間的對數(shù)圖以及所擬合的Allan標(biāo)準(zhǔn)差曲線如圖4所示。
圖4 Allan標(biāo)準(zhǔn)差與平均時間關(guān)系
由圖4中所擬合的Allan標(biāo)準(zhǔn)差曲線的斜率結(jié)合表2,可計算MEMS加速度計在位置1處3個軸的各項隨機(jī)噪聲系數(shù),結(jié)果如表3所示。
表3 加速度計在位置1下的各項隨機(jī)噪聲系數(shù)
上述噪聲中,量化噪聲Q和速度隨機(jī)游走N屬于白噪聲,其余3種噪聲屬于有色噪聲。對于有色噪聲,根據(jù)有色噪聲的功率譜密度函數(shù),由譜分解定理可求解其傳遞函數(shù),作傅里葉逆變換可得其微分方程如下:
(8)
以互不相關(guān)的單位高斯白噪聲Ψk(t) (k=1,2,3,4,5)驅(qū)動微分方程(8),可得MEMS加速度計隨機(jī)噪聲的時域模型為
(9)
式中:▽是微分算子;η和ω0為傳遞函數(shù)有理化過程中的調(diào)節(jié)參數(shù);η取5 Hz,ω0取0.01 rad/s。
以位置1為例,MEMS加速度計3個軸的m組實際測量數(shù)據(jù)經(jīng)過LMS自適應(yīng)濾波噪聲抵消器處理前后的對比如圖5所示。
圖5 LMS自適應(yīng)濾波噪聲抵消器處理前后對比
所采集的m組實際測量數(shù)據(jù)經(jīng)過第2節(jié)的預(yù)處理后,得到的m組處理后的數(shù)據(jù)作為樣本,用于本節(jié)對模型參數(shù)的訓(xùn)練。對于所建立的MEMS加速度計誤差補(bǔ)償模型(2),當(dāng)加速度計位于位置1和位置2時有:
Hx1=Sxx(Ax1-ax)+Sxy(Ay1-ay)+Sxz(Az1-az)
(10)
Hx2=Sxx(Ax2-ax)+Sxy(Ay2-ay)+Sxz(Az2-az)
(11)
由式(10)與式(11)相減,可得:
(Hx1-Hx2)=Sxx(Ax1-Ax2)+Sxy(Ay1-Ax2)+Sxz(Az1-Az2)
(12)
由式(10)與式(11)相加,可得:
(13)
(14)
由最小二乘可得:
(15)
(16)
將式(12)在未知特征參數(shù)λi(i= 1,2,3)下的假設(shè)函數(shù)寫作:
hλ(x)=λ1x1+λ2x2+λ3x3
(17)
該假設(shè)函數(shù)的代價函數(shù)為
(18)
代價函數(shù)的梯度為
(19)
特征參數(shù)λi的更新方程為
(20)
式中α為學(xué)習(xí)率,決定沿著能讓代價函數(shù)下降程度最大的方向移動一次的步長,本文選取的學(xué)習(xí)率為0.000 3~0.001。
(21)
本文整體的算法流程圖如圖6所示。
圖6 本文算法流程圖
將第3節(jié)訓(xùn)練所得模型參數(shù)代入誤差補(bǔ)償模型(2)中,以位置1為例,將預(yù)處理后的測量數(shù)據(jù)A(x,y,z)1代入誤差補(bǔ)償模型進(jìn)行補(bǔ)償。補(bǔ)償后的MEMS加速度計3個軸輸出值與理論值的對比如圖7所示。
圖7 誤差補(bǔ)償后輸出值與理論值對比
從圖7可以看出,經(jīng)過誤差補(bǔ)償后,MEMS加速度計3個軸的輸出值在理論值附近約10-4g的范圍內(nèi)波動。誤差補(bǔ)償前后加速度計3個軸輸出值的均值和標(biāo)準(zhǔn)差如表4所示。
表4 補(bǔ)償前后三個軸輸出值的均值和標(biāo)準(zhǔn)差
從表4中可知,補(bǔ)償后加速度計三個軸輸出值的均值誤差為(0.72~1.19) ×10-4g,標(biāo)準(zhǔn)差為(0.75~1.61) ×10-4g,較之補(bǔ)償前均值誤差降低了2個數(shù)量級,標(biāo)準(zhǔn)差降低了1個數(shù)量級。
本文所提出的MEMS加速度計誤差補(bǔ)償方法,對加速度計在6個位置下的大量實際測量數(shù)據(jù)進(jìn)行降噪預(yù)處理后,用于訓(xùn)練誤差補(bǔ)償模型的參數(shù),既充分利用了全部的測量數(shù)據(jù),也規(guī)避了噪聲對標(biāo)定參數(shù)的污染,所獲得的參數(shù)是樣本數(shù)據(jù)對真實參數(shù)的最優(yōu)擬合。經(jīng)所提方法補(bǔ)償后,MEMS加速度計輸出值的均值誤差降低了2個數(shù)量級,標(biāo)準(zhǔn)差降低了1個數(shù)量級,有效提高了MEMS加速度計的測量精度和穩(wěn)定性,表明了所提方法的有效性和可行性。