濾波演算法總結

2021-07-10 23:07:21 字數 739 閱讀 2599

double compfilter( double angleout , double newangle , double newgyro , double dt ,float tau )

* 輸入

* dt:兩次取樣時間間隔

* tau:反應慣性濾波的係數

* angleout:上次角度輸出值

* newangle:角速度計得到的角度值

* newgyro:陀螺儀的角速度值

* 輸出

* 互補濾波計算得到的角度值

先驗**方差

kalman增益矩陣的計算

增益矩陣

後驗**值

後驗**方差

//之前需要定義的變數

float q_angle = 0.01;

float q_gyro = 0.0003;

float r_angle = 0.01;

float x_bias = 0;

float p_00 = 0, p_01 = 0, p_10 = 0, p_11 = 0;

float y, s; float k_0, k_1;

double kalmanfilter(double angleout , double newangle, double newrate,double dt)

濾波演算法總結

1 限幅濾波法 又稱程式判斷濾波法 a 方法 根據經驗判斷,確定兩次取樣允許的最大偏差值 設為a 每次檢測到新值時判斷 如果本次值與上次值之差 a,則本次值有效 如果本次值與上次值之差 a,則本次值無效,放棄本次值,用上次值代替本次值 b 優點 能有效克服因偶然因素引起的脈衝干擾 c 缺點 無法抑制...

幾種濾波演算法,總結一下

最近在做武術擂台,發現對於紅外測距感測器的返回值速度很快,但是誤差值很大,經過簡單函式調校之後,發現還是有誤差,有干擾資料,於是匯入了math.h,進行的絕對值濾波,但是用迴圈暫存了十組資料,進行簡單的加權演算法,發現還是不行,於是去找了一些經典的濾波演算法,算是簡單記錄一下。分享給大家。1 限幅濾...

濾波演算法 遞推平均濾波法

基本方法 採用佇列作為測量資料儲存器,設佇列的長度為n 每進行一次測量,把測量結果放於隊尾,而扔掉原來隊首的乙個資料,這樣在佇列中始終就有n個 最新 的資料。當計算平均值時,只要把佇列中的n個資料進行算數平均,就可得到新的算數平均值。這樣每進行一次測量,就可得到乙個新的算術平均值。其程式如下所示 i...