圣龙扬特-AVR电子

标题: 请问你们对互补滤波了解的多吗?可以教我吗? [打印本页]

作者: wangyao19920204    时间: 2013-3-13 18:43
标题: 请问你们对互补滤波了解的多吗?可以教我吗?
如题,做今年飞思卡尔的光电平衡组,到现在还没有站起来啊,心里很是着急,之前在网上找了互补滤波的程序,用了之后发现滤波的效果不是很好,想改互补滤波算法里的参数,可是又不懂胡波滤波,请各位大侠帮我看看这个程序,给我讲讲,多谢~~~

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

[attach]377[/attach]


附:互补滤波的算法

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;

}


作者: yoya0303    时间: 2013-3-13 19:16
理论基础不过关还想玩复杂的  那有什么办法呢?
个人非常讨厌非死卡儿
楼主 看不懂请自己翻阅自动控制原理和数字信号处理
如果说没时间/懒得翻书/看不懂的话 请楼主退出比赛吧 啥啥不会比个鸟赛啊


作者: wangyao19920204    时间: 2013-3-13 19:45
yoya0303 发表于 2013-3-13 19:16
理论基础不过关还想玩复杂的  那有什么办法呢?
个人非常讨厌非死卡儿
楼主 看不懂请自己翻阅自动控制原理 ...

受教了,不问了,自己看书
作者: wangyao19920204    时间: 2013-3-13 19:45
yoya0303 发表于 2013-3-13 19:16
理论基础不过关还想玩复杂的  那有什么办法呢?
个人非常讨厌非死卡儿
楼主 看不懂请自己翻阅自动控制原理 ...

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

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

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

QR的值我也不知道是什么确定的,我只知道QR的和为1.我自己也改过QR的值,改了之后滤波的效果更差,过冲更加明显。。。
作者: 小毛驴    时间: 2013-3-13 20:05
wangyao19920204 发表于 2013-3-13 19:58
蓝色的就是融合后的角度,红色的是角速度,黄色的是加速度计X和Z轴经过积分后得到的角度。

上面贴的程序 ...

你是指现在陀螺仪过冲么?
作者: wangyao19920204    时间: 2013-3-13 20:10
小毛驴 发表于 2013-3-13 20:05
你是指现在陀螺仪过冲么?

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




欢迎光临 圣龙扬特-AVR电子 (http://avr.cnta.net/) Powered by Discuz! X2.5