欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

基于算術(shù)平均算法的中值數(shù)字濾波器設(shè)計(jì)

CHANBAEK ? 來源:木南創(chuàng)智 ? 作者:尹家軍 ? 2022-12-13 17:41 ? 次閱讀

信號(hào)采集系統(tǒng)中,除了我們感興趣的數(shù)據(jù)外,難免會(huì)有一些來自于環(huán)境的干擾信號(hào)。但我們總希望我們得到的數(shù)據(jù)是純凈而真實(shí)的,為了達(dá)到這個(gè)目標(biāo),我們不得不想辦法去除這些干擾信號(hào),于是濾波器就成為我們必不可少的幫手。這一篇我們就來討論如何通過軟件實(shí)現(xiàn)基于中值平均算術(shù)平均算法的中值數(shù)字濾波器。

1、問題的提出

??在我們通過AD采集獲取數(shù)據(jù)時(shí),不可避免會(huì)受到干擾信號(hào)的影響,而且很多時(shí)候我們希望盡可能的將這種影響減到最小。為實(shí)現(xiàn)這一目的,人們想了很多辦法,有硬件方面的,也有軟件方面的。在硬件難以改變或者軟件能夠達(dá)到相應(yīng)效果時(shí),我們一般采用軟件方法來實(shí)現(xiàn),通常稱之為數(shù)字濾波。

??在我們的項(xiàng)目中,要求100毫秒采集100個(gè)數(shù)據(jù),由于信號(hào)非常微弱,很容易收到干擾,所以實(shí)際采集到的數(shù)據(jù)中起伏很大,這其中有很多數(shù)據(jù)數(shù)疊加了干擾項(xiàng)的數(shù)據(jù)。通過示波器觀察,我們發(fā)現(xiàn)在這些干擾項(xiàng)中,有周期性的頻率相對(duì)低一些的干擾,也有無規(guī)律的頻率很高的干擾。這些干擾信號(hào)對(duì)我們的測(cè)量結(jié)果的影響非常之大,幾乎讓測(cè)量結(jié)果完全不可信,所以我們必須想辦法將其去除。

??我們考慮并測(cè)試了多種濾波算法,我們發(fā)現(xiàn)單一的濾波手段很難同時(shí)濾掉幾種不同的干擾信號(hào)。所以我們嘗試組合多種濾波算法以實(shí)現(xiàn)我們的目標(biāo)。

2、算法設(shè)計(jì)

??前面我們已經(jīng)描述了問題的來源,所以為了去除不同種類的干擾信號(hào),我們必須設(shè)計(jì)一個(gè)針對(duì)多種干擾信號(hào)的濾波算法。我們知道主要的干擾信號(hào)是相對(duì)頻率較低的周期干擾和相對(duì)頻率較高的非周期干擾,我們將分析這兩種信號(hào)的特點(diǎn)并針對(duì)性的采取相應(yīng)的濾波手段。

??首先我們來考慮相對(duì)頻率較低的周期干擾,這種干擾來自于環(huán)境并且很難避免,但這種干擾信號(hào)具有一定的規(guī)律,所以它對(duì)正常信號(hào)造成的影響也是有一定規(guī)律的。我們可以圖示如下:

??如果只存在這一種周期性的低頻率的干擾信號(hào),那么我們很容易想到采用算術(shù)平局算法就能夠去除,在前面我們也確實(shí)是這么做的。事實(shí)上如果存在多種頻率的周期性干擾信號(hào),只要采集到的數(shù)據(jù)樣本數(shù)量足夠,采用算數(shù)平均算法基本都是可以得到比較理想的結(jié)果。在我們的項(xiàng)目中,我們的采集頻率達(dá)到了1KHz,而我們每100毫秒出一個(gè)數(shù),所以從理論上講,10Hz以上的周期性干擾都可以通過算術(shù)平均率波來消除。

??接下來我們來考慮相對(duì)頻率較高的非周期干擾,這種干擾具有較大的隨機(jī)性,有可能對(duì)信號(hào)的影響較大,也有可能對(duì)信號(hào)的影響較小,其頻率和幅值都是隨機(jī)的,測(cè)量結(jié)果存在很大的偶然性。我們可以簡(jiǎn)單的圖示如下:

??對(duì)于這種干擾我們前面的方法對(duì)他是沒有效果的,但我們的ADC采用的是積分方式來檢測(cè)信號(hào)的,所以在兩個(gè)采樣點(diǎn)之間,無論這類干擾信號(hào)在何時(shí)出現(xiàn)都會(huì)疊加到緊接著的這個(gè)采樣數(shù)據(jù)上,致使最終的采樣數(shù)據(jù)比周期性干擾疊加的情況下要么大一些,要么小一些。這就存在兩種情況,如果是正向干擾就會(huì)是數(shù)據(jù)變大一些,如果是反向干擾就會(huì)是數(shù)據(jù)變小一些。使得最終的測(cè)量數(shù)據(jù)更加背離原始數(shù)據(jù)或者更加接近原始數(shù)據(jù)。

??對(duì)于更加接近我們需要的數(shù)據(jù)的變化,我們先不用理會(huì)它,畢竟它更加接近我們想要的數(shù)據(jù)。對(duì)于更加偏離的那一部分?jǐn)?shù)據(jù),我們有什么辦法將其去除掉呢?辦法是有的,我們借鑒比賽積分中去掉偶然性的方式,去掉最高和最低的數(shù),中間的數(shù)應(yīng)該更接近與真實(shí)值。具體如下圖所示:

??這樣去掉最大的一些數(shù)和最小的一些數(shù)后,并不能保證得到的就是真實(shí)的信號(hào)值,但有一點(diǎn)我們時(shí)刻以肯定的就是,余下的值都更為接近真實(shí)的信號(hào)值。然后我們?cè)趯?duì)余下的數(shù)采取算術(shù)平均操作,得到的就是接近真實(shí)值的一個(gè)采集值了。

3、編碼實(shí)現(xiàn)

??我們已經(jīng)設(shè)計(jì)了采用中值及算術(shù)平均的方式的算法來處理這些數(shù)據(jù)。但具體該如何實(shí)現(xiàn)呢?這一節(jié)中我們就來討論算法的實(shí)現(xiàn)。

??首先我們來分析一下實(shí)現(xiàn)這里算法需要涉及到哪些問題。第一,首先我們必須采集到一定數(shù)量的數(shù)據(jù),這個(gè)數(shù)據(jù)量不可太小,理論上來講3個(gè)數(shù)據(jù)可以實(shí)現(xiàn),但事實(shí)上你會(huì)發(fā)現(xiàn)對(duì)此等規(guī)模的數(shù)據(jù)量使用這一算法其實(shí)沒有多大意義。一般一次采集幾十個(gè)數(shù)然后再做此濾波是比較有效果的。第二,因?yàn)椴捎脕G棄一定數(shù)量的極大值和極小值減少干擾項(xiàng)的方法,所以在幾十上百的數(shù)據(jù)量時(shí),我們最好是將其先排序在去除比較方便。第三,我們需要選擇合理的基礎(chǔ)數(shù)據(jù)量和需要去除的極大極小數(shù)量。這一點(diǎn)對(duì)最終的結(jié)果和濾波的效果都會(huì)有影響。明白了上述幾點(diǎn)后,我們就可以來實(shí)現(xiàn)這一濾波算法了。

/*中值平均濾波算法*/
static uint32_t MedianMeanFilter(uint32_t *pData,uint16_t aSize,uint16_t eSize)
{
    uint32_t tData;
    uint32_t result=0;
    
    if(aSize<=2*eSize)
    {
        return 0;
    }
    
    for (int i=0; i-1; i++)  //比較n-1輪
    {
        for (int j=0; j-1-i; j++)  //每輪比較n-1-i次,
        {
            if (pData[j] < pData[j+1])
            {
                tData = pData[j];
                pData[j] = pData[j+1];
                pData[j+1] = tData;
            }
        }
    }
    
    for(int j=eSize;j<(aSize-eSize);j++)
    {
        result=result+pData[j];
    }
    
    result = result/(aSize-2*eSize);
    
    return result;
}

??在上述實(shí)現(xiàn)中,我們先對(duì)輸入的數(shù)據(jù)進(jìn)行了排序。在上述代碼中我們考慮到數(shù)據(jù)量不大,采用了冒泡排序的方式實(shí)現(xiàn)。然后我們?nèi)コ艘欢〝?shù)量的極大值和極小值,并對(duì)余下的值取算術(shù)平均就得到了本次我們的采集值。

??對(duì)于函數(shù)中的三個(gè)參數(shù):uint32_t *pData是需要濾波的原始采集數(shù)據(jù);uint16_t aSize是需要濾波的原始采集數(shù)據(jù)的數(shù)量;uint16_t eSize是需要丟棄的極大值和極小值的數(shù)量。其中aSize要遠(yuǎn)大于eSize的2倍,否則大部分被舍棄,濾波的意義就不大了。

