<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

Vivado經典案例:使用Simulink設計FIR濾波器

FPGA技術江湖 ? 來源:FPGA技術江湖 ? 2024-03-25 09:18 ? 次閱讀

今天給大俠帶來Vivado經典案例:使用Simulink設計FIR濾波器,話不多說,上貨。

FIR(Finite Impulse Response)濾波器:有限長單位沖激響應濾波器,又稱為非遞歸型濾波器,是數字信號處理系統中最基本的元件,它可以在保證任意幅頻特性的同時具有嚴格的線性相頻特性,同時其單位抽樣響應是有限長的,因而濾波器是穩定的系統。因此,FIR濾波器在通信、圖像處理、模式識別等領域都有著廣泛的應用。

Vivado自帶的FIR濾波器IP核已經很好用,這里借FIR濾波器的設計,介紹Simulink圖形設計編程方法。Simulink可以使設計更直觀,使硬件資源得到更為高效的利用。

使用vivado的System Generator可以在simulink下快速的通過matlab的強大設計功能設計濾波器。這里使用fdatool設計了一個15階的FIR濾波器。

軟件環境:【vivado2014.2+matlab2013b】

1. fdatool設計濾波器

9461c9a4-ea2f-11ee-a297-92fbcf53809c.jpg

通過matlab可以快速的設計濾波器,直接導出濾波器系數,方便大家快速設計。上圖使用Kaiser窗函數設計了一個采樣率為30.72MHz的15階8M低通濾波器。File – Export 將設計好的濾波器系數Num導出到Workspace。

2.系數處理

由于系數都是小數,需要重新量化,以充分利用dsp48的精度。

本例直接將系數擴大2^16倍后取整。

Num = { -0.0007 -0.0071 0.0070 0.0287 -0.0305 -0.0827 0.1244 0.4610 0.4610 0.1244 -0.0827 -0.0305 0.0287 0.0070 -0.0071 -0.0007 }

a = round ( Num * 2^16) = { -46 -467 459 1879 -2002 -5418 8152 30211 30211 8152 -5418 -2002 1879 459 -467 -46 }

3. Simulink設計模型

9470cde6-ea2f-11ee-a297-92fbcf53809c.jpg

y(n) = h(0)*(x(n)+x(n-15))+h(1)*(x(n-1)+x(n-14))+h(2)*(x(n-2)+x(n-13))+h(3)*(x(n-3)+x(n-12))+h(4)*(x(n-4)+x(n-11))+h(5)*(x(n-5)+x(n-10))+h(6)*(x(n-6)+x(n-9))+h(7)*(x(n-7)+x(n-8))

利用FIR濾波器系數的對稱性,采用折疊方式,可節省一半的DSP48用量,考慮到7系的DSP48普遍可以跑到200-300MHz,如信號采樣率低的話,可以采用多路復用的方式大量節省DSP使用量,若只有一路信號也可以采用提高工作時鐘的方式減少DSP使用量??臻g與時間的相互關系,在這里表現的淋漓盡致。

94804e92-ea2f-11ee-a297-92fbcf53809c.jpg

模型設計的時候特別需要注意每個模塊的時延,時延一定要計算清楚。

上圖設計的fir濾波器,DSP的PCIN輸入為上一級DSP的PCOUT信號,這樣做的目的是充分利用DSP的快速進位鏈,使實現變得容易。最后一拍數據直接使用的DSP的P端輸出。

4. 模型仿真

949b3900-ea2f-11ee-a297-92fbcf53809c.jpg

為設計好的模型增加一個頂層,添加兩個信號源作為仿真激勵,使用兩個頻譜分析儀觀測結果。

由濾波器幅值響應圖可知,當信號采樣率為245.76MHz時(提升了8倍),通帶(原為5M提升8倍為40MHz)內信號抖動為0.03db以內,此濾波器對100MHz(對應圖中12.5MHz)的抑制能力為-61db。

測試使用兩個幅度相同、頻率不同的正弦信號(25M與100M)相加作為信號輸入,使用頻譜分析儀觀測FIR模型輸出,開始仿真觀測頻譜儀信號。

94acb266-ea2f-11ee-a297-92fbcf53809c.jpg

94cbf1da-ea2f-11ee-a297-92fbcf53809c.jpg

上面左圖為濾波器輸入信號,右圖為濾波器輸出信號。觀測可知此濾波器對25MHz信號功率沒有影響,對100MHz信號衰減了約60db左右,將圖放大可知輸入100MHz功率為83.2dbm輸出為21.6dbm,衰減了61.2db。由此可知與fdatool設計的濾波器性能相同。

xilinx在新版本的vivado中將simulink中的WaveScope刪掉了,信號觀測方式換為和vivado debug相同的窗口,更為靈活和人性化。添加信號的方式更為簡單,選擇好需要觀測的信號后直接右鍵單擊Xilinx Add to Viewer。這時啟動仿真將自動打開vivado的Waveform窗口,可以在時域上觀察每一個點的數據。

94e2656e-ea2f-11ee-a297-92fbcf53809c.png

950283f8-ea2f-11ee-a297-92fbcf53809c.jpg

上圖為單個25M正弦波作為激勵信號的模型輸入和輸出信號。當前光標位置輸入數據為1025,此fir濾波器時域上對信號有19個周期的延遲,19個周期后的數據為1024,那么20lg(1025/1024)=0.008db 抖動小于通帶內抖動值0.03db。

950c798a-ea2f-11ee-a297-92fbcf53809c.jpg

通過將輸入信號改為脈沖信號,脈沖寬度為1個周期,此時可觀測到此fir濾波器的沖擊響應。

