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

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

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

FIR濾波器在信號(hào)處理和通信系統(tǒng)中的應(yīng)用

冬至子 ? 來源:Egoedge ? 作者:Egoedge ? 2023-06-15 15:12 ? 次閱讀

FIR濾波器信號(hào)處理和通信系統(tǒng)中有著極為廣泛的應(yīng)用,全稱是有限長單位沖擊響應(yīng)濾波器。

FIR濾波器的缺點(diǎn)是運(yùn)算量大,但結(jié)合目前的芯片技術(shù),FPGA自然不必說,可以非常靈活的設(shè)計(jì)很高階次的并行結(jié)構(gòu),ASICGPU都是高密度的流水線型DSP處理,對(duì)于FIR所要求的高運(yùn)算能力,自然是不在話下。另一個(gè)缺點(diǎn)在于對(duì)于低頻信號(hào)處理顯得有一些力不從心。

FIR濾波器的優(yōu)點(diǎn)在于階次可以做的很高,并且很容易得到各種各樣期望是的響應(yīng)曲線,很靈活,并且通過調(diào)整窗函數(shù),可以得到很好的濾波效果。

FIR濾波器可以說是和卷積相當(dāng)緊密的聯(lián)系在一起的,可以說FIR是完全依托于卷積的概念而生的一種濾波器。并且由于傅里葉前輩的貢獻(xiàn),我們可以很簡單的用FFT來計(jì)算大長度的FIR,也因此在通信系統(tǒng)的信號(hào)處理中隨處可見FIR的身影。

濾波

想要把一個(gè)知識(shí)點(diǎn)發(fā)散出去,那就得對(duì)它認(rèn)識(shí)的足夠深刻。作為一個(gè)硬件工程師,對(duì)于濾波的概念再熟悉不過了,所謂濾波,就是濾掉不想要的雜波,留下我們想要的信號(hào)。

但是如果我不能給別人講出一點(diǎn)更深層次的東西,也辜負(fù)了別人關(guān)注我一番。從頻域上來講,信號(hào)是一個(gè)矢量,濾波的目的在于只保留這個(gè)矢量的某些分量,而濾掉其他分量,得到其在子空間內(nèi)的投影。

圖片

舉個(gè)簡單的例子,一階低通濾波。一階低通濾波是怎么實(shí)現(xiàn)的?在對(duì)輸入信號(hào)做了延時(shí)之后再疊加回去,就得到了濾波之后的結(jié)果。信號(hào)在時(shí)間上的延時(shí)就相當(dāng)于相位上的滯后,參照上圖的頻率響應(yīng)曲線。當(dāng)相位的滯后到了180°時(shí),和原本的信號(hào)做疊加,得到的結(jié)果就是0,于是就被濾掉了。

把一階低通濾波抽象到離散系統(tǒng)中,采用數(shù)字的方式來實(shí)現(xiàn),其數(shù)學(xué)表達(dá)式是Y(n)=a*X(n)+(1-a)*Y(n-1)。這個(gè)結(jié)果在我大三的計(jì)算機(jī)控制課上有過詳細(xì)的推導(dǎo)過程,但我沒記住,自己推了半天也沒推出來,索性就直接放個(gè)結(jié)果吧。可以看到,一階低通濾波的本質(zhì)是把輸入信號(hào)和上一次的輸出信號(hào)做一個(gè)加權(quán),通過調(diào)不同的加權(quán)系數(shù)來調(diào)整濾波器的帶寬。

數(shù)字濾波器可以認(rèn)為是直接用數(shù)學(xué)語言來對(duì)信號(hào)進(jìn)行濾波,所以其使用和實(shí)現(xiàn)上與電路搭建的濾波器有著本質(zhì)的差別。例如上面的一階低通濾波,用程序?qū)崿F(xiàn)的話可以實(shí)現(xiàn)任意的帶寬設(shè)計(jì),而用RC電路實(shí)現(xiàn)就會(huì)嚴(yán)重受限于器件的工藝。所以把濾波器引申到數(shù)字處理之后可以得到這樣的定義:濾波器的本質(zhì)是對(duì)頻率的加權(quán)疊加;和期望的響應(yīng)曲線做相關(guān)。這兩句話想不通也沒有關(guān)系,下面還會(huì)繼續(xù)介紹。

卷積

卷積對(duì)于工程學(xué)來講可以說是大廈的根基一般,往廣義了來講,可以說世界上一切都是卷積的結(jié)果。

圖片

上圖是卷積運(yùn)算的一個(gè)示意圖。那么卷積的物理意義是什么?我看到過很多很多的解釋,但回頭來看,這些解釋,懂得人看起來覺得說的沒問題,不懂的人還是看不懂。我這里舉一個(gè)例子來說明什么是卷積:小哪吒很皮,這天偷跑出去,在城里惹了禍,把別人家房子弄塌了,李靖給人賠禮道歉修房子,回到家打了小哪吒一頓,屁股腫了,過了兩天腫消下去了,沒多久又出去惹了禍,抽了敖丙的龍筋,老龍王找上門來,李靖氣的又打了他一頓,屁股又腫了,過了半小時(shí),李靖氣沒消,又打了一頓,老龍王不依不饒,李靖沒辦法又打了一頓,屁股就腫的越來越高。

在這個(gè)例子里,小哪吒屁股腫的程度是最終的輸出結(jié)果,這個(gè)結(jié)果不是由李靖的某一巴掌所單獨(dú)決定的,而是這一天加起來挨的打所共同影響的結(jié)果。從最終的結(jié)果來講,第一巴掌的貢獻(xiàn)是最小的,最后一巴掌的貢獻(xiàn)是最大的。這就是加權(quán)疊加。而一巴掌的結(jié)果,隨著時(shí)間的推移,影響會(huì)逐漸消散,這是一個(gè)一階慣性環(huán)節(jié)的響應(yīng)。整個(gè)過程可以抽象為李靖打在哪吒屁股上的巴掌在經(jīng)過一階慣性環(huán)節(jié)之后,不同的輸入疊加,最終輸出的結(jié)果是哪吒現(xiàn)在屁股腫的程度。僅僅一巴掌,大概半小時(shí)就消下去了,但是由于李靖打的時(shí)間間隔縮小,當(dāng)無窮小時(shí)就是連續(xù)的積分,最終的結(jié)果是得好幾天才能消腫。

所以通俗地講:卷積就是在輸入信號(hào)的每一個(gè)位置(每一巴掌)處疊加一個(gè)單位響應(yīng)(半小時(shí)消腫),把每個(gè)位置得到的結(jié)果疊加就得到了輸出。對(duì)于離散系統(tǒng)來講,卷積的定義是

圖片

x(n-k)是依次的n個(gè)輸入,h(k)是每個(gè)輸入所對(duì)應(yīng)的權(quán)值。在濾波的應(yīng)用中,最簡單的就是移動(dòng)平均數(shù)的方式,對(duì)相鄰的幾個(gè)歷史值做平均加權(quán)。這一節(jié)最開始放的示意圖是圖像處理中常用的一種移動(dòng)平均的濾波方式。

圖片

圖片

見上圖,圖中有很多噪點(diǎn),這些噪點(diǎn)很尖銳,屬于高頻噪聲,將圖像提取出來,做成矩陣之后,就可以采用卷積的概念,把每一個(gè)點(diǎn)的輸出和周圍8個(gè)點(diǎn)做平均,于是得到如下的結(jié)果

圖片

FIR濾波器

在理解了卷積的概念之后,F(xiàn)IR濾波器就變得順理成章。把系統(tǒng)響應(yīng)的函數(shù)換成我們所期望的函數(shù),這樣卷積的過程就變成了FIR濾波器。我看到很多地方對(duì)濾波的定義是:用一個(gè)期望的頻率特征函數(shù)H(f)去乘以輸入信號(hào)頻率X(f)。對(duì)于這個(gè)解釋我理解了好久,為什么要用一個(gè)期望的函數(shù)去強(qiáng)行改變輸入頻率?但現(xiàn)在理解了之后,對(duì)這個(gè)解釋稍作修改之后應(yīng)該會(huì)變得容易理解很多:用一個(gè)期望的頻率響應(yīng)去乘以輸入信號(hào),這就是濾波。

