#define rm_buf_len 10 /*遞推陣列的長度*/
uint16_t rm_filter_buf[rm_buf_len]; /*儲存資料的遞推陣列*/
uint16_t adcx_recursive_mean_filter(uint16_t get_adc)
rm_filter_buf[rm_buf_len - 1] = get_adc; /*最後一位是新採集的資料*/
sum += rm_filter_buf[rm_buf_len - 1]; /*計算遞推陣列所有資料的和*/
sum = sum / rm_buf_len;
return sum;
}
1、名稱:
遞推平均濾波法(滑動平均濾波法)
2、方法:
把連續取得的n個取樣值看成乙個佇列,佇列的長度固定為n,
每次取樣到乙個新資料放入隊尾,並扔掉原來隊首的一次資料(先進先出原則),
把佇列中的n個資料進行算術平均運算,獲得新的濾波結果。
3、優點:
對週期性干擾有良好的抑制作用,平滑度高;
適用於高頻振盪的系統。
4、缺點:
靈敏度低,對偶然出現的脈衝性干擾的抑制作用較差;
不易消除由於脈衝干擾所引起的取樣值偏差;
不適用於脈衝干擾比較嚴重的場合;
比較浪費ram。
濾波演算法 遞推平均濾波法
基本方法 採用佇列作為測量資料儲存器,設佇列的長度為n 每進行一次測量,把測量結果放於隊尾,而扔掉原來隊首的乙個資料,這樣在佇列中始終就有n個 最新 的資料。當計算平均值時,只要把佇列中的n個資料進行算數平均,就可得到新的算數平均值。這樣每進行一次測量,就可得到乙個新的算術平均值。其程式如下所示 i...
數字濾波技術
1.死區處理 從工業現場採集到的訊號往往會在一定的範圍內不斷的波動,或者說有頻率較高 能量不大的干擾疊加在訊號上,這種情況往往出現在應用共控 板卡的場合,此時採集到的資料有效值的最後一位不停的波動,難以穩定。這種情況可以採取死區處理,把波停波動的值進行死區處理,只有當變化超出某值時才認為該值發生了變...
數字濾波技術
1.一階低通濾波法 摘自 微控制器原理與接 術 一階低通濾波法是用軟體程式設計方法實現模擬實現模擬系統rc低通濾波器的功能,採用本次採用值與上次濾波輸出值進行加權,得到有效濾波值,使得輸出對輸入有反饋作用。形式為 y k 1 y k 1 x k y k 1 y k 1 x k y k 1 y k 1...