第6章FIR數(shù)字濾波器設計ppt課件_第1頁
第6章FIR數(shù)字濾波器設計ppt課件_第2頁
第6章FIR數(shù)字濾波器設計ppt課件_第3頁
第6章FIR數(shù)字濾波器設計ppt課件_第4頁
第6章FIR數(shù)字濾波器設計ppt課件_第5頁
已閱讀5頁,還剩87頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 第第6章章 FIR數(shù)字濾波器設計數(shù)字濾波器設計 6.1 FIR數(shù)字濾波器原理數(shù)字濾波器原理 6.2 使用使用DSP Builder設計設計FIR數(shù)字濾波器數(shù)字濾波器 6.3 使用使用FIR IP Core設計設計FIR濾波器濾波器 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 6.1 FIR數(shù)字濾波器原理數(shù)字濾波器原理 對于一個FIR濾波器系統(tǒng)而言,它的沖激響應總是有限長的,其系統(tǒng)函數(shù)可以記為MkkkzbzH0)(第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 其中M是FIR濾波器的零點數(shù),即延時節(jié)數(shù),為敘述簡便,

2、在本章中M被稱為FIR濾器的階數(shù)。最基本的FIR濾波器可用下式表示:10)()()(Liihinxny 其中x(n)是輸入采樣序列,h(i)是濾波器系數(shù),L是濾波器的系數(shù)長度,y(n)表示濾波器的輸出序列。也可以用卷積來表示輸出序列y(n)與x(n)、h(n)的關系。)()()(nhnxny第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-1中顯示了一個典型的直接I型4階FIR濾波器,其輸出序列y(n)滿足下列等式:)3()3()2()2() 1() 1 ()()0()(nxhnxhnxhnxhnh第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-1 4階FIR濾波

3、器結(jié)構(gòu) z1x(n)h(0)y(n)z1z1h(1)h(2)h(3)第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 在這個FIR濾波器中,總共存在3個延時節(jié),4個乘法單元,一個4輸入的加法器。如果采用普通的數(shù)字信號處理器(DSP Processor)來實現(xiàn),只能用串行的方式順序地執(zhí)行延時、乘加操作,這不可能在一個DSP(指數(shù)字信號處理器)指令周期內(nèi)完成,必須用多個指令周期來完成。 但是,如果采用FPGA來實現(xiàn),就可以采用并行結(jié)構(gòu),在一個時鐘周期內(nèi)得到一個FIR濾波器的輸出。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 6.2 使用使用DSP Builder設計設計FIR數(shù)

4、字濾波器數(shù)字濾波器 使用DSP Builder可以方便地在圖形化環(huán)境中設計FIR數(shù)字濾波器,而且濾波器系數(shù)的計算可以借助Matlab強大的計算能力和現(xiàn)成的濾波器設計工具來完成。 6.2.1 3階常系數(shù)FIR濾波器的設計 在此用以下示例來說明整個設計過程。 假定一個3階的FIR濾波器,其可以表示為)3() 3()2()2() 1() 1 ()()0()(nxhnxhnxhnxhCnhq第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 其中:h(0)=63,h(1)=127,h(2)=127,h(3)=63,是量化時附加的因子。 這里采用直接I型來實現(xiàn)該FIR濾波器。設計好的3階直接I型F

5、IR濾波器模型圖可以參見圖6-2。具體的新模型建立、模塊調(diào)用過程可以參見第3章。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-2 3階FIR濾波器第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖中模塊的參數(shù)作如下設置:xin模塊:(Altbus)庫:Altera DSP Builder中Bus Manipulation庫參數(shù)“Bus Type設為“signed Integer”參數(shù)“Node Type設為“Input port”參數(shù)“number of bits設為“8”第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 yout模塊:(Altbus)庫:A

6、ltera DSP Builder中Bus Manipulation庫參數(shù)“Bus Type設為“signed Integer”參數(shù)“Node Type設為“Output port”參數(shù)“number of bits設為“8” Parallel Adder Subtractor模塊:(Parallel Adder Subtractor)庫:Altera DSP Builder中Arithmetic庫“Add(+)Sub(-)”設為“+”第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 Delay1、Delay2、Delay3模塊:(Delay)庫:Altera DSP Builder中

7、Storage庫參數(shù)“Depth設為“1”參數(shù)“Clock Phase Selection設為“1” h0模塊:(Gain)庫:Altera DSP Builder中Arithemtic庫參數(shù)“Gain Value設為“63”參數(shù)“Map Gain Value to Bus Type設為“Signed Integer”參數(shù)“Gate Value number of bits設為“8”參數(shù)“Number of Pipeline Levels設為“0”第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 h1模塊:(Gain)參數(shù)“Gain Value設為“127”其余同h0模塊 h2模塊:(

8、Gain)參數(shù)“Gain Value設為“127”其余同h0模塊 h3模塊:(Gain)參數(shù)“Gain Value設為“63”其余同h0模塊第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 由于FIR濾波器的系數(shù)已經(jīng)給定,是一個常數(shù),從圖中看到,在DSP Builder中可以用Gain(增益)模塊來實現(xiàn)的運算,用延時Delay模塊來實現(xiàn)輸入信號序列的延時。 設計完3階FIR濾波器模型后,就可以添加Simulink模塊進行仿真了,如圖6-3所示。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-3 帶仿真模塊的3階濾波器模型第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波

9、器設計 新增的仿真模塊的參數(shù)作如下設置:Chirp Signal模塊:(Chirp Signal)庫:Simulink中Sources庫參數(shù)“Initial Frequency(Hz)”設為“0.1”參數(shù)“Target time設為“10”參數(shù)“Frequency at target time(Hz)”設為“1”參數(shù)“Interpret vectors parameters as 1-D選中第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 Gain模塊:(Gain)庫:Simulink中Math Operations庫參數(shù)“Gain設為“127”參數(shù)“Multiplication設為“

10、Element wise(K.*u)”Scope模塊:(Scope)庫:Simulink中sinks庫參數(shù)“Number of Axes為“2”第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 其中,Chirp Signal模塊為線性調(diào)頻信號發(fā)生模塊,生成一個線性調(diào)頻信號0.1 Hz1 Hz。 在該模型仿真中,使用默認的仿真參數(shù)。 仿真結(jié)果如圖6-4所示。顯然,一個線性調(diào)頻信號通過3階FIR濾波器后幅度發(fā)生了變化,頻率較高部分的幅度被衰減了。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-4 FIR濾波器仿真結(jié)果 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計

11、 6.2.2 4階FIR濾波器節(jié)的設計 上節(jié)介紹的是常系數(shù)FIR濾波器的示例。本節(jié)將設計一個系數(shù)可變的FIR濾波器節(jié)。對于直接I型的FIR濾波器(結(jié)構(gòu)見圖6-5),是可以級聯(lián)的。也就是說,在濾波器系數(shù)可變的情況下,可以預先設計好一個FIR濾波器節(jié),在實際應用中通過不斷地調(diào)用FIR濾波器節(jié),將其級聯(lián)起來,用來完成多階FIR濾波器的設計。當然,對于線性相位的FIR濾波器,我們可以采用改進后的濾波器結(jié)構(gòu),可以節(jié)省一半的乘法器。在這里,為了敘述方便,沒有采用改進后的FIR結(jié)構(gòu)。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-5 直接I型FIR濾波器結(jié)構(gòu)z1xinh(0)youtz1z1

12、h(1)h(2)x(n)z1h(k 1)h(k)x(n k)第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-6是一個直接I型的4階FIR濾波器節(jié)的結(jié)構(gòu)。為了使該濾波器節(jié)的調(diào)用更為方便,在xin輸入后插入了一個延時單元,由3階濾波器演變成4階的,不過常系數(shù)項(系數(shù)項) 恒為0。由于在通信應用中,F(xiàn)IR濾波器處理的往往是信號流,因而增加一個延時單元不會影響FIR濾波器處理的結(jié)果,只是系統(tǒng)延時增加了一個時鐘周期。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-6 直接I型4階FIR濾波器節(jié) z1xinh(1)y4outz1z1h(2)h(3)h(4)x(n1)z1第第

13、6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 對于該FIR濾波器節(jié),其系統(tǒng)函數(shù)可以用下式來表示: 由于浮點小數(shù)在FPGA中實現(xiàn)比較困難,實現(xiàn)的代價太大,因而在DSP Builder中不妨使用整數(shù)運算來實現(xiàn),最后用位數(shù)舍取的方式得到結(jié)果。為了使參數(shù)可變,F(xiàn)IR濾波器系數(shù)、也作為輸入端口。在本設計中輸入序列的位寬設為9位。 圖6-7顯示的就是一個設計好的4階FIR濾波器節(jié),與圖6-2的常數(shù)FIR濾波器相比,這里用Product(乘法)模塊代替了Gain(增益)模塊。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-7 直接I型4階FIR濾波器節(jié)第第6 6章章 FIRFIR數(shù)字

14、濾波器設計數(shù)字濾波器設計 圖6-7中相關模塊的參數(shù)設置如下:xin、hn1、hn2、hn3、hn4模塊:(Altbus)庫:Altera DSP Builder中Bus Manipulation庫參數(shù)“Bus Type設為“signed Integer”參數(shù)“Node Type設為“Input port”參數(shù)“number of bits設為“9”第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 yn模塊:(Altbus)庫:Altera DSP Builder中Bus Manipulation庫參數(shù)“Bus Type設為“signed Integer”參數(shù)“Node Type設為“O

15、utput port”參數(shù)“number of bits設為“20” xn4模塊:(Altbus)庫:Altera DSP Builder中Bus Manipulation庫參數(shù)“Bus Type設為“signed Integer”參數(shù)“Node Type設為“Output port”參數(shù)“number of bits設為“9”第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 Parallel Adder Subtractor模塊:(Parallel Adder Subtractor)庫:Altera DSP Builder中Arithmetic庫參數(shù)“Add(+)Sub(-)”設為“

16、+”使用“Pipeline”參數(shù)“Clock Phaese Selectioon設為“1” Delay、Delay1、Delay2、Delay3模塊:(Delay)庫:Altera DSP Builder中Storage庫參數(shù)“Depth設為“1”參數(shù)“Clock Phase Selection設為“1” 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 Product模塊:(Product)庫:Altera DSP Builder中Arithemtic庫參數(shù)“Pipeline設為“2”參數(shù)“Clock Phase Selection設為“1”不選擇“Use LPM”第第6 6章章 F

17、IRFIR數(shù)字濾波器設計數(shù)字濾波器設計 6.2.3 16階FIR濾波器模型設計 利用以上設計的4階FIR濾波器節(jié)可以方便地搭成階直接I型FIR濾波器(注意: )。比如要實現(xiàn)一個16階的低通濾波器,可以調(diào)用4個4階FIR濾波器節(jié)來實現(xiàn)。 1. 設計4階FIR濾波器節(jié)子系統(tǒng) 建立一個新的DSP Builder模型,復制上節(jié)的FIR4tap模型到新模型。按照第4章所示的方法由FIR4tap模型建立子系統(tǒng)(SubSystem),并對端口信號進行修改,把子系統(tǒng)更名為fir4tap,如圖6-8所示。fir4tap的內(nèi)部結(jié)構(gòu)如圖6-9所示。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-8

18、fir4tap子系統(tǒng) 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-9 fir4tap子系統(tǒng)內(nèi)部原理圖 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 2. 組成16階FIR濾波器模型 復制4個fir4tap,并將它們銜接起來。前一級的輸出端口x4接后一級的x輸入端口,并附加上16個常數(shù)端口,作為FIR濾波器系數(shù)的輸入。把4個子系統(tǒng)fir4tap的輸出端口y連接起來,接入一個4輸入端口的加法器,得到FIR濾波器的輸出yout。 注意:在作好子系統(tǒng)后,要按照第4章中所述的方式,修改其Mask參數(shù)Mask Type為“SubSystem AlteraBlockSet”。

19、設計好的16階FIR濾波器如圖6-10所示。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-10 16階直接I型FIR濾波器模型第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 16階直接I型FIR濾波器模型中,對新增加的模塊作如下設置:xin模塊:(Altbus)庫:Altera DSP Builder中Bus Manipulation庫參數(shù)“Bus Type設為“signed Integer”參數(shù)“Node Type設為“Input port”參數(shù)“number of bits設為“9”第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 yout模塊:(Alt

20、bus)庫:Altera DSP Builder中Bus Manipulation庫參數(shù)“Bus Type設為“signed Integer”參數(shù)“Node Type設為“Output port”參數(shù)“number of bits設為“20” x16模塊:(Altbus)庫:Altera DSP Builder中Bus Manipulation庫參數(shù)“Bus Type設為“signed Integer”參數(shù)“Node Type設為“Output port”參數(shù)“number of bits設為“9”第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 Parallel Adder Subt

21、ractor模塊:(Parallel Adder Subtractor)庫:Altera DSP Builder中Arithmetic庫參數(shù)“Add(+)Sub(-)”設為“+”使用“Pipeline”參數(shù)“Clock Phaese Selectioon設為“1” h0、h1、h2、h3、h4、h5、h6、h7、h8、h9、h10、h11、h12、h13、h14、h15模塊:(Delay)庫:Altera DSP Builder中Bus Manipulation庫參數(shù)“Bus Type設為“Signed Integer”參數(shù)“number of bits設為“9”第第6 6章章 FIRFIR數(shù)

22、字濾波器設計數(shù)字濾波器設計 6.2.4 使用MATLAB的濾波器設計工具1. 濾波器指標若需要設計一個16階的FIR濾波器(),給定的參數(shù)如下: 低通濾波器 采樣頻率Fs為48 kHz,濾波器Fc為10.8 kHz 輸入序列位寬為9位(最高位為符號位)在此利用MATLAB來完成FIR濾波器系數(shù)的確定。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 2. 打開MATLAB的FDATool MATLAB集成了一套功能強大的濾波器設計工具FDATool(Filter Design & Analysis Tool),可以完成多種濾波器的設計、分析和性能評估。 點擊MATLAB主窗口下

23、方的“Start”(開場)按鈕,按圖6-11選擇“ToolBox”“Filter Design”“Filter Design & Analysis Tool(FDATool)”,打開FDATool,如圖6-12所示。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-11 打開FDATool 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-12 FDATool界面第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 3. 選擇Design FilterFDATool界面左下側(cè)排列了一組工具按鈕,其功能分別如下所述: 濾波器轉(zhuǎn)換(TransForm Fil

24、er) 設置量化參數(shù)(Set Quantization Parameters) 實現(xiàn)模型(Realize Model) 導入濾波器(Import Filter) 設計濾波器(Design Filter)選擇其中的按鈕,進入設計濾波器界面,進行下列選擇:第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 濾波器類型(Filter Type)為低通(Lowpass); 設計方法(Design Method)為FIR,采用窗口法(Window); 濾波器階數(shù)(Filter Order)定制為15; 窗口類型為Kaiser,Beta為0.5; Fs為48 kHz,F(xiàn)c為10.8 kHz。 設置好

25、后的界面見圖6-13。 注意:在濾波器階數(shù)選擇時,在此設置的是15階,而不是16階!這是由于在前面設計的16階FIR濾波器的常系數(shù)項。其系統(tǒng)函數(shù)可用下式來表示:第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-13 濾波器設計界面第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 顯然上式可以寫成: 即可以看成是一個15階的FIR濾波器的輸出結(jié)果經(jīng)過了一個單位延時單元。所以在FDATool中把它當成15階FIR濾波器來計算參數(shù)。點擊,讓MATLAB計算FIR濾波器系數(shù)并作相關分析。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 4. 濾波器分析 計算完FIR濾波器

26、系數(shù)后,往往需要對設計好的FIR濾波器進行相關的性能分析,以便了解該濾波器是否滿足設計要求。分析操作步驟如下: 選擇FDATool的菜單“Analysis”“Magnitude Response”,啟動幅頻響應分析。圖6-14顯示了濾波器的幅頻響應圖,x軸為頻率,y軸為幅度值(單位為dB)。 在圖的左側(cè)列出了當前濾波器的相關信息:第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 濾波器類型為Direct form FIR(直接I型FIR濾波器); 濾波器階數(shù)為15。 注意:不是每種FIR濾波器設計方法計算出的濾波器都是直接I型結(jié)構(gòu)的。如果在DSP Builder中設計的FIR濾波器為直

27、接I型結(jié)構(gòu),那就必須保證在這里顯示的FIR濾波器結(jié)構(gòu)為“Direct form FIR”。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-14 FIR濾波器的幅頻響應第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 選擇菜單“Analysis”“Phase Response”,啟動相頻響應分析。圖6-15顯示了濾波器的相頻響應。由圖可以看到設計的FIR濾波器在通帶內(nèi)其相位響應為線性的,即該濾波器是一個線性相位的濾波器。 圖6-16顯示了濾波器幅頻特性與相頻特性的比較。這可以通過菜單選擇“Analysis”“Magnitude & Phase Response來啟

28、動分析。 選擇菜單“Analysis”“Group Delay Response”,啟動群延時分析,波形如圖6-17所示。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-15 FIR濾波器的相頻響應 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-16 幅頻響應與相頻響應的比較 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-17 FIR濾波器的群延時 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 在菜單“Analysis下還有一些分析: “Impulse Response”:沖激響應,見圖6-18。 “Step Response”:

29、階躍響應,見圖6-19。 “Pole/Zero Plot”:零極點圖,見圖6-20。 由于直接I型FIR濾波器只有零點,所以在圖6-20中不存在極點。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-18 FIR濾波器的沖激響應 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-19 FIR濾波器的階躍響應 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-20 FIR濾波器的零極點第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 求出的FIR濾波器的系數(shù)可以通過選擇菜單“Analysis”“Filter Coefficients來觀察,見圖6

30、-21。圖中列出了FDATool計算的15階直接I型FIR濾波器的部分系數(shù)。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-21 FIR濾波器系數(shù) 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 5. 量化 從圖6-21可以看到,F(xiàn)DATool計算出的值是一個有符號小數(shù),而在DSP Builder下建立的FIR濾波器模型需要一個整數(shù)作為濾波器系數(shù)。所以必須進行量化,并對得到的系數(shù)進行歸一化。為此,點擊FDATool左下側(cè)的工具按鈕進行量化參數(shù)設置。在設置“Turn quantization on前選擇“”,如圖6-22所示。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)

