一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

ADC數(shù)據(jù)采集波動(dòng)大,那是你還不知道這些濾波算法

單片機(jī)技術(shù)宅 ? 來(lái)源:?jiǎn)纹瑱C(jī)技術(shù)宅 ? 作者:?jiǎn)纹瑱C(jī)技術(shù)宅 ? 2022-12-05 09:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

NO.1

限幅濾波?

1 方法

根據(jù)經(jīng)驗(yàn)判斷兩次采樣允許的最大偏差值A(chǔ)

每次采新值時(shí)判斷:若本次值與上次值之差<=A,則本次有效;若本次值與上次值之差>A,本次無(wú)效,用上次值代替本次。

2 優(yōu)缺點(diǎn)

克服脈沖干擾,無(wú)法抑制周期性干擾,平滑度差。

3 代碼

/* A值根據(jù)實(shí)際調(diào),Value有效值,new_Value當(dāng)前采樣值,程序返回有效的實(shí)際值 */
# define A 10
char Value;
char filter()
{ 
  char new_Value; 
  new_Value = get_ad(); //獲取采樣值 
  if( abs(new_Value - Value) > A) 
    return Value; //abs()取絕對(duì)值函數(shù) 
return new_Value;
}

NO.2

中位值濾波

1 方法

連續(xù)采樣N次,按大小排列

取中間值為本次有效值

2 優(yōu)缺點(diǎn)

克服波動(dòng)干擾,對(duì)溫度等變化緩慢的被測(cè)參數(shù)有良好的濾波效果,對(duì)速度等快速變化的參數(shù)不宜。

3 代碼

#define N 11
char filter(){ 
  char value_buf[N]; 
  charcount,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];
}

NO.3

算數(shù)平均濾波

1 方法

連續(xù)采樣N次,取平均

N較大時(shí)平滑度高,靈敏度低

N較小時(shí)平滑度低,靈敏度高

一般N=12

2 優(yōu)缺點(diǎn)

適用于存在隨機(jī)干擾的系統(tǒng),占用RAM多,速度慢。

3 代碼

