OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3206|回复: 2

卡尔莫滤波 效果怎么会延迟的那么厉害,要4秒之后数据才出来

[复制链接]

3

主题

8

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2016-8-25
在线时间
5 小时
发表于 2016-8-27 09:48:53 | 显示全部楼层 |阅读模式
这段滤波程序有没有问题啊,  反应也太慢了,,板子都稳定4秒了  串口看的数据才慢慢的稳定  比如 从0到30要用4秒的时间
[mw_shl_code=applescript,true]void Kalman_Filter(float  Gyro,float Actcel)
{
        Angle+=(Gyro - Q_bias) * dt;           //ÏèÑé1à¼Æ

       
        Pdot[0]=Q_angle - PP[0][1] - PP[1][0]; // Pk-ÏèÑé1à¼ÆÎó2îD-·½2îμÄ΢·Ö

        Pdot[1]= -PP[1][1];
        Pdot[2]=-PP[1][1];
        Pdot[3]=Q_gyro;
       
        PP[0][0] += Pdot[0] * dt;   // Pk-ÏèÑé1à¼ÆÎó2îD-·½2î΢·ÖμÄ»y·Ö
        PP[0][1] += Pdot[1] * dt;   // =ÏèÑé1à¼ÆÎó2îD-·½2î
        PP[1][0] += Pdot[2] * dt;
        PP[1][1] += Pdot[3] * dt;
               
        Angle_err = Accel - Angle;
       
        PCt_0 = C_0 * PP[0][0];
        PCt_1 = C_0 * PP[1][0];
       
        E = R_angle + C_0 * PCt_0;
       
        K_0 = PCt_0 / E;
        K_1 = PCt_1 / E;
       
        t_0 = PCt_0;
        t_1 = C_0 * PP[0][1];

        PP[0][0] -= K_0 * t_0;                 //oóÑé1à¼ÆÎó2îD-·½2î
        PP[0][1] -= K_0 * t_1;
        PP[1][0] -= K_1 * t_0;
        PP[1][1] -= K_1 * t_1;
               
        Angle        += K_0 * Angle_err;         //oóÑé1à¼Æ
        Q_bias        += K_1 * Angle_err;         //oóÑé1à¼Æ
        Gyro_x   = Gyro - Q_bias;         //êä3öÖμ(oóÑé1à¼Æ)μÄ΢·Ö=½ÇËù¶è
        calculate_PWM(Gyro_x,Angle);
printf("%f\n",Angle);
}
[/mw_shl_code]


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2016-8-27 10:01:03 | 显示全部楼层
算法问题或是性能不足。
估计是算法,STM32卡尔曼滤波做小车做飞机的很多,不会那么延迟的
回复 支持 反对

使用道具 举报

3

主题

8

帖子

0

精华

新手上路

积分
25
金钱
25
注册时间
2016-8-25
在线时间
5 小时
 楼主| 发表于 2016-8-27 13:46:44 | 显示全部楼层
问题解决了    我增大定时器频率100倍  闪电般输出   实时效果非常好
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-30 14:53

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表