FIR濾波器設(shè)計(jì)_第1頁(yè)
FIR濾波器設(shè)計(jì)_第2頁(yè)
FIR濾波器設(shè)計(jì)_第3頁(yè)
FIR濾波器設(shè)計(jì)_第4頁(yè)
FIR濾波器設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、FIR濾波器設(shè)計(jì)徐威寧波大學(xué)、信息科學(xué)與工程學(xué)院、通信112班、116040040摘要:FIR濾波器是在數(shù)字信號(hào)處理中最常用的兩種基本的濾波器之一。FIR是有限沖擊響應(yīng)的簡(jiǎn)稱(chēng)。有限沖擊響應(yīng)表明在濾波器中沒(méi)有反饋。本次實(shí)驗(yàn)是利用FIR Compiler 進(jìn)行設(shè)計(jì)FIR濾波器。再利用實(shí)驗(yàn)箱中的ADC和DAC,輸入一個(gè)模擬信號(hào),通過(guò)AD采集,數(shù)據(jù)輸入給FIR濾波器進(jìn)行濾波,然后輸出,進(jìn)行DA轉(zhuǎn)換,通過(guò)示波器觀察和驗(yàn)證實(shí)驗(yàn)結(jié)果。關(guān)鍵字:FIR、FIR Compiler、低通、ADC、DAC。1、 設(shè)計(jì)任務(wù)與要求設(shè)計(jì)任務(wù),利用FIR Compiler 進(jìn)行FIR濾波器的設(shè)計(jì),要求:1) 濾波器采樣率是1

2、MHz。2) 濾波器的類(lèi)型為低通濾波器,低通FIR濾波器的截至頻率是0.15MHz。3) 濾波器的衰減是大于20dB的。4) 濾波器模塊輸入數(shù)據(jù)為8bit,模塊輸出為12bit,其他參數(shù)自行設(shè)置。2、 總體方案設(shè)計(jì)與論證利用FIR Compiler設(shè)計(jì)FIR濾波器,首先要對(duì)濾波器模塊進(jìn)行配置,然后在Quartus中調(diào)用設(shè)計(jì)好的模塊,連接好相應(yīng)的信號(hào)即可仿真和使用。先對(duì)該模塊就行仿真,之后再利用實(shí)驗(yàn)箱中的ADC和DAC模塊,輸入一個(gè)波形,通過(guò)示波器觀察濾波后的波形,驗(yàn)證濾波器的設(shè)計(jì)是否符合實(shí)驗(yàn)要求,再對(duì)濾波器模塊適當(dāng)?shù)恼{(diào)整和改進(jìn)。FIR濾波器模塊通過(guò)調(diào)用FIR IP(FIR Compiler),

3、運(yùn)行quartus的tools中的MegaWizard Plug-In Manager建立該模塊。對(duì)FIR濾波器的模塊的配置有所了解后選擇ADC和DAC的型號(hào),然后完成設(shè)計(jì)。3、 單元電路的設(shè)計(jì)與論證3.1 FIR濾波器模塊根據(jù)實(shí)驗(yàn)手冊(cè),F(xiàn)IR濾波器模塊的設(shè)計(jì)過(guò)程如下。調(diào)用FIR IP(FIR Compiler)A.運(yùn)行ToolsMegaWizard Plug-In Manager,建立一個(gè)新的模塊.B.選擇DSPFiltersFIR Compiler v8.0,選擇HDL和模塊nam. c.Next,彈出模塊配置窗。D.按Step1,進(jìn)行濾波器模塊配置。 配置圖解如圖一。下面對(duì)圖中的設(shè)置進(jìn)行

4、介紹。在初次配置時(shí),先點(diǎn)擊New Coefficient Set,設(shè)置新的濾波器系數(shù)。在程序調(diào)試時(shí),可以點(diǎn)擊Edit Coefficient Set對(duì)現(xiàn)有的濾波器系數(shù)已經(jīng)設(shè)置進(jìn)行更改。Filter Type(濾波器類(lèi)型)選擇“LowPass”,設(shè)置為低通濾波器;Window Type(窗口類(lèi)型),根據(jù)實(shí)驗(yàn)要求的衰減進(jìn)行選擇,這里選擇Hamming類(lèi)型;Coefficients(濾波器階數(shù)),這里選擇默認(rèn)的37;Sample Rate(采樣率),根據(jù)實(shí)驗(yàn)要求的采樣頻率1MHz,填寫(xiě)“1.0E6”;Cutoff Freq(截止頻率),填寫(xiě)“1.0E5”,即實(shí)驗(yàn)要求中的0.1MHz的截止頻率;設(shè)置完

5、成后點(diǎn)擊“Apply”,應(yīng)用之后,回到圖一的設(shè)置界面;Input Number System(輸入數(shù)據(jù)類(lèi)型)中選擇“Unsigned Binary”(不帶符號(hào)數(shù)),因?yàn)楦鶕?jù)實(shí)驗(yàn)箱,選擇的ADC是八位并行輸入,是不帶符號(hào)數(shù)的;Output Number System(輸出數(shù)據(jù)類(lèi)型)中選擇“Custom Resolution”(自定義),然后按照實(shí)驗(yàn)要求的選擇十二位數(shù)據(jù)輸出;MSB中設(shè)置“Truncate”,LSB設(shè)置為“round”,這里是設(shè)置輸出數(shù)據(jù)的格式,可以查閱FIR IP的使用說(shuō)明;其他設(shè)置保持系統(tǒng)默認(rèn)不變,應(yīng)用設(shè)置。E.單擊“Step2”,進(jìn)入仿真設(shè)置。Language選擇“VHDL”

