发明内容
本发明目的是为了解决采用现有针对单一的陀螺信息进行处理的方法对多传感器的信息进行融合,运算量大及输出结果精度低的问题,提供了一种批量MEMS陀螺信息融合方法。
本发明所述批量MEMS陀螺信息融合方法,它包括以下步骤:
步骤一:将批量MEMS陀螺均分成N组陀螺阵列,每组陀螺阵列包括n个MEMS陀螺,n取值为4、5、6或7,N为大于2的正整数;
步骤二:采用初级融合模块对每组陀螺阵列中所有MEMS陀螺采集获取的数据进行基于支持度的初级融合,获得每组陀螺阵列的融合数据Y(k),其中k表示时刻值;
步骤三:对每组陀螺阵列输出的融合数据Y(k)进行时间序列建模获得时间序列模型,并通过时间序列模型获得对应的状态空间方程;
步骤四:采用多级序贯式滤波模块对N组陀螺阵列的融合数据Y(k)和N个状态空间方程顺次进行多级序贯式滤波,其中每个陀螺阵列的融合数据Y(k)和状态空间方程作为多级序贯式滤波模块中对应的子滤波器的输入,获得第N级融合状态估计值
步骤五:将第N级融合状态估计值
输入角速度提取模块,经提取获得批量MEMS陀螺k时刻融合后的角速度ω(k)。
所述步骤二中获得每组陀螺阵列的融合数据Y(k)的具体方法为:
根据鲁棒理论中的尺度估计,定义相互支持度函数sij(k)和每组陀螺阵列中第i个MEMS陀螺的自身支持度函数si(k)为:
相互支持度函数sij(k)表示k时刻,每组陀螺阵列中MEMS陀螺i和MEMS陀螺j的相互支持度,其中i,j=1,2,…,n,并且i≠j,
Zi(k)为每组陀螺阵列中第i个MEMS陀螺在k时刻的输出值,Zj(k)为每组陀螺阵列中第j个MEMS陀螺在k时刻的输出值,β为阈值尺度参数,r(k)为相互支持度阈值因子;
自身支持度函数si(k)表示在k时刻每组陀螺阵列中第i个MEMS陀螺采集获取的数据Zi对其输出值Zi(k)的支持程度,ri为每组陀螺阵列中第i个MEMS陀螺的自身支持度阈值因子;
建立每组陀螺阵列的支持度矩阵D(k):
其中,
dii(k)=si 2(k),
dij(k)=si(k)sij(k)sj(k),
其中,当k=1时,Y(1)=(Z1(1)+Z2(1)+…+Zn(1))/n;
通过支持度矩阵D(k)的第i行判断获得每组陀螺阵列中第i个MEMS陀螺的权值系数wi(k),则权值向量Δ(k)=[w1(k),w2(k),…,wn+1(k)]T;
设置一组非负数系数a1(k),a2(k),…,an+1(k),使得:
wi(k)=a1(k)di1(k)+d2(k)di2(k)+…+an+1(k)di(n+1)(k),
获得系数矩阵A(k)=[a1(k),a2(k),…,an+1(k)]T,
即Δ(k)=D(k)A(k);
支持度矩阵D(k)为非负对称矩阵,则D(k)的最大模特征值λ>0,并有:
Δ(k)=λA(k);
每组陀螺阵列中第v个MEMS陀螺的权值系数wv(k)与第l个MEMS陀螺的权值系数wl(k)的关系为:
v,l=1,2,…,n+1,
对每组陀螺阵列中第i个MEMS陀螺的权值系数wi(k)归一化处理,得到:
则获得每组陀螺阵列的融合数据Y(k):
其中,当k=1时,Y(1)=(Z1(1)+Z2(1)+…+Zn(1))/n。
步骤三中获得的时间序列模型为自回归滑动平均模型ARMA(p,q),其中p为自回归模型的阶数,q为滑动平均模型的阶数;
自回归滑动平均模型ARMA(p,q)的表达式为:
y(k)=b1y(k-1)+…+bpy(k-p)+ε(k)-a1ε(k-1)-…-aqε(k-q),
其中y(k)为时间序列模型在k时刻的响应,bu为自回归系数,υ=1,2,…,p,ε(k)为随机扰动项白噪声,aκ为滑动平均系数,κ=1,2,…,q;
根据自回归滑动平均模型ARMA(p,q)建立状态空间方程,并且扩维引入真实角速度ω,扩维后的状态方程为:
X(k)=Φ(k-1)X(k-1)+Γ(k-1)W(k),
Y(k)=H(k)X(k)+V(k),
式中,X(k)为状态变量,Φ(k-1)为一步转移阵,Γ(k-1)为系统噪声驱动阵,W(k)为系统激励噪声序列,Y(k)由每组陀螺阵列的真实角速度ω和陀螺阵列的随机漂移η组成,H(k)为量测阵,V(k)为量测噪声序列。
多级序贯式滤波模块第h级融合在k时刻获得的状态估计值
为:
多级序贯式滤波模块第h级融合在k时刻获得的估计误差方差Pf(h)为:
Pf(h)(k|k)=[1-λh(k)]2Pf(h-1)(k|k)+[λh(k)]2Ph(k|k)+2[1-λh(k)]λh(k)Pf(h-1),h(k|k),
其中,Ph为子滤波器h的估计误差方差;λh(k)为最优估计系数;
式中,tr表示矩阵的迹,P
f(i-1),i为
和
的互协方差阵,将第一级子滤波器滤波后获得的状态估计值
作为第一级融合数据
则P
f(1),h(k|k)=P
1,h(k|k),并且P
1,h(k|k)为:
P1,h(k|k)=[I-K1(k)H1(k)]×[Φ(k-1)P1,h(k-1|k-1)ΦT(k-1)+
Γ(k-1)Q(k-1)ΓT(k-1)]×[I-Kh(k)Hh(k)]T
式中,K
h(k)为k时刻多级序贯式滤波模块中第h个子滤波器的滤波增益,H
h(k)为k时刻多级序贯式滤波模块中第h个子滤波器的量测阵,Q(k-1)为k-1时刻多级序贯式滤波模块中子滤波器系统噪声序列的方差阵;设置P
1,h(0|0)的初值以获得P
1,h(k|k),最后获得第N级融合状态估计值
步骤五中获得批量MEMS陀螺k时刻融合后的角速度ω(k)的具体方法为:
本发明的优点:本发明方法能够有效进行大批量MEMS陀螺的信息融合,无需知道陀螺数据的先验知识,能够极大地提高低成本、低精度陀螺的精度,减小其零偏不稳定性。其中陀螺阵列的初级融合是基于支持度的信息融合方法,经过改进后,不但能够提高陀螺的精度,降低陀螺的零偏不稳定性,还对陀螺的软、硬故障具有极强的容错能力。通过故障检测与隔离模块,若多级序贯式滤波的某一级发生故障并被检测到,则可以跳过这一级,顺序执行下一级融合;当故障被修复时,还可以恢复对该级的融合。
本发明方法采用多级分布式信息融合方法,避免了普通Kalman滤波处理多传感器信息时的运算量过大的问题,具有极强的容错能力,避免了MEMS陀螺故障对整个信息融合的污染,具有实际的应用意义。
本发明方法能够对多个相同或近似精度的MEMS陀螺的输出数据进行信息融合,通过对多个低精度的MEMS陀螺的输出结果进行多级融合,得到近似于高精度陀螺的输出结果,且具有极强的容错能力。
具体实施方式
具体实施方式一:下面结合图1至图3说明本实施方式,本实施方式所述批量MEMS陀螺信息融合方法,它包括以下步骤:
步骤一:将批量MEMS陀螺均分成N组陀螺阵列,每组陀螺阵列包括n个MEMS陀螺,n取值为4、5、6或7,N为大于2的正整数;
步骤二:采用初级融合模块对每组陀螺阵列中所有MEMS陀螺采集获取的数据进行基于支持度的初级融合,获得每组陀螺阵列的融合数据Y(k),其中k表示时刻值;
步骤三:对每组陀螺阵列输出的融合数据Y(k)进行时间序列建模获得时间序列模型,并通过时间序列模型获得对应的状态空间方程;
步骤四:采用多级序贯式滤波模块对N组陀螺阵列的融合数据Y(k)和N个状态空间方程顺次进行多级序贯式滤波,其中每个陀螺阵列的融合数据Y(k)和状态空间方程作为多级序贯式滤波模块中对应的子滤波器的输入,获得第N级融合状态估计值
步骤五:将第N级融合状态估计值
输入角速度提取模块,经提取获得批量MEMS陀螺k时刻融合后的角速度ω(k)。
所述子滤波器可以选择普通Kalman滤波、EKF或UKF等。
在多级序贯式滤波模块中设置有故障检测与隔离FDI模块,它可以检测对应的前一级子滤波器故障与否,从而判断该子滤波器是否参与多级滤波。FDI模块可选择状态残差χ2检验法等。
具体实施方式二:下面结合图2说明本实施方式,本实施方式对实施方式一作进一步说明,所述步骤二中获得每组陀螺阵列的融合数据Y(k)的具体方法为:
根据鲁棒理论中的尺度估计,定义相互支持度函数sij(k)和每组陀螺阵列中第i个MEMS陀螺的自身支持度函数si(k)为:
相互支持度函数sij(k)表示k时刻,每组陀螺阵列中MEMS陀螺i和MEMS陀螺j的相互支持度,其中i,j=1,2,…,n,并且i≠j,
Zi(k)为每组陀螺阵列中第i个MEMS陀螺在k时刻的输出值,Zj(k)为每组陀螺阵列中第j个MEMS陀螺在k时刻的输出值,β为阈值尺度参数,r(k)为相互支持度阈值因子;
自身支持度函数si(k)表示在k时刻每组陀螺阵列中第i个MEMS陀螺采集获取的数据Zi对其输出值Zi(k)的支持程度,ri为每组陀螺阵列中第i个MEMS陀螺的自身支持度阈值因子;
建立每组陀螺阵列的支持度矩阵D(k):
其中,
dii(k)=si 2(k),
dij(k)=si(k)sij(k)sj(k),
其中,当k=1时,Y(1)=(Z1(1)+Z2(1)+…+Zn(1))/n;
通过支持度矩阵D(k)的第i行判断获得每组陀螺阵列中第i个MEMS陀螺的权值系数wi(k),则权值向量Δ(k)=[w1(k),w2(k),…,wn+1(k)]T;
设置一组非负数系数a1(k),a2(k),…,an+1(k),使得:
wi(k)=a1(k)di1(k)+a2(k)di2(k)+…+an+1(k)di(n+1)(k),
获得系数矩阵A(k)=[a1(k),a2(k),…,an+1(k)]T,
即Δ(k)=D(k)A(k);
支持度矩阵D(k)为非负对称矩阵,则D(k)的最大模特征值λ>0,并有:
Δ(k)=λA(k);
每组陀螺阵列中第v个MEMS陀螺的权值系数wv(k)与第l个MEMS陀螺的权值系数wl(k)的关系为:
v,l=1,2,…,n+1,
对每组陀螺阵列中第i个MEMS陀螺的权值系数wi(k)归一化处理,得到:
则获得每组陀螺阵列的融合数据Y(k):
其中,当k=1时,Y(1)=(Z1(1)+Z2(1)+…+Zn(1))/n。
本实施方式中,;r(k)=c·median|T(k)-median[T(k)]|,式中,median()为求中值运算;c=1.4826;T(k)={Zi(k)|i=1,2,…,n}为k时刻每个陀螺阵列中所有MEMS陀螺测量值组成的集合;ri(k)=c·median|Ti(t)-median[Ti(t)]|,式中,Ti(t)={Zi(t)|t=1,2,…,k}为k时刻内陀螺阵列中第i个MEMS陀螺的所有测量值组成的集合;
获得每组陀螺阵列的融合数据Y(k)的过程如图2所示,其可以根据陀螺测量数据之间的差异性大小判断陀螺之间的相互支持程度,并由此推导出每个陀螺对应的权值,进行加权融合。
阈值尺度参数β一般选择为3,它可以调节尺度的大小。
实际中每组陀螺阵列中第i个MEMS陀螺的自身支持度阈值因子ri的计算应在每一时刻下进行并不考虑权值为零的数据,为防止数据饱和,可引入限定记忆法或在足够长度的数据下计算。易知,si(k)∈(0,1]。si(k)随陀螺的精度增大而增大,当陀螺发生故障,偏差较大时,si(k)就会趋近于零。
具体实施方式三:本实施方式对实施方式二作进一步说明,步骤三中获得的时间序列模型为自回归滑动平均模型ARMA(p,q),其中p为自回归模型的阶数,q为滑动平均模型的阶数;
自回归滑动平均模型ARMA(p,q)的表达式为:
y(k)=b1y(k-1)+…+bpy(k-p)+ε(k)-a1ε(k-1)-…-aqε(k-q),
其中y(k)为时间序列模型在k时刻的响应,bυ为自回归系数,υ=1,2,…,p,ε(k)为随机扰动项白噪声,aκ为滑动平均系数,κ=1,2,…,q;
根据自回归滑动平均模型ARMA(p,q)建立状态空间方程,并且扩维引入真实角速度ω,扩维后的状态方程为:
X(k)=Φ(k-1)X(k-1)+Γ(k-1)W(k),
Y(k)=H(k)X(k)+V(k),
式中,X(k)为状态变量,Φ(k-1)为一步转移阵,Γ(k-1)为系统噪声驱动阵,W(k)为系统激励噪声序列,Y(k)由每组陀螺阵列的真实角速度ω和陀螺阵列的随机漂移η组成,H(k)为量测阵,V(k)为量测噪声序列。
以ARMA(2,1)为例,y(k)=b1y(k-1)+b2y(k-2)+ε(k)-a1ε(k-1)。其状态空间方程为:
其中,ξ(k)为角速度ω(k)的驱动白噪声序列。
具体实施方式四:本实施方式对实施方式三作进一步说明,步骤四中获得第N级融合状态估计值
的具体方法为:
多级序贯式滤波模块第h级融合在k时刻获得的状态估计值
为:
式中为子滤波器h的状态估计,h=2,3,…,N;
多级序贯式滤波模块第h级融合在k时刻获得的估计误差方差Pf(h)为:
Pj(h)(k|k)=[1-λh(k)]2Pf(h-1)(k|k)+[λh(k)]2Ph(k|k)+2[1-λh(k)]λh(k)Pf(h-1),h(k|k),
其中,Ph为子滤波器h的估计误差方差;λh(k)为最优估计系数;
式中,tr表示矩阵的迹,P
f(i-1),i为
和
的互协方差阵,将第一级子滤波器滤波后获得的状态估计值
作为第一级融合数据
则P
f(1),h(k|k)=P
1,h(k|k),并且P
1,h(k|k)为:
P1,h(k|k)=[I-K1(k)H1(k)]×[Φ(k-1)P1,h(k-1|k-1)ΦT(k-1)+
Γ(k-1)Q(k-1)ΓT(k-1)]×[I-Kh(k)Hh(k)]T
式中,K
h(k)为k时刻多级序贯式滤波模块中第h个子滤波器的滤波增益,H
h(k)为k时刻多级序贯式滤波模块中第h个子滤波器的量测阵,Q(k-1)为k-1时刻多级序贯式滤波模块中子滤波器系统噪声序列的方差阵;设置P
1,h(0|0)的初值以获得P
1,h(k|k),最后获得第N级融合状态估计值
具体实施方式五:下面结合图1至图3说明本实施方式,本实施方式对实施方式四作进一步说明,步骤五中获得批量MEMS陀螺k时刻融合后的角速度ω(k)的具体方法为: