
算法
文章平均质量分 87
L_KAYA
这个作者很懒,什么都没留下…
展开
-
卡尔曼滤波器阶次问题
有人私信我说,卡尔曼滤波的时候加速度认为保持不变似乎不妥其实这个可以理解为对加速度a作了零阶保持,即认为a(k+1)=a(k),上面一共三个变量,因此我将其称为三维零阶卡尔曼算法。当然这里也可以替换成一阶保持甚至二阶保持。对于一阶保持,a(k+1)=a(k)+[a(k)-a(k-1)],也就是多了一个微分项那么上面的矩阵以微分表示为或直接以变量表示也就变成了四维一阶卡尔曼算法。二阶保持同理,再多一个加速度的二次微分,成为五维二阶卡尔曼。当我们只需要对一个变量进行滤波时,一原创 2020-10-30 15:14:34 · 2605 阅读 · 2 评论 -
基于加速度计与气压计的三阶卡尔曼滤波计算加速度、速度及高度
本文主要介绍了卡尔曼滤波器的使用原理,给出了matlab代码,并在STM32F407平台对卡尔曼滤波器进行了验证,传感器为MPU6050与DPS310,测试结果令人满意,速度与高度无累积误差。系统状态方程在开始讲卡尔曼滤波器之前需要先提一下状态方程。因为卡尔曼的计算公式是建立在状态方程上的,所以我们需要先写出系统的状态方程。离散状态方程为:其中X(k)为当前状态,X(k+1)为下一...原创 2020-08-23 20:13:47 · 21336 阅读 · 42 评论 -
加速度频域积分的实现及其局限性分析
首先,相信大家都尝试过直接在时域中通过加速度传感器积分得到位移。在加速度精度不高或者加速度数据不经处理的情况下,积分得到的位移量会一直有一个累计误差,而且会越来越大,这时有人就会把目光移到频域中,在频域中对加速度进行积分会怎样呢?会不会有出乎意料的效果呢?什么是频域积分单片机或者传感器采样得到的点都是离散的,在时域中,对于离散点的积分就是求和。而频域积分需要先把时域的数组通过快速傅...原创 2020-08-23 20:13:33 · 25915 阅读 · 48 评论 -
matlab使用polyfit拟合一次函数时的注意事项
在做数据处理时我们常常会使用matlab中的曲线拟合函数polyfit,然而使用polyfit的工程中遇到了一些坑。鉴于网上大部分文章只说明了polyfit的使用方法,并没有谈这个问题,所以分享一下这个坑点。polyfit简介polyfit是专门用来拟合多项式的一个函数,函数用法如下:p = polyfit(x,y,n);[p,S] = polyfit(x,y,n);[p,S,m...原创 2020-05-02 16:04:49 · 4750 阅读 · 0 评论