Allan方差分析陀螺仪偏差(完整)

Allan方差分析陀螺仪偏差

1 资料收集

  • 这里是简单的科普。
  • matlab文档翻译,原文档,介绍了ALLAN方法的代码,使用了Sensor Fusion and Tracking Toolbox工具包,提供误差分析。(值得借鉴)
    误差来源以下:
    Ω ( t ) = Ω I d e a l ( t ) + Bias ⁡ N ( t ) + Bias ⁡ B ( t ) + Bias ⁡ K ( t ) \Omega(t)=\Omega_{I d e a l}(t)+\operatorname{Bias}_{N}(t)+\operatorname{Bias}_{B}(t)+\operatorname{Bias}_{K}(t) Ω(t)=ΩIdeal(t)+BiasN(t)+BiasB(t)+BiasK(t)
    使用长时间静止的陀螺仪数据对陀螺仪噪声参数进行分析,上式中,三个噪声参数N(角度随机游走),K(速率随机游走)和B(偏差不稳定性)。
    在这里插入图片描述
    计算模拟的Allan偏差并将其与记录的数据进行比较:
    DraggedImage.png
  • 在开源项目1中也是采用的allan方法,其中引用了几篇文档。
    其中一篇是惯性导航简介2
  • 开源项目GyroAllan
    MEMS惯性器件的误差一般分成两类:系统性误差和随机误差。系统性误差本质就是能找到规律的误差,所以可以实时补偿掉,主要包括常值偏移、比例因子、轴安装误差等。但是随机误差一般指噪声,无法找到合适的关系函数去描述噪声,所以很难处理。一般采用时间序列分析法对零点偏移的数据进行误差建模分析,可以用卡尔曼滤波算法减小随机噪声的影响。3

    从物理意义和误差来源分,也把 MEMS 陀螺仪漂移分为常值漂移、角度随机游走、速率随机游走、量化噪声和速率斜坡等。
陀螺仪的随机误差主要包括:量化噪声、角度随机游走、零偏不稳定性、角速率随机游走、速率斜坡和正弦分量。对于这些随机误差,利用常规的分析方法,例如计算样本均值和方差,并不能揭示出潜在的误差源。另一方面,在实际工作中通过对自相关函数和功率谱密度函数加以分析将随机误差分离出来是很困难的。Allan方差法是20世纪60年代由美国国家标准局的David Allan提出的,它是一种基于时域的分析方法。Allan方差法的主要特点是能非常容易地对各种误差源及其对整个噪声统计特性的贡献进行细致的表征和辨识,而且具有便于计算、易于分离等优点。
DraggedImage-1.png
当Allan标准差的拟合多项式中的拟合系数是负值时,所得误差项的拟合结果随着相关时间的微小改变变化很大,拟合误差很大,可信度差。

2 原理与运行结果

2.1 原理解释4

在Allan方差分析中,共有5个噪声参数:量化噪声、角度随机游走、零偏不稳定性、速度随机游走和速度爬升。不同段的Allan方差曲线代表了不同的误差参数,我们要求解的零偏噪声(Bias)对应的曲线段的斜率就是0。
DraggedImage-2.png
MEMS陀螺仪静止状态下的随机漂移估计方法主要有以下两种:1法和Allan方差分析方法。
其中1法无法将信号中的各项噪声均解析出来,只能得到陀螺仪噪声的总性能。而Allan方差分析方法可以估计由频率漂移、温度误差、过程噪声等引起的系统误差或缺陷的时域信号的震荡稳定性。

    计算方式如下:
DraggedImage-3.png

下面是具体的matlab程序: 此处需要注意的是,数据量要足够多,否则会反映不出来噪声特性。我使用了大概120000组数据,采样时间是5ms。(对于数据格式的要求)
具体可以参考下图:
DraggedImage-4.png