#define N 12
charfilter(){  
  int sum =0;  
  for(count =0;count

NO.4

遞推平均濾波

1 方法

取N個(gè)采樣值形成隊(duì)列,先進(jìn)先出

取均值

一般N=4~12

2 優(yōu)缺點(diǎn)

對(duì)周期性干擾抑制性好,平滑度高

適用于高頻振動(dòng)系統(tǒng)

靈敏度低,RAM占用較大,脈沖干擾嚴(yán)重

3 代碼

#define A 10
char Value;
char filter(){  
  char new_Value;   
  new_Value=get_ad();
   if(abs(new_Value-Value)>A)    
     return Value;   
  return new_Value;
}

NO.5

中位值平均濾波

1 方法

采樣N個(gè)值,去掉最大最小

計(jì)算N-2的平均值

N= 3~14

2 優(yōu)缺點(diǎn)

融合了中位值,平均值的優(yōu)點(diǎn)

消除脈沖干擾

計(jì)算速度慢,RAM占用大

3 代碼

char filter(){ 
  char count,i,j;
  char Value_buf[N]; 
  int sum=0;
 for(count=0;countValue_buf[i+1])  {      
     temp= Value_buf[i];  
    Value_buf[i]= Value_buf[i+1];   
    Value_buf[i+1]=temp; 
   } 
 for(count =1;count

NO.6

限幅平均濾波

1 方法

每次采樣數(shù)據(jù)先限幅后送入隊(duì)列

取平均值

2 優(yōu)缺點(diǎn)

融合限幅、均值、隊(duì)列的優(yōu)點(diǎn)

消除脈沖干擾,占RAM較多

3 代碼

#define A 10
#define N 12
char value,i=0;
char value_buf[N];
char filter(){  
  char new_value,sum=0;  
 new_value=get_ad();
 if(Abs(new_value-value)

NO.7

一階滯后濾波

1 方法

取a=0~1

本次濾波結(jié)果=(1-a)* 本次采樣 + a * 上次結(jié)果

2 優(yōu)缺點(diǎn)

良好一直周期性干擾,適用波動(dòng)頻率較高場(chǎng)合

靈敏度低,相位滯后

3 代碼

/*為加快程序處理速度,取a=0~100*/
#define a 30
char value;
char filter(){  
  char new_value;  
  new_value=get_ad();
  return ((100-a)*value +a*new_value);
}

NO.8

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

1 方法

對(duì)遞推平均濾波的改進(jìn),不同時(shí)刻的數(shù)據(jù)加以不同權(quán)重,通常越新的數(shù)據(jù)權(quán)重越大,這樣靈敏度高,但平滑度低。

2 優(yōu)缺點(diǎn)

適用有較大滯后時(shí)間常數(shù)和采樣周期短的系統(tǒng),對(duì)滯后時(shí)間常數(shù)小,采樣周期長(zhǎng)、變化慢的信號(hào)不能迅速反應(yīng)其所受干擾。

3 代碼

/* coe數(shù)組為加權(quán)系數(shù)表 */
#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]; 
  intsum=0;
 for(count=0;count

NO.9

消抖濾波

1 方法

設(shè)置一個(gè)濾波計(jì)數(shù)器

將采樣值與當(dāng)前有效值比較

若采樣值=當(dāng)前有效值,則計(jì)數(shù)器清0

若采樣值不等于當(dāng)前有效值,則計(jì)數(shù)器+1

若計(jì)數(shù)器溢出,則采樣值替換當(dāng)前有效值,計(jì)數(shù)器清0

2 優(yōu)缺點(diǎn)

對(duì)變化慢的信號(hào)濾波效果好,變化快的不好

避免臨界值附近的跳動(dòng),計(jì)數(shù)器溢出時(shí)若采到干擾值則無(wú)法濾波

3 代碼

#define N 12
char filter(){ 
  char count=0,new_value; 
  new_value=get_ad(); 
  while(value!=new_value){
   count++;   
   if(count>=N)
     return new_value;   
   new_value=get_ad();
  }
  return value;
}

NO.10

限幅消抖濾波

1 方法

先限幅,后消抖。

2 優(yōu)缺點(diǎn)

融合了限幅、消抖的優(yōu)點(diǎn)

避免引入干擾值,對(duì)快速變化的信號(hào)不宜

3 代碼

#defineA 10
#defineN 12
char value;
char filter(){ 
  char new_value,count=0; 
  new_value=get_ad();  
  while(value!=new_value) {
   if(Abs(value-new_value)=N)
       return new_value;     
     new_value=get_ad(); 
    }    
    return value;
  }
}

審核編輯:湯梓紅

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

    關(guān)注

    99

    文章

    6709

    瀏覽量

    549224
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70739
  • 濾波算法
    +關(guān)注

    關(guān)注

    2

    文章

    90

    瀏覽量

    13971

原文標(biāo)題:【補(bǔ)】ADC數(shù)據(jù)采集波動(dòng)大,那是你還不知道這些濾波算法

文章出處:【微信號(hào):chuxue_MCU,微信公眾號(hào):?jiǎn)纹瑱C(jī)技術(shù)宅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    電流型數(shù)據(jù)采集采集的波形有波動(dòng),有什么辦法去除嗎?

    請(qǐng)問(wèn)一下各位,數(shù)據(jù)采集采集的信號(hào)有0.2毫安的波動(dòng),不知道用什么方法可以讓采集的波形平穩(wěn)一點(diǎn),麻煩有經(jīng)驗(yàn)的朋友指點(diǎn)一下
    發(fā)表于 06-29 16:16

    數(shù)據(jù)采集程序 波形顯示出來(lái)不準(zhǔn)確 不知道問(wèn)題出在哪里

    這是我做的一個(gè)數(shù)據(jù)采集程序波形顯示出來(lái)不準(zhǔn)確 不知道問(wèn)題出在哪里 求大神指點(diǎn)
    發(fā)表于 01-16 10:29

    求助用Adam5000進(jìn)行數(shù)據(jù)采集,現(xiàn)在需要進(jìn)行組網(wǎng)不知道到該用什么設(shè)備

    進(jìn)行鏈接,通過(guò)控制地址對(duì)每一個(gè)5000進(jìn)行數(shù)據(jù)采集。不知道應(yīng)該選用哪種設(shè)備,是否有程序例程可供我參考(現(xiàn)在我都是用ASCII、串口讀回數(shù)據(jù)的)
    發(fā)表于 05-11 11:34

    有什么現(xiàn)成的濾波算法來(lái)消除ADC采集溫度的波動(dòng)

    圖上是adc采集多組原始數(shù)據(jù)的平均值,隨著溫度漸變也會(huì)上下波動(dòng),有什么現(xiàn)成的濾波算法來(lái)消除
    發(fā)表于 07-27 10:23

    Miniplayer小技巧 保證有不知道

    Miniplayer小技巧 保證有不知道的 1,用電源充電完成后先別拔充電器,先按住開(kāi)關(guān)別放再拔開(kāi)線就不用更新歌曲庫(kù)了。
    發(fā)表于 02-01 16:38 ?774次閱讀

    90%的人不知道,vivoX9竟還有這些隱藏的功能!

    為了讓用戶使用手機(jī)更加方便高效,廠商會(huì)在其手機(jī)內(nèi)添加許多實(shí)用的功能。而以下這些vivo手機(jī)實(shí)用的功能,可能卻還不知道!屏幕固定,顧名思義,就是在屏幕上固定當(dāng)前應(yīng)用程序的界面。
    發(fā)表于 01-13 09:37 ?4.7w次閱讀

    到底知不知道硬件設(shè)計(jì)是什么?

    想學(xué)習(xí)硬件電路方面的設(shè)計(jì),但不知道怎么入手? 懵懵懂的進(jìn)入硬件領(lǐng)域,對(duì)自己的發(fā)展和方向很迷茫? 做了一段時(shí)間硬件設(shè)計(jì),事業(yè)發(fā)展和薪資遭遇瓶頸? 有時(shí)候必須承認(rèn),還不夠優(yōu)秀!
    的頭像 發(fā)表于 05-18 11:27 ?1w次閱讀

    行業(yè)內(nèi)有95%的人還不知道的成單秘訣

    行業(yè)內(nèi)95%的人還不知道的成單秘訣
    的頭像 發(fā)表于 02-28 14:18 ?2190次閱讀
    行業(yè)內(nèi)有95%的人<b class='flag-5'>還不知道</b>的成單秘訣

    關(guān)于可能不知道的printf

    可能不知道的printf
    的頭像 發(fā)表于 02-05 12:28 ?2971次閱讀
    關(guān)于<b class='flag-5'>你</b>可能<b class='flag-5'>不知道</b>的printf

    還不知道怎么解決精篩法蘭盤(pán)腐蝕沖刷問(wèn)題?

    還不知道怎么解決精篩法蘭盤(pán)腐蝕沖刷問(wèn)題?
    發(fā)表于 06-10 15:29 ?4次下載

    一些也許您還不知道的 TINA-TI 某些資源! (IV)

    一些也許您還不知道的 TINA-TI 某些資源! (IV)
    發(fā)表于 11-04 09:52 ?4次下載
    一些也許您<b class='flag-5'>還不知道</b>的 TINA-TI 某些資源! (IV)

    一些也許您還不知道的 TINA -TI 某些資源! (III)

    一些也許您還不知道的 TINA -TI 某些資源! (III)
    發(fā)表于 11-07 08:07 ?3次下載
    一些也許您<b class='flag-5'>還不知道</b>的 TINA -TI 某些資源! (III)

    一些也許您還不知道的 TINA-TI 某些資源! (II)

    一些也許您還不知道的 TINA-TI 某些資源! (II)
    發(fā)表于 11-07 08:07 ?2次下載
    一些也許您<b class='flag-5'>還不知道</b>的 TINA-TI 某些資源! (II)

    一些也許您還不知道的 TINA-TI 的那些資源!

    一些也許您還不知道的 TINA-TI 的那些資源!
    發(fā)表于 11-07 08:07 ?3次下載
    一些也許您<b class='flag-5'>還不知道</b>的 TINA-TI 的那些資源!

    揭秘pcb是什么物質(zhì):不知道的“化學(xué)戰(zhàn)士”

    揭秘pcb是什么物質(zhì):不知道的“化學(xué)戰(zhàn)士”
    的頭像 發(fā)表于 12-14 10:27 ?1712次閱讀