31、字濾波器設計 在濾波器的設計指標中,已經(jīng)提到FIR濾波器的輸入位寬是9位,表示為有符號數(shù)。在圖6-22中設置前4項的量化格式(Format)為“9 8”,表示量化后位寬為9位,絕對值為8位;設置后2項(乘積、乘積和)的量化格式為“18 16”。 點擊按鈕,打開圖6-23所示的對話框。在此量化優(yōu)化設置對話框中選擇相關的優(yōu)化選項。 圖6-24中顯示了量化后的部分系數(shù)值。注意在這里系數(shù)仍是用小數(shù)表示的,不同于量化前的系數(shù),現(xiàn)在其二進制表示的位數(shù)已滿足量化要求。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-22 量化參數(shù)設置 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計

32、圖6-23 量化優(yōu)化設置對話框 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-24 量化后的系數(shù)值 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 設計的FIR濾波器在量化后濾波器的性能會有所改變,其幅頻響應、相頻響應也有所變化。量化在帶來實現(xiàn)方便的同時也帶來了量化噪聲,圖6-26顯示了量化帶來的噪聲分析。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-25 量化后的幅頻、相頻響應 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-26 量化后的噪聲分析 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 6. 導出濾波器系數(shù) 為

33、導出設計好的濾波器系數(shù),選擇FDATool菜單的“File”“Export.”,打開導出(Export)對話框,如圖6 - 2 7 所 示 。 在 該 窗 口 中 , 選 擇 導 出 到 工 作 區(qū)(Workspace)。這時濾波器系數(shù)就存入到一個一維變量Num中了,不過這時Num中的元素是以小數(shù)形式出現(xiàn)的: Num = -0.0742 0.0234 0.1133 0.0117 -0.1758 -0.0977 0.3594 0.8281 0.8281 0.3594 -0.0977 -0.1758 0.0117 0.1133 0.0234 -0.0742 第第6 6章章 FIRFIR數(shù)字濾波器設

