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

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

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

帶你認(rèn)識濾波器及FIR濾波器設(shè)計

冬至子 ? 來源:MYMINIEYE ? 作者:范龍飛 ? 2023-06-15 11:43 ? 次閱讀

一 .濾波器介紹

濾波器是一種用來減少,消除干擾的電器部件,有對特定頻率的頻點或該頻點以外的頻率信號進行有效濾除,從而實現(xiàn)消除干擾、獲取特定頻率信號的功能。數(shù)字濾波器相比模擬濾波器,有著更高的精度、信噪比、無可比擬的可靠性。

FIR,IIR是數(shù)字濾波器中最常見的兩種濾波器。 FIR濾波器是有限沖擊響應(yīng),最主要特點是沒有反饋回路,故不存在不穩(wěn)定的問題,很容易做到嚴(yán)格的線性相位特性,另外設(shè)計方式是線性的,硬件容易實現(xiàn),對于抽取和插入,結(jié)構(gòu)簡單,很容易得到高速流水線的設(shè)計,有定義明確的量化噪聲,并且有較低的系數(shù)和算法四舍五入誤差預(yù)算,但是其高濾波器長度的實現(xiàn)需要大量的工作量及資源;IIR濾波器是無限沖擊響應(yīng),最主要的特點是可以用較低的階數(shù),獲得高的選擇性,所用的存儲單元少,計算量小,效率高。但是這樣的效率是以非線性相位為代價的,選擇性越好,相位非線性越嚴(yán)重。本文以FIR為例介紹數(shù)字濾波器的設(shè)計及驗證。

二.FIR濾波器設(shè)計

采用matlab的Filter Design 來完成對FIR濾波器的設(shè)計,打開matlab,在命令行輸入filterDesigner,進入到設(shè)計頁面,如下

圖片

對濾波器的設(shè)計主要涉及三個點:通帶,阻帶,過渡帶。

主要的參數(shù)有以下5個:

Fpass:通帶上限截至頻率,Apass:帶內(nèi)平坦度;

Fstop:阻帶下限截至頻率,Astop:帶外抑制幅度;

Fs:數(shù)據(jù)率

輸入數(shù)據(jù)的速率為9.14MHz,通帶上限截止頻率為2M,由于考慮到鏡像干擾,阻帶截至頻率設(shè)為2.2M,階數(shù)選擇128階,濾波器階數(shù)可以根據(jù)需要設(shè)置,也可以設(shè)置帶內(nèi)平坦度和帶外抑制幅度,來選擇所需最小階數(shù),達到自己需要的精度即可。設(shè)置完成之后,如下:

圖片

濾波器設(shè)計完成之后需要對濾波器的系數(shù)進行定點量化,選擇按鈕3,定義16位的數(shù)據(jù)位寬,其中15位為小數(shù)。如下:

圖片

點擊Filter Design菜單欄的Targets選項下拉菜單的Generate C Header和XILINX Coefficient(.COE) File,分別導(dǎo)出的是C的頭文件和.coe文件(濾波器系數(shù)文件),C的頭文件如下

圖片

Coe文件為:

圖片

這里選擇產(chǎn)生Generate C Header,產(chǎn)生濾波器系數(shù),此處沒有選擇coe文件,是因為當(dāng)vivado IP核使用coe方式導(dǎo)入時,vivado不能區(qū)分小數(shù)位。

三.vivado FIR IP核介紹

1.設(shè)置濾波器的屬性 :打開vivado IP核,直接填入濾波器的系數(shù),此處系數(shù)需要量化為小數(shù),左邊為濾波器的增益,和matlab一致,如下:

圖片

濾波器的類型包括單速率(Single Rate,即數(shù)據(jù)輸出與輸入速率相同),抽?。―ecimation)和插值(Interpolation)應(yīng)用于多速率信號處理系統(tǒng),此外還支持希爾伯特變換(Hilbert)模式。抽取型一般多用于數(shù)字前端下變頻抽取樣值降低AD采樣速率,插值型用于常用于提高采樣速率。由于需要對AD數(shù)據(jù)進行抽取濾波,這里選擇抽取類型,抽取的倍數(shù)為2倍。

2.設(shè)置FIR濾波器的通道 ,由于只使用一個通道,因此交織通道序列(Channel Sequence)選擇Basic,通道數(shù)(Number of Channels)為1;Hardware Oversampling Specification中設(shè)置過采樣模式,選擇Input Sample Period,即輸入采樣周期,也可以通過輸入采樣頻率和時鐘頻率來設(shè)置,設(shè)置如下:

