微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 到底哪种滤波算法好?互补滤波和卡尔曼滤波结果比较

到底哪种滤波算法好?互补滤波和卡尔曼滤波结果比较

时间:10-02 整理:3721RD 点击:
看到有人说互补滤波跟卡尔曼滤波效果差不多,我是不相信的。不过单我自己说不行,要有结果,后来我就用下面的代码进行测试,结果如下图


结果:果然两滤波结果几乎相同。黑色曲线是互补滤波结果,黄色曲线是卡尔曼滤波结果。两者非常相似,所以需要把线条加粗才行

  1. //每10ms执行一次
  2.     if((millis() - time) >= 10)
  3.     {
  4.         digitalWrite(14, HIGH);//用于测试程序运行时间
  5.            
  6.         time = millis();
  7.            
  8.         //读传感器数据
  9.         mpu_get_data();
  10.            
  11.         digitalWrite(13, HIGH);

  12.         //互补滤波
  13.         angle_hb = (0.98) * (angle_hb - mpu_data.y_gyro_f * 0.01) + (0.02)*(mpu_data.x_accel_f);

  14.         //卡尔曼滤波
  15.         Kalman_Filter(mpu_data.x_accel_f, -mpu_data.y_gyro_f);

  16.         digitalWrite(13, LOW);   
  17.       
  18.         //串口发送数据
  19.         Serial3.print(-mpu_data.y_gyro_f);
  20.         Serial3.print(",");
  21.         Serial3.print(mpu_data.x_accel_f);
  22.         Serial3.print(",");
  23.         Serial3.print(angle_hb);
  24.         Serial3.print(",");
  25.         Serial3.print(angle);
  26.         Serial3.println("");
  27.            
  28.         digitalWrite(14, LOW);
  29.     }

复制代码



大神你好,能否附上代码里面的子程序,以供小弟学习

路过,学习一下

核心代码呢?想学习一下

小编威武!1

只有包装好的函数看不出来啊。

大神你好,学习了

谢谢,不知您是否有开源的导航算法代码?

具体可百度颖展ic芯片进官网查询一下

目测  小编在用arduino系类单片机!不过没有看到全部的代码,有点小失望,有点想炫的感觉

不懂                          

能否给个滤波这一块的代码

大神你好,是不不同的需求用不同的比较好?

Arduino的代码?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top