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缺點 無法抑制那種週期性的干擾,平滑...
通用數字濾波演算法
在儀表自動化工作中,經常需要對大量的資料進行處理,這些資料往往是乙個時間序列或空間序列,這時常會用到數字濾波技術對資料進行預處理。數字濾波是指利用數學的方法對原始資料進行處理,去掉原始資料中摻雜的雜訊資料,獲得最具有代表性的資料集合。資料取樣是一種通過間接方法取得事物狀態的技術,如將事物的溫度 壓力...