
算法
大写的小写字母
想要一只小狗勾
展开
-
快速排序算法——陀螺仪原始数据处理
在陀螺仪原始数据滤波时,需要用到排序算法去除最大最小值,首先想到的就是冒泡排序,但是由于冒泡排序时间复杂度高,所以就学习了一下更为高效的快速排序,在此记录,聊胜于无。关键点:1、找到基准元素对应的正确顺序位置2、以这个位置前后进行递归找到基准元素对应的正确顺序位置假设一个数组为[15,3,2,45,99],一般来说都以数组的第一个元素为基准元素 所以基准元素:val = 15;队尾指针:先从数组末尾开始往前搜索,大于等于基准元素的不管,继续往前,如果小于基准元素,就把这个值直接给到队首指针当前原创 2020-07-22 23:24:17 · 1528 阅读 · 0 评论 -
MPU6050姿态解算——Mahony互补滤波
引入DMP与互补滤波数据对比Long time no see,首先放一张图,黄色的是DMP获取的Pitch角数据,紫红色的是互补滤波解算的Pitch角数据(人为晃动陀螺仪增加了干扰)。DMP与互补滤波的优缺点分析DMP互补滤波不需要了解姿态解算知识,直接调用库函数,操作简单需要掌握一定的姿态解算知识解算速度慢,最大只能到200Hz速度快,而且随着单片机主频提高会更快真实性差真实性较好从上面的曲线图结合我实际的干扰,在我大范围晃动陀螺仪的时候,DMP的角度原创 2020-07-18 11:37:43 · 18958 阅读 · 66 评论 -
简单易学的几大经典滤波算法(含代码及仿真)
一、限幅滤波法设定两次采样允许的最大偏差为A如果(本次值-上次值)的绝对值大于A,则本次值无效,用上次值代替本次值如果(本次值-上次值)的绝对值大于A,则本次值有效,采用本次值import numpy as np from matplotlib import pyplot as pltplt.rcParams['font.sans-serif']=['SimHei']...原创 2020-04-22 13:52:27 · 4127 阅读 · 2 评论 -
卡尔曼滤波学习及python仿真
在这里我就不介绍卡尔曼的数学推算了,网上的数学推导一抓一大把,如果想了解推导过程的小伙伴可以去大佬的博客。如果你是想直接简单运用卡尔曼滤波来处理mpu6050的数据,或者是处理ADC的数据,那么我希望这篇笔记可以帮助到你。卡尔曼滤波(Kalman filtering)是一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。卡尔曼滤波简介:你可能经常听学长学姐提起这个...原创 2020-04-20 17:46:34 · 1941 阅读 · 0 评论