课题学习(十九)----Allan方差:陀螺仪噪声分析

news2025/1/13 10:22:38

一、介绍

  Allan方差是一种分析时域数据序列的方法,用于测量振荡器的频率稳定性。该方法还可用于确定系统中作为平均时间函数的本征噪声。该方法易于计算和理解,是目前最流行的识别和量化惯性传感器数据中存在的不同噪声项的方法之一。该方法的结果与适用于惯性传感器数据的五个基本噪声项有关。这些是量化噪声、角度随机游走、偏置不稳定性、速率随机游走和速率斜坡。
  时域信号Ω(𝑡)的Allan方差分析是计算其根Allan方差或Allan偏差作为不同平均次数的函数,然后分析Allan偏差曲线的特征区域和对数曲线,以识别不同的噪声模式。

二、建立用于陀螺仪噪声识别的Allan偏差图

  下面描述了创建Allan偏差图所需遵循的步骤。本文采用重叠Allan方差法计算Allan方差并生成Allan偏差图进行噪声分析。
  步骤如下:

  1. 使用实验装置获取陀螺仪输出的时间序列Ω(𝑡)(保持陀螺仪静态)。设样本个数为N,采样周期为 τ 0 τ_0 τ0
  2. 设置平均时间为: τ = m τ 0 τ=mτ_0 τ=mτ0,m为平均因子。𝑚的值可以任意选择,并且保证𝑚<(N- 1)/2。
  3. 将信号的时间序列(即陀螺输出数据随时间的序列)划分为时间长度为 τ = m τ 0 τ=mτ_0 τ=mτ0的有限集合。
    在这种重叠Allan方差方法中,两个连续数据集合之间的时间跨度始终等于样本周期𝜏0。这种重叠方法利用平均时间来形成所有可能重叠的样本集合,最大限度地利用了数据集。如下图所示。
    在这里插入图片描述
    如上图所示为平均因子𝑚= 3的重叠方法的样本集合。两个相邻集合具有重叠的样本。每个集合关联的持续时间为3个。每个集合之间通过采样周期为𝜏0 (Stride)隔开。
  4. 一旦集合形成,就可以用两种方法计算Allan方差(通过重叠法):
    ①使用输出速率样本的平均值,见第2.1节
    ②输出角θ对应于每个陀螺速率样本,见第2.2节
  5. 最后,计算该特定值的Allan偏差值,然后对多个值重复上述步骤得到Allan偏差图,见第2.3节。

2.1 使用输出速率样本的平均值计算Allan方差

  Allan方差可以根据每个数据集上输出速率样本的平均值来计算。
  1. 在 K τ 0 Kτ_0 Kτ0 K τ 0 + τ Kτ_0+τ Kτ0+τ之间对每个数据集的输出速率样本取平均值。
