在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于算術平均算法的中值數字濾波器設計

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

信號采集系統中,除了我們感興趣的數據外,難免會有一些來自于環境的干擾信號。但我們總希望我們得到的數據是純凈而真實的,為了達到這個目標,我們不得不想辦法去除這些干擾信號,于是濾波器就成為我們必不可少的幫手。這一篇我們就來討論如何通過軟件實現基于中值平均算術平均算法的中值數字濾波器。

1、問題的提出

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

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

??我們考慮并測試了多種濾波算法,我們發現單一的濾波手段很難同時濾掉幾種不同的干擾信號。所以我們嘗試組合多種濾波算法以實現我們的目標。

2、算法設計

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

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

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

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

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

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

??這樣去掉最大的一些數和最小的一些數后,并不能保證得到的就是真實的信號值,但有一點我們時刻以肯定的就是,余下的值都更為接近真實的信號值。然后我們在對余下的數采取算術平均操作,得到的就是接近真實值的一個采集值了。

3、編碼實現

??我們已經設計了采用中值及算術平均的方式的算法來處理這些數據。但具體該如何實現呢?這一節中我們就來討論算法的實現。

??首先我們來分析一下實現這里算法需要涉及到哪些問題。第一,首先我們必須采集到一定數量的數據,這個數據量不可太小,理論上來講3個數據可以實現,但事實上你會發現對此等規模的數據量使用這一算法其實沒有多大意義。一般一次采集幾十個數然后再做此濾波是比較有效果的。第二,因為采用丟棄一定數量的極大值和極小值減少干擾項的方法,所以在幾十上百的數據量時,我們最好是將其先排序在去除比較方便。第三,我們需要選擇合理的基礎數據量和需要去除的極大極小數量。這一點對最終的結果和濾波的效果都會有影響。明白了上述幾點后,我們就可以來實現這一濾波算法了。

/*中值平均濾波算法*/
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;
}

??在上述實現中,我們先對輸入的數據進行了排序。在上述代碼中我們考慮到數據量不大,采用了冒泡排序的方式實現。然后我們去除了一定數量的極大值和極小值,并對余下的值取算術平均就得到了本次我們的采集值。

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

??函數的使用也很簡單。比如在我們的應用中,我們以1KHz的速度采集原始值,每采集100個數出一個測量結果,去掉10個極大值和10個極小值,于是我們就可以調用函數如下:

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

??在這個應用中,我們測試去掉10個極大值和10個極小值可以得到比較理想的結果,當然也可以將eSize的值增大一些以強化濾波的效果,但不要太大。

4、應用總結

??我們實現了基于算術平均的中值濾波器。該濾波器對一定頻率以上的周期性干擾和隨機性的噪聲干擾均有較好的效果。通過修改丟棄的極大值和極小值的數量可以應對在不同環境下的濾波要求。

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 濾波器
    +關注

    關注

    161

    文章

    7817

    瀏覽量

    178139
  • 數字濾波器
    +關注

    關注

    4

    文章

    270

    瀏覽量

    47026
  • 算法設計
    +關注

    關注

    0

    文章

    24

    瀏覽量

    8150
收藏 人收藏

    評論

    相關推薦

    使用FPGA構建的數字濾波器設計方案

    本文簡要介紹了FIR數字濾波器的結構特點和基本原理,提出基于FPGA和DSP Builder的FIR數字濾波器的基本設計流程和實現方案。##FIR 數字濾波器的詳細設計。
    發表于 07-24 15:30 ?8843次閱讀
    使用FPGA構建的<b class='flag-5'>數字濾波器</b>設計方案

    基于遞推算術平均算法的平滑濾波器設計

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

    基于遞推算術平均算法的帶阻平滑濾波器設計

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

    基于遞推算術平均算法的階進平滑濾波器設計

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

    基于算術平均算法的限幅濾波器設計

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

    軟件算法實現數字濾波問題

    軟件算法實現數字濾波問題:解決方法:數字濾波算法優點:限幅濾波算法:原理描述:適用場景:參考代碼
    發表于 01-20 06:58

    數字濾波器的設計與應用

    數字濾波器
    發表于 08-26 19:29 ?24次下載
    <b class='flag-5'>數字濾波器</b>的設計與應用

    數字濾波器的結構

    數字網絡的信號流圖表示 IIR數字濾波器的結構 FIR數字濾波器的結構數字濾波器的格形結構信號流圖的基本概念1、定義:信號流圖是一種有向圖,它用帶箭頭
    發表于 01-07 10:24 ?30次下載

    數字濾波器的原理及其設計

    本章介紹數字濾波器的原理及其設計。數字濾波器的設計是數字系統綜合的問題之一。所謂數字系統的綜合(synthesis)就是給出設計指標的情況下,設計一個系統使之滿足設計指標
    發表于 11-24 09:13 ?127次下載

    數字濾波器的設計實驗

    數字濾波器的設計實驗 一. 數字濾波器設計:(1) 數字濾波器設計步驟:a. 整理給定的濾波器設計要求
    發表于 10-30 13:34 ?5783次閱讀
    <b class='flag-5'>數字濾波器</b>的設計實驗

    什么是數字濾波器

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

    數字濾波器,數字濾波器原理是什么?

    數字濾波器,數字濾波器原理是什么? 在信號處理領域中,對于信號處理的實時性、快速性的要求越來越高。而在許多信息處理過程中
    發表于 03-24 14:06 ?2.9w次閱讀

    基于matlab的數字濾波器的設計及數字濾波器基本結構

    本文主要介紹了基于matlab的數字濾波器的設計及數字濾波器基本結構。
    發表于 06-05 08:00 ?27次下載

    FIR數字濾波器設計

    數字濾波器的輸入輸出均為數字信號,信號通過數字濾波器后,可以改變頻率成分的相對比例或濾除某些頻率成分。數字濾波器可以分為IIR數字濾波器和F
    的頭像 發表于 04-05 09:47 ?5668次閱讀

    數字濾波器是什么 數字濾波器的性能指標

      數字濾波器的原理基于數字信號處理技術和濾波器算法,通過對離散時間信號進行處理和濾波,實現對信號頻率的選擇性衰減和增強。
    發表于 02-24 11:23 ?5521次閱讀
    主站蜘蛛池模板: 曰本毛片| 久久久久免费| mide-776中文字幕在线| 97影院理论片在线观看| 九色在线观看视频| 高清在线免费观看| 丁香六月欧美| 五月婷婷伊人网| 国产欧美亚洲精品| 亚洲网站色| 成年人一级片| 午夜看片网| 一女多夫嗯啊高h| 在线观看精品视频看看播放| 欧美sese| 在线观看免费视频资源| 日木69xxxhd| 国产精品久久久久久久久久妇女| 人人舔人人爱| 手机看片1024日韩| 欧美极品第1页专区| 手机毛片| 激情五月综合婷婷| 久久啊| 在线黄色免费观看| 国产网站免费看| 日日操天天操夜夜操| xxxx日本老师hd| 日本欧美一级| 中国美女一级黄色片| 中文字幕亚洲区| 天天色天天射综合网| 精品免费| 深夜国产成人福利在线观看女同| 青青热久免费精品视频在线观看 | 天天尻| 国产精品久久久久乳精品爆| 狠狠色综合久久久久尤物| 手机看片国产免费永久| 在线观看你懂得| 在线免费观看视频黄|