女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

采用matlab來完成對FIR濾波器的設計

冬至子 ? 來源:MYMINIEYE ? 作者:范龍飛 ? 2023-07-03 17:24 ? 次閱讀

一 .濾波器介紹

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

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

二.FIR濾波器設計

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

圖片

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

主要的參數有以下5個:

Fpass:通帶上限截至頻率,Apass:帶內平坦度;

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

Fs:數據率

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

圖片

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

圖片

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

圖片

Coe文件為:

圖片

這里選擇產生Generate C Header,產生濾波器系數,此處沒有選擇coe文件,是因為當vivado IP核使用coe方式導入時,vivado不能區分小數位。

三.vivado FIR IP核介紹

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

圖片

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

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

圖片

3.濾波器量化設置

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

圖片

4.FIR濾波器在FPGA上實現資源選取的情況,一般采用系統默認即可。

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

圖片

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

四.FIR 濾波器實現

1.C模型使用

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

圖片

然后找到IP核C模型,在vivado工程FIR IP核的目錄下的cmodel的文件夾,FIR_demo.srcs\\sources_1\\ip\\fir_compiler_0\\cmodel,其中有兩個文件,lin64是linux版本的,nt64是windows版本的,選擇nt64解壓。

圖片

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

圖片

最后要調用的文件是run_fir_compiler_v7_2_mex.m,這個文件可以作為參考使用,部分內容為:

圖片

作如下修改:

圖片

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

各類型對應的數值選擇

圖片

2.Modelsim 仿真

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

圖片

3.數據對比

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

圖片

可以清楚的看到輸出的結果是一致的,通過比較matlab和modelsim輸出的數據,發現也是一致的,相減之后為零,驗證了濾波器的正確性。

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

    關注

    162

    文章

    8066

    瀏覽量

    181005
  • MATLAB仿真
    +關注

    關注

    4

    文章

    176

    瀏覽量

    20284
  • fir濾波器
    +關注

    關注

    1

    文章

    95

    瀏覽量

    19300
  • Vivado
    +關注

    關注

    19

    文章

    828

    瀏覽量

    68209
  • FPGA開發板
    +關注

    關注

    10

    文章

    124

    瀏覽量

    31867
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于MATLAB和Quartus II 的FIR濾波器設計與

    本文綜合介紹了基于FPGA 軟件Quartus II 和MATLABFIR 濾波器的設計仿真,將兩大軟件綜合運用后大大縮減了設計研發的時間,在算法結構上利用了流水線等優化方式。
    發表于 11-30 14:21 ?117次下載

    基于MATLAB與QUARTUS II的FIR濾波器設計與驗

    基于MATLAB與QUARTUS II的FIR濾波器設計與驗證 FIR濾波器是一種應用廣泛的基本數字信號處理元件。
    發表于 05-13 17:16 ?54次下載

    MATLAB設計FIR濾波器的方法

    MATLAB設計FIR濾波器的方法 摘? 要 介紹了利用MATLAB信號處理工具箱進行FIR濾波器
    發表于 01-16 18:12 ?1.6w次閱讀
    用<b class='flag-5'>MATLAB</b>設計<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>的方法

    基于MATLAB與QUARTUS II的FIR濾波器設計與驗

    基于MATLAB與QUARTUS II的FIR濾波器設計與驗證 1 引言    FIR數字濾波器能夠滿足
    發表于 12-12 11:23 ?2880次閱讀
    基于<b class='flag-5'>MATLAB</b>與QUARTUS II的<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>設計與驗

    基于MatlabFIR濾波器的優化設計方法

      通過實例介紹了基于MatlabFIR濾波器的優化設計方法。3種結果比較發現,在同樣階數下,優化設計可以獲得最
    發表于 12-17 11:14 ?2279次閱讀
    基于<b class='flag-5'>Matlab</b>的<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>的優化設計方法

    基于MatlabFIR帶通濾波器設計與實現

    本文通過介紹一種借助Matlab的FDATOOL濾波器設計分析軟件,設計了一種FIR數字帶通濾波器,并對一段含噪語音信號進行濾波。利用匯編語
    發表于 07-26 10:45 ?3w次閱讀
    基于<b class='flag-5'>Matlab</b>的<b class='flag-5'>FIR</b>帶通<b class='flag-5'>濾波器</b>設計與實現

    基于MATLAB與FPGA的FIR濾波器設計與仿真

    數字濾波器是數字信號處理領域內的重要組成部分。FIR濾波器又以其嚴格的線性相位及穩定性高等特性被廣泛應用。本文結合MATLAB工具軟件介紹了FIR
    發表于 09-25 11:34 ?120次下載
    基于<b class='flag-5'>MATLAB</b>與FPGA的<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>設計與仿真

    FIR數字濾波器MATLAB仿真和DSP的實現

    分析了數字濾波器的原理,介紹了采用窗體函數法完成FIR數字濾波器,包括MATLAB仿真和DSP的
    發表于 06-09 16:21 ?158次下載

    基于Matlab/Simulink的FIR數字濾波器的設計與實現

    基于Matlab/Simulink的FIR數字濾波器的設計與實現。
    發表于 01-15 15:16 ?41次下載

    基于matlab和fpga的FIR濾波器設計

    基于matlab和fpga的FIR濾波器設計,有興趣的同學可以下載學習
    發表于 04-27 15:51 ?58次下載

    基于MATLABFIR濾波器設計與濾波

    基于MATLABFIR濾波器設計與濾波
    發表于 12-14 22:08 ?64次下載

    基于MATLAB與QUARTUS+II的FIR濾波器設計與驗證

    基于MATLAB與QUARTUS+II的FIR濾波器設計與驗證
    發表于 09-18 10:17 ?11次下載
    基于<b class='flag-5'>MATLAB</b>與QUARTUS+II的<b class='flag-5'>FIR</b><b class='flag-5'>濾波器</b>設計與驗證

    FIR濾波器MATLAB與FPGA設計

    數字濾波器從實現結構上劃分,有FIR和IIR兩種。FIR的特點是:線性相位、消耗資源多;IIR的特點是:非線性相位、消耗資源少。由于FIR系統的線性相位特點,設計中絕大多數情況都
    的頭像 發表于 04-24 14:40 ?3864次閱讀

    利用Matlab工具箱設計FIR和IIR濾波器

    利用Matlab工具箱設計FIR和IIR濾波器
    的頭像 發表于 09-26 14:59 ?1277次閱讀

    基于Matlab和DSP設計FIR數字濾波器方案

    介紹了基于Matlab和DSP設計FIR數字濾波器的四種方法,并經過實驗,將一個多頻率成分的信號通過該濾波器并進行比對,實驗結果表明,這四種方法都能有效地實現
    發表于 10-19 16:29 ?0次下載
    基于<b class='flag-5'>Matlab</b>和DSP設計<b class='flag-5'>FIR</b>數字<b class='flag-5'>濾波器</b>方案