圖片

上圖是FIR的一個(gè)典型的結(jié)構(gòu),是一個(gè)簡單的四階移動(dòng)平均的FIR濾波器。每次的輸出都是對(duì)4次歷史值的平均。下圖分別是經(jīng)過11階平均和51階平均的效果。

圖片

當(dāng)我們把平均值的響應(yīng)函數(shù)換成我們所期望的響應(yīng)函數(shù),這樣就變成了我們想要的濾波器。我們?cè)O(shè)計(jì)濾波器的過程就是選擇FIR中各階輸入的權(quán)重值的過程。

FIR濾波器和FFT

濾波就是用一個(gè)期望的頻率響應(yīng)去乘以輸入信號(hào)的頻率,這個(gè)定義更明確一點(diǎn)來說是在頻域上對(duì)濾波概念的解釋,而在時(shí)域的解釋就是用我們所期望的響應(yīng)函數(shù)h(f)做iFFT之后的時(shí)域函數(shù)H(t)和輸入信號(hào)X(t)做卷積??梢钥吹紽IR濾波器其實(shí)是遵循的濾波在時(shí)域上的定義。

傅里葉前輩不僅給我們指出,所有的信號(hào)都可以被分解為若干正弦波的疊加,同時(shí)還給出了我們時(shí)域頻域相互變換的方法,其中有一條相當(dāng)重要的結(jié)論就是:時(shí)域上的卷積等價(jià)于頻域上的乘積。因此對(duì)于FIR濾波器來講,我們只需要把輸入信號(hào)變換到頻域,再乘以我們期望的響應(yīng)函數(shù),再逆變換到時(shí)域,就得到了濾波后的結(jié)果。

圖片

FIR濾波器的設(shè)計(jì)

在有了FFT的工具之后,我們就可以很方便的進(jìn)行FIR濾波器的設(shè)計(jì)。根據(jù)上面的說法,我們只需要給定所期望的特征函數(shù)h(f),就可以得到結(jié)果,再逆變換回時(shí)域,算出不同tap的權(quán)值,就得到了時(shí)域上FIR的濾波器參數(shù)。

FIR濾波器的設(shè)計(jì)一般有窗函數(shù)法、頻率取樣法和優(yōu)選法。窗函數(shù)法由于其簡單直觀,應(yīng)用最多最廣泛。舉例說明窗函數(shù)法的設(shè)計(jì)應(yīng)用。

圖片

假設(shè)我們要設(shè)計(jì)一個(gè)低通濾波器,在頻譜上的表示如上圖,F(xiàn)s是采樣率,在第一奈奎斯特區(qū)內(nèi)是低通的特性。所謂窗函數(shù)法就是加一個(gè)濾波器的窗口,如上圖所示,對(duì)于低通的特性,理想效果是一個(gè)矩形窗,低于截止頻率通,高于截止頻率不通。

假設(shè)我們所要設(shè)計(jì)的濾波器為128階,截止頻率是Fc,在頻譜上的表示就是Nc=Fc*(Fs/128),然后得到期望的特征函數(shù)

圖片

在頻域上,用這個(gè)特征函數(shù)乘以信號(hào),就得到了輸出的結(jié)果。我們用一個(gè)0Hz~Fs的chirp信號(hào)輸入濾波器來測(cè)試,這個(gè)chirp信號(hào)的頻譜就是一個(gè)矩形,得到的結(jié)果見下圖

圖片

可以看到128階FIR濾波器的邊沿還是非常陡的,有很好的濾波性能,但旁瓣的抑制很差,這個(gè)就是FIR濾波器在頻譜上的泄露。泄露是由于FFT只能處理有限時(shí)間長度的時(shí)域信號(hào),如果時(shí)域截取的數(shù)據(jù)不是信號(hào)周期的整數(shù)倍,就會(huì)存在泄露。由于矩形窗的邊沿過于陡,只有很小的概率正好截取到信號(hào)周期的整數(shù)倍,因此泄露很嚴(yán)重??梢酝ㄟ^選擇合適的窗函數(shù),來減少頻譜上發(fā)生的泄露。一般常用的窗函數(shù)有矩形窗、漢寧窗和平頂窗,他們的特征如下圖所示

