国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SG FIR Filter的設(shè)計(jì)方法與分析

2011-03-06 09:17:24廖連貴
通信技術(shù) 2011年3期
關(guān)鍵詞:乘法器消耗量消耗

崔 楊,趙 利,廖連貴

(桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林 541004)

0 引言

FIR濾波器作為一種最重要的數(shù)字信號處理部件,被廣泛用于雷達(dá)、通信等工程領(lǐng)域[1]??紤]到FPGA具有集成度高、高速和高可靠性等優(yōu)點(diǎn),使用FPGA來實(shí)現(xiàn)FIR濾波器,既具有實(shí)時(shí)性,又兼顧了一定的靈活性,為數(shù)字信號處理提供了一種很好的解決方案[2]。

Xilinx System Generator for DSP是一種廣泛公認(rèn)的高效FPGA開發(fā)工具,基于其所提供的Simulink的圖形環(huán)境和Xilinx DSP核的預(yù)定義模塊集,在Simulink平臺上來完成在FPGA中創(chuàng)建數(shù)字信號處理設(shè)計(jì)[3]。豐富且易用的環(huán)境下搭建的系統(tǒng)不但可以包括針對外部總線存貯器讀寫訪問、系統(tǒng)數(shù)據(jù)同步和整體系統(tǒng)控制的同步接口而且可讀性強(qiáng),這同時(shí)滿足了系統(tǒng)框架結(jié)構(gòu)設(shè)計(jì)師和硬件設(shè)計(jì)人員的需要,近幾年在數(shù)字通信領(lǐng)域得到廣泛應(yīng)用。

1 FIR濾波器設(shè)計(jì)方案

FIR濾波器的實(shí)現(xiàn)結(jié)構(gòu)有很多種,最常見的有串行結(jié)構(gòu),并行結(jié)構(gòu)和流水線結(jié)構(gòu)等[4]。

這里基于科研項(xiàng)目所使用的Lyrtech SFF SDR平臺及相配套的Xilinx System Generator for DSP 9.2工具,給出了FIR compiler1_0與FDA Tool聯(lián)合設(shè)計(jì)、橫截型結(jié)構(gòu)設(shè)計(jì)和基于Black Box嵌入.v程序?qū)崿F(xiàn)的三種FIR濾波器設(shè)計(jì)方案,并進(jìn)行了簡要的步驟和功能說明。

1.1 FIR compiler1_0與FDA Tool聯(lián)合設(shè)計(jì)

在Xilinx System Generator for DSP 9.2版本的模塊庫中,專門提供了用于FIR濾波器設(shè)計(jì)的FIR compiler v1_0編譯模塊,通常此模塊與FDA Tool工具聯(lián)合使用。FDA Tool是專用的數(shù)字濾波器設(shè)計(jì)工具[5],可以方便的對濾波器的類型、階數(shù)、采樣率、通帶截止頻率和阻帶截止頻率等參數(shù)進(jìn)行選擇、修改及設(shè)定,以完成濾波器的設(shè)計(jì)。

雙擊FIR compiler v1_0模塊,Coefficient vector欄填寫:[xlfda_numerator('FDA Tool')]表示使用當(dāng)前FDA Tool模塊設(shè)計(jì)的濾波器抽頭系數(shù)作為FIR濾波器抽頭系數(shù)。則就能實(shí)現(xiàn)FIR compiler v1_0與FDA Tool模塊結(jié)合工作,完成濾波功能,如圖1所示。

圖1 FIR compiler與FDATool聯(lián)合開發(fā)

兩者結(jié)合的優(yōu)點(diǎn)是濾波器設(shè)計(jì)簡潔和修改方便,但對于FIR compiler1_0模塊來說,它只適用于Virtex4系列芯片,則存在適用范圍的局限性。不過隨著軟件版本的提高和模塊庫的完善,這個問題會很快得到解決。

1.2 基于導(dǎo)出方式的橫截型結(jié)構(gòu)FIR設(shè)計(jì)

FIR濾波器的橫截型結(jié)構(gòu)如圖2所示,是通過加法器、乘法器及延時(shí)單元共同搭建實(shí)現(xiàn)的FIR濾波器最基本的結(jié)構(gòu)。濾波器的設(shè)計(jì)也是利用FDA Tool模塊來完成的。用FDA Tool工具完成濾波器類型、參數(shù)等的設(shè)計(jì)后,可以導(dǎo)出Simulink Model。因?yàn)樗O(shè)計(jì)的濾波器最終要在FPGA硬件芯片上實(shí)現(xiàn),所以導(dǎo)出的Simulink Model要使用System Generator中的加法器、乘法器和延時(shí)單元模型替代,完成橫截型結(jié)構(gòu)設(shè)計(jì),最終完成編譯下載到硬件實(shí)現(xiàn)(FDA Tool模塊可在導(dǎo)出Simulink Model后可刪除。)

