到底哪種濾波算法好?互補濾波和卡爾曼濾波結果比較(轉)


看到有人說互補濾波跟卡爾曼濾波效果差不多,我是不相信的。不過單我自己說不行,要有結果,后來我就用下面的代碼進行測試,結果如下圖
<ignore_js_op> 
結果:果然兩濾波結果幾乎相同。黑色曲線是互補濾波結果,黃色曲線是卡爾曼濾波結果。兩者非常相似,所以需要把線條加粗才行
  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.     }
復制代碼

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM