Allan方差是时频分析和惯性导航领域常用的一种误差分析方法,它有效地刻画了待研究的误差时间序列在不同时间尺度上的波动水平(不稳定性),并可根据不同时间尺度上的Allan方差值所构成的曲线的形状特征来辨识其中包含的随机过程模型。这就类似于我们用功率谱密度(PSD)来描述信号在不同频率尺度上的功率分布,并用PDS曲线来做系统模型辨识。Allan方差分析方法对中长期的随机波动具有很强的表现力,它完全可以作为一个通用的时间序列分析工具来推广到其它应用领域,就像PSD这样的频域分析方法和自相关这样的时域分析方法一样。

在我们对惯性导航器件(陀螺和加速度计)进行误差分析时,常采用Allan方差分析方法。这是当初从时频领域(高精度时钟的频率稳定性)借鉴来的一种时间序列分析方法[1],非常适合于对中长期波动(不稳定性)进行定量描述和分析,因此正是我们惯性器件误差分析所需要的。

与Allan方差相比,传统的误差指标往往是采用误差均值(反映整个误差序列有无宏观偏置)、标准差(反映整个误差序列的波动情况),以及方均根(RMS,可以认为是宏观偏置与波动情况的综合)。如下图所示,它们都是反映误差序列的整体情况的指标,其中含有短时间快速变化和长时间缓变的各个成份,无法细分出不同时间尺度上的误差波动情况。

Allan方差(阿兰方差或阿伦方差)则是将误差序列在某个指定的时间尺度上的波动情况进行了精确提取,其具体计算步骤如下:

  1. 将整段误差序列按照你感兴趣的时间尺度的长度(例如1分钟)进行分块;
  2. 每块求平均值;
  3. 相邻块的平均值求差;
  4. 将所有差值进行统计,得到其均方值,并乘以1/2。

这样就得到了对应于这个块长度(1分钟)的Allan方差值。(具体过程见下图)

这个计算过程看上去有点眼花缭乱,我对Allan方差这样一通操作的理解如下:

如果我们只对某一时间尺度上的误差(即误差波动)感兴趣的话,那么比这个时间尺度更小的细节变化(短时间快速跳动)和比这个时间尺度更大的宏观变化(长时间缓慢漂移)就都不关心了,希望在我们的误差指标中都被消除掉。而Allan方差是这样做到的:

  1. 通过分块确定所要考察的时间块长度;
  2. 利用块内求平均的办法把短于块长度的那些快速变化成份(细节)都抹掉;
  3. 再利用相邻块求差的办法把长于两块长度的那些缓慢变化成份(宏观)都抹掉;
  4. 最后对差值序列统计其均方值(这是处理任何随机样本的标准操作),这样统计出来的就是介于1倍块长度和2倍块长度这样一个很窄的时间尺度范围内的误差波动情况。

如果我们对误差序列的各个时间尺度上的成份都感兴趣的话,可以将块长度由短到长,“扫描”一遍,得出一组Allan方差值,然后画个“Allan方差 vs. 块长度”的曲线,这样就能全面反映被研究的误差序列的特性了。具体的,实际上是“Allan方差的开方(Allan Deviation) vs. 块长度”的双对数曲线,以便在更大的范围上有更强的表现力。以下是一张经典的高精度陀螺的Allan方差示意图。

从这根Allan方差曲线上,我们可以根据曲线的形状特征来识别出不同类型的随机误差(即随机过程模型)并提取其参数。例如:斜率为-1/2的直线段代表白噪声。具体可参见IEEE制定的一个关于陀螺测试的技术标准中的附录C内容[2]。这个附录中还给出了一个从Allan方差曲线中分析陀螺的多种随机误差的案例(如上图)。但我想提醒大家,实际的Allan方差曲线往往只能表现出少数两三个主要误差类型,因为其它误差都被这几个主要误差给淹没了。而由于我们在工程上关心的恰恰也就是主要误差源,因此我们并不受此困扰。更多的使用Allan方差分析过程中的注意事项可参考西工大严恭敏老师的博文《Allan方差分析的使用要点》,写得非常精准务实。

大家对Allan方差分析方法的理解可以类比于经典的功率谱密度(PSD)分析方法,只不过后者是描述误差序列在不同频率尺度上的成份,属于频域分析。这两种分析方法对于相同的随机模型是有比较明确的对应关系的,这在那个IEEE标准里也有严谨阐述。

既然如此,为什么我们在已有成熟的功率谱密度分析方法、自相关分析方法等经典的时间序列分析工具之外,还要引入Allan方差呢?我的理解是,PSD和自相关分析都是擅长于分析中短期误差(即中高频成份),而不适用于分析惯导(和时钟)这种看重长期稳定性的传感器。而Allan方差曲线恰恰对中长期时间尺度上的误差特性有很强的表现力。

前文提到了,对应于某个块长度的Allan方差是反映了1~2倍块长度这一狭窄时间尺度范围内的误差成份,那么能否给出一个时间尺度范围更大一些的误差指标,比如能反映1~M倍块长度范围内的误差成份呢?这就涉及到了一类更通用的样本方差分析方法,具体可以参考非常经典的文献[3]。

如下图所示,通用的样本方差分析方法与Allan方差不同之处是在分块、取平均之后,不是采取相邻块求差,而是截取连续M块求其标准方差,然后统计这些标准方差的样本均值,作为反映1~M倍块长度这个时间尺度区间的误差指标。这样就可以灵活地提取和评估我们所关心的任何时间尺度范围内的误差成份!

容易推导,Allan方差只是上述通用样本方差分析在M=2时的一个特例,如下式:

由于Allan方差取M=2这一最小值,因此它具有最高的时间尺度分辨率,对不微附件同时间尺度上的误差成份的刻画最细腻,因此被大家用得最多。

