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

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

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

FIR IP核的基礎(chǔ)功能使用總結(jié)

冬至子 ? 來源:Bug記錄 ? 作者:woodfan ? 2023-06-19 10:47 ? 次閱讀

濾波器信號(hào)處理技術(shù)繞不過的內(nèi)容,而在BSPK的實(shí)現(xiàn)框圖中,也需要用到濾波器。

m序列的時(shí)域波形是一個(gè)矩形,矩形在頻譜上是所有奇次諧波之和,為了節(jié)省帶寬資源,這里需要使用FIR濾去諧波,留下基波。

本文會(huì)講到Vivado 中FIR IP核的使用方法,會(huì)涉及到MATLAB的部分內(nèi)容。

因?yàn)槲覀儾皇褂锰呒?jí)的功能,只使用最基礎(chǔ)的功能,濾波。所以,最關(guān)鍵的內(nèi)容就是coe參數(shù)文件的生成,可以使用MATLAB幫助我們生成這個(gè)文件。

在MATLAB的命令窗口,輸入fdatool(新版MATLAB為filterDesigner)回車,

圖片

濾波器設(shè)置界面

這里選擇低通FIR,窗函數(shù)選常用的幾個(gè),這里選擇了漢明窗;濾波器階數(shù)選擇72,階數(shù)越高濾波效果越好,但資源占用越多;FS/FC(采樣率/截止頻率)為50:3,點(diǎn)擊Design Filter會(huì)顯示相應(yīng)的頻率響應(yīng)圖,由于FIR濾波器抽頭的特性,當(dāng)輸入的采樣率為50M時(shí),濾波器的截止頻率為3M,兩者之間保持比例關(guān)系。

圖片

濾波器數(shù)值表示

點(diǎn)擊如上圖紅框內(nèi)的圖標(biāo),將Filter arithmetic修改為Fixed-point,將濾波器的參數(shù)數(shù)值表示修改為定點(diǎn)數(shù)表示,方便FPGA處理,也只有這樣能生成coe文件。

圖片

濾波器生成coe文件

點(diǎn)擊上圖菜單欄的Target,然后生成coe文件。

在Vivado中IP Catalog中找到FIR IP核,

圖片

FIR IP核界面

在Filter Coefficient里面選擇使用COE FILE,文件選擇剛才生成的COE文件。

圖片

FIR IP核界面

在Channel Specification,設(shè)置輸入的采樣率為50M。

圖片

FIR IP核界面

Implementation里面,濾波器系數(shù)類型選擇有符號(hào)型,輸入數(shù)據(jù)也是有符號(hào)型,輸入數(shù)據(jù)位寬選擇2位,小數(shù)部分位數(shù)為0,GUI顯示出輸入數(shù)據(jù)位寬21位,這些數(shù)值后面有用。

一路默認(rèn),F(xiàn)IR IP核生成后,可以看到相關(guān)的端口定義。

fir_compiler_0 your_instance_name (

.aclk(aclk), // input wire aclk

.s_axis_data_tvalid(s_axis_data_tvalid), // input wire s_axis_data_tvalid

.s_axis_data_tready(s_axis_data_tready), // output wire s_axis_data_tready

.s_axis_data_tdata(s_axis_data_tdata), // input wire [7 : 0] s_axis_data_tdata

.m_axis_data_tvalid(m_axis_data_tvalid), // output wire m_axis_data_tvalid

.m_axis_data_tdata(m_axis_data_tdata) // output wire [23 : 0] m_axis_data_tdata

);

可以看到,輸入數(shù)據(jù)位寬為8位,而我們?cè)贔IR GUI界面設(shè)置的是2位,為了不影響最終的輸入數(shù)據(jù),需要對(duì)輸入數(shù)據(jù)進(jìn)行符號(hào)位擴(kuò)展。

而輸出數(shù)據(jù)位寬有24位,但是FIR GUI界面顯示輸出數(shù)據(jù)位寬為21位,這說明FIR的輸出數(shù)據(jù)也進(jìn)行了符號(hào)位擴(kuò)展,這里可以截取符號(hào)位。

相關(guān)的符號(hào)位擴(kuò)展和截取符號(hào)位可以見下代碼塊。