6、語(yǔ)言;Simulation Clock Period(仿真時(shí)鐘周期)選擇20.0ns。F.完成后,單擊“Step3”生成濾波器模塊及相應(yīng)的文件,并顯示模塊文件、引腳說(shuō)明窗口: J.在Quartus II調(diào)用該模塊,連接相應(yīng)信號(hào)即可仿真和使用。 3.2 ADC(TLC5510A)模塊根據(jù)實(shí)驗(yàn)箱的使用手冊(cè),我們選用的是采樣率最高為20MHz的8位并行高速ADC TLC5510A??删幊绦酒腜IO48輸出信號(hào)控制ADC1的輸出使能信號(hào)OE;PIO15為轉(zhuǎn)換時(shí)鐘信號(hào)CLK;AD轉(zhuǎn)換結(jié)果送至PIO16PIO23,并且同時(shí)顯示在數(shù)碼管1和數(shù)碼管2上。ADC1的模擬信號(hào)輸入端在實(shí)驗(yàn)箱的左側(cè)(見(jiàn)圖17),允

7、許輸入05V的信號(hào)。 TLC5510A是CMOS、8位并行、20MSPS、低功耗模數(shù)轉(zhuǎn)換器,它采用半閃速結(jié)構(gòu)(semi-flash architecture),單電源5V供電,最大轉(zhuǎn)換速率20MSPS,內(nèi)含采樣和保持電路,具有高阻抗的并行接口和內(nèi)部基準(zhǔn)電阻,轉(zhuǎn)換數(shù)據(jù)的等待時(shí)間為2.5個(gè)時(shí)鐘。該AD轉(zhuǎn)換器速度快,精度高,可用于高速模數(shù)轉(zhuǎn)換的場(chǎng)合。 TLC5510A工作時(shí)序圖如圖5所示,可以看出,N時(shí)刻輸入電壓在第一個(gè)CLK的下降沿被采樣,經(jīng)過(guò)2.5個(gè)時(shí)鐘周期,在第四個(gè)時(shí)鐘的輸出,即信號(hào)從被采集到輸出共需2.5個(gè)時(shí)鐘周期。編程時(shí)可以在每個(gè)時(shí)鐘周期的下降沿讀取轉(zhuǎn)換好的數(shù)據(jù)。ADC5510A的轉(zhuǎn)換關(guān)系

8、是:根據(jù)實(shí)驗(yàn)方案中的功能說(shuō)明,這里ADC模塊應(yīng)該為FIR濾波器模塊的上行模塊。除了完成對(duì)輸入的模擬信號(hào)進(jìn)行采樣和輸出八位并行數(shù)據(jù)之外,還要將數(shù)據(jù)傳送給FIR濾波器模塊,對(duì)濾波器的相關(guān)引腳進(jìn)行控制。下面用VHDL語(yǔ)言編寫(xiě)程序,完成以上功能。ADC模塊的VHDL語(yǔ)言代碼在附錄中。下面對(duì)ADC模塊的引腳進(jìn)行說(shuō)明。輸入引腳:clkp:系統(tǒng)時(shí)鐘1MHz,也是并行ADC5510A的工作時(shí)鐘,采樣率跟FIR濾波器模塊保持一致。sink_ast_ready:根據(jù)FIR濾波器的管教說(shuō)明,F(xiàn)IR濾波器的輸出引腳ast_sink_ready,在當(dāng)前周期內(nèi)如果濾波器可以接受數(shù)據(jù),該管腳會(huì)被置位。于是在此ADC模塊中,

