新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FIR數(shù)字濾波的FPGA實(shí)現(xiàn)

FIR數(shù)字濾波的FPGA實(shí)現(xiàn)

作者:呂紹娟, 趙不賄 時(shí)間:2008-08-22 來源:微計(jì)算機(jī)信息 收藏

摘要: 隨著數(shù)字技術(shù)的發(fā)展,器的功能越來越受到人們的注意和廣泛應(yīng)用,它有精度高、靈活性大等突出特點(diǎn)。FIR具有穩(wěn)定性高,嚴(yán)格的線性相位,能用FFT算法實(shí)現(xiàn)等特點(diǎn)。通過實(shí)現(xiàn)FIR具有實(shí)時(shí)性高、處理速度快、精度高的特點(diǎn)。文章先通過DSP Builder 設(shè)計(jì)出模型,然后利用Simulink進(jìn)行模型仿真,再用ModelSim進(jìn)行功能仿真,最后用Quartus II進(jìn)行時(shí)序仿真。仿真結(jié)束后下載到選定的上,在FGPA上實(shí)現(xiàn)FIR數(shù)字濾波。 

關(guān)鍵詞:數(shù)字濾波;; Matlab

本文引用地址:http://2s4d.com/article/87259.htm

  0 引言

  隨著科技的發(fā)展,數(shù)字信號(hào)處理在通信、自動(dòng)控制、雷達(dá)、軍事、航空航天、醫(yī)療、家用電器等眾多領(lǐng)域得到了廣泛的應(yīng)用。而在數(shù)字信號(hào)處理的應(yīng)用中,數(shù)字濾波器是相當(dāng)重要的一部分。其中無限沖擊響應(yīng)(IIR)數(shù)字濾波器和有限沖擊響應(yīng)(FIR)數(shù)字濾波器是目前人們使用較多的兩種。與IIR數(shù)字濾波器相比較,F(xiàn)IR數(shù)字濾波器具有穩(wěn)定性高,速度快的特點(diǎn)。

  FIR數(shù)字濾波器可以通過軟件或者硬件來實(shí)現(xiàn)。所謂軟件實(shí)現(xiàn)就是利用通用計(jì)算機(jī)實(shí)現(xiàn)。而硬件實(shí)現(xiàn)就是設(shè)計(jì)專門的數(shù)字濾波硬件,有以下幾種實(shí)現(xiàn)方法,1)使用單片通用數(shù)字濾波器集成電路;2)采用DSP器件實(shí)現(xiàn);3)采用可編程邏輯器件實(shí)現(xiàn)[4]。比較普遍的有DSP、ASIC、FPGA等。與FPGA相比較,DSP的順序執(zhí)行使得其速度較慢,而ASIC的設(shè)計(jì)成本又比較高,所以用FPGA實(shí)現(xiàn)FIR數(shù)字濾波,具有實(shí)時(shí)性強(qiáng)、靈活性高、處理速度快以及小批量生產(chǎn)成本低等特點(diǎn)。

  1 FIR數(shù)字濾波器設(shè)計(jì)要求與結(jié)構(gòu)選擇

  實(shí)現(xiàn)的基本結(jié)構(gòu)有:直接型、級(jí)聯(lián)型、頻率抽樣型、快速卷積型結(jié)構(gòu)幾種[3],這里以直接型為例。設(shè)計(jì)一個(gè)16階的FIR低通濾波器(h(0)=0),采樣頻率Fs=200Hz,濾波器截止頻率Fc=40Hz,輸入序列位寬為9位(最高位為符號(hào)位)。

  2 FPGA的選擇

  考慮到價(jià)格以及芯片內(nèi)部嵌入式乘法器對(duì)數(shù)字信號(hào)處理的支持性,這里選用的是Altera公司出品的低端FPGA芯片Cyclone II EP2C35F672C6,它主要由邏輯陣列、M4K存儲(chǔ)器塊、數(shù)字[1]鎖相環(huán)、嵌入式乘法器幾部分組成。

  3 FIR設(shè)計(jì)軟件平臺(tái)

  3.1 基于Matlab和DSP Builder的模型設(shè)計(jì)

  3.1.1 Matlab

  Matlab可以進(jìn)行科學(xué)計(jì)算、圖像處理、聲音處理等,有良好的用戶界面和幫助功能。其中的Simulink軟件包可以對(duì)動(dòng)態(tài)系統(tǒng)進(jìn)行建模、仿真和分析,支持連續(xù)、離散及混合的線性、非線性系統(tǒng),同時(shí)支持具有多種采樣頻率的系統(tǒng)。在Simulink環(huán)境中,在模型窗口中可以用鼠標(biāo)直觀地“畫”出系統(tǒng)模型,然后直接進(jìn)行仿真。采用Scope模塊和其它的畫圖模塊,還可以在進(jìn)行仿真的同時(shí)看到仿真結(jié)果[1]。

  3.1.2 DSP Builder

  DSP Builder 是一種系統(tǒng)級(jí)的專門設(shè)計(jì)DSP處理器及系統(tǒng)的工具,它架構(gòu)在多個(gè)軟件工具如Matlab、QuartusII、Synplify之上,把系統(tǒng)級(jí)和RTL級(jí)的設(shè)計(jì)工具連接起來,最大程度地發(fā)揮多種工具的優(yōu)勢(shì)。DSP Builder可以幫助設(shè)計(jì)者完成基于FPGA的DSP系統(tǒng)設(shè)計(jì),它以Matlab中Simulink 的工具箱出現(xiàn),可以在Simulink 中進(jìn)行圖形化設(shè)計(jì)和仿真,同時(shí)通過Signal Compiler可以把設(shè)計(jì)文件轉(zhuǎn)成相應(yīng)的硬件描述語言設(shè)計(jì)文件,以及用于控制綜合與編譯的TCL腳本[1]。

  3.1.3 基于Matlab、DSP Builder的FIR數(shù)字濾波器設(shè)計(jì)


  利用直接型濾波器可以級(jí)聯(lián)的特性,我們可以調(diào)用4個(gè)4階FIR濾波器來實(shí)現(xiàn)一個(gè)16階的低通濾波器。如圖1所示,其中每個(gè)firtap都是一個(gè)4階FIR濾波器。


