智能车制作

标题: 互补滤波公式的解释 [打印本页]

作者: 共和时代    时间: 2013-9-29 12:22
标题: 互补滤波公式的解释
x_acc = (float)(x_acc_ADC – x_acc_offset) * x_acc_scale;

gyro = (float)(gyro_ADC – gyro_offset) * gyro_scale;

angle = (0.98)*(angle + gyro * dt) + (0.02)*(x_acc);
谁能给我解释这几个的意思?我看见有很多版本,都不知道该信谁了?





作者: 共和时代    时间: 2013-9-30 11:52
angle = (0.98)*(angle + gyro * dt) + (0.02)*(x_acc);

     1、其中angle+gyro*dt是积分部分。(角度+角速度*取样周期)。
     2、(0.98)*(angle + gyro * dt),是高通部分,作用于陀螺仪上。
     3、(0.02)*(x_acc)是低通部分,作用于加速度计。
     4、其中0.98,0.02是可以根据自己的情况修改的。公式原样应该是angle = (a)*(angle + gyro * dt) + (1-a)*(x_acc);时间常数t=(a*dt)/(1-a) , 得到a=t/(t+dt)。dt为取样周期,t为时间常数自己设定,一般小于1.
比如取样周期为100HZ,也就是0.01s,那么dt=0.01。时间常数设为0.5(自己去试验),那么a=0.5/(0.5+0.01)=0.9804。
那么angle = (0.9804)*(angle + gyro * dt) + (0.0196)*(x_acc);
     5、然后有不对的大家讨论一下啊。

作者: wmslecz    时间: 2014-3-11 16:27
共和时代 发表于 2013-9-30 11:52
angle = (0.98)*(angle + gyro * dt) + (0.02)*(x_acc);

     1、其中angle+gyro*dt是积分部分。(角度+ ...

哥们..你还有互补平衡的资料吗?可以分享一点给我吗?谢谢哈..

作者: hymwgk    时间: 2014-4-12 11:13
这个程序好像和官方的不一样啊,官方的变换之后好像没有高通低通之前的系数啊  搞不懂
作者: zhang116    时间: 2014-4-19 22:28
不是卡尔曼?

作者: 仪124    时间: 2014-8-29 10:47
共和时代 发表于 2013-9-30 11:52
angle = (0.98)*(angle + gyro * dt) + (0.02)*(x_acc);

     1、其中angle+gyro*dt是积分部分。(角度+ ...

解释的很详细,多谢。多问一句,角速度积分乘0.01之后再乘一个常数可以不·?我看一些文档里这样写的。

作者: 尖峰大鲨鱼。    时间: 2014-10-2 16:07

作者: CRZH    时间: 2014-10-3 12:59
第一个 第二个是  获得零偏之后的  值  第三个是互补滤波 就是  

请看附件 有视频解释 和程序
作者: 々律°~    时间: 2014-10-10 13:11

作者: baikunfeng    时间: 2014-10-27 23:03
CRZH 发表于 2014-10-3 12:59
第一个 第二个是  获得零偏之后的  值  第三个是互补滤波 就是  

请看附件 有视频解释 和程序

能不能发给我下?
249205649@qq.com    谢谢了

作者: 刘德华    时间: 2017-4-22 20:02
本帖最后由 刘德华 于 2017-4-22 20:08 编辑

、其中angle+gyro*dt是积分部分。(角度+角速度*取样周期)。
我以为是角度+角加速度*取样周期????
作者: znjqr    时间: 2017-4-23 11:11

这个程序好像和官方的不一样啊,官方的变换之后好像没有高通低通之前的系数啊  搞不懂




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2