在这里插入图片描述
  同样,在2.2节“使用输出角计算Allan方差”中会计算了θ的值,使用输出角计算平均输出速率 Ω ˉ K ( τ ) \bar \Omega_K(τ) ΩˉK(τ。在 K τ 0 Kτ_0 Kτ0 K τ 0 + τ Kτ_0+τ Kτ0+τ次之间,以输出角 θ K \theta_Κ θK表示的平均产出率为:
在这里插入图片描述
  例如: Ω ˉ 2 ( τ ) \bar \Omega_2(τ) Ωˉ2(τ)和假设𝑚= 3表示平均陀螺的输出之间的集群乘以2𝜏0和2𝜏0+3𝜏0=5𝜏0。这就等于:
在这里插入图片描述
  通过上面三式,对一个特定的值计算出Ω的所有可能值(在每个数据集上)。由于在这种方法中有𝑚可能形成的数据集,因此计算Ω的值。
  Ω的所有可能值(每个簇上)都是已知的,Allan方差可以计算如下:
在这里插入图片描述
  这是艾伦方差的定义。 δ 2 ( τ ) \delta^2(τ) δ2(τ)表示Allan方差是的函数,< >为集合平均值。将上式展开,得到:
在这里插入图片描述
  这个方程表示陀螺仪对一个特定值τ的最终速率Allan方差(重叠法),通过使用输出速率值的平均值, Ω ˉ ( τ ) \bar\Omega(τ) Ωˉ(τ)在每个数据集上。

2.2 使用输出角度计算Allan方差

  Allan方差可以根据输出角θ来计算,对应于每个陀螺速率采样值。
  1.计算每个陀螺输出样本对应的θ。这可以通过以下方式计算:
在这里插入图片描述
  有时这些角度测量是由𝑡𝑡=𝑘𝜏0(𝜏0,2𝜏0,3𝜏0…),𝑘变化从1到𝑁。对于一个离散的样本集,累积和也可以用来给出θ的N值。在这里,取每个𝑘𝜏0上陀螺仪输出样本的累积和,然后将得到的每个和乘以样本周期𝜏0来得到θ的二进制操作值。

示例:计算θ的三个值,假设𝑘在1到3个样本之间变化。
假设观测到的 Ω k \Omega_k Ωk值分别为10、12和15。
通过使用累积和,可以得到以下值:10,10 +12=22和10 + 12 + 15 = 37。
进一步乘以𝜏0,我们现在得到的相应值: θ k : θ 1 = 10 τ 0 , : θ 2 = 22 τ 0 , : θ 3 = 37 τ 0 \theta_k:\theta_1=10τ_0,:\theta_2=22τ_0,:\theta_3=37τ_0 θk:θ1=10τ0,:θ2=22τ0,:θ3=37τ0

  2. 一旦计算了θ的N值,使用下式计算Allan方差。
在这里插入图片描述
   δ 2 ( τ ) \delta^2(τ) δ2(τ)表示Allan方差是的函数,< >为集合平均值。将上式展开,得到:
在这里插入图片描述
  这里的二进制操作是样本总数,𝑚是平均因子,τ=𝑚 τ 0 τ_0 τ0是平均时间,𝐾是一组从1到N的离散值。
  上式利用陀螺仪的输出角θ计算出某一特定值下的最终速率Allan方差(通过重叠法)值。一旦我们知道了θ的输出角度值、样本周期和𝑚的值,我们就可以用这个方程来计算Allan方差。

2.3 计算Allan偏差并创建Allan偏差图

  最后,对2.1节或2.2节的结果取平方根,就可以得到某一特定值的根Allan方差或Allan偏差的值。这个结果现在将被用来表征陀螺仪中的噪声。
在这里插入图片描述

三、噪声识别

  不同类型的随机过程导致Allan偏差图上出现不同梯度的斜率。不同的过程通常出现在不同的区域,使得它们的存在很容易被识别。确定了一个过程之后,就可以直接从绘图中读取其数值参数。对于像陀螺仪这样的MEMS器件,要测量的重要过程是随机游走和偏置不稳定性(有时也称为偏置稳定性),其可以识别和读取如下:

  • 白噪声/随机游走:在Allan方差图上显示为梯度为-0.5的斜率。该噪声的随机游走测量(速率陀螺仪的ARW,加速度计的VRW)是通过斜率拟合一条直线并读取其在= 1处的值获得的。陀螺仪的ARW是陀螺仪噪声的度量,单位为dps/rt(Hz)。
  • 偏置不稳定性:在图上表现为最小值周围的平坦区域。数值是Allan偏差图上的最小值。对于陀螺仪,偏置稳定性测量陀螺仪的偏置如何在恒定温度下在指定的时间内变化。这通常以dps/秒或dps/小时为单位。
      下图显示了从艾伦偏差图中可以观察到的各种不同的噪声过程。从下图中可以看出,陀螺仪需要观察、计算和分析的噪声过程是角度随机游走和偏置不稳定性。
    在这里插入图片描述
      下图显示了飞思卡尔陀螺仪FXAS21002C对应的Allan方差曲线。偏置稳定性和ARW值在下图中有明显的标记。
    在这里插入图片描述
      Allan方差代码:
function [T,sigma] = allan(omega,fs,pts) 
[N,M] = size(omega); % figure out how big the output data set is 
n = 2.^(0:floor(log2(N/2)))'; % determine largest bin size
maxN = n(end); 
endLogInc = log10(maxN); 
m = unique(ceil(logspace(0,endLogInc,pts)))'; % create log spaced vector average factor 
t0 = 1/fs; % t0 = sample interval
T = m*t0; % T = length of time for each cluster
theta = cumsum(omega)/fs; % integration of samples over time to obtain output angle θ
sigma2 = zeros(length(T),M); % array of dimensions (cluster periods) X (#variables)
for i=1:length(m) % loop over the various cluster sizes
 for k=1:N-2*m(i) % implements the summation in the AV equation
 sigma2(i,:) = sigma2(i,:) + (theta(k+2*m(i),:) - 2*theta(k+m(i),:) + theta(k,:)).^2; 
 end
end
sigma2 = sigma2./repmat((2*T.^2.*(N-2*m)),1,M); 
sigma = sqrt(sigma2) 

  代码解释:

  • omega是陀螺速率输出。
  • m任意选取,τ定义为M *样本周期。
  • 在上面的代码中,使用2.2节中描述的方法来计算Allan方差。
  • theta由输出速率数据的累积和除以采样频率得到。这个θ是对应于每个样本得到的输出角度。
  • 由于m是可用的,每个输出速率样本对应的输出角度也是可用的,因此在上述代码中直接实现式(3)来计算Allan方差(代码中的sigma2)。
  • Allan偏差(代码中的sigma)然后通过取AVAR的平方根,即用2.3节公式来计算。

四、往期回顾

课题学习(一)----静态测量
课题学习(二)----倾角和方位角的动态测量方法(基于磁场的测量系统)
课题学习(三)----倾角和方位角的动态测量方法(基于陀螺仪的测量系统)
课题学习(四)----四元数解法
课题学习(五)----阅读论文《抗差自适应滤波的导向钻具动态姿态测量方法》
课题学习(六)----安装误差校准、实验方法
课题学习(七)----粘滑运动的动态算法
课题学习(八)----卡尔曼滤波动态求解倾角、方位角
课题学习(九)----阅读《导向钻井工具姿态动态测量的自适应滤波方法》论文笔记
课题学习(十)----阅读《基于数据融合的近钻头井眼轨迹参数动态测量方法》论文笔记
课题学习(十一)----阅读《Attitude Determination with Magnetometers and Accelerometers to Use in Satellite》
课题学习(十二)----阅读《Extension of a Two-Step Calibration Methodology to Include Nonorthogonal Sensor Axes》
课题学习(十三)----阅读《Calibration of Strapdown Magnetometers in Magnetic Field Domain》论文笔记
课题学习(十四)----三轴加速度计+三轴陀螺仪传感器-ICM20602
课题学习(十五)----阅读《测斜仪旋转姿态测量信号处理方法》论文
课题学习(十六)----阅读《Continuous Wellbore Surveying While Drilling Utilizing MEMS Gyroscopes Based…》论文
课题学习(十七)----姿态更新的四元数算法总结
课题学习(十八)----捷联测试电路设计与代码实现(基于MPU6050和QMC5883L)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1401402.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

若依管理系统搭建教程,ruoyi-vue环境搭建

环境部署 准备工作 JDK > 1.8 (推荐1.8版本) Mysql > 5.7.0 (推荐5.7版本) Maven > 3.0 运行系统 1、前往Gitee下载页面([https://gitee.com/y_project/RuoYi (opens new window)](https://gitee.com/y_project/RuoYi))下载解压到工作目录 2、导入到Eclipse&#…

JavaScript之ES6新特性02

模板字符串 模板字符串&#xff08;template string&#xff09;是增强版的字符串&#xff0c;用反引号&#xff08;&#xff09;标识。它可以当作普通字符串使用&#xff0c;也可以用来定义多行字符串&#xff0c;或者在字符串中嵌入变量 。 模版字符串特点 内容中可以直接…

C#进程间消息传递

C#是一种流行的编程语言&#xff0c;它可以用于开发Windows应用程序。在开发Windows应用程序时&#xff0c;有时需要进行进程间通信&#xff0c;以实现不同进程之间的数据传递和交互。C#提供了多种方式来进行进程间消息传递&#xff0c;包括管道、共享内存、消息队列等。在本文…

chapter11-实战成绩通知短信系统(上)

恭喜各位同学&#xff01;当你看到这篇文章的时候&#xff0c;意味着你已经从刚开始的“一无所知”&#xff0c;变成了现在的“爬虫新手”&#xff01;在之前的文章中&#xff0c;我们从最基础的知识点讲起&#xff0c;一步一步的学习了怎么使用Python爬取我们想要获取的信息&a…

Angular系列教程之模板语法

文章目录 前言一、模板语法基础二、模板指令三、模板表达式四、模板语法示例五、注意事项五、总结 前言 Angular是一款流行的前端开发框架&#xff0c;它提供了许多功能和工具来简化前端开发过程。其中&#xff0c;模板语法是Angular中一个非常关键的组成部分&#xff0c;它可…

Leveraging Unlabeled Data for Crowd Counting by Learning to Rank

无标签人群技术&#xff0c;作者引入了一种排名。 利用的是一个图的人群数量一定小于等于包含这个图的图 生成排名数据集 作者提出了一种自监督任务&#xff0c;利用的是一个图的人群数量一定小于等于包含这个图的图 流程&#xff1a; 1.以图像中心为中心&#xff0c;划分一…

幻兽帕鲁保姆级搭建服务器,开服教程(LINUX)

一、购买与连接服务器 1.购买服务器 官方文档推荐的服务器要求CPU4核心内存8GB&#xff0c;所以我们要准备好一个4核8GB的服务器。(实测2核4GB的大概在5人左右就特别容易崩溃&#xff0c;CPU占用率在98%&#xff0c;内存占用很快就超过100%溢出&#xff0c;所以想要稳定最低最低…

从零开始的OpenGL光栅化渲染器构建4-延迟渲染及其类似应用

前言 首先介绍一下什么是延迟渲染。延迟渲染是一种先计算场景中的顶点、颜色、法线等信息&#xff0c;将其存入缓冲&#xff0c;再进行光照计算的渲染技术&#xff0c;与直接渲染是相对的概念。为了详细介绍延迟渲染&#xff0c;我们首先需要了解帧缓冲&#xff0c;以及帧缓冲…

C++入门学习(十)如何显示浮点数的完整形态

在C中&#xff0c;如果你想要显示浮点数的完整数字&#xff08;包括小数部分和指数部分&#xff09;&#xff0c;可以使用 std::setprecision 和 std::fixed 来设置精度和固定小数点表示&#xff1a; #include <iostream> #include <iomanip> // 必须包含这个头…

深入剖析:Kafka流数据处理引擎的核心面试问题解析75问(5.7万字参考答案)

Kafka 是一款开源的分布式流处理平台&#xff0c;被广泛应用于构建实时数据管道、日志聚合、事件驱动的架构等场景。本文将深入探究 Kafka 的基本原理、特点以及其在实际应用中的价值和作用。 Kafka 的基本原理是建立在发布-订阅模式之上的。生产者将消息发布到主题&#xff08…

Kafka-消费者-KafkaConsumer分析-Heartbeat

在前面分析Rebalance操作的原理时介绍到&#xff0c;消费者定期向服务端的GroupCoordinator发送HeartbeatRequest来确定彼此在线。 下面就来详细分析KafkaConsumer中Heartbeat的相关实现。 首先了解一下心跳请求和响应的格式。HeartbeatRequest的消息体格式比较简单&#xff…

CTFhub-bak文件

CTFhub-Web-信息泄露-备份文件下载-bak文件 题目信息 解题过程 看到提示说和index.php有关&#xff0c;在url后面加index.php.bak&#xff0c;跳转到http://challenge-7a4da2076cfabae6.sandbox.ctfhub.com:10800/index.php.bak网址&#xff0c;即&#xff1a; 跳转到下载页…

安装ddddocr中遇到的问题

1、需要先安装&#xff1a; pip3 install pyinstaller --no-use-pep517 pip install scikit-build pip install setuptools pip install pyinstaller pip install pillow 重要是的是保证一个python 环境&#xff0c;多个python环境会导致各种问题。并且保证python>3.8…

万辰集团十年经营首度亏损,泡沫式增长是喜是忧?

2023年&#xff0c;线下消费回暖复苏&#xff0c;零售领域更是繁花似锦。以量贩零食为代表的新业态蓬勃发展&#xff0c;引得众多资本和企业纷至沓来。 这一背景下&#xff0c;作为新兴量贩零食的典型代表之一&#xff0c;福建万辰生物科技集团股份有限公司&#xff08;以下简…

JavaEE中的监听器的作用和工作原理

在JavaEE&#xff08;Java Platform, Enterprise Edition&#xff09;中&#xff0c;监听器&#xff08;Listener&#xff09;是一种重要的组件&#xff0c;用于监听和响应Web应用程序中的事件。监听器的作用是在特定的事件发生时执行一些自定义的逻辑。常见的监听器包括Servle…

vue3中Fragment特性的一个bug,需要留意的注意事项

vue3中的Fragment 模版碎片特性是什么&#xff0c;简单的理解就是template模板代码不在像vue2中那样必须在根节点在包裹一层节点了。 vue2写法 <template><div><h1>标题</h1><p>正文内容</p></div> </template>vue3写法 &l…

医学图像的数据增强技术 --- 切割-拼接数据增强(CS-DA)

医学图像的新型数据增强技术 CS-DA 核心思想自然图像和医学图像之间的关键差异CS-DA 步骤确定增强后的数据数量 代码复现 CS-DA 核心思想 论文链接&#xff1a;https://arxiv.org/ftp/arxiv/papers/2210/2210.09099.pdf 大多数用于医学分割的数据增强技术最初是在自然图像上开…

滑动窗口求连续数列最大值(固定窗长和非固定窗长)

非固定窗长 思路&#xff1a; sum 0&#xff0c;max num[0], 依次遍历一个一个往前加&#xff0c;sum sum num[i], 如果sum[i] 小&#xff0c;则替换sum 如果sum > max&#xff0c; 则max sum; int maxSubArray(int* nums, int numsSize){int max nums[0];int sum …

圆的参数方程是如何推导的?

圆的参数方程是如何推导的? 1. 圆的三种参数表示2. 三角函数万能公式3. 回到圆的参数方程1. 圆的三种参数表示 已知圆的第一种参数方程为: x 2 + y 2 = r x^2+y^2=r x2+y2=r   圆的图像如下: 通过上图,不难理解,圆的参数方程还可以用三角函数表示,也就是第二种参数表…

从零开始配置pwn环境:sublime配置并解决pwn脚本报错问题

1.sublime安装 Download - Sublime Text ──(holyeyes㉿kali2023)-[~] └─$ sudo dpkg -i sublime-text_build-4169_amd64.deb [sudo] password for holyeyes: Selecting previously unselected package sublime-text. (Reading database ... 409163 files and directori…