新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FAE講堂:利用賽靈思FGPA實(shí)現(xiàn)降采樣FIR濾波器

FAE講堂:利用賽靈思FGPA實(shí)現(xiàn)降采樣FIR濾波器

——
作者: 時(shí)間:2011-05-06 來源:電子產(chǎn)品世界 收藏

 

本文引用地址:http://butianyuan.cn/article/119299.htm

  圖 3. 通過串聯(lián)三個(gè)FIR濾波級進(jìn)行的按 50 整數(shù)抽取,此處單獨(dú)放大顯示0~25MHz頻率。

  用于三級濾波器的FIR-Compiler設(shè)置與圖1及圖2所示大同小異。第一個(gè)濾波器唯一不同的參數(shù)是COE文件名和“抽取率值”,其分別設(shè)為filt1_rad10.coe和M1=2。第二個(gè)濾波器COE文件名是filt2_rad10.coe,抽取率值為M2=5,輸入采樣頻率此時(shí)為125MHz,因?yàn)榈诙壈碝1=2抽取來自第一級的輸入數(shù)據(jù)。最后,第三個(gè)濾波器參數(shù)的唯一區(qū)別是COE文件名為filt3_rad10.coe,抽取率值為M3=5,輸入采樣頻率此時(shí)為25MHz,因?yàn)榈谌壈碝2=5抽取來自第二級的輸入數(shù)據(jù)。

  在布局布線后,三個(gè)濾波級占用以下FPGA資源:

  第一級(M1=2):

  Slice觸發(fā)器數(shù)量:280 個(gè)

  Slice LUT數(shù)量:208 個(gè)

  占用 Slice數(shù)量:62 個(gè)

  DSP48 MAC單元數(shù)量:3個(gè)

  第二級(M2=5):

  Slice觸發(fā)器數(shù)量:236個(gè)

  Slice LUT數(shù)量:168 個(gè)

  占用 Slice數(shù)量:60 個(gè)

  DSP48 MAC單元數(shù)量:3 個(gè)

  第三級(M3=5):

  Slice觸發(fā)器數(shù)量:357 個(gè)

  Slice LUT數(shù)量:414 個(gè)

  占用 Slice數(shù)量:158 個(gè)

  DSP48 MAC單元數(shù)量:4 個(gè)

  由于采用上述多級方法,我們現(xiàn)在比參考濾波器最初的22個(gè)DSP48 MAC單元少用了12個(gè)單元;與單級理想濾波器占用資源相比,我們節(jié)約了30%左右的觸發(fā)器,55%的LUT,44%的slice和54%的DSP48單元。

  與CIC濾波器串聯(lián)

  另一種按50抽取的可行方法是把級聯(lián)積分梳狀 (CIC) 濾波器 和CIC補(bǔ)償降采樣級串聯(lián)在一起,其變化速率分別為M1=10與M2=5。CIC濾波器是一類特殊的FIR濾波器,由N個(gè)梳狀濾波器和積分器組成(因此產(chǎn)生“第 N 級”術(shù)語)。盡管梳狀濾波器仍然可以實(shí)現(xiàn)成一種“傳統(tǒng)的”基于MAC的FIR濾波器,不過CIC架構(gòu)之所以有趣是因?yàn)樗恍枰魏蜯AC單元,因此可以用CLB sclice替代DSP48單元,參閱CoreGen CIC-Compiler 1.3數(shù)據(jù)手冊(cic_compiler_ds613.pdf)。

  按M1=10抽取的第一級CIC濾波器頻率響應(yīng)較差,因此需要采用一個(gè)按M2=5抽取的補(bǔ)償FIR濾波器,以彌補(bǔ)第一級CIC濾波器本身通帶的下降。以下MATLAB代碼說明如何采用FDA工具設(shè)計(jì)此類濾波器。

  

 

  

 

  

 

  圖4為賽靈思CoreGen CICCompiler 1.3 GUI設(shè)置的第一個(gè)頁面;其它參數(shù)采用默認(rèn)值,“使用Xtreme DSP Slice”可選參數(shù)除外(GUI 的第2頁(共3頁)),

  

 

  圖 4. 按10抽取的CIC濾波器的設(shè)置。CIC-Compiler 1.3 GUI的第1頁(共 3 頁)。

  其允許采用或不采用DSP48單元實(shí)現(xiàn)梳狀濾波器。FIR Compiler GUI中的CIC補(bǔ)償FIR濾波器設(shè)計(jì)參數(shù)與圖1及圖2所示相同;唯一不同的設(shè)置是 COE 文件名(此處是ciccomp_ dec5.coe),抽取率值為M2=5,而輸入采樣頻率為25MHz。

  在布局布線后,兩個(gè)濾波級占用以下FPGA資源:

  第一級(按10抽取的CIC濾波器,不使用“采用Xtreme DSP Slice”)

  Slice 觸發(fā)器數(shù)量:755 個(gè)

  Slice LUT 數(shù)量:592 個(gè)

  占用 Slice 數(shù)量:172 個(gè)

  DSP48 MAX 單元數(shù)量:0 個(gè)

  第一級(按10抽取的CIC 波器,使用“采用 Xtreme DSP Slice”)

  Slice 觸發(fā)器數(shù)量:248 個(gè)

  Slice LUT 數(shù)量:154 個(gè)

  占用 Slice 數(shù)量:42 個(gè)

  DSP48 MAC 單元數(shù)量:7 個(gè)

  第二級(按5抽取的CIC補(bǔ)償FIR濾波器)

  Slice 觸發(fā)器數(shù)量:271 個(gè)

  Slice LUT 數(shù)量:312 個(gè)

  占用 Slice 數(shù)量:114 個(gè)

  DSP48 MAC 單元數(shù)量:3 個(gè)

  兩種結(jié)果都很有趣,而是否選擇使用Xtreme DSP slice取決于設(shè)計(jì)人員最需要節(jié)約哪些資源。我個(gè)人選擇“采用Xtreme DSP Slice”選項(xiàng)。與單級濾波器相比,我們可以節(jié)約大約59%的觸發(fā)器,73%的LUT,69%的slice和54%的DSP48 MAC單元。代價(jià)是阻帶衰減更差,其現(xiàn)在是80dB,而非所需要的100dB,如圖5所示。某項(xiàng)設(shè)計(jì)是否接受該衰減值事實(shí)上與應(yīng)用相關(guān)。

濾波器相關(guān)文章:濾波器原理


濾波器相關(guān)文章:濾波器原理


電源濾波器相關(guān)文章:電源濾波器原理




關(guān)鍵詞: Xilinx FGPA FAE

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