單片機ADC常見的幾種濾波方法

2024/8/27 9:31:04??????點擊:
      物聯(lián)網(wǎng)終端設(shè)備大多數(shù)傳感器都是模擬量,而我們需要得到這個模擬量的數(shù)值,就離不開ADC。


      然而,我們單片機ADC采集的模擬量基本都會經(jīng)過“濾波”處理才能使用,下面給大家分享一些常見的ADC濾波算法。


      一、限幅濾波


      1、方法


      根據(jù)經(jīng)驗判斷兩次采樣允許的最大偏差值A(chǔ)


      每次采新值時判斷:若本次值與上次值之差<=A,則本次有效;若本次值與上次值之差>A,本次無效,用上次值代替本次。


      2、優(yōu)缺點

      克服脈沖干擾,無法抑制周期性干擾,平滑度差。


      3、代碼





      二、中位值濾波


      1、方法


      連續(xù)采樣N次,按大小排列


      取中間值為本次有效值


      2、優(yōu)缺點


      克服波動干擾,對溫度等變化緩慢的被測參數(shù)有良好的濾波效果,對速度等快速變化的參數(shù)不宜。


      3、代碼




      三、算數(shù)平均濾波


      1、方法


      連續(xù)采樣N次,取平均


      N較大時平滑度高,靈敏度低


      N較小時平滑度低,靈敏度高


      一般N=12


      2、優(yōu)缺點


      適用于存在隨機干擾的系統(tǒng),占用RAM多,速度慢。


      3、代碼





      四、遞推平均濾波


      1、方法


      取N個采樣值形成隊列,先進先出


      取均值


      一般N=4~12


      2、優(yōu)缺點


      對周期性干擾抑制性好,平滑度高


      適用于高頻振動系統(tǒng)


      靈敏度低,RAM占用較大,脈沖干擾嚴重


      3、代碼




      五、中位值平均濾波


      1、方法


      采樣N個值,去掉最大最小


      計算N-2的平均值


      N= 3~14


      2、優(yōu)缺點


      融合了中位值,平均值的優(yōu)點


      消除脈沖干擾


      計算速度慢,RAM占用大


      3、代碼




      六、限幅平均濾波


      1、方法


      每次采樣數(shù)據(jù)先限幅后送入隊列


      取平均值


      2、優(yōu)缺點


      融合限幅、均值、隊列的優(yōu)點


      消除脈沖干擾,占RAM較多


      3、代碼





      七、一階滯后濾波


      1、方法


      取a=0~1


      本次濾波結(jié)果=(1-a)* 本次采樣 + a * 上次結(jié)果


      2、優(yōu)缺點


      良好一直周期性干擾,適用波動頻率較高場合


      靈敏度低,相位滯后


      3、代碼




      八、加權(quán)遞推平均濾波


      1、方法


      對遞推平均濾波的改進,不同時刻的數(shù)據(jù)加以不同權(quán)重,通常越新的數(shù)據(jù)權(quán)重越大,這樣靈敏度高,但平滑度低。


      2、優(yōu)缺點


      適用有較大滯后時間常數(shù)和采樣周期短的系統(tǒng),對滯后時間常數(shù)小,采樣周期長、變化慢的信號不能迅速反應(yīng)其所受干擾。


      3、代碼




      九、消抖濾波


      1、方法


      設(shè)置一個濾波計數(shù)器


      將采樣值與當前有效值比較


      若采樣值=當前有效值,則計數(shù)器清0


      若采樣值不等于當前有效值,則計數(shù)器+1


      若計數(shù)器溢出,則采樣值替換當前有效值,計數(shù)器清0


      2、優(yōu)缺點


      對變化慢的信號濾波效果好,變化快的不好


      避免臨界值附近的跳動,計數(shù)器溢出時若采到干擾值則無法濾波


      3、代碼




      十、限幅消抖濾波


      1、方法


      先限幅 后消抖


      2、優(yōu)缺點


      融合了限幅、消抖的優(yōu)點


      避免引入干擾值,對快速變化的信號不宜


      3、代碼