??函數(shù)的使用也很簡(jiǎn)單。比如在我們的應(yīng)用中,我們以1KHz的速度采集原始值,每采集100個(gè)數(shù)出一個(gè)測(cè)量結(jié)果,去掉10個(gè)極大值和10個(gè)極小值,于是我們就可以調(diào)用函數(shù)如下:

temp[i]=MedianMeanFilter(rDatas[i],100,10);

??在這個(gè)應(yīng)用中,我們測(cè)試去掉10個(gè)極大值和10個(gè)極小值可以得到比較理想的結(jié)果,當(dāng)然也可以將eSize的值增大一些以強(qiáng)化濾波的效果,但不要太大。

4、應(yīng)用總結(jié)

??我們實(shí)現(xiàn)了基于算術(shù)平均的中值濾波器。該濾波器對(duì)一定頻率以上的周期性干擾和隨機(jī)性的噪聲干擾均有較好的效果。通過修改丟棄的極大值和極小值的數(shù)量可以應(yīng)對(duì)在不同環(huán)境下的濾波要求。

??這一濾波算法適用于高速采集,大數(shù)據(jù)量的情況下濾波。所以必須采集到一定數(shù)量的數(shù)據(jù),這個(gè)數(shù)據(jù)量不可太小。一般一次采集幾十個(gè)數(shù)然后再做此濾波是比較有效果的。