34、計數(shù)字濾波器設計 圖圖6-27 導出系數(shù)對話框?qū)С鱿禂?shù)對話框第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 現(xiàn)在若要在FIR濾波器模型中使用這些數(shù)據(jù),還需要將它們轉(zhuǎn)化為整數(shù):在MATLAB主窗口的命令窗口中鍵入:Num * (28)得到: Num*(28)ans = Columns 1 through 10 -19 6 29 3 -45 -25 92 212 212 92 Columns 11 through 16 -25 -45 3 29 6 -19第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 7. 修改FIR濾波器模型添加參數(shù) 把計算出的系數(shù)逐個填入到FIR濾波器模型

35、中,見圖6-28。這樣就完成了一個16階直接I型FIR低通濾波器的設計。 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-28 16階低通FIR濾波器第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 8. 導出濾波器系數(shù)的另一種方法 按照上面介紹的導出濾波器系數(shù)的方法在FIR濾波器階數(shù)較大時就不太方便,而且在設計要求有所變化時系數(shù)的修改極為不利。可以按照以下方法來導出: 把FIR濾波器模型中的h1h16模塊的參數(shù)“Constant Value(常數(shù)值)”設置為: Num(n)*(28) 其中Num同上文所述,是FDATool的導出系數(shù),n用具體的數(shù)字來代替,如h1模塊用

