0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

10種軟件濾波方法的示例程序詳細資料說明

Wildesbeast ? 來源:福星電子網(wǎng) ? 作者:福星電子網(wǎng) ? 2021-04-05 17:02 ? 次閱讀

假定從8位AD中讀取數(shù)據(jù)(如果是更高位的AD可定義數(shù)據(jù)類型為int),子程序為get_ad();

1、限副濾波

/* A值可根據(jù)實際情況調(diào)整

value為有效值,new_value為當前采樣值

濾波程序返回有效的實際值 */

#define A 10

char value;

char filter()

{

char new_value;

new_value = get_ad();

if ( ( new_value - value 》 A ) || ( value - new_value 》 A )

return value;

return new_value;

}

2、中位值濾波法

/* N值可根據(jù)實際情況調(diào)整

排序采用冒泡法*/

#define N 11

char filter()

{

char value_buf[N];

char count,i,j,temp;

for ( count=0;count《N;count++)

{

value_buf[count] = get_ad();

delay();

}

for (j=0;j《N-1;j++)

{

for (i=0;i《N-j;i++)

{

if ( value_buf[i]》value_buf[i+1] )

{

temp = value_buf[i];

value_buf[i] = value_buf[i+1];

value_buf[i+1] = temp;

}

}

}

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

}

3、算術(shù)平均濾波法

/*

*/

#define N 12

char filter()

{

int sum = 0;

for ( count=0;count《N;count++)

{

sum + = get_ad();

delay();

}

return (char)(sum/N);

}

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

/*

*/

#define N 12

char value_buf[N];

char i=0;

char filter()

{

char count;

int sum=0;

value_buf[i++] = get_ad();

if ( i == N ) i = 0;

for ( count=0;count《N,count++)

sum = value_buf[count];

return (char)(sum/N);

}

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

/*

*/

#define N 12

char filter()

{

char count,i,j;

char value_buf[N];

int sum=0;

for (count=0;count《N;count++)

{

value_buf[count] = get_ad();

delay();

}

for (j=0;j《N-1;j++)

{

for (i=0;i《N-j;i++)

{

if ( value_buf[i]》value_buf[i+1] )

{

temp = value_buf[i];

value_buf[i] = value_buf[i+1];

value_buf[i+1] = temp;

}

}

}

for(count=1;count《N-1;count++)

sum += value[count];

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

}

6、限幅平均濾波法

/*

*/

略 參考子程序1、3

7、一階滯后濾波法

/* 為加快程序處理速度假定基數(shù)為100,a=0~100 */

#define a 50

char value;

char filter()

{

char new_value;

new_value = get_ad();

return (100-a)*value + a*new_value;

}

8、加權(quán)遞推平均濾波法

/* coe數(shù)組為加權(quán)系數(shù)表,存在程序存儲區(qū)。*/

#define N 12

char code coe[N] = {1,2,3,4,5,6,7,8,9,10,11,12};

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

char filter()

{

char count;

char value_buf[N];

int sum=0;

for (count=0,count《N;count++)

{

value_buf[count] = get_ad();

delay();

}

for (count=0,count《N;count++)

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

return (char)(sum/sum_coe);

}

9、消抖濾波法

#define N 12

char filter()

{

char count=0;

char new_value;

new_value = get_ad();

while (value !=new_value);

{

count++;

if (count》=N) return new_value;

delay();

new_value = get_ad();

}

return value;

}

10、限幅消抖濾波法

/*

*/

略 參考子程序1、9

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 濾波器
    +關(guān)注

    關(guān)注

    160

    文章

    7704

    瀏覽量

    177486
  • AD
    AD
    +關(guān)注

    關(guān)注

    27

    文章

    867

    瀏覽量

    150099
  • 程序
    +關(guān)注

    關(guān)注

    116

    文章

    3762

    瀏覽量

    80754
收藏 人收藏

    評論

    相關(guān)推薦

    10軟件濾波方法示例程序

    軟件濾波算法 適用于各類測量的濾波 算法 介紹詳細 有列程
    發(fā)表于 03-21 17:02 ?6次下載

    10AD采樣的軟件濾波方法例程

    10AD采樣的軟件濾波方法例程
    發(fā)表于 02-15 22:34 ?23次下載

    10軟件濾波方法

    10 軟件濾波方法示例程序
    發(fā)表于 02-28 16:54 ?14次下載

    SIM868_STM32示例程序詳細資料合集免費下載手冊免費下載

    本文檔的主要內(nèi)容詳細介紹的是SIM868_STM32示例程序詳細資料合集免費下載手冊免費下載。
    發(fā)表于 08-21 08:00 ?226次下載
    SIM868_STM32<b class='flag-5'>示例程序</b>的<b class='flag-5'>詳細資料</b>合集免費下載手冊免費下載

    EDA教程之VHDL數(shù)據(jù)IF語句使用示例詳細資料說明

    本文檔的主要內(nèi)容詳細介紹的是EDA教程之VHDL數(shù)據(jù)IF語句使用示例詳細資料說明
    發(fā)表于 10-17 08:00 ?0次下載
    EDA教程之VHDL數(shù)據(jù)IF語句使用<b class='flag-5'>示例</b>的<b class='flag-5'>詳細資料</b><b class='flag-5'>說明</b>

    使用單片機實現(xiàn)串口超聲波的示例程序詳細資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用單片機實現(xiàn)串口超聲波的示例程序詳細資料免費下載。
    發(fā)表于 10-18 11:06 ?6次下載
    使用單片機實現(xiàn)串口超聲波的<b class='flag-5'>示例程序</b><b class='flag-5'>詳細資料</b>免費下載

    十一個經(jīng)典的濾波算法的介紹和示例程序詳細資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是十一個經(jīng)典的濾波算法的詳細資料免費下載主要內(nèi)容包括了:1、限幅濾波法(又稱程序判斷
    發(fā)表于 11-06 19:35 ?20次下載
    十一個經(jīng)典的<b class='flag-5'>濾波</b>算法的介紹和<b class='flag-5'>示例程序</b><b class='flag-5'>詳細資料</b>免費下載

    LCD1602顯示例程詳細資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是 LCD1602顯示例程程序詳細資料免費下載。
    發(fā)表于 03-06 08:00 ?5次下載
    LCD1602顯<b class='flag-5'>示例程</b>的<b class='flag-5'>詳細資料</b>免費下載

    MDK基本軟件的調(diào)試方法詳細資料說明

    本文檔的主要內(nèi)容詳細介紹的是MDK基本軟件的調(diào)試方法詳細資料說明。
    發(fā)表于 05-09 17:15 ?0次下載
    MDK基本<b class='flag-5'>軟件</b>的調(diào)試<b class='flag-5'>方法</b><b class='flag-5'>詳細資料</b><b class='flag-5'>說明</b>

    軟件進行濾波方法示例程序免費下載

    本文檔的主要內(nèi)容詳細介紹的是軟件進行濾波方法示例C應用程序免費下載。
    發(fā)表于 11-04 08:00 ?3次下載
    <b class='flag-5'>軟件</b>進行<b class='flag-5'>濾波</b><b class='flag-5'>方法</b>的<b class='flag-5'>示例程序</b>免費下載

    使用MATLAB設計實現(xiàn)圖像頻域濾波系統(tǒng)的詳細資料說明

    本文檔的主要內(nèi)容詳細介紹的是使用MATLAB設計實現(xiàn)圖像頻域濾波系統(tǒng)的詳細資料說明。
    發(fā)表于 01-10 08:00 ?2次下載
    使用MATLAB設計實現(xiàn)圖像頻域<b class='flag-5'>濾波</b>系統(tǒng)的<b class='flag-5'>詳細資料</b><b class='flag-5'>說明</b>

    單相整流濾波電路的詳細資料說明

    本文檔的主要內(nèi)容詳細介紹的是單相整流濾波電路的詳細資料說明包括了:1.單相整流電路,2 濾波電路
    發(fā)表于 05-20 08:00 ?81次下載
    單相整流<b class='flag-5'>濾波</b>電路的<b class='flag-5'>詳細資料</b><b class='flag-5'>說明</b>

    LabVIEW的程序實例詳細資料說明

    本文檔的主要內(nèi)容詳細介紹的是LabVIEW的程序實例詳細資料說明。
    發(fā)表于 02-05 14:05 ?142次下載
    LabVIEW的<b class='flag-5'>程序</b>實例<b class='flag-5'>詳細資料</b><b class='flag-5'>說明</b>

    Arduino的實驗例程之點陣實驗的詳細資料說明

    本文檔的主要內(nèi)容詳細介紹的是Arduino的實驗例程之點陣實驗的詳細資料說明。
    發(fā)表于 02-25 16:36 ?14次下載

    電子羅盤磁場傳感器模塊資料(含產(chǎn)品說明書、示例程序

    電子羅盤磁場傳感器模塊資料(含產(chǎn)品說明書、示例程序
    發(fā)表于 01-19 09:41 ?17次下載