??這一濾波算法對(duì)一定頻率以上的周期性干擾和隨機(jī)性的高頻干擾有顯著的效果。而對(duì)其他類型的干擾只具有有限的改善。

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

    關(guān)注

    161

    文章

    7868

    瀏覽量

    179021
  • 數(shù)字濾波器
    +關(guān)注

    關(guān)注

    4

    文章

    270

    瀏覽量

    47098
  • 算法設(shè)計(jì)
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    8194
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用FPGA構(gòu)建的數(shù)字濾波器設(shè)計(jì)方案

    本文簡(jiǎn)要介紹了FIR數(shù)字濾波器的結(jié)構(gòu)特點(diǎn)和基本原理,提出基于FPGA和DSP Builder的FIR數(shù)字濾波器的基本設(shè)計(jì)流程和實(shí)現(xiàn)方案。##FIR 數(shù)字濾波器的詳細(xì)設(shè)計(jì)。
    發(fā)表于 07-24 15:30 ?8902次閱讀
    使用FPGA構(gòu)建的<b class='flag-5'>數(shù)字濾波器</b>設(shè)計(jì)方案

    基于遞推算術(shù)平均算法的平滑濾波器設(shè)計(jì)

    濾波器的用武之地。這里我們討論的主要是軟件實(shí)現(xiàn)的數(shù)字濾波器,這一篇我們就來討論基于遞推算術(shù)平均算法的平滑濾波器。
    的頭像 發(fā)表于 12-13 17:33 ?1733次閱讀
    基于遞推<b class='flag-5'>算術(shù)平均</b><b class='flag-5'>算法</b>的平滑<b class='flag-5'>濾波器</b>設(shè)計(jì)

    基于遞推算術(shù)平均算法的帶阻平滑濾波器設(shè)計(jì)

    濾波器的用武之地。這里我們討論的主要是軟件實(shí)現(xiàn)的數(shù)字濾波器,這一篇我們就來討論基于遞推算術(shù)平均算法的帶阻平滑濾波器
    的頭像 發(fā)表于 12-13 17:35 ?1156次閱讀
    基于遞推<b class='flag-5'>算術(shù)平均</b><b class='flag-5'>算法</b>的帶阻平滑<b class='flag-5'>濾波器</b>設(shè)計(jì)

    基于遞推算術(shù)平均算法的階進(jìn)平滑濾波器設(shè)計(jì)

    濾波器的用武之地。這里我們討論的主要是軟件實(shí)現(xiàn)的數(shù)字濾波器,這一篇我們就來討論基于遞推算術(shù)平均算法的階進(jìn)平滑濾波器。
    的頭像 發(fā)表于 12-13 17:37 ?1216次閱讀
    基于遞推<b class='flag-5'>算術(shù)平均</b><b class='flag-5'>算法</b>的階進(jìn)平滑<b class='flag-5'>濾波器</b>設(shè)計(jì)

    基于算術(shù)平均算法的限幅濾波器設(shè)計(jì)

    通過AD采集數(shù)據(jù)時(shí),我們總是希望采集到的數(shù)據(jù)是純凈而真實(shí)的,而實(shí)際上環(huán)境中存在太多的干擾信號(hào),為了讓我們得到的數(shù)據(jù)盡可能地接近實(shí)際值,我們需要降低這些干擾信號(hào)的影響。所以軟件實(shí)現(xiàn)的數(shù)字濾波器應(yīng)運(yùn)而生,這一篇我們就來討論基于中值算術(shù)平均
    的頭像 發(fā)表于 12-13 17:47 ?1350次閱讀
    基于<b class='flag-5'>算術(shù)平均</b><b class='flag-5'>算法</b>的限幅<b class='flag-5'>濾波器</b>設(shè)計(jì)

    軟件算法實(shí)現(xiàn)數(shù)字濾波問題

    軟件算法實(shí)現(xiàn)數(shù)字濾波問題:解決方法:數(shù)字濾波算法優(yōu)點(diǎn):限幅濾波算法:原理描述:適用場(chǎng)景:參考代碼
    發(fā)表于 01-20 06:58

    數(shù)字濾波器的設(shè)計(jì)與應(yīng)用

    數(shù)字濾波器
    發(fā)表于 08-26 19:29 ?24次下載
    <b class='flag-5'>數(shù)字濾波器</b>的設(shè)計(jì)與應(yīng)用

    數(shù)字濾波器的結(jié)構(gòu)

    數(shù)字網(wǎng)絡(luò)的信號(hào)流圖表示 IIR數(shù)字濾波器的結(jié)構(gòu) FIR數(shù)字濾波器的結(jié)構(gòu)數(shù)字濾波器的格形結(jié)構(gòu)信號(hào)流圖的基本概念1、定義:信號(hào)流圖是一種有向圖,它用帶箭頭
    發(fā)表于 01-07 10:24 ?30次下載

    數(shù)字濾波器的原理及其設(shè)計(jì)

    本章介紹數(shù)字濾波器的原理及其設(shè)計(jì)。數(shù)字濾波器的設(shè)計(jì)是數(shù)字系統(tǒng)綜合的問題之一。所謂數(shù)字系統(tǒng)的綜合(synthesis)就是給出設(shè)計(jì)指標(biāo)的情況下,設(shè)計(jì)一個(gè)系統(tǒng)使之滿足設(shè)計(jì)指標(biāo)
    發(fā)表于 11-24 09:13 ?128次下載

    數(shù)字濾波器的設(shè)計(jì)實(shí)驗(yàn)

    數(shù)字濾波器的設(shè)計(jì)實(shí)驗(yàn) 一. 數(shù)字濾波器設(shè)計(jì):(1) 數(shù)字濾波器設(shè)計(jì)步驟:a. 整理給定的濾波器設(shè)計(jì)要求
    發(fā)表于 10-30 13:34 ?5814次閱讀
    <b class='flag-5'>數(shù)字濾波器</b>的設(shè)計(jì)實(shí)驗(yàn)

    什么是數(shù)字濾波器

    什么是數(shù)字濾波器 數(shù)字濾波器(digital filter)是由數(shù)字乘法器、加法器
    發(fā)表于 06-30 12:37 ?4006次閱讀
    什么是<b class='flag-5'>數(shù)字濾波器</b>

    數(shù)字濾波器,數(shù)字濾波器原理是什么?

    數(shù)字濾波器,數(shù)字濾波器原理是什么? 在信號(hào)處理領(lǐng)域中,對(duì)于信號(hào)處理的實(shí)時(shí)性、快速性的要求越來越高。而在許多信息處理過程中
    發(fā)表于 03-24 14:06 ?2.9w次閱讀

    基于matlab的數(shù)字濾波器的設(shè)計(jì)及數(shù)字濾波器基本結(jié)構(gòu)

    本文主要介紹了基于matlab的數(shù)字濾波器的設(shè)計(jì)及數(shù)字濾波器基本結(jié)構(gòu)。
    發(fā)表于 06-05 08:00 ?27次下載

    FIR數(shù)字濾波器設(shè)計(jì)

    數(shù)字濾波器的輸入輸出均為數(shù)字信號(hào),信號(hào)通過數(shù)字濾波器后,可以改變頻率成分的相對(duì)比例或?yàn)V除某些頻率成分。數(shù)字濾波器可以分為IIR數(shù)字濾波器和F
    的頭像 發(fā)表于 04-05 09:47 ?5748次閱讀

    數(shù)字濾波器是什么 數(shù)字濾波器的性能指標(biāo)

      數(shù)字濾波器的原理基于數(shù)字信號(hào)處理技術(shù)和濾波器算法,通過對(duì)離散時(shí)間信號(hào)進(jìn)行處理和濾波,實(shí)現(xiàn)對(duì)信號(hào)頻率的選擇性衰減和增強(qiáng)。
    發(fā)表于 02-24 11:23 ?5744次閱讀