总的来看,Allan方差是一个相对而言直观形象、朴实无华的概念,它当初是在实践中针对高精度时钟稳定性分析的需求而提出的。我相信当我们对某个科研问题日思夜想、废寝忘食的时候,我们脑海中也会自然而然地迸发出类似的概念,来帮助我们解决面临的问题。但基于这种新概念、新指标来形成一套完整自洽的理论体系,则需要扎实的数学功底,不是每个人都能做到的。

理论上讲,Allan方差分析方法并不局限于对惯性器件和时钟误差的分析,也可推广到其它误差序列分析;而且它也不局限于是对误差序列进行分析,也可应用于任何时间序列的分析(例如建筑形变、地质演化等)。

本文希望能破除大家对Allan方差的神秘感,将它应用到更广阔的范围里。当然更希望能启发大家在必要时自主提出新的误差指标的定义,来支持自己所在领域的研究。

Allan方差分析方法的直观理解相关推荐

  1. 1路电磁继电器模块的使用方法的直观理解

    1路电磁继电器的使用方法的直观理解 使用的1路电磁继电器模块如下: 此为低电平触发的继电器,其中,NC为常闭端,NO为常开端,COM为常闭端,左侧就相当于一个单掷开关,右侧引脚为模块供电以及输入控制信 ...

  2. kernel方法的直观理解与详述

    1.直观理解 通常意义上的kernel method 主要由两种解释:一是相似性的度量:二是特征映射. 在详细引入kernel的工作之前,以支持向量机 SVM 为例说明kernel方法,因为它是SVM ...

  3. PSINS之基于Allan方差分析的陀螺仪漂移误差辨识与仿真复现

    本博文主要对严恭敏老师在导航定位学报中发表的一篇论文进行简要整理,参考文献如下: 严恭敏,李梓阳,朱宏堡.基于Allan 方差分析的陀螺仪漂移误差辨识与仿真复现[J/OL].导航定位学报. https ...

  4. 用相似矩阵的几何意义直观理解PCA降维方法

    PCA(主成分分析)是降维中最经典的方法,其推导求解的常用两种方法包括最大方差理论(样本点到超平面的投影都尽可能分开)以及最小平方误差理论(样本点到超平面的距离都足够近),以上两种方法都需要进行严格意 ...

  5. RNN循环神经网络的直观理解:基于TensorFlow的简单RNN例子

    RNN 直观理解 一个非常棒的RNN入门Anyone Can learn To Code LSTM-RNN in Python(Part 1: RNN) 基于此文章,本文给出我自己的一些愚见 基于此文 ...

  6. SVM支持向量机【直观理解】

    转载文章:https://baijiahao.baidu.com/s?id=1607469282626953830&wfr=spider&for=pc 如果你曾经使用机器学习解决分类问 ...

  7. 乘基取整法是什么_十进制小数转二进制小数乘2取整法的直观理解

    乘2取整法介绍 举例:0.35转换成二进制 0.35×2=0.7 ······ 取0(d1) 0.7×2=1.4 ······ 取1(d2) 0.4×2=0.8 ······ 取0(d3) 0.8×2 ...

  8. allan方差 imu_MEMS-IMU随机误差的Allan方差分析

    MEMS-IMU 随机误差的 Allan 方差分析 厉宽宽 , 陈允芳 , 程敏 , 王云鹏 [摘 要] 随着微机电系统-惯性测量单元 (MEMS-IMU) 技术的发展 , 低成本惯 性导航系统 (I ...

  9. 差分隐私的定义、直观理解与基本性质

    数据是人工智能的燃料,优秀的深度学习模型需要依靠大量高质量数据集进行训练.然而,随着模型精度的不断提升,对于个人隐私的泄露现象也变得越发严重.此外,随着互联网企业的扩展,用户数据开始担任重要生产资料的 ...

最新文章

  1. redis3.2安装过程分享
  2. 油管螺纹尺寸对照表_数控加工过程中,如何区分新旧螺纹牌号?
  3. python基础语法有哪些-Python语法基础归纳大全
  4. c语言递归函数检测回文,递归法判断回文字符串,急用
  5. oracle 误删表空间文件启动不了数据库的解决办法
  6. URL提交之前对数据编码
  7. QXDM工具使用说明
  8. 狂团KtAdmin框架正式免费开源发布,助力独立版SAAS系统快速开发
  9. 微信授权登录(更新。。。)
  10. 【xubuntu】 在xubuntu系统上开启自动登陆,并自动启动一个应用程序。
  11. 安卓/苹果手机直播声卡方案,实现一边直播一边充电功能
  12. java 读取word 带格式_java读取word带格式_游戏下载_游戏攻略资讯_尽在搜狗爱玩
  13. tree--树,最常见的复杂关系结构
  14. 惠普打印机故障代码_HP打印机故障代码
  15. SpringBoot项目中增加favicon.ico图标
  16. Error: At least one module has an unresolved import due to a missing export function in an implicitl
  17. java计算机毕业设计旅游信息网站源程序+mysql+系统+lw文档+远程调试
  18. VMware ESXi 8.0集成网卡驱动
  19. 修道士和野人java_修道士与野人问题(BFS广度搜索)
  20. 你的账号是否被泄露了?

热门文章

  1. Npm 5 package locks
  2. shp文件导入Oracle并发布到Geoserver
  3. (转)Sublime Text2 快捷键汇总
  4. 小米手机无法连接eclipse调试案例
  5. Sql server 阻塞定位
  6. 江南Style之---西湖
  7. set debug mode for flex builder
  8. 线性时间选择问题——分治
  9. EOSIO 转帐详解
  10. 区块链编程完全指南:平台、语言与结论