基于FDATool的FIR濾波器設計方法(一)
FIR 濾波器廣泛應用于數字信號處理中,主要功能就是將不感興趣的信號濾除,留下有用信號。FIR濾波器是全零點(diǎn)結構,系統永遠穩定;并且具有線(xiàn)性相位的特征,在有效頻率范圍內所有信號相位上不失真。在無(wú)線(xiàn)通信收發(fā)機中的DDC/DUC模塊,抽取和內插都需要加入濾波器以防止信號在頻譜上混疊,最典型的是采用 FIR濾波器實(shí)現半帶濾波器。
本文引用地址:http://dyxdggzs.com/article/249651.htmFIR濾波處理如下式所示,其中x(n)為輸入信號,h(n)為FIR濾波系數,y(n)為經(jīng)過(guò)濾波后的信號;N表示FIR濾波器的抽頭數,濾波器階數為N-1。

由上式可得到FIR濾波器在FPGA中的實(shí)現結構,如圖1所示,主要由延遲單元Z-1、乘法器和累加器組成。此結構為直接型FIR濾波器結構,也稱(chēng)橫向結構(transverse)。

圖1
設計FIR濾波器的方法有多種,其中Matlab軟件提供了很多關(guān)于濾波器設計的工具箱,FDATool就是一個(gè)很好的工具,如圖2所示就是FDATool的界面,可以在Matlab的Command窗口中直接輸入FDATool命令來(lái)調用。

圖2
濾波器的設計首先需要設置的參數:
(1) Response Type:選擇FIR濾波器的類(lèi)型:低通、高通、帶通和帶阻等。如圖3所示為L(cháng)owpass中的下拉選項,在DDC/DUC模塊設計中,抽取和內插需要使用Halfband Lowpass類(lèi)型,而channel filter需要使用Raised-cosine類(lèi)型。

圖3
(2) Design Method:FIR濾波器設計方法有多種,如圖4所示,最常用的是窗函數設計法(Window)、等波紋設計法(Equiripple)和最小二乘法 (Least-Squares)等。其中窗函數設計法在學(xué)校課堂中是重點(diǎn)講解的,提到FIR濾波器肯定會(huì )想到hamming、kaiser窗,但是實(shí)際應用中卻很少使用,因為如果采用窗函數設計法,達到所期望的頻率響應,與其它方法相比往往階數會(huì )更多;而且窗函數設計法一般只參照通頻帶wp、抑制頻帶ws 和理想增益來(lái)設計濾波器,但是實(shí)際應用中通頻帶和抑制帶的波紋也是需要考慮的,那在這種情況下,采用等波紋設計法就非常適用了。

圖4
(3) Filter Order:設置濾波器的階數,這個(gè)選項直接影響濾波器的性能,階數越高,性能越好,但是相應在FPGA實(shí)現耗用的資源需要增多。在這個(gè)設置中提供2個(gè)選項:Specify order和Minimum order,Specify order是工程師自己確定濾波器的階數,Minimum order是讓工具自動(dòng)確定達到期望的頻率相應所需要的最小階數,因此具體選擇哪個(gè)選項得視實(shí)際情況而定了。

圖5
(4) Frequency Specification:設置頻率響應的參數,包括采樣頻率Fs、通帶頻率Fpass和阻帶頻率Fstop。

圖6
參數設置完成后,FDATool就會(huì )分析并且生成濾波系數,如圖7所示,可以得到濾波器的頻率相應曲線(xiàn),并且可以通過(guò)File-》Export導出濾波系數,如圖8所示。

圖7

圖8
為了快速驗證FIR濾波器的FPGA實(shí)現,使用Xilinx的System Generator工具,如圖9所示為FIR濾波器的驗證模型,其中通過(guò)Gateway In和Gateway out模塊分隔matlab simulink模塊和Xilinx FPGA模塊,matlab simulink模塊用于產(chǎn)生測試源,接收并顯示濾波后波形。還有System Generator Token用于生成Xilinx FPGA模塊的HDL代碼。

圖9
其中FIR Compiler 5.0模塊的參數設置如圖10所示,濾波系數直接調用FDATool生成的濾波系數equ_coe,輸出為全精度數據。

圖10
得到輸出結果如圖11所示,上邊圖為輸入原波形,由兩個(gè)頻率分量的正弦波疊加而成,頻率分別為2MHz和100MHz,經(jīng)過(guò)FIR濾波之后,100MHz頻率分量被濾除。

圖11
濾波器相關(guān)文章:濾波器原理
濾波器相關(guān)文章:濾波器原理
電源濾波器相關(guān)文章:電源濾波器原理
高通濾波器相關(guān)文章:高通濾波器原理 數字濾波器相關(guān)文章:數字濾波器原理
評論