新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > AD數(shù)據(jù)采集的“數(shù)字濾波”:10個“軟件濾波程序”

        AD數(shù)據(jù)采集的“數(shù)字濾波”:10個“軟件濾波程序”

        作者: 時間:2016-12-01 來源:網(wǎng)絡 收藏

        程序:

        本文引用地址:http://www.104case.com/article/201612/324183.htm

        /* 為加快程序處理速度假定基數(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、方法:是對遞推平均濾波法的改進,即不同時刻的數(shù)據(jù)加以不同的權(quán),通常是,越接近現(xiàn)時刻的數(shù)據(jù),權(quán)取得越大。給予新采樣值的權(quán)系數(shù)越大,則靈敏度越高,但信號平滑度越低
        B、優(yōu)點:適用于有較大純滯后時間常數(shù)的對象和采樣周期較短的系統(tǒng)
        C、缺點:對于純滯后時間常數(shù)較小,采樣周期較長,變化緩慢的信號 不能迅速反應系統(tǒng)當前所受干擾的嚴重程度,濾波效果差

        程序:

        /* 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{
        value_buf[count] = get_ad();
        delay();
        }
        for (count=0,countsum += value_buf[count]*coe[count];
        return (char)(sum/sum_coe);
        }

        9、消抖濾波法
        A、方法:設置一個濾波計數(shù)器,將每次采樣值與當前有效值比較:
        如果采樣值=當前有效值,則計數(shù)器清零
        如果采樣值<>當前有效值,則計數(shù)器+1,并判斷計數(shù)器是否>=上限N(溢出)
        如果計數(shù)器溢出,則將本次值替換當前有效值,并清計數(shù)器
        B、優(yōu)點:對于變化緩慢的被測參數(shù)有較好的濾波效果,可避免在臨界值附近控制器的反復開/關(guān)跳動或顯示器上數(shù)值抖動
        C、缺點:對于快速變化的參數(shù)不宜,如果在計數(shù)器溢出的那一次采樣到的值恰好是干擾值,則會將干擾值當作有效值導入系統(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、方法:相當于“限幅濾波法”+“消抖濾波法”,先限幅,后消抖
        B、優(yōu)點:繼承了“限幅”和“消抖”的優(yōu)點,改進了“消抖濾波法”中的某些缺陷,避免將干擾值導入系統(tǒng)
        C、缺點:對于快速變化的參數(shù)不宜

        程序略 參考子程序1、9



        上一頁 1 2 3 下一頁

        關(guān)鍵詞: AD數(shù)據(jù)采集數(shù)字濾波軟件濾

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 华阴市| 葫芦岛市| 镇沅| 辽宁省| 日土县| 莲花县| 遂昌县| 普格县| 伽师县| 高安市| 双流县| 阿坝县| 澄江县| 乐至县| 井研县| 镇原县| 蓝田县| 万源市| 邹城市| 安义县| 开化县| 临汾市| 青川县| 鹤山市| 沾化县| 微博| 都兰县| 梧州市| 门源| 绥阳县| 肇州县| 昌都县| 济宁市| 三穗县| 屯门区| 吉安市| 兴安县| 镇远县| 阜康市| 福海县| 古交市|