圖片

不同窗函數(shù)所對(duì)應(yīng)的結(jié)果看下圖

圖片

關(guān)于窗函數(shù)就不再介紹了,窗函數(shù)的選擇是FIR濾波器設(shè)計(jì)的重點(diǎn),矩形窗的優(yōu)點(diǎn)在于計(jì)算量小,其他的窗函數(shù)基本都是基于升余弦函數(shù),漢寧窗屬于升余弦函數(shù)的一個(gè)特例。有興趣的大家自己可以去研究研究。

最后要說的一點(diǎn)是,F(xiàn)IR濾波器的階數(shù)越高,則邊沿越陡,運(yùn)算量越大。

聲明:本文內(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)注

    14

    文章

    474

    瀏覽量

    47424
  • 通信系統(tǒng)
    +關(guān)注

    關(guān)注

    6

    文章

    1193

    瀏覽量

    53352
  • 信號(hào)處理器
    +關(guān)注

    關(guān)注

    1

    文章

    254

    瀏覽量

    25280
  • RC電路
    +關(guān)注

    關(guān)注

    2

    文章

    162

    瀏覽量

    30267
  • fir濾波器
    +關(guān)注

    關(guān)注

    1

    文章

    95

    瀏覽量

    19044
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    DSP in FPGA:FIR濾波器(一)

    FIR 濾波器廣泛應(yīng)用于數(shù)字信號(hào)處理,主要功能就是將不感興趣的信號(hào)濾除,留下有用
    發(fā)表于 06-27 10:02 ?9576次閱讀

    DSP in FPGA:FIR濾波器(二)

    FIR 濾波器廣泛應(yīng)用于數(shù)字信號(hào)處理,主要功能就是將不感興趣的信號(hào)濾除,留下有用
    發(fā)表于 06-30 09:47 ?2158次閱讀

    FIR濾波器和IIR濾波器有什么區(qū)別

    考慮來加以選擇。從使用要求上來看,在對(duì)相位要求不敏感的場(chǎng)合,如語言通信等,選用IIR較為合適,這樣可以充分發(fā)揮其經(jīng)濟(jì)高效的特點(diǎn);對(duì)于圖像信號(hào)處理,數(shù)據(jù)傳輸?shù)纫圆ㄐ螖y帶信息的系統(tǒng),則對(duì)線
    發(fā)表于 06-27 04:20

    怎么設(shè)計(jì)高階FIR濾波器?

    相對(duì)無限沖擊響應(yīng)(IIR)濾波器,有限沖擊響應(yīng)(FIR)能夠滿足濾波器幅頻響應(yīng)的同時(shí)獲得嚴(yán)格的線性相位特性,而數(shù)據(jù)通信、語音
    發(fā)表于 08-23 06:39

    怎么設(shè)計(jì)高階FIR濾波器?

    相對(duì)無限沖擊響應(yīng)(IIR)濾波器,有限沖擊響應(yīng)(FIR)能夠滿足濾波器幅頻響應(yīng)的同時(shí)獲得嚴(yán)格的線性相位特性,而數(shù)據(jù)通信、語音
    發(fā)表于 08-27 07:16

    基于DSPBuilder的FIR濾波器系統(tǒng)該怎么設(shè)計(jì)?

    信息信號(hào)處理過程中,如對(duì)信號(hào)的過濾、檢測(cè)、預(yù)測(cè)等,都要使用濾波器,數(shù)字濾波器是數(shù)字
    發(fā)表于 08-30 07:18

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

    什么是fir數(shù)字濾波器 Part 1: Basics1.1 什么是FIR濾波器?FIR 濾波器
    發(fā)表于 01-16 09:42 ?1.7w次閱讀

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

    的線性相頻特性,同時(shí)其單位抽樣響應(yīng)是有限長的,因而濾波器是穩(wěn)定的系統(tǒng)。因此,FIR濾波器通信、
    發(fā)表于 06-07 08:51 ?13次下載
    輕松設(shè)計(jì)數(shù)字<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>

    基于FPGA的硬件加速FIR流水結(jié)構(gòu)濾波器實(shí)現(xiàn)、設(shè)計(jì)及驗(yàn)證

    。 隨著數(shù)字通信技術(shù)的快速發(fā)展,高質(zhì)量的信息處理對(duì)濾波器的性能和資源占有量提出了更高的要求。有限沖擊響應(yīng)(FIR)數(shù)字有限沖激響應(yīng)濾波器
    發(fā)表于 11-18 06:15 ?1543次閱讀
    基于FPGA的硬件加速<b class='flag-5'>器</b>的<b class='flag-5'>FIR</b>流水結(jié)構(gòu)<b class='flag-5'>濾波器</b>實(shí)現(xiàn)、設(shè)計(jì)及驗(yàn)證

    基于FPGA的可調(diào)FIR濾波器實(shí)際通信系統(tǒng)的實(shí)現(xiàn)方法設(shè)計(jì)

    的自適應(yīng)調(diào)整是通過控制算法對(duì)信道信號(hào)進(jìn)行快速檢測(cè),然后將結(jié)果和濾波器的輸出結(jié)果進(jìn)行差值計(jì)算進(jìn)行反饋調(diào)節(jié)。利用Quartus II和DSP Builder設(shè)計(jì)基于FPGA的16階系數(shù)可調(diào)FI
    發(fā)表于 07-23 17:21 ?2601次閱讀
    基于FPGA的可調(diào)<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b><b class='flag-5'>在</b>實(shí)際<b class='flag-5'>通信</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>的實(shí)現(xiàn)方法設(shè)計(jì)

    基于FIR濾波器結(jié)構(gòu)實(shí)現(xiàn)級(jí)聯(lián)型信號(hào)處理器FPGA的設(shè)計(jì)

    在數(shù)字信號(hào)處理領(lǐng)域,濾波器無疑是個(gè)非常重要的環(huán)節(jié)。而在數(shù)字濾波器,有限脈沖響應(yīng)(FIR
    的頭像 發(fā)表于 04-22 08:07 ?5892次閱讀
    基于<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>結(jié)構(gòu)實(shí)現(xiàn)級(jí)聯(lián)型<b class='flag-5'>信號(hào)</b><b class='flag-5'>處理器</b>FPGA的設(shè)計(jì)

    FIR濾波器和IIR濾波器的區(qū)別與聯(lián)系

    濾波器,沖激響應(yīng)理論上應(yīng)會(huì)無限持續(xù),其輸出不僅取決于當(dāng)前和過去的輸入信號(hào)值,也取決于過去的信號(hào)輸出值。 2.FIR和IIR FIR
    的頭像 發(fā)表于 12-30 23:45 ?3901次閱讀

    數(shù)字信號(hào)處理v2 第七章 FIR數(shù)字濾波器的設(shè)計(jì)方法(1)

    版。 重點(diǎn)知識(shí)! 重中之重! 實(shí)際使用,看重的就是FIR濾波器的線性相位特性和穩(wěn)定性。通信信號(hào)
    的頭像 發(fā)表于 03-13 18:05 ?1216次閱讀
    數(shù)字<b class='flag-5'>信號(hào)</b><b class='flag-5'>處理</b>v2 第七章 <b class='flag-5'>FIR</b>數(shù)字<b class='flag-5'>濾波器</b>的設(shè)計(jì)方法(1)

    IIR濾波器FIR濾波器的區(qū)別

    數(shù)字濾波器是數(shù)字信號(hào)處理中最常用的一種技術(shù),可以對(duì)數(shù)字信號(hào)進(jìn)行濾波、降噪、增強(qiáng)等處理,其中最常見
    的頭像 發(fā)表于 06-03 10:21 ?1.9w次閱讀

    如何區(qū)分IIR濾波器FIR濾波器

    IIR(無限脈沖響應(yīng))濾波器FIR(有限脈沖響應(yīng))濾波器是數(shù)字信號(hào)處理領(lǐng)域中兩種非常重要的濾波器
    的頭像 發(fā)表于 07-19 09:44 ?4927次閱讀