圖片

3.濾波器量化設(shè)置

填入濾波器系數(shù)之后,選擇量化的位數(shù),輸入的數(shù)據(jù)位寬為16,小數(shù)位數(shù)為15,如果全精度輸出,輸出位寬為33,對后續(xù)的處理很不方便,輸出也需要進行相應(yīng)的截尾,因此設(shè)置為:

圖片

4.FIR濾波器在FPGA上實現(xiàn)資源選取的情況,一般采用系統(tǒng)默認(rèn)即可。

5.對外輸入和對外輸入接口情況, 這里只添加復(fù)位信號,可以根據(jù)自己的實際需求,添加信號。

圖片

6.Summary是對FIR濾波器設(shè)計的總結(jié),所使用的類型功能,濾波器階數(shù)等,最后點擊生成FIR IP核。

四.FIR 濾波器實現(xiàn)

1.C模型使用

Vivado提供了FIR IP核的C仿真模型,但是不能直接再matlab上運行,需要搭建仿真環(huán)境,根據(jù)自己使用的matlab選擇不同的版本。搭建完成之后在matlab命令窗口輸入mex-setup,出現(xiàn)以下提示表示安裝成功

圖片

然后找到IP核C模型,在vivado工程FIR IP核的目錄下的cmodel的文件夾,F(xiàn)IR_demo.srcssources_1ipir_compiler_0cmodel,其中有兩個文件,lin64是linux版本的,nt64是windows版本的,選擇nt64解壓。

圖片

matlab打開解壓的文件夾,輸入run make_fir_compiler_v7_2_mex,出現(xiàn)以下表示運行成功。

圖片

最后要調(diào)用的文件是run_fir_compiler_v7_2_mex.m,這個文件可以作為參考使用,部分內(nèi)容為:

圖片

作如下修改:

圖片

其中FIR參數(shù)設(shè)置要和vivado中的IP核配置完全相同,否則會出現(xiàn)比對數(shù)據(jù)不一致的情況,具體參數(shù)配置見下表

各類型對應(yīng)的數(shù)值選擇

圖片

2.Modelsim 仿真

仿真時需要注意,采用的抽取類型,數(shù)據(jù)速率和時鐘速率不一樣,每隔8個時鐘周期采一個數(shù)據(jù),然后輸入到FIR IP核,輸出是每隔16個時鐘周期輸出一個數(shù)據(jù),輸出延遲可在FIR IP核Summary界面得知,模塊時序如下:

圖片

3.數(shù)據(jù)對比

濾波器的截至頻率為2MHz,用matlab產(chǎn)生一個1MHz和3MHz的混合信號,分別輸入C仿真模型和modelsim進行仿真,得到的結(jié)果進行對比如下:

圖片

可以清楚的看到輸出的結(jié)果是一致的,通過比較matlab和modelsim輸出的數(shù)據(jù),發(fā)現(xiàn)也是一致的,相減之后為零,驗證了濾波器的正確性。

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

    關(guān)注

    9

    文章

    428

    瀏覽量

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

    關(guān)注

    4

    文章

    265

    瀏覽量

    46911
  • 模擬濾波器
    +關(guān)注

    關(guān)注

    0

    文章

    30

    瀏覽量

    13383
  • MATLAB仿真
    +關(guān)注

    關(guān)注

    4

    文章

    175

    瀏覽量

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

    關(guān)注

    1

    文章

    93

    瀏覽量

    18958
