圣龙扬特-AVR电子

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1399|回复: 7
打印 上一主题 下一主题

请问你们对互补滤波了解的多吗?可以教我吗?

[复制链接]

14

主题

0

好友

855

积分

高级会员

Rank: 4

UID
64
帖子
50
精华
0
注册时间
2013-3-1
在线时间
50 小时
跳转到指定楼层
楼主
发表于 2013-3-13 18:43:13 |只看该作者 |倒序浏览
如题,做今年飞思卡尔的光电平衡组,到现在还没有站起来啊,心里很是着急,之前在网上找了互补滤波的程序,用了之后发现滤波的效果不是很好,想改互补滤波算法里的参数,可是又不懂胡波滤波,请各位大侠帮我看看这个程序,给我讲讲,多谢~~~

附:滤波之后的波形图片(过冲好像比较大)




附:互补滤波的算法

void kalman_update(void)
{
    float Q =0.85,R = 0.15;
    static float RealData = 0;
    float gyroscope_rate = 0,accelerometer_angle=0;
    float Acc_x = 0,Acc_z = 0, Gyro=0;

    Acc_x =(float) gyro_Xvalue;
    Acc_z =(float) gyro_Zvalue;
    Gyro  =(float) enc03_value;
          
    Gyro_Data  = Gyro;   
    OutData[0] = Gyro_Data;

    accelerometer_angle = atan2f(-Acc_x,Acc_z);//加速计算出的角度
    OutData[1] = accelerometer_angle*1000;

    gyroscope_rate = Gyro*0.0023;                  //(3300/4096)/(0.67*9.1)*(3.14/180) =  0.0023                                             

    RealData = Q*(RealData + gyroscope_rate*0.01) + R*(accelerometer_angle);   

    QingJiao =  RealData*1000;  
    OutData[2] = QingJiao;

}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

回复

使用道具 举报

7

主题

0

好友

3176

积分

超级版主

Rank: 8Rank: 8

UID
48
帖子
30
精华
2
注册时间
2013-2-28
在线时间
27 小时
沙发
发表于 2013-3-13 19:16:40 |只看该作者
理论基础不过关还想玩复杂的  那有什么办法呢?
个人非常讨厌非死卡儿
楼主 看不懂请自己翻阅自动控制原理和数字信号处理
如果说没时间/懒得翻书/看不懂的话 请楼主退出比赛吧 啥啥不会比个鸟赛啊

回复

使用道具 举报

14

主题

0

好友

855

积分

高级会员

Rank: 4

UID
64
帖子
50
精华
0
注册时间
2013-3-1
在线时间
50 小时
板凳
发表于 2013-3-13 19:45:02 |只看该作者
yoya0303 发表于 2013-3-13 19:16
理论基础不过关还想玩复杂的  那有什么办法呢?
个人非常讨厌非死卡儿
楼主 看不懂请自己翻阅自动控制原理 ...

受教了,不问了,自己看书
回复

使用道具 举报

14

主题

0

好友

855

积分

高级会员

Rank: 4

UID
64
帖子
50
精华
0
注册时间
2013-3-1
在线时间
50 小时
地板
发表于 2013-3-13 19:45:25 |只看该作者
yoya0303 发表于 2013-3-13 19:16
理论基础不过关还想玩复杂的  那有什么办法呢?
个人非常讨厌非死卡儿
楼主 看不懂请自己翻阅自动控制原理 ...

受教了,不问了,自己看书
回复

使用道具 举报

14

主题

0

好友

3519

积分

超级版主

Rank: 8Rank: 8

UID
50
帖子
115
精华
1
注册时间
2013-2-28
在线时间
39 小时

突出贡献

5#
发表于 2013-3-13 19:52:19 |只看该作者
这个东西看书有时也不行。你这只用了三周加速度?貌似加速度要和陀螺仪融合一下,然后再滤波吧。我去年参见的飞思卡尔可是没做电磁。你最好搞几个产赛论文看一看~我有时间帮你找一点~。楼上这个程序不全呀~Q还有R的值应该是根据你硬件的值调出来的吧~???
回复

使用道具 举报

14

主题

0

好友

855

积分

高级会员

Rank: 4

UID
64
帖子
50
精华
0
注册时间
2013-3-1
在线时间
50 小时
6#
发表于 2013-3-13 19:58:21 |只看该作者
小毛驴 发表于 2013-3-13 19:52
这个东西看书有时也不行。你这只用了三周加速度?貌似加速度要和陀螺仪融合一下,然后再滤波吧。我去年参见 ...

蓝色的就是融合后的角度,红色的是角速度,黄色的是加速度计X和Z轴经过积分后得到的角度。

上面贴的程序只是互补滤波主要算法,不全。

QR的值我也不知道是什么确定的,我只知道QR的和为1.我自己也改过QR的值,改了之后滤波的效果更差,过冲更加明显。。。
回复

使用道具 举报

14

主题

0

好友

3519

积分

超级版主

Rank: 8Rank: 8

UID
50
帖子
115
精华
1
注册时间
2013-2-28
在线时间
39 小时

突出贡献

7#
发表于 2013-3-13 20:05:24 |只看该作者
wangyao19920204 发表于 2013-3-13 19:58
蓝色的就是融合后的角度,红色的是角速度,黄色的是加速度计X和Z轴经过积分后得到的角度。

上面贴的程序 ...

你是指现在陀螺仪过冲么?
回复

使用道具 举报

14

主题

0

好友

855

积分

高级会员

Rank: 4

UID
64
帖子
50
精华
0
注册时间
2013-3-1
在线时间
50 小时
8#
发表于 2013-3-13 20:10:02 |只看该作者
小毛驴 发表于 2013-3-13 20:05
你是指现在陀螺仪过冲么?

是融合后的角度(蓝色的那条线)在互补滤波后还有过冲
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|圣龙扬特-AVR电子 ( 鲁ICP备05022832号 )

GMT+8, 2024-12-22 10:41 , Processed in 0.230769 second(s), 19 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部