陀螺仪卡尔曼滤波论文笔记

6个陀螺仪组成阵列,采用卡尔曼滤波来增强阵列的准确性,减少误差,使阵列的噪声密度从单个陀螺仪的 0.11 ° / s / H z 0.11°/s/\sqrt{Hz} 0.11°/s/Hz 降低到 0.03 ° / s / H z 0.03°/s/\sqrt{Hz} 0.03°/s/Hz
偏移中的随机噪声是速率随机游走(RRW),而白噪声是角度随机游走(ARW)。
阿兰方差法用来对误差源进行统计、分析。经过分析我们得知,ARW是最大的误差来源,远远大于RRW。
多个陀螺仪的测量输出作为卡尔曼滤波器的输入,而卡尔曼滤波器则输出一个更为准确的值。
在建立卡尔曼滤波器模型的时候,有采用角速率漂移来建模的,有直接对角速率真值进行建模的,后者更为准确。采用后一个建模方法,我们可以从卡尔曼滤波器中直接得到最准确的角速率值,并且可以通过卡尔曼滤波器的协方差来分析陀螺仪阵列的测量准确性。
虚拟陀螺仪的测量模型:
Z ( t ) = H ∗ ω + v ( t ) Z(t) = H*\omega + v(t) Z(t)=Hω+v(t)
其中 Z ( t ) Z(t) Z(t)是陀螺仪阵列的输出的测量值, v ( t ) v(t) v(t)是测量噪音, H H H是测量矩阵。 ω \omega ω是真实的角速率,受一个白噪声影响 n ω n_{\omega} nω,这个白噪声的方差为 q ω q_{\omega} qω,虽然角速率的真实值不能用一个随机游走来代替,但是只要选择了一个较好的方差值就能使很多实际应用达到满意的效果。
将角速率真实值看做是一个状态向量,虚拟陀螺仪的状态空间模型就是: X ˙ ( t ) = F ∗ X ( t ) + w ( t ) \dot{X}(t) = F*X(t) + w(t) X˙(t)=FX(t)+w(t) Z ( t ) = H ∗ X ( t ) + v ( t ) Z(t) = H*X(t) + v(t) Z(t)=HX(t)+v(t) X ( t ) X(t) X(t)就是 ω \omega ω,也即是状态向量, w ( t ) w(t) w(t)是状态转移噪音,其方差是 q ω q_{\omega} qω v ( t ) v(t) v(t)是测量噪音,其协方差矩阵是 R R R ρ \rho ρ是互相关系数, q n q_{n} qn是单个陀螺仪的ARW噪音方差,则有 R = q n ∗ [ 1 ρ ⋯ ρ ρ 1 ⋯ ρ ⋮ ⋮ ⋱ ⋮ ρ ρ ⋯ 1 ] R = q_{n}*\left[ \begin{matrix} 1 & \rho & \cdots & \rho \\ \rho & 1 & \cdots & \rho \\ \vdots & \vdots & \ddots & \vdots \\ \rho & \rho & \cdots & 1 \\ \end{matrix} \right] R=qn1ρρρ1ρρρ1基于状态空间模型,那么我们可知连续时间的卡尔曼滤波器等式可以写成: X ^ ˙ ( t ) = K ( t ) [ Z ( t ) − H X ^ ( t ) ] \dot{\hat{X}}(t) = K(t)[Z(t)-H\hat{X}(t)] X^˙(t)=K(t)[Z(t)HX^(t)] K ( t ) = P ( t ) H T R − 1 K(t) = P(t)H^\mathrm{T}R^{-1} K(t)=P(t)HTR1 P ˙ ( t ) = q ω − P ( t ) H T R − 1 H P ( t ) \dot{P}(t) = q_{\omega}-P(t)H^\mathrm{T}R^{-1}HP(t) P˙(t)=qωP(t)HTR1HP(t)最终解出稳态方差 P ∞ = q ω / C P_{\infty} = \sqrt{q_{\omega}/C} P=qω/C 其中 C = H T R − 1 H C = H^{\mathrm{T}}R^{-1}H C=HTR1H,这表明卡尔曼滤波器等式的解 P ( t ) P(t) P(t)最后会收敛到一个稳定值,利用这个稳定值和稳态增益 K ∞ = P ∞ H T R − 1 = q ω / C H T R − 1 Z ( t ) K_{\infty} = P_{\infty}H^\mathrm{T}R^{-1} = \sqrt{q_{\omega}/C}H^\mathrm{T}R^{-1}Z(t) K=PHTR1=qω/C HTR1Z(t)就可以通过连续时间的卡尔曼滤波器得到状态向量
X ^ ˙ ( t ) = q ω / C H T R − 1 Z ( t ) − q ω C X ^ ( t ) \dot{\hat{X}}(t) = \sqrt{q_{\omega}/C}H^\mathrm{T}R^{-1}Z(t) - \sqrt{q_{\omega}C}\hat{X}(t) X^˙(t)=qω/C HTR1Z(t)qωC X^(t)使用零阶近似,就可以由连续时间的卡尔曼滤波器得到离散的卡尔曼滤波器。
对于陀螺仪阵列中的六个陀螺仪来说,它们虽然是各自两两独立的,但它们由于组装在一块板上,还是会有相关系数的,即便这个系数难以求出。现在我们假设存在一定大小的相关系数。
P ∞ P_{\infty} P代表状态向量 X ( t ) X(t) X(t)的估计方差, q ω q n / P ∞ = 6 / ( 1 + 5 ρ ) \sqrt{q_{\omega}q_{n}}/P_{\infty} = \sqrt{6/(1+5\rho)} qωqn /P=6/(1+5ρ) 从该公式可以看出互相关系数的存在不会降低这个虚拟陀螺仪的性能,只会有提高,只是提高的多少而已。最佳的 ρ \rho ρ是-0.2。从 A R W s i n g l e ARW_{single} ARWsingle A R W v g ARW_{vg} ARWvg的图中能看出来,虚拟陀螺仪(陀螺仪阵列)的性能比单个的陀螺仪好很多。
静态模拟:一直给陀螺仪输入一个值。动态模拟,动态的给陀螺仪输入很多个值。静态模拟下,能看出互相关系数对性能的提高,动态模拟下,就能看出输入信号的频率、参数 q ω q_{\omega} qω对性能提高的影响。 从动态模拟的结果来看,当 q ω q_{\omega} qω在较小的范围内变化时,比如0.1到100之间,此时信号经过陀螺仪阵列之后衰减较为严重,陀螺仪输出结果严重失真,无法反映真实的信号动态变化情况,相对来说,静态模拟下,KF滤波器的性能提升更为明显。
总的来说,KF滤波器对陀螺仪的零偏不稳定性、角度随机游走有降低的作用,但总体效果在3到4倍左右,不是很明显,即便是对多个陀螺仪做算术加和平均,降低效果也有2倍左右。

关于阿兰方差,Allan Variance

  • 3
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值