10種軟體濾波方法

2021-08-03 21:41:11 字數 2509 閱讀 1485

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

限副濾波 

​2、中位值濾波法  a、方法:  連續取樣n次(n取奇數)  把n次取樣值按大小排列  取中間值為本次有效值  b、優點:  能有效克服因偶然因素引起的波動干擾  對溫度、液位的變化緩慢的被測引數有良好的濾波效果  c、缺點:  對流量、速度等快速變化的引數不宜  

中位值濾波法    #define n 11  char filter()    }  }  return value_buf[(n-1)/2];  }  ​​

3、算術平均濾波法  a、方法:  連續取n個取樣值進行算術平均運算  n值較大時:訊號平滑度較高,但靈敏度較低  n值較小時:訊號平滑度較低,但靈敏度較高  n值的選取:一般流量,n=12;壓力:n=4  b、優點:  適用於對一般具有隨機干擾的訊號進行濾波  這樣訊號的特點是有乙個平均值,訊號在某一數值範圍附近上下波動  c、缺點:  對於測量速度較慢或要求資料計算速度較快的實時控制不適用  比較浪費ram 

算術平均濾波法 

6、限幅平均濾波法  a、方法:  相當於「限幅濾波法」+「遞推平均濾波法」  每次取樣到的新資料先進行限幅處理,  再送入佇列進行遞推平均濾波處理  b、優點:  融合了兩種濾波法的優點  對於偶然出現的脈衝性干擾,可消除由於脈衝干擾所引起的取樣值偏差  c、缺點:  比較浪費ram  ​

參考子程式1、3​

7、一階滯後濾波法  a、方法:  取a=0~1  本次濾波結果=(1-a)*本次取樣值+a*上次濾波結果  b、優點:  對週期性干擾具有良好的抑制作用  適用於波動頻率較高的場合  c、缺點:  相位滯後,靈敏度低  滯後程度取決於a值大小  不能消除濾波頻率高於取樣頻率的1/2的干擾訊號 

一階滯後濾波法    #define a 0  .4char value;  char filter()    ​

8、加權遞推平均濾波法  a、方法:  是對遞推平均濾波法的改進,即不同時刻的資料加以不同的權  通常是,越接近現時刻的資料,權取得越大。  給予新取樣值的權係數越大,則靈敏度越高,但訊號平滑度越低  b、優點:  適用於有較大純滯後時間常數的物件  和取樣週期較短的系統  c、缺點:  對於純滯後時間常數較小,取樣週期較長,變化緩慢的訊號  不能迅速反應系統當前所受干擾的嚴重程度,濾波效果差 。​​

加權遞推平均濾波法    #define n 12  char code coe[n] = ;  char code sum_coe = 1+2+3+4+5+6+7+8+9+10+11+12;  char filter()    

return value; 

}  ​

10、限幅消抖濾波法  a、方法:  相當於「限幅濾波法」+「消抖濾波法」  先限幅,後消抖  b、優點:  繼承了「限幅」和「消抖」的優點  改進了「消抖濾波法」中的某些缺陷,避免將干擾值匯入系統  c、缺點:  對於快速變化的引數不宜 ​

參考子程式1、9

10種軟體濾波方法

10種軟體濾波方法 來自網路 未驗證 1 限幅濾波法 又稱程式判斷濾波法 a 方法 根據經驗判斷,確定兩次取樣允許的最大偏差值 設為a 每次檢測到新值時判斷 如果本次值與上次值之差 a,則本次值有效 如果本次值與上次值之差 a,則本次值無效,放棄本次值,用上次值代替本次值 b 優點 能有效克服因偶然...

10種軟體濾波演算法

軟體濾波在嵌入式的資料採集和處理中有著很重要的作用,這10種方法各有優劣,根據自己的需要選擇。同時提供了c語言的參考 希望對各位能有幫助。1 限幅濾波法 又稱程式判斷濾波法 a 方法 根據經驗判斷,確定兩次取樣允許的最大偏差值 設為a 每次檢測到新值時判斷 如果本次值與上次值之差 a,則本次值有效 ...

10種ADC軟體濾波方法及程式

億芯工程師部落格 10種ad取樣的軟體濾波方法 10種ad取樣的軟體濾波方法 1 限幅濾波法 又稱程式判斷濾波法 a 方法 根據經驗判斷,確定兩次取樣允許的最大偏差值 設為a 每次檢測到新值時判斷 如果本次值與上次值之差 a,則本次值有效 如果本次值與上次值之差 a,則本次值無效,放棄本次值,用上次...