10種簡單的數字濾波演算法

2021-05-17 20:29:18 字數 680 閱讀 1356

10種簡單的數字濾波演算法(c語言源程式)

假定從8位ad中讀取資料(如果是更高位的ad可定義資料型別為int),子程式為get_ad(); 

1、限副濾波

/*  a值可根據實際情況調整

value為有效值,new_value為當前取樣值  

濾波程式返回有效的實際值  */

#define a 10

char value;

char filter()

2、中位值濾波法

/*  n值可根據實際情況調整

排序採用冒泡法*/

#define n  11

char filter() }

} return value_buf[(n-1)/2];

}     

3、算術平均濾波法

/* */

#define n 12

char filter() }

} for(count=1;count=n)   return new_value;

delay();

new_value = get_ad();

} return value;    

} 10、限幅消抖濾波法

/* */

略 參考子程式1、9

10種簡單的數字濾波演算法 C語言源程式

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

常用數字濾波演算法

常用數字濾波演算法 a方法 根據經驗判斷,確定兩次取樣允許的最大偏差值 設為a 每次檢測到新值時判斷 如果本次值與上次值之差 a,則本次值有效,如果本次值與上次值之差 a,則本次值無效,放棄本次值,用上次值代替本次值。b優點 能有效克服因偶然因素引起的脈衝干擾。c缺點 無法抑制那種週期性的干擾,平滑...

通用數字濾波演算法

在儀表自動化工作中,經常需要對大量的資料進行處理,這些資料往往是乙個時間序列或空間序列,這時常會用到數字濾波技術對資料進行預處理。數字濾波是指利用數學的方法對原始資料進行處理,去掉原始資料中摻雜的雜訊資料,獲得最具有代表性的資料集合。資料取樣是一種通過間接方法取得事物狀態的技術,如將事物的溫度 壓力...