<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 【E課題】AD數(shù)據(jù)采集的“數(shù)字濾波”:10個(gè)“軟件濾波程序”

          【E課題】AD數(shù)據(jù)采集的“數(shù)字濾波”:10個(gè)“軟件濾波程序”

          作者: 時(shí)間:2016-07-13 來源:電子產(chǎn)品世界 收藏

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

          本文引用地址:http://www.ex-cimer.com/article/201607/293987.htm

            A、方法:相當(dāng)于“中位值法”+“算術(shù)平均濾波法”,連續(xù)采樣N個(gè)數(shù)據(jù),去掉一個(gè)最大值和一個(gè)最小值,然后計(jì)算N-2個(gè)數(shù)據(jù)的算術(shù)平均值

            N值的選?。?~14

            B、優(yōu)點(diǎn):融合了兩種濾波法的優(yōu)點(diǎn)

            對(duì)于偶然出現(xiàn)的脈沖性干擾,可消除由于脈沖干擾所引起的采樣值偏差

            C、缺點(diǎn):測(cè)量速度較慢,和算術(shù)平均濾波法一樣,比較浪費(fèi)RAM

            程序:

            #define N 12

            char filter()

            {

            char count,i,j;

            char value_buf[N];

            int sum=0;

            for (count=0;count

            {

            value_buf[count] = get_ad();

            delay();

            }

            for (j=0;j

            {

            for (i=0;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

            sum += value[count];

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

            }

            6、限幅平均濾波法

            A、方法:相當(dāng)于“限幅濾波法”+“遞推平均濾波法”,每次采樣到的新數(shù)據(jù)先進(jìn)行限幅處理,再送入隊(duì)列進(jìn)行遞推平均濾波處理

            B、優(yōu)點(diǎn):融合了兩種濾波法的優(yōu)點(diǎn) 對(duì)于偶然出現(xiàn)的脈沖性干擾,可消除由于脈沖干擾所引起的采樣值偏差

            C、缺點(diǎn):比較浪費(fèi)RAM

            程序略 參考子程序1、3

            7、一階滯后濾波法

            A、方法:取a=0~1,本次濾波結(jié)果=(1-a)*本次采樣值+a*上次濾波結(jié)果

            B、優(yōu)點(diǎn):對(duì)周期性干擾具有良好的抑制作用 適用于波動(dòng)頻率較高的場(chǎng)合

            C、缺點(diǎn):相位滯后,靈敏度低 滯后程度取決于a值大小 不能消除濾波頻率高于采樣頻率的1/2的干擾信號(hào)

            程序:

            /* 為加快程序處理速度假定基數(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)遞推平均濾波法

            A、方法:是對(duì)遞推平均濾波法的改進(jìn),即不同時(shí)刻的數(shù)據(jù)加以不同的權(quán),通常是,越接近現(xiàn)時(shí)刻的數(shù)據(jù),權(quán)取得越大。給予新采樣值的權(quán)系數(shù)越大,則靈敏度越高,但信號(hào)平滑度越低

            B、優(yōu)點(diǎn):適用于有較大純滯后時(shí)間常數(shù)的對(duì)象和采樣周期較短的系統(tǒng)

            C、缺點(diǎn):對(duì)于純滯后時(shí)間常數(shù)較小,采樣周期較長(zhǎng),變化緩慢的信號(hào) 不能迅速反應(yīng)系統(tǒng)當(dāng)前所受干擾的嚴(yán)重程度,濾波效果差

            程序:

            /* coe數(shù)組為加權(quán)系數(shù)表,存在程序存儲(chǔ)區(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

            {

            value_buf[count] = get_ad();

            delay();

            }

            for (count=0,count

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

            return (char)(sum/sum_coe);

            }

            9、消抖濾波法

            A、方法:設(shè)置一個(gè)濾波計(jì)數(shù)器,將每次采樣值與當(dāng)前有效值比較:

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

            如果采樣值<>當(dāng)前有效值,則計(jì)數(shù)器+1,并判斷計(jì)數(shù)器是否>=上限N(溢出)

            如果計(jì)數(shù)器溢出,則將本次值替換當(dāng)前有效值,并清計(jì)數(shù)器

            B、優(yōu)點(diǎn):對(duì)于變化緩慢的被測(cè)參數(shù)有較好的濾波效果,可避免在臨界值附近控制器的反復(fù)開/關(guān)跳動(dòng)或顯示器上數(shù)值抖動(dòng)

            C、缺點(diǎn):對(duì)于快速變化的參數(shù)不宜,如果在計(jì)數(shù)器溢出的那一次采樣到的值恰好是干擾值,則會(huì)將干擾值當(dāng)作有效值導(dǎo)入系統(tǒng)

            程序:

            #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、限幅消抖濾波法

            A、方法:相當(dāng)于“限幅濾波法”+“消抖濾波法”,先限幅,后消抖

            B、優(yōu)點(diǎn):繼承了“限幅”和“消抖”的優(yōu)點(diǎn),改進(jìn)了“消抖濾波法”中的某些缺陷,避免將干擾值導(dǎo)入系統(tǒng)

            C、缺點(diǎn):對(duì)于快速變化的參數(shù)不宜

            程序略 參考子程序1、9


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: AD 濾波

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();