微控制器ADC取樣演算法 中位值平均濾波法

2021-10-04 12:45:59 字數 742 閱讀 2968

中位值平均濾波法濾波法就是通過連續取樣n個資料,然後對資料從小到大排序,然後去掉最大值和最小值,對剩餘的n-2個值計算算數平均值。也就是中位值濾波和算數平均濾波的結合。

下面看c**的實現

#define n 12

unsigned int filter5( void )

for( j = 0; j < n - 1; j++ )}}

for( count = 1; count < n - 1; count++ )

return ( unsigned int )( sum / ( n - 2 ) );

}}

n為每次取樣的資料個數

void main( void )

}

主程式中迴圈讀取ad口的取樣值,並將取樣值通過中位值平均濾波演算法進行濾波,通過串列埠分別列印原始取樣值和濾波後的值,並通過串列埠將資料列印來,並在串列埠波形軟體上顯示。

藍色曲線為取樣的原始資料波形圖,橙色曲線為經過中位值濾波演算法濾波後的波形圖。通過兩組曲線可以看出,經過中位值平均濾波演算法後,可以有效的濾除系統**現的脈衝干擾和毛刺,使得取樣資料更加平滑。

但是中位值平均濾波演算法需要額外開闢儲存空間,用了儲存取樣的資料,同時要對取樣的資料進行排序,計算速度會變慢,實時性較差,只適合在變化較慢的系統中應用。

微控制器ADC取樣演算法 限幅平均濾波法

限幅平均濾波法相當於 限幅濾波法 遞推平均濾波法 每次取樣到的新資料先進行限幅處理,再送入佇列進行遞推平均濾波處理。下面看c 的實現 define a 200 define n 20 返回兩個整數差 unsigned int num sub unsigned int a,unsigned int b...

微控制器ADC取樣演算法 消抖濾波法

消抖濾波法的實現步驟為 設定乙個濾波計數器,將每次取樣值與當前有效值比較,如果取樣值等於當前有效值,則計數器清零。如果取樣值不等於當前有效值,則計數器 1,並判斷計數器是否 上限n 溢位 如果計數器溢位,則將本次值替換當前有效值,並清計數器。也就是只有取樣值連續變化n次之後,才將取樣值做為有效值。下...

微控制器筆記 ADC

mcp3421高精度adc轉換器 csdn部落格 blog.csdn.net 乙個專案的需求,使用的微控制器型號為stm32f030f4,雖然微控制器自帶了12位adc轉換器,解析度可以達到805.66uv 此型號沒有內部參考電壓,所以使用工作電壓作為參考電壓,所以精度值計算 3.3v除以2的12次...