基于FDATool的FIR濾波器設(shè)計方法(一)
FIR 濾波器廣泛應(yīng)用于數(shù)字信號處理中,主要功能就是將不感興趣的信號濾除,留下有用信號。FIR濾波器是全零點(diǎn)結(jié)構(gòu),系統(tǒng)永遠(yuǎn)穩(wěn)定;并且具有線性相位的特征,在有效頻率范圍內(nèi)所有信號相位上不失真。在無線通信收發(fā)機(jī)中的DDC/DUC模塊,抽取和內(nèi)插都需要加入濾波器以防止信號在頻譜上混疊,最典型的是采用 FIR濾波器實(shí)現(xiàn)半帶濾波器。
本文引用地址:http://www.butianyuan.cn/article/249651.htmFIR濾波處理如下式所示,其中x(n)為輸入信號,h(n)為FIR濾波系數(shù),y(n)為經(jīng)過濾波后的信號;N表示FIR濾波器的抽頭數(shù),濾波器階數(shù)為N-1。
![FIR](http://editerupload.eepw.com.cn/201407/441ff09c84a8298f871fdab8fe77a908.gif)
由上式可得到FIR濾波器在FPGA中的實(shí)現(xiàn)結(jié)構(gòu),如圖1所示,主要由延遲單元Z-1、乘法器和累加器組成。此結(jié)構(gòu)為直接型FIR濾波器結(jié)構(gòu),也稱橫向結(jié)構(gòu)(transverse)。
![](http://editerupload.eepw.com.cn/201407/4dc534440b263e63e43d558edf4f9918.jpg)
圖1
設(shè)計FIR濾波器的方法有多種,其中Matlab軟件提供了很多關(guān)于濾波器設(shè)計的工具箱,FDATool就是一個很好的工具,如圖2所示就是FDATool的界面,可以在Matlab的Command窗口中直接輸入FDATool命令來調(diào)用。
![](http://editerupload.eepw.com.cn/201407/6570f0477e4a622b91192b78ebad6f36.jpg)
圖2
濾波器的設(shè)計首先需要設(shè)置的參數(shù):
(1) Response Type:選擇FIR濾波器的類型:低通、高通、帶通和帶阻等。如圖3所示為Lowpass中的下拉選項,在DDC/DUC模塊設(shè)計中,抽取和內(nèi)插需要使用Halfband Lowpass類型,而channel filter需要使用Raised-cosine類型。
![](http://editerupload.eepw.com.cn/201407/9f285ffacbbf808d6f0112613bb6ba15.jpg)
圖3
(2) Design Method:FIR濾波器設(shè)計方法有多種,如圖4所示,最常用的是窗函數(shù)設(shè)計法(Window)、等波紋設(shè)計法(Equiripple)和最小二乘法 (Least-Squares)等。其中窗函數(shù)設(shè)計法在學(xué)校課堂中是重點(diǎn)講解的,提到FIR濾波器肯定會想到hamming、kaiser窗,但是實(shí)際應(yīng)用中卻很少使用,因為如果采用窗函數(shù)設(shè)計法,達(dá)到所期望的頻率響應(yīng),與其它方法相比往往階數(shù)會更多;而且窗函數(shù)設(shè)計法一般只參照通頻帶wp、抑制頻帶ws 和理想增益來設(shè)計濾波器,但是實(shí)際應(yīng)用中通頻帶和抑制帶的波紋也是需要考慮的,那在這種情況下,采用等波紋設(shè)計法就非常適用了。
![](http://editerupload.eepw.com.cn/201407/116cc85e299bd1087f2ed82d7d3ca098.jpg)
圖4
(3) Filter Order:設(shè)置濾波器的階數(shù),這個選項直接影響濾波器的性能,階數(shù)越高,性能越好,但是相應(yīng)在FPGA實(shí)現(xiàn)耗用的資源需要增多。在這個設(shè)置中提供2個選項:Specify order和Minimum order,Specify order是工程師自己確定濾波器的階數(shù),Minimum order是讓工具自動確定達(dá)到期望的頻率相應(yīng)所需要的最小階數(shù),因此具體選擇哪個選項得視實(shí)際情況而定了。
![](http://editerupload.eepw.com.cn/201407/99876bf771ffab0b44d41323c9a268d6.jpg)
圖5
(4) Frequency Specification:設(shè)置頻率響應(yīng)的參數(shù),包括采樣頻率Fs、通帶頻率Fpass和阻帶頻率Fstop。
![](http://editerupload.eepw.com.cn/201407/6ca9fb3982ff2efc6562ef84402c06f7.jpg)
圖6
參數(shù)設(shè)置完成后,F(xiàn)DATool就會分析并且生成濾波系數(shù),如圖7所示,可以得到濾波器的頻率相應(yīng)曲線,并且可以通過File-》Export導(dǎo)出濾波系數(shù),如圖8所示。
![](http://editerupload.eepw.com.cn/201407/cef6be8691348823b8c25759c37badab.jpg)
圖7
![](http://editerupload.eepw.com.cn/201407/4fa09bb6054aa07a63195022f371ca88.jpg)
圖8
為了快速驗證FIR濾波器的FPGA實(shí)現(xiàn),使用Xilinx的System Generator工具,如圖9所示為FIR濾波器的驗證模型,其中通過Gateway In和Gateway out模塊分隔matlab simulink模塊和Xilinx FPGA模塊,matlab simulink模塊用于產(chǎn)生測試源,接收并顯示濾波后波形。還有System Generator Token用于生成Xilinx FPGA模塊的HDL代碼。
![](http://editerupload.eepw.com.cn/201407/7256b1686b81d2fc64ea3b75d6e65e05.jpg)
圖9
其中FIR Compiler 5.0模塊的參數(shù)設(shè)置如圖10所示,濾波系數(shù)直接調(diào)用FDATool生成的濾波系數(shù)equ_coe,輸出為全精度數(shù)據(jù)。
![](http://editerupload.eepw.com.cn/201407/73348d5edcd79d2d574f42f399d41048.jpg)
圖10
得到輸出結(jié)果如圖11所示,上邊圖為輸入原波形,由兩個頻率分量的正弦波疊加而成,頻率分別為2MHz和100MHz,經(jīng)過FIR濾波之后,100MHz頻率分量被濾除。
![](http://editerupload.eepw.com.cn/201407/c03570286a97cea785c9e70237759605.jpg)
圖11
濾波器相關(guān)文章:濾波器原理
濾波器相關(guān)文章:濾波器原理
電源濾波器相關(guān)文章:電源濾波器原理
高通濾波器相關(guān)文章:高通濾波器原理 數(shù)字濾波器相關(guān)文章:數(shù)字濾波器原理
評論