經過以上步驟,基本驗證此濾波器的設計能夠達到需求。

5. 將模型導入到vivado工程

951f3b2e-ea2f-11ee-a297-92fbcf53809c.png

System Generator提供了幾種導入方法:

1、 直接生成hdl網表文件。

952c94ea-ea2f-11ee-a297-92fbcf53809c.jpg

生成的.v或.vhd文件直接例化dsp的IP核,用戶可直接將代碼文件添加至自己的工程內。就好像模型是自己用代碼完成的一樣。

2、 以IP核形式生成IP。

添加IP信息,生成IP核。用戶以IP核的形式直接調用。

3、 Synthesized Checkpoint形式生成網表文件(推薦)。

選擇此項,用戶可直接在simulink下綜合出網表和約束文件,打包至.dcp文件中,用戶可在vivado下直接加載dcp文件調用模型。

4、 直接在vivado中添加模型文件(推薦)。

95453748-ea2f-11ee-a297-92fbcf53809c.png

Vivado的Add source中可選擇Add or Create DSP Sources,直接將模型文件(.mdl或.slx)添加至工程中,綜合的時候,系統將自動調用matlab分析模型文件,自動生成需要HDL文件。效果等同于自動操作的方法1,缺點是使用此方法綜合工程必須裝有對應版本的matlab。




審核編輯:劉清

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

    關注

    545

    文章

    7665

    瀏覽量

    344746
  • 低通濾波器
    +關注

    關注

    13

    文章

    451

    瀏覽量

    46978
  • Simulink
    +關注

    關注

    22

    文章

    513

    瀏覽量

    61630
  • fir濾波器
    +關注

    關注

    1

    文章

    92

    瀏覽量

    18794
  • Vivado
    +關注

    關注

    18

    文章

    791

    瀏覽量

    65298

原文標題:Vivado 使用Simulink設計FIR濾波器

文章出處:【微信號:HXSLH1010101010,微信公眾號:FPGA技術江湖】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Vivado 使用Simulink設計FIR濾波器

    今天給大俠帶來Vivado經典案例:使用Simulink設計FIR濾波器,話不多說,上貨。 FIR
    發表于 04-17 17:29

    FIR濾波器FAQ原理簡述

      1、FIR 濾波器是在數字信號處理(DSP)中經常使用的兩種基本的濾波器之一,另一個為IIR濾波器?! ?、FIR代表有限沖激響應(Fi
    發表于 09-24 16:05

    simulink中加入濾波器

    數字濾波器的仿真及實現DSP Blockset提供了200多個高級DSP和數學函數,包括變換、矩陣運算、FIR、IIR、自適應和多速率濾波、譜分析和實時數據I/O-所有這些都是高效的基于幀的實現
    發表于 02-27 20:23

    基于FPGA的FIR濾波器設計與實現

    本帖最后由 eehome 于 2013-1-5 09:50 編輯 基于FPGA的FIR濾波器設計與實現   文章研究基于FPGA、采用分布式算法實現FIR濾波器的原理和方法,用
    發表于 08-11 15:32

    FIR濾波器與IIR濾波器的區別與特點

    本帖最后由 xie0517 于 2016-8-8 08:52 編輯 FIR是有限沖擊響應;IIR是無限沖擊響應。 FIR和IIR濾波器的一個主要區別:FIR是線性相位,IIR為非
    發表于 08-08 08:49

    如何設計低通FIR濾波器

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

    怎么設計高階FIR濾波器?

    相對無限沖擊響應(IIR)濾波器,有限沖擊響應(FIR)能夠在滿足濾波器幅頻響應的同時獲得嚴格的線性相位特性,而數據通信、語音信號處理等領域往往要求信號在傳輸過程中不能有明顯的相位失真,所以F
    發表于 08-23 06:39

    怎么設計高階FIR濾波器?

    相對無限沖擊響應(IIR)濾波器,有限沖擊響應(FIR)能夠在滿足濾波器幅頻響應的同時獲得嚴格的線性相位特性,而數據通信、語音信號處理等領域往往要求信號在傳輸過程中不能有明顯的相位失真,所以F
    發表于 08-27 07:16

    并行FIR濾波器Verilog設計

    本文將簡單介紹FIR濾波器的原理,詳細介紹使用Verilog HDL設計并行FIR濾波器的流程和方法。接下來幾篇會介紹串行結構FIR的Ver
    發表于 09-25 17:44

    為什么要使用FIR濾波器?

    FIR濾波器如何定義?為什么要使用FIR濾波器?
    發表于 04-06 07:48

    FIR濾波器的特性是什么

    數字濾波器的類型有FIR(有限長沖擊與IIR(無限長。離散數字系統中,濾波器的表述為差分方程。FIRFIR基本特性:FIR 濾波器永遠是穩定
    發表于 08-17 06:19

    FIR濾波器系數

    一、混響reverb效果1、實現的經典Schroeder混響模型,4個梳狀濾波器(C1、C2、C3、C4)+2個全通濾波器(A1、A2)組合而成。2、實現較為復雜的Moorer混響模型,結構如下
    發表于 08-17 09:24

    什么是fir數字濾波器 什么叫FIR濾波器

    什么是fir數字濾波器 Part 1: Basics1.1 什么是FIR濾波器?FIR 濾波器
    發表于 01-16 09:42 ?1.6w次閱讀

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

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

    基于MATLAB的FIR濾波器設計與濾波

    基于MATLAB的FIR濾波器設計與濾波。
    發表于 12-14 22:08 ?64次下載
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>