36、Num(1)*(28),h2模塊用Num(2)*(28)。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 6.2.5 16階FIR濾波器的硬件實現(xiàn) 1. 由Simulink模型轉(zhuǎn)成VHDL 打開SingalCompiler,選定器件系列,把模型轉(zhuǎn)成VHDL文件,具體操作步驟可以參見第3章。 2. 綜合 在SignalCompiler中選擇Quartus II進行綜合,或者利用第三方綜合工具,比如LeonardoSpectrum進行綜合。圖6-29顯示了LeonardoSpectrum綜合結(jié)果的部分RTL原理圖。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 3. 適配下載

37、如果采用Quartus II進行綜合,在Quartus II中打開SignalCompiler建立的Quartus項目文件,選擇具體器件,鎖定管腳,完成適配后下載至FPGA開發(fā)板中。若采用其它綜合工具進行綜合,適配流程請參見第4章。 在FPGA開發(fā)板上加入高頻信號源,驗證FIR濾波器的濾波效果。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-29 LeonardoSpectrum綜合結(jié)果第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 6.3 使用使用FIR IP Core設計設計FIR濾波器濾波器 對于一個面向市場和實際工程應用的系統(tǒng)設計,在開發(fā)速度和效率方面要求很高

38、。然而對于一般的設計者,在短期內(nèi)也不可能全面了解FIR濾波器(指在FPGA上實現(xiàn))相關的優(yōu)化技術(shù),也沒有必要了解過多的細節(jié)。另外,F(xiàn)IR濾波器的濾波系數(shù)的確定,即FIR濾波器的設計方法也是比較麻煩的,需要花費大量的精力和時間才能設計出在速度、資源利用、性能上都滿足要求的FIR濾波器。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 另一方面,雖然DSP Builder提供了大量的基本DSP模塊,但是要了解用哪些模塊可以構(gòu)建一個高效的FIR濾波器仍然不是一件簡單的事情。 但是,如果采用設計好的FIR濾波器的IP核,幾乎可以很容易地解決以上的問題。對于IP核,在速度、資源利用、性能上往往進