fir_compiler_0 fir_inst (

.aclk(clk_50m), // input wire aclk

.s_axis_data_tvalid(1'b1), // input wire s_axis_data_tvalid

.s_axis_data_tready(), // output wire s_axis_data_tready

.s_axis_data_tdata({{6{code_c[1]}},code_c}), // input wire [7 : 0] s_axis_data_tdata

.m_axis_data_tvalid(), // output wire m_axis_data_tvalid

.m_axis_data_tdata(fir_out) // output wire [23 : 0] m_axis_data_tdata 19-8

);

xbip_dsp48_macro_0 dsp_product_inst (

.CLK(clk_50m), // input wire CLK

.A(fir_out[19:8]), // input wire [11 : 0] A

.B(cos_o[13:2]), // input wire [11 : 0] B

.P(duc_data) // output wire [23 : 0] P

);

最后的濾波效果如圖:

圖片

濾波效果圖

濾波效果可以繼續(xù)調(diào)節(jié),這里可以看到圖里的濾波效果確實(shí)達(dá)到了,但可能效果不是那么好,實(shí)際的濾波參數(shù)需要仿真后看效果才可以確定。

FIR濾波相對(duì)于IIR濾波而言,沒有極點(diǎn)或者說極點(diǎn)與零點(diǎn)抵消了,更加穩(wěn)定。但如果有時(shí)候我們想用IIR濾波器怎么辦呢,后續(xù)會(huì)談到如何實(shí)現(xiàn)IIR濾波器。

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

    關(guān)注

    158

    文章

    7596

    瀏覽量

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

    關(guān)注

    4

    文章

    175

    瀏覽量

    19844
  • GUI
    GUI
    +關(guān)注

    關(guān)注

    3

    文章

    631

    瀏覽量

    39298
  • FIR濾波
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    9814
  • Vivado
    +關(guān)注

    關(guān)注

    19

    文章

    797

    瀏覽量

    65856
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA的IP使用技巧

    IP : 根據(jù)項(xiàng)目需求選擇合適的IP,如FIFO、RAM、FIR濾波器、SDRAM控制器、PCIE接口等。確保所選
    發(fā)表于 05-27 16:13

    IP簡介

    本帖最后由 eehome 于 2013-1-5 09:59 編輯 IP簡介IP是指:將一些在數(shù)字電路中常用但比較復(fù)雜的功能塊,如
    發(fā)表于 07-06 14:15

    IP簡介

    IP簡介IP是指:將一些在數(shù)字電路中常用但比較復(fù)雜的功能塊,如FIR濾波器、SDRAM控制器
    發(fā)表于 07-15 14:46

    使用quartusII fir ip沒有輸出?

    我們使用quartusII的fir ip生成了一個(gè)濾波器,用AD采集了單頻正弦信號(hào)輸入,可是不管輸入頻率多少,濾波器的輸出端口都沒有輸出,不知道這是為什么?。?/div>
    發(fā)表于 08-12 22:49

    quartus ii 中fir數(shù)字濾波器IP如何設(shè)置參數(shù)

    請(qǐng)教各位大師,quartus ii 中調(diào)用fir數(shù)字濾波器IP,可不知道如何設(shè)置參數(shù),比如如何設(shè)置濾波器的系數(shù)
    發(fā)表于 11-23 20:54

    Rapid IO IP生成不了

    請(qǐng)問一下,我使用QuartusII 13.0 生成不了Rapid IO IPiP已破解,其他諸如FIR、CIC、NCO等都能正常生成,
    發(fā)表于 07-17 16:23

    quartus II 13.1調(diào)用FIR 這個(gè)IP生成時(shí)一直卡著,怎么解決?

    quartus II 13.1調(diào)用FIR 這個(gè)IP生成時(shí)一直卡著,怎么解決? 系統(tǒng)版本是win7 64位 專業(yè)版,我試過網(wǎng)上說的①在license中改相應(yīng)IP
    發(fā)表于 08-08 11:42

    設(shè)計(jì)單位增益FIR IP

    我用MATLAB設(shè)計(jì)好單位增益的濾波器系數(shù),然后導(dǎo)入 FIRIP里面,系數(shù)轉(zhuǎn)換成定點(diǎn)數(shù)了,但是此時(shí)顯示的濾波器幅頻特性曲線卻是100dB的放大倍數(shù),求問怎么讓其變成單位增益?
    發(fā)表于 01-27 13:53

    關(guān)于fir compiler生成IP后各項(xiàng)文件的具體說明

    如圖,這個(gè)是我用FIR COMPILER 生成IP生成的文件,這里想請(qǐng)教一下,這里面的各個(gè)文件都是干嘛的,頂層文件到底是哪個(gè)?
    發(fā)表于 04-14 17:15

    altera FIR IP使用過程中程序下載失敗的問題

    最近在使用altera的FIR IP做半帶濾波器,quartus ii軟件也破解了,firIP也破解了,modelsin仿真也通過了,但是下載不了.sof文件到開發(fā)板,大家有用
    發(fā)表于 05-11 16:01

    關(guān)于altera系列芯片FIR IP在使用過程中的問題

    最近在做一個(gè)FIR低通濾波器,利用Matlab 產(chǎn)生濾波系數(shù),導(dǎo)入到Quartus中,再利用其中的FIR IP進(jìn)行濾波器設(shè)計(jì),在采用分布式全并行結(jié)構(gòu)時(shí),Modelsim 仿真有輸出;
    發(fā)表于 07-05 08:33

    關(guān)于xilinx中fir濾波器IP使用

    最近進(jìn)行FPGA學(xué)習(xí),使用FIR濾波器過程中出現(xiàn)以下問題:使用FIR濾波器IP中,輸入數(shù)據(jù)為1~256,濾波器系數(shù)為,coef =-1469,-14299 ,-2185,10587
    發(fā)表于 11-02 17:17

    基于FPGA的FIR濾波器IP仿真實(shí)例

    位的有符號(hào)整數(shù)。 詳細(xì)配置可參看pg149-fir-compiler.pdf(at7_img_ex07/matlab文件夾下)。 3 FIR IP接口時(shí)序我們例化的
    發(fā)表于 07-16 17:24

    基于IPFIR低通濾波器該怎么設(shè)計(jì)?

    Programmable Gate Array,現(xiàn)場可編程門陣列)基于查找表的結(jié)構(gòu)和全硬件并行執(zhí)行的特性,如何用FPGA 來實(shí)現(xiàn)高速FIR 數(shù)字濾波器成了近年來數(shù)字信號(hào)處理領(lǐng)域研究的熱點(diǎn)。目前,全球兩大PLD 器件供應(yīng)商都提供了加速FPGA 開發(fā)的IP(Intellig
    發(fā)表于 09-05 07:21

    Gowin Advanced FIR Filter IP用戶指南

    Gowin Advanced FIR Filter IP用戶指南主要內(nèi)容包括功能簡介、信號(hào)定義、端口描述、時(shí)序說明、配置調(diào)用、參考設(shè)計(jì)等。主要用于幫助用戶快速了解 Gowin Advanced
    發(fā)表于 10-09 06:53