圖2 橫截型結(jié)構(gòu)

此方法適用Xilinx家族中支持System Generator for DSP工具的任何型號FPGA芯片,適用范圍廣。但模型替代繁瑣,而且輸出的定點(diǎn)位數(shù)設(shè)定還要用示波器進(jìn)行跟蹤,確定。一旦濾波器系數(shù)確定,就不便修改,就此點(diǎn)沒有第一種方法方便。此種方法適合于那些不支持FIR compiler模塊并且對濾波階數(shù)要求不高的FPGA芯片。

1.3 基于Black Box嵌入.v程序的FIR設(shè)計(jì)

System Generator的模塊庫中包含可調(diào)用Verilog或VHDL代碼的Black Box模塊,如圖3所示??筛鶕?jù)濾波器設(shè)計(jì)要求進(jìn)行Verilog或VHDL代碼編寫,然后通過Black Box模塊調(diào)用已編寫好的.v 文件,它會自動轉(zhuǎn)換成MATLAB的m文件,并在Simulink中進(jìn)行仿真。FIR的濾波參數(shù)是通過MATLAB來求得的[4]。生成的新模塊與硬件描述語言設(shè)計(jì)的模塊具有相同的輸入/輸出端口和功能。

圖3 BlackBox模塊

此種方法的優(yōu)點(diǎn)是,實(shí)現(xiàn)了模型與代碼的有機(jī)結(jié)合,體現(xiàn)了代碼編譯的靈活性和模型設(shè)計(jì)的直觀性和系統(tǒng)性。雖然它也適用于Xilinx家族中支持System Generator for DSP工具的任何型號FPGA芯片。

但Black Box的使用還有許多需要注意的地方,如對可綜合的HDL代碼的要求,對于Verilog要求模塊和端口名稱必須是用小寫字母表示,并遵循HDL編寫標(biāo)準(zhǔn);時(shí)鐘設(shè)置不支持下降沿觸發(fā)[6]。還要注意 Configuration Wizard的配置等。這里不再敖述,可以參閱文獻(xiàn)[6]了解具體的內(nèi)容。

2 仿真驗(yàn)證與分析

2.1 設(shè)計(jì)實(shí)例與分析

例如:設(shè)計(jì)一個低通濾波器,用以濾除疊加在 1.5 kHz信號中的6 kHz的高頻成分。設(shè)計(jì)參數(shù)為:

濾波器階數(shù)N=18;

通帶截止頻率Fp=3 kHz;

阻帶截止頻率Fs=5 kHz;

采樣率為fs=18 kHz;

帶內(nèi)波動Apss=1 dB;

帶外衰減Astop=60 dB;

三種方法的仿真結(jié)果如圖4、圖5、圖6所示。

圖4 濾波前后時(shí)域波形

圖5 濾波前頻域譜

圖6 濾波后頻域譜

如圖4為信號的時(shí)域譜,上路input為輸入,是兩個信號的疊加信號;下路output是經(jīng)過濾波后的輸出,可以看出濾波后只剩單一頻率的正弦信號。圖5為信號的濾波前頻域普,可以清晰的看到有兩個信號譜,分別位于1.5 kHz和6 kHz位置;圖6是信號經(jīng)過濾波后的頻域譜,由6圖可知已6 kHz高頻成分已被衰減60 dB,可認(rèn)為已經(jīng)濾掉,只剩1.5 kHz處的單一頻率譜。

仿真結(jié)果表明,三種設(shè)計(jì)方法實(shí)現(xiàn)的FIR濾波器均達(dá)到了設(shè)計(jì)指標(biāo)要求,實(shí)現(xiàn)了預(yù)定濾波效果,從而證明了三種濾波設(shè)計(jì)方法的可行性和有效性。

2.2 硬件資源消耗分析

可以采用System Generator for DSP自帶的Resource Estimated模塊來評估在FPGA上實(shí)現(xiàn)時(shí)所需要的硬件資源。各種設(shè)計(jì)方法消耗的FPGA硬件資源情況如表1所示。消耗量1是用FIR compiler1_0與FDA Tool聯(lián)合設(shè)計(jì)方法實(shí)現(xiàn)濾波設(shè)計(jì)的資源消耗情況;消耗量2是用橫截型結(jié)構(gòu)設(shè)計(jì)實(shí)現(xiàn)濾波設(shè)計(jì)的資源消耗情況;消耗量3是用Black Box設(shè)計(jì)實(shí)現(xiàn)濾波設(shè)計(jì)的資源消耗情況。

