APP下载

联合滤波算法在MEMS陀螺降噪中的应用

2022-03-23彭关龙

传感器与微系统 2022年3期
关键词:陀螺仪时域方差

彭关龙, 陈 科

(1.中国科学院光束控制重点实验室,四川 成都 610209; 2.中国科学院光电技术研究所,四川 成都 610209;3.中国科学院大学,北京 100049)

0 引 言

微机电系统(micro-electro-mechanical system,MEMS)陀螺仪因其具有可靠性高、体积小、功耗低、廉价等优势,在航天、汽车、工业、便携电子设备中得到了广泛应用。然而,由于受MEMS惯性器件制造工艺和环境的影响,MEME陀螺仪的精度始终较低,MEMS陀螺的随机误差严重影响了陀螺仪角速度测量精度。众多学者提出各种滤波算法来抑制其随机噪声。2003年,Bayard D S等人将陀螺阵列技术运用到MEMS陀螺降噪中,得到较好效果[1,2],随后国内外学者就陀螺阵列技术在MEMS陀螺的应用做了非常多的研究[3,4],取得了一定的成果;小波阈值滤波不需要建立具体的模型,许多的学者也将其应用到MEMS陀螺降噪中[5~9],并取得了一定的效果。虽然,卡尔曼(Kalman)阵列和小波阈值滤波已经取得了一些效果,但各自还是有一些不足。

卡尔曼阵列处理MEMS陀螺信号最重要的条件是建立准确的误差模型,然而,由于各种环境等不确定因素影响,导致建模不准确而使滤波精度不高,有时出现发散[10,11]。

小波阈值去噪能有效抑制白噪声,但是MEMS陀螺信号还有有色噪声,故用小波阈值去噪来处理MEMS陀螺信号效果不是很理想。小波阈值去噪在抑制一些低频噪声上效果不如多尺度融合方法[7]。

故此,为了弥补卡尔曼和小波阈值去噪的缺点,本文提出Kalman阵列与实时小波阈值联合滤波方法。首先,利用卡尔曼阵列进行预处理,然后,利用实时小波阈值去噪对信号进行后处理,以达到对陀螺随机噪声抑制的目的。

1 Kalman阵列与实时小波阈值联合滤波算法

1.1 MEMS陀螺仪随机误差模型

MEMS陀螺的随机误差模型一般表示为[1]

(1)

1.2 Kalman阵列模型与滤波器设计

N个陀螺组成阵列,故式(1)的离散化系统模型可以表示为

x(i)=Φ(i-1)x(i-1)+Γ(i-1)w(i-1)

y(i)=H(i)x(i)+v(i)

(2)

其中

x(i)=[b1(i),b2(i),…,bN(i),ω]

y(i)=[z1(i),z2(i),…,zN(i)]T

Φ(i-1)=IN+1,Γ(i-1)=T.IN+1,H(i)=[IN⋮1N]

w(i-1)=[w1(i-1),w2(i-1),…,wN(i-1)]T

v(i-1)=[v1(i-1),v2(i-1),…,vN(i-1)]T

(3)

式中x(i)为卡尔曼方程的状态矢量,y(i)为N个陀螺的输出值,w(i-1)为输入噪声矢量,v(i-1)为观测噪声矢量,Φ(i-1)为状态矩阵,Γ(i-1)为系统噪声矩阵,H(i)为量测矩阵,T为离散化周期。

式(3)中,w和v应该满足如下关系

(4)

相关系数ρ用来表征不同陀螺间随机误差的相关性。-1≤ρ≤1,ρ≠0。因此,输入噪声协方差矩阵Qi可以表示为

(5)

式中Q′i可以表示为

(6)

综上所述,卡尔曼阵列的滤波方程为

(7)

以上为Kalman阵列滤波的设计,利用上述滤波方法对MEMS陀螺信号进行处理,虽然其噪声能得到一定的抑制,但是由于模型的建立不能达到最优,处理后的陀螺精度不是很理想[11],故提出利用实时小波阈值去噪来继续处理Kalman阵列降噪后的信号。

1.3 实时小波阈值后处理算法

实时小波去噪经常使用一个窗函数去截取原始信号,采样信号的实时噪声抑制是靠移动窗函数来实现。实时小波降噪算法需要每次小波变换的数据量是2的正整数倍。假设小波降噪需要的最小数据量为2j0,j0∈N,j0≥1。在获取了k个样本后,当k<2j0时,数据量太少以至于不能进行小波降噪,因此输出原始数据。当k≥2j0时,利用窗函数去截断数据在[k-2j0,k]区间内,利用小波变换进行降噪,将降噪后第k个数据作为第k个数据的估计值,当下一个数据来到时,得到第k+1个数据的估计值,当k=2.2j0=2j0+1时,改变滑动窗口的长度为2j0+1,使之包含2j0+1个最新的数据,小波降噪后将最后一个值作为k时刻的估计值。以此类推,直到窗口长度为2J,J表示窗口标尺。显然,在实际的计算中,J的值不能随着数据的增多一直增加,故在一定条件下保持窗口为2J。