9、在FIR濾波器模塊可以接受數(shù)據(jù)時(shí)才會(huì)發(fā)送數(shù)據(jù)。即sink_ast_ready輸入為“1”,輸出ADC采集的八位并行數(shù)據(jù)。datain7.0:AD采集的八位并行數(shù)據(jù)輸入。輸出引腳:clk_lv:輸出給FIR濾波器模塊的同步時(shí)鐘信號(hào);reset_n:輸出給FIR濾波器的同步時(shí)鐘復(fù)位信號(hào);sink_ast_data7.0:輸出到FIR濾波器的ADC八位并行數(shù)據(jù);sink_ast_valid:置位來(lái)通知FIR濾波器目前的輸入數(shù)據(jù)是有效的;source_ast_valid:置位來(lái)通知FIR濾波器,下行DAC模塊能夠接受數(shù)據(jù);oe:ADC5510A的輸出使能位;clk_adp:ADC5510A的工作時(shí)鐘;

10、clk_for_da:FIR濾波器下行DAC模塊的同步時(shí)鐘。3.3 DAC(THS5651)模塊DAC THS5651是轉(zhuǎn)換率為100MHz的10位并行高速DAC,可編程器件的PIO49為DAC提供時(shí)鐘信號(hào);PIO38PIO47為DAC輸入數(shù)據(jù);轉(zhuǎn)換后的模擬信號(hào)輸出端口在實(shí)驗(yàn)箱的中部(見(jiàn)圖1-15),并可通過(guò)電位器調(diào)節(jié)幅度。 THS5651是CMOS、10位并行、100MSPS 數(shù)模轉(zhuǎn)換器,5V單電源供電,差分電流輸出可達(dá)20mA,該DAC轉(zhuǎn)換器速度快,精度高,可廣泛適用于有線(xiàn)和無(wú)線(xiàn)信號(hào)發(fā)送,高速數(shù)模轉(zhuǎn)換等場(chǎng)合。其工作時(shí)序圖如下,可以看到在CLK的上升沿鎖存數(shù)字信號(hào),在下一個(gè)時(shí)鐘將轉(zhuǎn)換好的模擬

11、信號(hào)輸出。按實(shí)驗(yàn)箱電路接法,DA轉(zhuǎn)換關(guān)系為: 可以通過(guò)調(diào)節(jié)電位器來(lái)改變輸出電壓幅度。在實(shí)驗(yàn)箱的模式3,ADC和DAC可以單獨(dú)使用,試用于此系統(tǒng)。此DAC模塊完成將FIR濾波器輸出的數(shù)據(jù)轉(zhuǎn)化為模擬信號(hào)。模塊的VHDL語(yǔ)言在附錄中。模塊示意圖如圖9所示。下面是DAC模塊的引腳說(shuō)明。輸入引腳:source_ast_data11.0:接收FIR濾波器輸出的十二位數(shù)據(jù);clk_da:輸入的同步DAC工作時(shí)鐘;source_ast_valid:接受FIR發(fā)送的置位信號(hào),通知下行模塊,即DAC模塊輸入數(shù)據(jù)是有效的。輸出引腳:data_for_da:輸出給DAC的十位并行數(shù)據(jù),DA轉(zhuǎn)化后成為模擬信號(hào);clk_

12、for_daa:DAC THS5651 同步工作時(shí)鐘,“1MHz”。3.3系統(tǒng)示意圖與引腳配置按照功能分析,完成系統(tǒng)的電路,并進(jìn)行引腳配置。系統(tǒng)示意圖與引腳配置如下。保存后進(jìn)行編譯程序,對(duì)程序的功能進(jìn)行調(diào)試,在示波器中觀察實(shí)驗(yàn)結(jié)果。4、 系統(tǒng)測(cè)試與分析按照實(shí)驗(yàn)要求,用正弦波測(cè)試驗(yàn)證截至頻率和幅值衰減。實(shí)驗(yàn)結(jié)果如下圖所示。觀察實(shí)驗(yàn)波形,分析實(shí)驗(yàn)數(shù)據(jù)。圖11是50KHz正弦波經(jīng)過(guò)FIR濾波器后的波形,觀察示波器,可知峰峰值為2.96V。是低通濾波器通帶內(nèi)能達(dá)到的最大峰峰值中的一個(gè)頻率點(diǎn)。從圖中也可以看出,在頻率為50KHz時(shí),一個(gè)周期內(nèi)大約有20個(gè)數(shù)據(jù)點(diǎn),滿(mǎn)足實(shí)驗(yàn)要求中的0.1MHz采樣率。圖12