可以看出消耗量2所示的消耗資源最多。因?yàn)闄M截型結(jié)構(gòu)設(shè)計(jì)中使用的乘法器是通過邏輯門的來實(shí)現(xiàn)乘累加功能,并不是采用Xilinx專有的DSP48硬件乘法器,在表中用Emb.Mults(嵌入式乘法器)表示,所以占用的Slices和LUTS會比較多一些。這里DSP48硬件乘法器是在FPGA芯片內(nèi)部的內(nèi)核乘法器,數(shù)量有限。

對于消耗量1和消耗量3的方法所占用的資源相對較少,因?yàn)樗麄兌际腔贖DL語言的Ipcore,其中FIR compiler是已經(jīng)進(jìn)行優(yōu)化封裝好的Ipcore,而BlackBox是對針對用戶開放的Ipcore,可自行編寫HDL代碼,靈活嵌入。從占用資源角度來看,第一和第三種方法占用的資源較少,雖然第一種方法比第三種方法更多的使用了Slices和LUTS,但其消耗的Emb.Mults少一些,如何高效、限量的利用DSP48也是衡量一個優(yōu)化系統(tǒng)的重要標(biāo)準(zhǔn)。而且相對第三種方法第一種方法更加簡單方便,規(guī)范性強(qiáng),還能縮短開發(fā)時(shí)間,所以綜合考慮調(diào)用已有Ipcore即FIR compiler模塊的方法最優(yōu)。

表1 三種方法資源消耗表

3 結(jié)語

在System Generator for DSP 9.2的基礎(chǔ)上介紹了三種設(shè)計(jì)及實(shí)現(xiàn)FIR濾波器的方法,進(jìn)行了舉例仿真,并對于每種方法所占用的資源進(jìn)行了詳細(xì)的分析比較,認(rèn)為使用已封裝好的Ipcore,不但簡單方便可以減少系統(tǒng)開發(fā)時(shí)間,又能有效利用硬件資源,是最優(yōu)的選擇。前提是硬件芯片支持此Ipcore。每種方法也都有其自己身的優(yōu)缺點(diǎn),使用設(shè)計(jì)方法的選擇,可根據(jù)現(xiàn)有硬件資源、環(huán)境情況及各個方法的特點(diǎn)進(jìn)行取舍。

[1] 王春來,歐陽喜.基于FPGA的半并行FIR濾波器設(shè)計(jì)[J].新中國新通信,2009,15(08):86-89.

[2] 王秀敏,汪毓鐸,張洋,等.通信系統(tǒng)中FIR數(shù)字濾波器的設(shè)計(jì)研究[J].通信技術(shù),2009,42(09):3-6.

[3] TIM VANEVENHOVEN.使用MATLAB為System Generator for DSP創(chuàng)建IP[J].今日電子,2008,5(05):52-57.

[4] 杜德,李小文.TD-SCDMA中FIR濾波器的DSP實(shí)現(xiàn)[J].通信技術(shù),2008,9(09):92-112.

[5] 孟惠霞,耿俊梅.MATLAB-DSP集成環(huán)境下的FIR數(shù)字濾波器設(shè)計(jì)[J].信息安全與通信保密,2009,6(06):58-63.

[6] 田耕,胡彬,徐文波,等.Xilinx ISE Design Suite 10.x FPGA開發(fā)指南[M].北京:人民郵電出版社,2009.

猜你喜歡
乘法器消耗量消耗
如此消耗卡路里
意林(2023年7期)2023-06-13 14:18:52
玉鋼燒結(jié)降低固體燃料消耗實(shí)踐
昆鋼科技(2022年4期)2022-12-30 11:23:46
路基石方爆破降低炸藥消耗量研究
降低鋼鐵料消耗的生產(chǎn)實(shí)踐
昆鋼科技(2021年6期)2021-03-09 06:10:18
我們消耗很多能源
基于FPGA的流水線單精度浮點(diǎn)數(shù)乘法器設(shè)計(jì)*
有機(jī)化學(xué)反應(yīng)中試劑最大消耗量問題探析
《輕型商用車輛燃料消耗量限值》強(qiáng)制性國家標(biāo)準(zhǔn)發(fā)布
邁騰1.8TSI車燃油消耗量大
乘法器模塊在FPGA中的實(shí)現(xiàn)
牡丹江市| 黄浦区| 五大连池市| 泰来县| 西林县| 广元市| 那坡县| 孙吴县| 稻城县| 上犹县| 周至县| 武夷山市| 留坝县| 葫芦岛市| 仁布县| 科技| 林州市| 玉屏| 乌拉特中旗| 北海市| 安康市| 伽师县| 龙胜| 嘉义县| 南投县| 五家渠市| 新巴尔虎左旗| 邵阳市| 林州市| 伊金霍洛旗| 锡林郭勒盟| 张北县| 水城县| 集安市| 贺兰县| 公安县| 台东县| 霍林郭勒市| 蒙山县| 雷山县| 双柏县|