91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

常見的ADC濾波算法、優(yōu)缺點(diǎn)及代碼

strongerHuang ? 來源:strongerHuang ? 作者:strongerHuang ? 2022-11-16 09:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

如今傳感器的種類越來越多,數(shù)量也越來越多,而這些傳感器很多都會(huì)用到模擬量,模擬量就離不開ADC。

然而,我們單片機(jī)ADC采集的模擬量基本都會(huì)經(jīng)過“濾波”處理才能使用,下面給大家分享一些常見的ADC濾波算法

一、限幅濾波

1、方法

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

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

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

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

3、代碼

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

二、中位值濾波

1、方法

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

取中間值為本次有效值

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

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

3、代碼

#defineN11
charfilter()
{
charvalue_buf[N];
charcount,i,j,temp;
for(count=0;countvalue_buf[i+1])
{
temp=value_buf[i];
value_buf[i]=value_buf[i+1];
value_buf[i+1]=temp;
}
returnvalue_buf[(N-1)/2];
}

三、算數(shù)平均濾波

1、方法

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

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

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

一般N=12

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

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

3、代碼

#defineN12
charfilter()
{
intsum=0;
for(count=0;count

四、遞推平均濾波

1、方法

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

取均值

一般N=4~12

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

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

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

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

3、代碼

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

五、中位值平均濾波

1、方法

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

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

N= 3~14

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

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

消除脈沖干擾

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

3、代碼

charfilter()
{
charcount,i,j;
charValue_buf[N];
intsum=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

六、限幅平均濾波

1、方法

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

取平均值

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

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

消除脈沖干擾,占RAM較多

3、代碼

#defineA10
#defineN12
charvalue,i=0;
charvalue_buf[N];
charfilter()
{
charnew_value,sum=0;
new_value=get_ad();
if(Abs(new_value-value)

七、一階滯后濾波

1、方法

取a=0~1

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

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

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

靈敏度低,相位滯后

3、代碼

/*為加快程序處理速度,取a=0~100*/
#definea30
charvalue;
charfilter()
{
charnew_value;
new_value=get_ad();
return((100-a)*value+a*new_value);
}

八、加權(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ù)小,采樣周期長、變化慢的信號(hào)不能迅速反應(yīng)其所受干擾。

3、代碼


/*coe數(shù)組為加權(quán)系數(shù)表*/
#defineN12
charcodecoe[N]={1,2,3,4,5,6,7,8,9,10,11,12};
charcodesum_coe={1+2+3+4+5+6+7+8+9+10+11+12};
charfilter()
{
charcount;
charvalue_buf[N];
intsum=0;
for(count=0;count

九、消抖濾波

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í)若采到干擾值則無法濾波

3、代碼

#defineN12
charfilter()
{
charcount=0,new_value;
new_value=get_ad();
while(value!=new_value)
{
count++;
if(count>=N)returnnew_value;
new_value=get_ad();
}
returnvalue;
}

十、限幅消抖濾波

1、方法

先限幅 后消抖

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

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

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

3、代碼


#defineA10
#defineN12
charvalue;
charfilter()
{
charnew_value,count=0;
new_value=get_ad();
while(value!=new_value)
{
if(Abs(value-new_value))>
;count++)> )> ;count++)>;count++)> ;count++)>
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2576

    文章

    55094

    瀏覽量

    791665
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6076

    文章

    45501

    瀏覽量

    670855
  • adc
    adc
    +關(guān)注

    關(guān)注

    100

    文章

    7523

    瀏覽量

    556146

原文標(biāo)題:單片機(jī)ADC常見的幾種濾波方法

文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    三防漆稀釋劑替代品對(duì)比:優(yōu)缺點(diǎn)+環(huán)保選擇 |鉻銳特實(shí)業(yè)

    鉻銳特實(shí)業(yè)|東莞廠家|三防漆稀釋劑能用什么替代?本文對(duì)比原裝稀釋劑、環(huán)保無苯型、醋酸丁酯、PMA等常見替代品的優(yōu)缺點(diǎn)、成本與性能影響,附行業(yè)數(shù)據(jù)和選擇建議,助您兼顧品質(zhì)與成本。
    的頭像 發(fā)表于 02-26 00:12 ?130次閱讀
    三防漆稀釋劑替代品對(duì)比:<b class='flag-5'>優(yōu)缺點(diǎn)</b>+環(huán)保選擇 |鉻銳特實(shí)業(yè)

    單片機(jī)常見濾波算法

    濾波效果 3、缺點(diǎn): 對(duì)流量、速度等快速變化的參數(shù)不宜 #define N 11char filter(){ char value_buf[N]; char count, i, j, temp
    發(fā)表于 01-28 06:31

    單片機(jī)ADC采樣算法-中位值平均濾波

    中位值平均濾波濾波法就是通過連續(xù)采樣N個(gè)數(shù)據(jù),然后對(duì)數(shù)據(jù)從小到大排序,然后去掉最大值和最小值,對(duì)剩余的N-2個(gè)值計(jì)算算數(shù)平均值。也就是中位值濾波和算數(shù)平均濾波的結(jié)合。 下面看C
    發(fā)表于 01-22 06:17

    單片機(jī)上常用的10個(gè)濾波算法分享

    本次。 2 優(yōu)缺點(diǎn) 克服脈沖干擾,無法抑制周期性干擾,平滑度差。 3 代碼 /* A值根據(jù)實(shí)際調(diào),Value有效值,new_Value當(dāng)前采樣值,程序返回有效的實(shí)際值 */#define A
    發(fā)表于 01-15 07:20

    單片機(jī)ADC常用十大濾波算法

    測參數(shù)有良好的濾波效果 3、缺點(diǎn): 對(duì)流量、速度等快速變化的參數(shù)不宜 #define N 11 char filter() { char value_buf[N]; char count, i
    發(fā)表于 12-09 07:44

    ADC的采樣濾波算法利用卡爾曼濾波算法

    ; ADC_OLD_Value = ADC_Value; kalman_adc_old = kalman_adc; return kalman_ad
    發(fā)表于 12-01 07:44

    常見光纖連接器(跳線、光纖跳線)的分類、優(yōu)缺點(diǎn)及應(yīng)用場景

    常見光纖連接器(跳線、光纖跳線)的分類、優(yōu)缺點(diǎn)及應(yīng)用場景 1****前言 光纖連接器(又稱跳纖,亦稱光纖跳線)是指光纖兩端都裝上連接器插頭,用來實(shí)現(xiàn)光路活動(dòng)連接。 光纖跳線兩端的光模塊的收發(fā)波長必須
    的頭像 發(fā)表于 11-20 15:07 ?1787次閱讀
    <b class='flag-5'>常見</b>光纖連接器(跳線、光纖跳線)的分類、<b class='flag-5'>優(yōu)缺點(diǎn)</b>及應(yīng)用場景

    數(shù)據(jù)濾波算法的具體實(shí)現(xiàn)步驟是怎樣的?

    ? 數(shù)據(jù)濾波算法在電能質(zhì)量在線監(jiān)測裝置中的具體實(shí)現(xiàn),需圍繞 “ 數(shù)據(jù)采集→預(yù)處理→算法執(zhí)行→參數(shù)適配→效果驗(yàn)證→結(jié)果輸出 ” 的全流程展開,核心是結(jié)合裝置硬件特性(采樣率、ADC 精度
    的頭像 發(fā)表于 10-10 16:45 ?839次閱讀

    有哪些常見的AI算法可以用于裝置數(shù)據(jù)的異常檢測?

    (如邊緣 / 云端)。以下按 算法類型分類 ,詳細(xì)介紹常見 AI 算法的原理、適用場景、優(yōu)缺點(diǎn)及裝置數(shù)據(jù)適配性: 一、無監(jiān)督式異常檢測算法
    的頭像 發(fā)表于 09-18 09:27 ?816次閱讀
    有哪些<b class='flag-5'>常見</b>的AI<b class='flag-5'>算法</b>可以用于裝置數(shù)據(jù)的異常檢測?

    正確的連接電機(jī)傳動(dòng)軸的幾種常見連接方式及其優(yōu)缺點(diǎn)

    方式及其優(yōu)缺點(diǎn)分析。 1. 聯(lián)軸器連接 ? 聯(lián)軸器是電機(jī)與傳動(dòng)軸之間最常用的連接方式之一,其核心功能是傳遞扭矩并補(bǔ)償兩軸之間的偏差(如徑向、軸向或角向偏差)。根據(jù)結(jié)構(gòu)不同,聯(lián)軸器可分為以下幾類: ? (1)剛性聯(lián)軸器 ?
    的頭像 發(fā)表于 09-10 07:41 ?3299次閱讀

    藍(lán)牙信標(biāo)RSSI濾波算法

    可能受到多種因素的影響,如物理障礙物、信號(hào)干擾和設(shè)備方向等,因此需要對(duì)RSSI值進(jìn)行濾波處理。常見的RSSI濾波算法?1、移動(dòng)平均濾波?:這
    的頭像 發(fā)表于 05-12 19:45 ?1044次閱讀
    藍(lán)牙信標(biāo)RSSI<b class='flag-5'>濾波</b><b class='flag-5'>算法</b>

    PCBA 表面處理:優(yōu)缺點(diǎn)大揭秘,應(yīng)用場景全解析

    的表面處理工藝,不僅能提升PCBA板的焊接質(zhì)量,還能延長其使用壽命。以下將詳細(xì)介紹幾種常見的PCBA表面處理工藝,分析它們的優(yōu)缺點(diǎn)及應(yīng)用場景,幫助您做出最佳的工藝選擇。 PCBA表面處理優(yōu)缺點(diǎn)與應(yīng)用場景 1. HASL(熱風(fēng)整平
    的頭像 發(fā)表于 05-05 09:39 ?1433次閱讀
    PCBA 表面處理:<b class='flag-5'>優(yōu)缺點(diǎn)</b>大揭秘,應(yīng)用場景全解析

    3D打印耗材種類有哪些?各有什么優(yōu)缺點(diǎn)?

    這篇文章將為你詳細(xì)介紹3D打印耗材的基礎(chǔ)知識(shí),幫助你了解這些材料的特性、優(yōu)缺點(diǎn)以及它們適合的應(yīng)用場景。
    的頭像 發(fā)表于 04-29 09:40 ?5.4w次閱讀
    3D打印耗材種類有哪些?各有什么<b class='flag-5'>優(yōu)缺點(diǎn)</b>?

    CMOS,Bipolar,F(xiàn)ET這三種工藝的優(yōu)缺點(diǎn)是什么?

    在我用photodiode工具選型I/V放大電路的時(shí)候,系統(tǒng)給我推薦了AD8655用于I/V,此芯片為CMOS工藝 但是查閱資料很多都是用FET工藝的芯片,所以請(qǐng)教下用于光電信號(hào)放大轉(zhuǎn)換(主要考慮信噪比和帶寬)一般我們用哪種工藝的芯片, CMOS,Bipolar,F(xiàn)ET這三種工藝的優(yōu)缺點(diǎn)是什么?
    發(fā)表于 03-25 06:23

    壓接連接器使用裸銅線的優(yōu)缺點(diǎn)分析?

    壓接連接器使用裸銅線是一種高效、可靠的電氣連接方式,廣泛應(yīng)用于電力、通信和工業(yè)領(lǐng)域。需要我們正確看待它的優(yōu)缺點(diǎn),高效使用。
    的頭像 發(fā)表于 03-18 11:01 ?1191次閱讀