10種軟體濾波方法的示例程式

2021-06-21 09:44:21 字數 1316 閱讀 2314

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

1、限副濾波

#define a 10

char value;

char filter()

2、中位值濾波法

#define n  11

char filter()

for (j=0;j}}

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

}    

3、算術平均濾波法

#define n 12

char filter()

return (char)(sum/n);

}4、遞推平均濾波法(又稱滑動平均濾波法)

#define n 12

char value_buf[n];

char i=0;

char filter()

5、中位值平均濾波法(又稱防脈衝干擾平均濾波法)

#define n 12

char filter()

for (j=0;j}}

for(count=1;count

sum += value[count];

return (char)(sum/(n-2));

}6、限幅平均濾波法

略 參考子程式1、3

7、一階滯後濾波法

#define a 50

char value;

char filter()

8、加權遞推平均濾波法

#define n 12

char code coe[n] = ;

char code sum_coe = 1+2+3+4+5+6+7+8+9+10+11+12;

char filter()

for (count=0,count

sum += value_buf[count]*coe[count];

return (char)(sum/sum_coe);

}9、消抖濾波法

#define n 12

char filter()

return value;   

}10、限幅消抖濾波法

略 參考子程式1、9

11、iir濾波例子

int  bandpassfilter4(int inputad4)

delayinput[3]=inputad4;

delayoutput[3]=returnvalue;

//  if (returnvalue<0)

//  

return returnvalue; 

}

10種軟體濾波方法的示例程式

10種軟體濾波方法的示例程式 jkrl 假定從8位ad中讀取資料 如果是更高位的ad可定義資料型別為int 子程式為get ad 1 限副濾波 a值可根據實際情況調整 value為有效值,new value為當前取樣值 濾波程式返回有效的實際值 define a 10 char value char...

10種常用的軟體濾波方法及示例程式(以及硬體濾波)

濾波,就是濾除不想要的東西,留下想要的東西,不管是硬體濾波還是軟體濾波。a 方法 根據經驗判斷,確定兩次取樣允許的最大偏差值 設為a 每次檢測到新值時判斷 如果本次值與上次值之差 a,則本次值有效 如果本次值與上次值之差 a,則本次值無效,放棄本次值,用上次值代替本次值 b 優點 能有效克服因偶然因...

常用軟體濾波方法及其示例程式

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