圖1 直接I型16階FIR濾波器

  Fig.1 16-step Direct I Type FIR Digital Filter

  利用Matlab里的濾波器設(shè)計(jì)工具獲得各種濾波器設(shè)計(jì)參數(shù),選擇濾波器類型為低通FIR,設(shè)計(jì)方法為窗口法,15階,Kaiser窗,Beta=0.5,F(xiàn)S為200Hz,F(xiàn)C為40Hz。利用FDATool分析所設(shè)計(jì)出的濾波器的幅頻、相頻特性,沖激、階躍響應(yīng),零極點(diǎn)等,導(dǎo)出濾波器系數(shù)并對(duì)其進(jìn)行量化及優(yōu)化,得到整型的濾波器參數(shù)并分別填入到FIR濾波器模型中,完成設(shè)計(jì)。

  3.2 模型仿真調(diào)試

  3.2.1 Simulink 模型仿真

  模型設(shè)計(jì)好后,即可在Simulink中進(jìn)行算法級(jí)、系統(tǒng)級(jí)仿真驗(yàn)證。在模型的輸入端加入一個(gè)疊加信號(hào),驗(yàn)證FIR低通濾波器模型設(shè)計(jì)的正確性。如圖2所示,自上而下四個(gè)波形分別是58Hz、30Hz輸入波形,二者的混合波形,輸出波形。可見濾波器模型正確。


圖2  模型仿真結(jié)果

  Fig.2  the Result of Model Compilation


上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