39、行過專門的優(yōu)化,還提供了相關的IP應用開發(fā)工具。 Altera提供的FIR Compiler是一個結(jié)合Altera FPGA器件的FIR Filter Core,DSP Builder與FIR Compiler可以緊密地結(jié)合起來。DSP Builder提供了一個FIR Core的應用環(huán)境和仿真驗證環(huán)境。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 6.3.1 FIR濾波器核與DSP Builder集成 使用FIR Core之前,首先必須保證Matlab、DSP Builder、Quartus II以及IP核的本身,即FIR Compiler等工具安裝正確。如果一切正常,我們可以在S

40、imulink庫管理器中看到“Altera MegaCore FIR Compiler這個庫,如圖6-30所示。 MegaCore是Altera的IP Core計劃中的一個組成部分,F(xiàn)IR Compiler作為一個MegaCore,不附帶在DSP Builder和Quartus II中,需要單獨向Altera公司購買或申請試用版?,F(xiàn)在最新的FIR Compiler的版本可以支持Quartus II和DSP Builder。第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-30 FIR Core模塊 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 6.3.2 FIR濾波器

41、核的使用 1. 調(diào)用FIR模塊 在 S i m u l i n k 環(huán) 境 中 新 建 一 個 模 型 , 放 置SignalCompiler模塊和FIR模塊(如圖6-31)。 注意:在DSP Builder中使用FIR Compiler時,需要有SignalCompiler的支持,所以在使用配置FIR模塊時,必須放置SignalCompiler模塊。 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 圖6-31 調(diào)用FIR Core 第第6 6章章 FIRFIR數(shù)字濾波器設計數(shù)字濾波器設計 2. 配置FIR濾波器核 假定需要設計一個帶通的高階FIR濾波器,設計指標如下: 濾波器類型:帶通(BandPass) 采樣頻率:50 MHz

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論