基于卡尔曼滤波的MEMS 陀螺噪声抑制算法设计与实现
2021-10-25韩颖
韩颖
(中国空空导弹研究院,河南洛阳,471000)
0 引言
将MEMS 器件应用在飞航导弹系统中是未来微型化、小型化的发展趋势。因技术受限,MEMS 陀螺仪目前多为商业级[1]。对于精度要求高的稳像系统,MEMS 陀螺仪噪声在弹载飞行过程中引起运动载体输出轴的抖动以及角度的漂移,会导致视频图像质量的下降。为了使稳像系统有高的跟踪精度,在本文中设计使用卡尔曼滤波算法,对MEMS 陀螺仪的噪声进行抑制或去除。
1 基于时间序列ARMA 模型的随机误差建模
MEMS 陀螺仪随机噪声信号属于非平稳的时间序列,对于载体机动频繁,不确定因素较多的系统,为避免将真实数据当作噪声过滤掉,在卡尔曼滤波前,应对陀螺仪噪声信号进行预处理,保证其为零均值、平稳、正态时间序列后,建立ARMA 模型[2,3]。
1.1 去趋势项
趋势项是是MEMS 陀螺仪线性漂移的主要影响因素,一般常采用最小二乘法将其剔除。
在本研究中使用Matlab 运算工具中polyfit()函数和polyval()函数代替一般代数方法求得趋势项系数,在对陀螺仪数据进行3 阶、4 阶、5 阶、6 阶、7 阶多项式趋势项去除后发现,去除5 阶、6 阶和7 阶趋势项后的数据方差很接近,见表1。
表1 去趋势项后数据方差
考虑到在实际应用中,模型阶数大,计算量会随之增大。因此,本文选择采用剔除5 阶趋势项方法使陀螺的随机漂移满足平稳性要求。
1.2 去除野值
采集信号中偶然出现的异常数据,被称为野值(outl ier)。考虑到计算量的问题,设计中使用3σ 准则循环3 次去除野值项,如图1。
图1 野值点与3 次去野值后的波形
1.3 零均值检验
利用Matlab 工具箱中dtrend()函数应对去除野值之后的陀螺仪随机噪声信号进行平稳化,零化处理,使噪声信号为零均值序列,处理前后均值见表2。
表2 零化处理前后的均值
1.4 平稳性检验
平稳性检验是对时间序列进行ARMA 建模的前提条件。可以用来检验陀螺仪漂移噪声序列是否不随时间推移而变化。本设计中采用平稳性的Daniel 检验方法对陀螺随机噪声序列进行检验。结果如表3:
表3 Daniel 平稳性检验方法检验结果
1.5 正态性检验
总体分布的正态性检验一般采取Jarque-Bera 检验,观察偏态系数g3与峰态系数g4是否满足正太随机变量的特性。对两组去除趋势项和野值点的陀螺随机噪声信号做正态性检验,其结果如表4。
表4 正态性检验结果
由上表可以看出,g3、g4都约等于0,因此可以认此时MEMS 陀螺随机信号序列均满足正态性要求。
1.6ARMA 模型阶数的确定
将MEMS 陀螺漂移信号转化为零均值、正态、平稳时间序列,符合建模要求后,选用AIC 准则和BIC 准则对陀螺随机信号序列进行ARMA(p,q)模型阶数的确定。
本文可以采用的时间序列模型一共有五种[4],即AR(1)、AR(2)、AR(3)、ARMA(1,1)、ARMA(2,1)。对这五种模型同时进行AIC 准则和BIC 准则的适用性检验,检验结果如表5。
表5 AIC 准则和BIC 准则的检验结果
通过比较后,选取AIC 和BIC 值相对较小的ARMA(2,1)模型作为陀螺仪的随机漂移误差模型。其表达式为:
在Matlab 中使用最小二乘法即可解得到相应的ARMA(2,1)的模型参数,如表6 所示,将此数据作为卡尔曼滤波算法的初值。
表6 陀螺仪参数模型
2 卡尔曼滤波算法设计
2.1 卡尔曼滤波原理
卡尔曼滤波是根据前一个估计值和最近一个观测值,按一定的递推方式求得新的状态估计值,然后不断循环的过程。基础公式(1)之外,其状态方程和测量方程分别如下[5,6]:
其中,R k是测量噪声协方差矩阵,为正定矩阵;Q k是过程噪声协方差矩阵,为非负正定矩阵,δ kj为克罗尼克(Kroneker)δ函数,其特性是:
如果被估计状态和观测量是满足式(2)、(3),则k 时刻的观测的估计可按下述方程求解。
根据以上五条基本公式,给定初值X0和P0,根据k时刻的观测值Zk,就可以递推计算得k 时刻的状态估计(k=1,2…,N)。
3 卡尔曼滤波软件设计
卡尔曼滤波算法框图如图2 所示。
图2 一步预测卡尔曼滤波算法
在试验中ARMA(2,1)模型参数如表6 所示。R k是观测噪声序列方差阵,取滤波数据的方差varX;Qk是系统噪声序列方差阵,为正定矩阵,取其中σα为ARMA(2,1)模型系统激励白噪声方差。
在本设计中假定滤波估计从开始就是无偏的,且估计的误差阵最小,初始值另有,Φk,k−1和Γk,k−1为tk,k−1时刻至tk时刻的状态转移矩阵,取
4 Allan 方差随机噪声分析方法
理想情况下,当MEMS 陀螺输入为零时,输出也应该为零,但是MEMS 陀螺存其它形式的随机干扰和漂移[7]。在本研究中,选用IEEE 公认的陀螺仪参数分析评价的标准方法——Allan 方差,对MEMS 陀螺仪滤波结果进行评价。
5 实验
在25 ℃室温静态条件下,以500Hz 的采样频率对MEMS 陀螺样品进行静态数据采集,敏感轴指天,陀螺标度因数为7.0mV/°/sec,并假设其不变。采样时间1min。利用Matlab2007a 对采集到的数据进行预处理后,方可对陀螺仪输出的随机噪声信号序列进行滤。滤波前后对比,如图3 所示。
图3 卡尔曼滤波前后数据以及滤除噪声
卡尔曼滤波前后Allan 方差对比如图4 所示。
图4 经典卡尔曼滤波前后Allan 方差对比图
卡尔曼滤波前后Allan方差分析各噪声分量的结果如7。
卡尔曼滤波前后陀螺随机误差标准差如表8 所示。
表8 卡尔曼滤波前后陀螺随机误差标准差
6 结论
从图3 及表7 中可以看出,在经过卡尔曼滤波处理后,量化噪声约为滤波前的50%,角速度随机游走、零偏不稳定性、速率随机游走、速率斜坡约为滤波前的60%。在表8 中可以看出,通过卡尔曼滤波之后,陀螺仪随机误差标准差降为滤波前的50%。说明卡尔曼滤波对该MEMS 陀螺仪有明显的滤波效果。
表7 卡尔曼滤波前后Allan 方差结果
将卡尔曼滤波算法与MEMS 陀螺仪相结合,运用在弹载系统中,既节省了存储空间,又易于工程实现,使滤波过程更加直接有效,非常适合应用在稳像系统中对MEMS 陀螺仪的噪声处理中。