滑動平均濾波演算法只取樣一次,將一次取樣值和過去的若干次取樣值一起求平均,得到的有效取樣值即可投入使用。如果取n個取樣值求平均,儲存區中必須開闢n個資料的暫存區。每新採集乙個資料便存入暫存區中,同時去掉乙個最老資料,儲存這n個資料始終是最新更新的資料。採用
環型佇列結構
可以方便地實現這種資料存放方式。
程式**如下:
char value_buff[n];
//n相當於選定乙個視窗大小,對視窗資料做平均!
char i=0;
char filter()
優點:對週期性干擾有良好的抑制作用,平滑度高
適用於高頻振盪的系統
缺點:靈敏度低
對偶然出現的脈衝性干擾的抑制作用較差
不易消除由於脈衝干擾所引起的取樣值偏差
不適用於脈衝干擾比較嚴重的場合
比較浪費ram
滑動平均濾波c語言 基本C語言濾波演算法
11種軟體濾波方法的示例程式 假定從8位ad中讀取資料 如果是更高位的ad可定義資料型別為int 子程式為get ad 1 限副濾波 a值可根據實際情況調整 value為有效值,new value為當前取樣值 濾波程式返回有效的實際值 define a 10 char value char filt...
濾波演算法 遞推平均濾波法
基本方法 採用佇列作為測量資料儲存器,設佇列的長度為n 每進行一次測量,把測量結果放於隊尾,而扔掉原來隊首的乙個資料,這樣在佇列中始終就有n個 最新 的資料。當計算平均值時,只要把佇列中的n個資料進行算數平均,就可得到新的算數平均值。這樣每進行一次測量,就可得到乙個新的算術平均值。其程式如下所示 i...
嵌入式演算法3 滑動平均濾波法
算數平均濾波需要多次取樣後才能得出乙個有效值,如果被檢測量變化較快,多次取樣後才輸出一次有效值,表現就是系統反應遲鈍。將當前取樣值與之前連續的歷史取樣值進行平均,這樣每次取樣結束即可得出有效值。因為參與計算的歷史值個數固定且內容不斷前移覆蓋更新,類似滑動的資料塊視窗,因此成為滑動平均濾波演算法。vn...