收藏 人收藏

    評論

    相關(guān)推薦

    如何設(shè)計低通FIR濾波器

    此示例顯示如何設(shè)計低通FIR濾波器。這里介紹的許多概念可以擴展到其他響應(yīng),如高通,帶通等。FIR濾波器被廣泛使用,因為它們具有強大的設(shè)計算法,以非遞歸形式實現(xiàn)時的固有穩(wěn)定性,可以輕松實
    發(fā)表于 08-23 10:00

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

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

    FIR并行濾波器設(shè)計

    FIR并行濾波器設(shè)計 數(shù)字濾波器可以濾除多余的噪聲,擴展信號頻帶,完成信號預(yù)調(diào),改變信號的特定頻譜分量,從而得到預(yù)期的結(jié)果。數(shù)字濾波器在DVB、
    發(fā)表于 01-16 09:47 ?1369次閱讀
    <b class='flag-5'>FIR</b>并行<b class='flag-5'>濾波器</b>設(shè)計

    高階FIR正交鏡像濾波器的設(shè)計

    本文計論了高階FIR型正交鏡像濾波器的設(shè)計問題。根據(jù)FIR 正交鏡像濾波器 設(shè)計的基本原理,將高階正交鏡像濾波器的設(shè)計問題轉(zhuǎn)換為單變量的優(yōu)化
    發(fā)表于 08-29 16:16 ?29次下載
    高階<b class='flag-5'>FIR</b>正交鏡像<b class='flag-5'>濾波器</b>的設(shè)計

    fir_濾波器sourc

    fir濾波器的有關(guān)資料 fir_濾波器sourc.rar
    發(fā)表于 12-14 14:12 ?24次下載

    基于MATLAB的FIR濾波器設(shè)計與濾波

    基于MATLAB的FIR濾波器設(shè)計與濾波。
    發(fā)表于 12-14 22:08 ?64次下載

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

    數(shù)字濾波器廣泛應(yīng)用于硬件電路設(shè)計,一般分為FIR濾波器和IIR濾波器。那么FIR濾波器和IIR
    發(fā)表于 05-03 11:36 ?20次下載

    詳解FIR濾波器和IIR濾波器區(qū)別

    數(shù)字濾波器廣泛應(yīng)用于硬件電路設(shè)計,在離散系統(tǒng)中尤為常見,一般可以分為FIR濾波器和IIR濾波器,那么他們有什么區(qū)別和聯(lián)系呢。
    發(fā)表于 05-04 15:52 ?6061次閱讀
    詳解<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>和IIR<b class='flag-5'>濾波器</b>區(qū)別

    FIR濾波器的FPGA設(shè)計與實現(xiàn)

    本文針對快速、準(zhǔn)確選擇參數(shù)符合項目要求的濾波器設(shè)計方法的目的,通過系統(tǒng)的介紹有限脈沖響應(yīng)( Finite Impulse Response,FIR濾波器的原理、結(jié)構(gòu)形式以及幾種FIR
    發(fā)表于 12-21 14:53 ?14次下載
    <b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>的FPGA設(shè)計與實現(xiàn)

    IIR濾波器FIR濾波器詳細(xì)對比

    1.兩種濾波器都是數(shù)字濾波器。根據(jù)沖激響應(yīng)的不同,將數(shù)字濾波器分為有限沖激響應(yīng)(FIR濾波器和無限沖激響應(yīng)(IIR)
    發(fā)表于 10-30 10:40 ?5次下載
    IIR<b class='flag-5'>濾波器</b>和<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>詳細(xì)對比

    FIR濾波器與IIR濾波器到底有什么區(qū)別

    你知道FIR濾波器與IIR濾波器的不同點嗎?它有有什么特點?濾波器是工程師工作中必不可少的器件,濾波器分為很多種,本文詳細(xì)介紹一下
    發(fā)表于 08-09 14:15 ?3.3w次閱讀
    <b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>與IIR<b class='flag-5'>濾波器</b>到底有什么區(qū)別

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

    1.根據(jù)沖激響應(yīng)的不同,將數(shù)字濾波器分為有限沖激響應(yīng)(FIR濾波器和無限沖激響應(yīng)(IIR)濾波器。對于FIR
    的頭像 發(fā)表于 12-30 23:45 ?3328次閱讀

    Verilog并行FIR濾波器設(shè)計

    FIR(Finite Impulse Response)濾波器是一種有限長單位沖激響應(yīng)濾波器,又稱為非遞歸型濾波器。
    的頭像 發(fā)表于 06-01 11:11 ?1054次閱讀
    Verilog并行<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>設(shè)計

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

    數(shù)字濾波器是數(shù)字信號處理中最常用的一種技術(shù),可以對數(shù)字信號進行濾波、降噪、增強等處理,其中最常見的兩種數(shù)字濾波器是IIR濾波器FIR
    的頭像 發(fā)表于 06-03 10:21 ?1.8w次閱讀

    iir濾波器fir濾波器的優(yōu)勢和特點

    IIR濾波器FIR濾波器是數(shù)字信號處理領(lǐng)域中兩種非常重要的濾波器類型。它們各自具有獨特的優(yōu)勢和特點,適用于不同的應(yīng)用場景。本文將介紹IIR濾波器
    的頭像 發(fā)表于 07-19 09:28 ?492次閱讀