13、是100KHz正弦波經(jīng)過(guò)FIR濾波器后的波形,觀察示波器,可知峰峰值為1.54V。一個(gè)周期中有十個(gè)數(shù)據(jù)點(diǎn),也滿(mǎn)足實(shí)驗(yàn)的0.1MHz的采樣率要求。根據(jù)截止頻率的定義,截止頻率使輸出信號(hào)將至最大值的0.707倍。跟實(shí)驗(yàn)數(shù)據(jù)1.54V存在較大誤差。分析原因,可能是濾波器的窗口類(lèi)型對(duì)此有影響。于是檢查濾波器系數(shù)設(shè)置,見(jiàn)圖16。從圖16,就可以看出,在0.1MHz的截止頻率處,衰減是大于的,看成有如下關(guān)系。與實(shí)驗(yàn)結(jié)果基本一致。圖13是130KHz正弦波通過(guò)FIR濾波器后的波形,示波器測(cè)得的頻率是不正確的,正確的頻率計(jì)算過(guò)程如下。峰峰值在該頻率點(diǎn)已經(jīng)很小了。從圖16,濾波器系統(tǒng)設(shè)置局部圖中也可以看出的頻率

14、約為130KHz。所以,經(jīng)過(guò)實(shí)驗(yàn)的驗(yàn)證,實(shí)驗(yàn)結(jié)果跟濾波器系數(shù)設(shè)置一致,但與實(shí)驗(yàn)要求的截止頻率有所誤差,要進(jìn)一步改進(jìn),才可以達(dá)到實(shí)驗(yàn)要求。5、 實(shí)驗(yàn)結(jié)論從本次實(shí)驗(yàn)中,學(xué)會(huì)了用FIR IP對(duì)FIR濾波器模塊的設(shè)計(jì),過(guò)程簡(jiǎn)單清晰,降低實(shí)驗(yàn)程序開(kāi)發(fā)難度。而且此模塊設(shè)置完成后,通過(guò)此濾波器的濾波效果,經(jīng)驗(yàn)證,是與設(shè)計(jì)時(shí)設(shè)置完全一致的。在調(diào)用過(guò)程中只需要對(duì)濾波器系數(shù)及其他配置進(jìn)行合理設(shè)置即可。對(duì)實(shí)驗(yàn)箱模式三下的ADC(TLC5510A)和DAC(THS5651)的原理有所了解,學(xué)會(huì)了使用這兩個(gè)模塊,并達(dá)到預(yù)期目標(biāo)。在實(shí)驗(yàn)的過(guò)程中也有寫(xiě)不足,如在對(duì)FIR濾波器模塊的設(shè)置中,沒(méi)有仔細(xì)查閱相關(guān)文獻(xiàn),對(duì)所有設(shè)置逐

15、項(xiàng)進(jìn)行了解,導(dǎo)致在輸入數(shù)據(jù)類(lèi)型中選擇了帶符號(hào)數(shù),直接影響了實(shí)驗(yàn)結(jié)果。濾波器系數(shù)最終在截止頻率的實(shí)驗(yàn)要求有所誤差,也有待改進(jìn)。需要進(jìn)一步了解濾波器類(lèi)型的相關(guān)知識(shí)。附錄:1.ADC模塊VHDL語(yǔ)言代碼:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity parad isport(clkp :in std_logic; sink_ast_ready:in std_logic;datain:in td_logic_vector(7 downto 0); clk_lv :out std_logic

16、;reset_n:out std_logic;sink_ast_data:out std_logic_vector(7 downto 0);sink_ast_valid:out std_logic;source_ast_ready:out std_logic;oe:out std_logic;clk_adp:out std_logic;clk_for_da:out std_logic);end parad;architecture behaveparad of parad issignal q:std_logic_vector(7 downto 0);signal ready:std_logi

17、c;beginreset_n<='1'source_ast_ready<='1'sink_ast_valid<='1'clk_adp<=clkp;clk_lv<=clkp;oe<='0'q<=datain;ready<=sink_ast_ready;clk_for_da<=clkp;process(clkp,ready)beginif(ready='1') thenif(clkp'event and clkp='0') thensink_

18、ast_data<=q;end if;end if;end process;end behaveparad;2. DAC模塊VHDL語(yǔ)言代碼:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity parada isport(source_ast_data:in std_logic_vector(11 downto 0);clk_da:in std_logic;source_ast_valid:in std_logic;data_for_da:out std_logic_vector(9 downto 0);clk_for_daa:out std_logic);end parada;architecture behavparad of parada issignal valid:std_logic;signal datada:

溫馨提示

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

評(píng)論

0/150

提交評(píng)論