陀螺仪和加速度计互补滤波的一些推导

2023-05-16

1、首先,简单介绍一下加速度计和陀螺仪的一些特性。

加速度计:静态稳定性好,动态响应较慢,在高频时信号不可用,在运动时其数据相对不可靠。

陀螺仪:   动态性能好,响应快,积分后可测倾角,在低频段信号不好,存在零漂现象。

2、一维互补滤波算法推导

首先,直接给出两个传感器测量表达式:

\left.\begin{matrix} z_{1}=x+u & \\ z_{2}=x+v& \end{matrix}\right\}

其中,x为真值,设u,v为零均值量测噪声,u为高频噪声,v为低频噪声,z_{1},z_{2}均为传感器测量值。

接着,设x的估计值为\hat{x},按照线性假设有

\hat{x}=k_{1}z_{1}+k_{2}z_{2}

其中,k_{1},k_{2}为待定的线性加权系数。

设估计偏差为\tilde{x},其中\tilde{x}=\hat{x}-x,根据无偏估计,有

E[\tilde{x}]=E[\hat{x}-x] =E[{k_{1}(x+u)+k_{2}(x+v)-x}] =({k_{1}+{k_{2}-1)E(x) =({k_{1}+{k_{2}-1)x=0;

可推得{k_{1}+k_{2}-1=0},    即       k_{1}+k_{2}=1

以上可以理解为传统的WLS。

【注】这里如果知道量测噪声是符合高斯分布的话,直接可以算偏差的方差最小,求得估计值跟其噪声的方差的关系。

下面假设k_{1}(s),k_{2}(s)分别为低通(LPF)、高通滤波器(HPF)的传递函数,则有

\hat{x}(s)=k_{1}(s)z_{1}(s)+k_{2}(s)z_{2}(s)=\frac{1}{fs+1}z_{1}(s)+\frac{fs}{fs+1}z_{2}(s)

整理上式子

fs\hat{x}(s)+\hat{x}(s)=z_{1}(s)+fsz_{2}(s)

反变换有

f\dot{\hat{x}}(t)+\hat{x}(t)=z_{1}(t)+f\dot{\hat{z_{2}}}(t)

离散处理

f\frac{\hat{x}(k)-\hat{x}(k-1)}{T}+\hat{x}(k)=z_{1}(k)+f\frac{z_{2}(k)-z_{2}(k-1)}{T}

整理过程

f\hat{x}(k)-f\hat{x}(k-1)+T\hat{x}(k)=Tz_{1}(k)+fz_{2}(k)-fz_{2}(k-1)

(f+T)\hat{x}(k)=f\hat{x}(k-1)+fz_{2}(k)-fz_{2}(k-1)+Tz_{1}(k)

得到有

\hat{x}(k)=\frac{f}{f+T}[\hat{x}(k-1)+z_{2}(k)-z_{2}(k-1)]+\frac{T}{f+T}z_{1}(k)

a=\frac{T}{f+T}

则有

\hat{x}(k)=(1-a)[\hat{x}(k-1)+z_{2}(k)-z_{2}(k-1)]+az_{1}(k)

如果z_{1}(k),z_{2}(k)分别是加速度计(反正切得到的角度)和陀螺仪(积分出来后角度)的测量值,则算法有

angle=(1-a)(anglelast+Gyro\cdot dt)+a\cdot Acc

其中,Gyro为角速度,Acc为角度。

3、取值信任度问题

这里取值问题将涉及一个信任度的问题,即我们无人机在何种状态信任加速度计和陀螺仪的一个权值大小,比如悬停状态。

3、二阶互补滤波

二阶低通滤波器传递函数

LPF=\frac{a_{2}s+a_{3}}{b_{1}s^{2}+b_{2}s+b3}

二阶高通滤波器传递函数

HPF=1-LPF=1-\frac{a_{2}s+a_{3}}{b_{1}s^{2}+b_{2}s+b3}=\frac{a_{1}s^{2}}{b_{1}s^{2}+b_{2}s+b3}

\hat{x}(s)=k_{1}(s)z_{1}(s)+k_{2}(s)z_{2}(s)=\frac{a_{2}s+a_{3}}{b_{1}s^{2}+b_{2}s+b3}z_{1}(s)+\frac{a_{1}s^{2}}{b_{1}s^{2}+b_{2}s+b3}z_{2}(s)

emmm暂时就先总结到这把.........

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

陀螺仪和加速度计互补滤波的一些推导 的相关文章

随机推荐

  • 计算机视觉 | 面试题:43、OpenCV框架与图像插值算法

    01 OpenCV框架与图像插值算法 1 1 简介 在图像处理中 xff0c 平移变换 旋转变换以及放缩变换是一些基础且常用的操作 这些几何变换并不改变图象的象素值 xff0c 只是在图象平面上进行象素的重新排列 在一幅输入图象 u xff
  • 史上最全阿里技术面试题目

    题目目录 技术一面 基础面试题目 技术二面 xff08 技术深度 技术原理 xff09 项目实战 xff08 项目模拟面试 xff09 JAVA开发技术常问的问题阿里必会知识阿里面试范畴阿里面试总结 一 xff1a 阿里技术一面 基础掌握牢
  • docker清理无用的镜像

    要清理无用的 Docker 镜像 xff0c 可以运行以下命令 xff1a docker image prune 该命令将删除所有没有被任何容器使用的镜像 如果您还想要删除未被打标签的镜像 xff0c 可以在命令后面添加 a 参数 xff0
  • SNMPv3 - 用户安全模型

    SNMPv3 用户安全模型 这是描述SNMP协议第三版安全特征的两篇文章中的第一篇 SNMPv3 RFCs描述了一个新的框架用于定义SNMP第一 第二和第三版规范之间的关系 这个框架以模块的方式划分并且绝大部分依赖以前的工作 例如 SNMP
  • 【Linux学习笔记(八)】之系统API与库函数的关系以及open,close,read,write函数介绍

    本文章由公号 开发小鸽 发布 xff01 欢迎关注 xff01 xff01 xff01 老规矩 妹妹镇楼 xff1a 一 xff0e 系统api与库函数的关系 xff08 一 xff09 调用库函数的流程 当我们使用一些库函数 xff0c
  • 全程技术干货:VR画面渲染性能是这样提升的

    本文您将了解到 xff1a 1 xff0c VR渲染面临什么问题 xff1f 2 xff0c 如何做好VR的渲染 xff1f 3 xff0c 怎样提升VR渲染的性能 xff1f 渲染对于VR内容的开发来说 xff0c 是非常重要的议题 但在
  • Python微信小程序,实现自动回复等功能(itchat模块)

    本文是使用Python的itchat模块进行微信私聊消息以及群消息的自动回复功能 xff0c 必须在自己的微信中添加微信号xiaoice ms xff08 微软的微信机器人 xff09 才能实现 xff0c 直接复制代码运行之后扫一扫二维码
  • bash 运行文件#!bin/bash

    文章目录 1 如何使用Chmod使Bash脚本可执行2 shell教程2 0 运行程序2 1 for 循环2 1 1 单层for循环2 1 2 两层for循环2 1 3 循环列表 2 2 文件读写2 2 1 保存到文件2 2 2 终端的输出
  • 使用CCS给TM4C123系列新建工程

    准备工作 xff1a 下载CCS开发环境 xff0c 这种用的版本是 xff1a Code Composer Studio Version 8 3 0 00009 下载TivaWare工具包 xff1a TivaWare 第一步 xff1a
  • 使用CCS移植FreeRTOS至TM4C123系列

    使用新建好的工程 xff0c 见上一篇博文 xff1a 使用CCS给TM4C123系列MCU新建工程 第一步 xff1a 在自己的工程下新建一个FreeRTOS文件夹 xff0c 在这个文件夹下新建两个文件夹 xff1a src和port
  • Raspberry Pi B安装系统,无需显示屏玩转树莓派

    准备物品 xff1a 1 树莓派开发板 xff0c 我的是B型 xff08 比较老 xff0c 建议买2B 43 xff09 xff1b 2 SD卡 xff0c 用于存储 xff0c 我用的是16G的 xff08 最低多少G我没查 xff0
  • Win10安装DNW相关驱动

    我用的是开发板使用的是S5PV210的芯片 xff0c 想要使用DNW工具进行烧录程序就要先安装相关的驱动 下面我来说一下安装的具体步骤 xff0c 因为常规方法是没有办法正常安装的 1 禁用驱动签名 步骤一 xff1a 要先禁止掉系统的强
  • 从零开始编写一个上位机(串口助手)QT Creator + C++

    提示 xff1a 本博客作为学习笔记 xff0c 有错误的地方希望指正 xff0c 此文可能会比较长 xff0c 作为学习笔记的积累 xff0c 希望对来着有帮助 绪论 xff1a 笔者这里使用的是QTCreator和C 43 43 来实现
  • MPU6050对卡尔曼、一阶互补滤波、二阶互补滤波的比较

    这是总体的滤波效果 这是放大的版的 可以看出 xff0c 卡尔曼和二阶基本在重合在一起 xff0c 一阶也还好 xff0c 也没有差得太远 这里是从一放在桌子上一段时间后再进行测试的 xff0c 可以看出一阶的跟随性上面要比其他二个都要好
  • 基于UCOSIII+机智云的远程空调遥控器

    一年前 xff0c 我通过师兄的介绍知道了机智云这家创业公司 xff0c 后来 xff0c 他们的经理来我们学校开了一次宣讲会 xff0c 然后我就以个人开发者的名义申请了他们家的GoKit2代开发板 xff0c 开始对这家公司有一定的关注
  • VMware Workstation12安装Ubuntu和VMware Tools教程

    之前我通过百度经验上的过程来安装Ubuntu16 xff0c 但是每次安装的时候没有什么问题 xff0c 就是安装好了Tools xff0c 也设置好了共享文件夹 xff0c 但是在路径 xff1a mnt hgfs 下每次都找不到共享文件
  • IIC上拉电阻的选择

    上周项目评审的时候 xff0c 评审部门问了我一个问题 xff1a 为什么单片机内部有上拉电阻 xff0c 你们还要用外部的上拉电阻 xff1f 我的答复如下 xff1a 上拉电阻的选取要考虑上限值和下限值这两点 xff1a 上限值的最大限
  • 手写RTOS-创建工程

    今天开始我手写RTOS的第一步 xff0c 创建一个工程 这个工程要能够在MDK环境中能够进行编译和仿真 xff0c 不用借助任何的开发板和仿真器 xff0c 完全基于Cotex M3内核进行实验 现在我们开始创建这一个工程 xff0c 首
  • STM8S之TIM2_CH1输出不了PWM波解决办法

    最近由于项目需要 xff0c 用到STM8S103F3P6 xff0c 开发方式采用库函数方式开发 xff0c 编译环境为ST Visual Develop 43 Cosmic CxSTM8 32K 4 3 4 初始化PWM的程序如下 xf
  • 陀螺仪和加速度计互补滤波的一些推导

    1 首先 xff0c 简单介绍一下加速度计和陀螺仪的一些特性 加速度计 xff1a 静态稳定性好 xff0c 动态响应较慢 xff0c 在高频时信号不可用 xff0c 在运动时其数据相对不可靠 陀螺仪 xff1a 动态性能好 xff0c 响