加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 1. ?fdatool設(shè)計(jì)濾波器
    • 2.系數(shù)處理
    • 3. Simulink設(shè)計(jì)模型
    • 4. 模型仿真
    • 5. 將模型導(dǎo)入到vivado工程
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

Vivado 使用Simulink設(shè)計(jì)FIR濾波器

03/25 11:50
3715
閱讀需 9 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

大俠好,歡迎來(lái)到FPGA技術(shù)江湖,江湖偌大,相見(jiàn)即是緣分。大俠可以關(guān)注FPGA技術(shù)江湖,在“闖蕩江湖”、"行俠仗義"欄里獲取其他感興趣的資源,或者一起煮酒言歡。

今天給大俠帶來(lái)Vivado經(jīng)典案例:使用Simulink設(shè)計(jì)FIR濾波器,話不多說(shuō),上貨。

FIR(Finite Impulse Response)濾波器:有限長(zhǎng)單位沖激響應(yīng)濾波器,又稱為非遞歸型濾波器,是數(shù)字信號(hào)處理系統(tǒng)中最基本的元件,它可以在保證任意幅頻特性的同時(shí)具有嚴(yán)格的線性相頻特性,同時(shí)其單位抽樣響應(yīng)是有限長(zhǎng)的,因而濾波器是穩(wěn)定的系統(tǒng)。因此,F(xiàn)IR濾波器在通信、圖像處理、模式識(shí)別等領(lǐng)域都有著廣泛的應(yīng)用。

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

使用vivado的System Generator可以在simulink下快速的通過(guò)matlab的強(qiáng)大設(shè)計(jì)功能設(shè)計(jì)濾波器。這里使用fdatool設(shè)計(jì)了一個(gè)15階的FIR濾波器。

軟件環(huán)境:【vivado2014.2+matlab2013b】

1. ?fdatool設(shè)計(jì)濾波器

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

2.系數(shù)處理

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

本例直接將系數(shù)擴(kuò)大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設(shè)計(jì)模型

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濾波器系數(shù)的對(duì)稱性,采用折疊方式,可節(jié)省一半的DSP48用量,考慮到7系的DSP48普遍可以跑到200-300MHz,如信號(hào)采樣率低的話,可以采用多路復(fù)用的方式大量節(jié)省DSP使用量,若只有一路信號(hào)也可以采用提高工作時(shí)鐘的方式減少DSP使用量??臻g與時(shí)間的相互關(guān)系,在這里表現(xiàn)的淋漓盡致。

模型設(shè)計(jì)的時(shí)候特別需要注意每個(gè)模塊的時(shí)延,時(shí)延一定要計(jì)算清楚。

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

4. 模型仿真

為設(shè)計(jì)好的模型增加一個(gè)頂層,添加兩個(gè)信號(hào)源作為仿真激勵(lì),使用兩個(gè)頻譜分析儀觀測(cè)結(jié)果。

由濾波器幅值響應(yīng)圖可知,當(dāng)信號(hào)采樣率為245.76MHz時(shí)(提升了8倍),通帶(原為5M提升8倍為40MHz)內(nèi)信號(hào)抖動(dòng)為0.03db以內(nèi),此濾波器對(duì)100MHz(對(duì)應(yīng)圖中12.5MHz)的抑制能力為-61db。

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

上面左圖為濾波器輸入信號(hào),右圖為濾波器輸出信號(hào)。觀測(cè)可知此濾波器對(duì)25MHz信號(hào)功率沒(méi)有影響,對(duì)100MHz信號(hào)衰減了約60db左右,將圖放大可知輸入100MHz功率為83.2dbm輸出為21.6dbm,衰減了61.2db。由此可知與fdatool設(shè)計(jì)的濾波器性能相同。

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

上圖為單個(gè)25M正弦波作為激勵(lì)信號(hào)的模型輸入和輸出信號(hào)。當(dāng)前光標(biāo)位置輸入數(shù)據(jù)為1025,此fir濾波器時(shí)域上對(duì)信號(hào)有19個(gè)周期的延遲,19個(gè)周期后的數(shù)據(jù)為1024,那么20lg(1025/1024)=0.008db 抖動(dòng)小于通帶內(nèi)抖動(dòng)值0.03db。

通過(guò)將輸入信號(hào)改為脈沖信號(hào),脈沖寬度為1個(gè)周期,此時(shí)可觀測(cè)到此fir濾波器的沖擊響應(yīng)。

經(jīng)過(guò)以上步驟,基本驗(yàn)證此濾波器的設(shè)計(jì)能夠達(dá)到需求。

5. 將模型導(dǎo)入到vivado工程

System Generator提供了幾種導(dǎo)入方法:

1、 ?直接生成hdl網(wǎng)表文件。

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

2、 ?以IP核形式生成IP。

添加IP信息,生成IP核。用戶以IP核的形式直接調(diào)用。

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

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

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

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

Vivado設(shè)計(jì)套件,賽靈思公司2012年發(fā)布的集成設(shè)計(jì)環(huán)境,隨著每季度的按時(shí)更新,現(xiàn)已發(fā)布最新版本為2019+。目前來(lái)看命名規(guī)則較為簡(jiǎn)單,為年份+發(fā)布季度。

若有比已安裝的版本更新的版本發(fā)布后,啟動(dòng)vivado后會(huì)有版本升級(jí)通知,方便用戶及時(shí)更新版本??偟膩?lái)說(shuō)新產(chǎn)品不是特別完善前總會(huì)或多或少有一些bug,八年多過(guò)去了,已經(jīng)非常不錯(cuò)了。

大俠,有緣再見(jiàn)!

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
EP4CE30F23C8N 1 Altera Corporation Field Programmable Gate Array, 1803 CLBs, 472.5MHz, 28848-Cell, PBGA484, 23 X 23 MM, 1 MM PITCH, LEAD FREE, FBGA-484

ECAD模型

下載ECAD模型
$39.92 查看
XC2C384-10FTG256I 1 AMD Xilinx Flash PLD, 10ns, 384-Cell, CMOS, PBGA256, 17 X 17 MM, 1 MM PITCH, LEAD FREE, FTBGA-256
$596.21 查看
10M08SCE144C8G 1 Intel Corporation Field Programmable Gate Array, 8000-Cell, CMOS, PQFP144, 22 X 22 MM, 0.50 MM PITCH, ROHS COMPLIANT, PLASTIC, EQFP-144

ECAD模型

下載ECAD模型
$17.46 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

任何技術(shù)的學(xué)習(xí)就好比一個(gè)江湖,對(duì)于每一位俠客都需要不斷的歷練,從初入江湖的小白到歸隱山林的隱世高人,需要不斷的自我感悟自己修煉,讓我們一起仗劍闖FPGA乃至更大的江湖。