2.2 运行结果


  1. 港科大的工具包 utils ↩︎

  2. An introduction to inertial navigation. ↩︎

  3. https://zhuanlan.zhihu.com/p/24280315 ↩︎

  4. Allan 方差:陀螺仪噪声分析.pdf ↩︎

  • 4
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
### 回答1: MATLAB提供了计算Allan方差的函数。Allan方差是一种用于分析频率数据的统计方法,在许多领域,如惯性导航、原子钟和语音处理等中被广泛使用。下面是使用MATLAB计算Allan方差的基本步骤: 1. 准备频率数据:首先,你需要准备好频率数据。这些数据可以是时间序列,表示系统的频率随时间的变化。确保数据的采样率是一致的,以便正确计算Allan方差。 2. 使用MATLAB函数计算Allan方差:一旦你准备好频率数据,可以使用MATLAB中的'rwvar'函数计算Allan方差。该函数的语法如下:allanvar = rwvar(frequencyData),其中frequencyData是包含频率数据的向量。 3. 分析结果:计算完成后,你将得到一个包含Allan方差结果的向量。你可以使用MATLAB中的其他函数和工具来可视化和进一步分析这些结果,以了解系统的特性和性能。 需要注意的是,计算Allan方差需要足够长的数据序列,以保证结果的可靠性。数据序列的长度应该是足够长,以包含系统的典型变化和波动。 ### 回答2: MATLAB是一种用于科学计算和数据分析的强大软件工具。在MATLAB中,可以使用allan方差来测量信号的随机漂移和噪声特性。 为了计算allan方差,我们可以按照以下步骤进行操作: 1. 首先,获取要分析的信号。这可以是任何一个在时间上变化的信号,如加速度、速度或任何其他物理量。假设我们有一个长度为N的信号向量X,其中包含了我们要进行allan方差分析的数据。 2. 在MATLAB中,有一个函数名为'variance',它可以用来计算任何一维信号的方差。我们可以使用这个函数来计算每个时间间隔的方差。 3. 下一步是计算allan方差。使用allan方差公式,我们可以通过将不同时间间隔的方差进行平均来得到allan方差。如果我们假设方差从最小时间间隔开始逐渐增加,那么allan方差可以通过以下公式来计算: allan_variance = (1 / (2 * (N - 1) * τ^2)) * sum((X(τ) - X(2τ))^2) 其中N是信号向量的长度,τ是不同时间间隔的值。 4. 最后,我们可以使用MATLAB的绘图功能来可视化allan方差的结果。我们可以将allan方差作为时间间隔τ的函数绘制成图表,以便更好地理解信号的随机漂移和噪声特性。 总结起来,MATLAB可以通过计算方差和使用allan方差公式来分析信号的随机漂移和噪声特性。通过可视化allan方差的结果,我们可以更好地理解信号的特性,并作出相应的决策和调整。 ### 回答3: MATLAB可以通过使用allanvar函数来计算Allan方差Allan方差是用于衡量稳定性和噪声特性的一种方法,在信号处理和控制系统中广泛使用。 要计算Allan方差,首先需要将数据导入MATLAB环境。该数据可以是一个时间序列,其中包含随时间变化的测量值。然后,可以使用allanvar函数来计算Allan方差。 该函数需要一个输入参数,即数据向量。可以在MATLAB命令窗口中使用以下语法调用allanvar函数: allanvar(data) 这里,data是包含要计算Allan方差的数据的向量。函数将返回一个包含计算的Allan方差值的结果向量。 可以使用这个结果向量来分析数据的噪声特性和稳定性。Allan方差通常以对数的形式表示,因此通常会对结果应用对数变换以获得更直观的结果。 MATLAB的allanvar函数还有其他可选的输入参数,可以用来指定Allan方差估计的类型和长度。可以通过查看MATLAB文档或使用help命令来了解更多关于该函数的详细信息。 通过使用MATLAB的allanvar函数,可以方便地计算和分析信号的Allan方差,从而更好地了解信号的噪声特性和稳定性。
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

擦擦擦大侠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值