为了达到实时小波降噪,本文选择小波阈值降噪对信号进行处理。小波阈值去噪是由Donoho D和Johnstone I M于1992年提出,其主要步骤如下:

1) 使用离散小波变换(discrete wavelet transform, DWT),选定合理的小波基函数以及小波分解的层数,对原始数据进行变换,即计算Y=Wy。

(8)

然而在软阈值中,幅值小于等于阈值的系数被置为零,而对于阈值的系数要收缩为该系数与阈值的差值,小于阈值相反数的系数收缩为该系数与阈值的和,如图1(b)所示,可以用下式表示

(9)

式中 sgn(x)为符号函数。阈值T的取值采用Donoho D L在1994年提出的VisuShrink方法,阈值选择满足

(10)

式中σn为噪声标准方差,N为信号的长度。

在具体的实验中,阈值的选择、小波分解层数、滑动窗口标尺J等对滤波器延时、噪声方差降低倍数有着一定的影响,为了使实时小波阈值滤波得到更好的效果,进行了对比实验,实验结果发现选择硬阈值,Db4小波四层分解,滑动窗口标尺为8时效果最佳。

图1 阈值函数

2 实验与结果分析

由于实验条件有限,采用3个ADXRS620 MEMS陀螺来进行实验,将3个陀螺并列一起构成MEMS陀螺阵列,通过XC3S1000-FG320 FPGA板子和16位ADC建立高精度数据采集系统,现场可编程门阵列(field programmable gate array,FPGA)板子用于产生外同步脉冲,16位ADC用于对信号进行A/D转换,对一个转动平台的Z轴角速度进行测量,整个测量系统如图2所示。

图2 陀螺阵列系统

本实验设置采样频率为200 Hz,实验过程中将陀螺安装在转台上面,将转台上面的编码器所测数据作为参考值,其精度完全能满足实验要求。

2.1 静态实验

因为MEMS陀螺对温度敏感,将MEMS陀螺固定在测试平台预热1 h,然后采集1 h的陀螺仪角速度数据,采集得到的数据时域图如图3所示。

图3 陀螺仪的静态时域图

利用Kalman阵列、实时小波阈值、Kalman阵列与实时小波阈值联合方法对数据进行处理,处理前后的时域波形如图4所示。

图4 处理前后的时域波形及其部分放大波形

为了验证本算法的有效性,将滤波前后噪声方差作为评价指标,对于滤波前后数据方差进行对比,结果如表1所示。

表1 静态下各个方法处理前后的噪声方差对比

从表1可知,经过Kalman阵列与实时小波阈值联合滤波后,陀螺仪噪声方差降低了近45倍,较分别使用Kalman阵列和分别使用实时小波阈值算法要好,表明本文所提算法可更好地提高MEMS陀螺仪的输出精度,减小随机噪声对MEMS 陀螺仪性能的影响。

2.2 动态实验

转动稳定平台,使其往复运动,同步采集陀螺仪和编码器的角速度信号,然后对数据分别利用Kalman阵列、实时小波阈值、Kalman阵列与实时小波阈值联合滤波方法进行处理,处理前后信号的时域波形如图5和图6所示,处理前后的噪声方差如表2所示。从图5、图6和表2可知,本文提出的算法在动态实验中也有一定的效果,在噪声方差上,相较与Kalman阵列、实时小波阈值滤波算法,本文提出算法的噪声方差分别减少了60.1 %,37.1 %。

图5 滤波前后时域图

图6 图5的部分放大图

表2 动态下各个方法处理前后的噪声方差对比

3 结 论

为了抑制MEMS陀螺在测量角速度过程中产生的噪声,本文结合Kalman阵列和实时小波阈值滤波以对MEMS陀螺信号进行处理,滤波前后数据的噪声方差进行了对比分析。实验结果表明:本文所使用的方法在静态和动态实验条件下能有效抑制MEMS陀螺随机误差,滤波效果优于Kalman阵列、实时小波阈值滤波。并且,Kalman滤波与实时小波阈值处理在FPGA上已有实现,为本方法在硬件上实现提供了理论基础,表明本方法有一定的工程价值。

猜你喜欢

陀螺仪时域方差
KD514:陀螺仪船桨空间姿态捕捉方法
基于Allan方差分析的陀螺仪漂移误差辨识与仿真复现
基于EMD的MEMS陀螺仪随机漂移分析方法
晚霞浅淡少年糖
方差生活秀
揭秘平均数和方差的变化规律
方差越小越好?
方差在“三数两差”问题中的妙用
基于MATLAB 的信号时域采样及频率混叠现象分析
两种常用漂浮式风力机平台动态特性分析