特性:eg:Mpu6050 的加速度计,具有长期可靠,短期噪声 大,加速度计多采用低通滤波。陀螺仪,短时间可靠长期不稳定,故常用积分求角度,对陀 螺仪高通滤波。了解这些特性就可以有选择性的去设计滤波器了
C 程序源码:
/*===================================================================
**函数 : LPF_1st
**功能 : 一阶低通滤波
**备注 : deltaT 采样周期 M_PI= 3.1415926 Fcut 截止频率
** 函数原型:y(n) = (1-a)y(n-1)+a*x(n)
**==================================================================*/
/*----------------------一阶低通滤波器系数计算-------------------------*/
float LPF_1st_Factor_Cal(float deltaT, float Fcut)
{
return deltaT / (deltaT + 1 / (2 * M_PI * Fcut));
}
/*----------------------一阶低通滤波器------------------------*/
float LPF_1st(float oldData, float newData, float lpf_factor)
{
return oldData * (1 - lpf_factor) + newData * lpf_factor;
}
说明:低通滤波器。Mpu6050 内部滤波器的频率典型值为 5Hz,我们一般设置 42Hz,这样 硬件初步滤波,然后在软件在滤波一次,截止频率我设置 10Hz,你也可以尝试下 5Hz, 20Hz, 高的就不用设置了,因为硬件已经滤过一次,软件再滤没什么效果了。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。