FIR數(shù)字濾波的FPGA實現(xiàn)
摘要: 隨著數(shù)字技術的發(fā)展,數(shù)字濾波器的功能越來越受到人們的注意和廣泛應用,它有精度高、靈活性大等突出特點。FIR數(shù)字濾波具有穩(wěn)定性高,嚴格的線性相位,能用FFT算法實現(xiàn)等特點。通過FPGA實現(xiàn)FIR數(shù)字濾波具有實時性高、處理速度快、精度高的特點。文章先通過Matlab DSP Builder 設計出FIR濾波器模型,然后利用Simulink進行模型仿真,再用ModelSim進行功能仿真,最后用Quartus II進行時序仿真。仿真結束后下載到選定的FPGA上,在FGPA上實現(xiàn)FIR數(shù)字濾波。
關鍵詞:數(shù)字濾波;FIR濾波器;FPGA; Matlab
0 引言
隨著科技的發(fā)展,數(shù)字信號處理在通信、自動控制、雷達、軍事、航空航天、醫(yī)療、家用電器等眾多領域得到了廣泛的應用。而在數(shù)字信號處理的應用中,數(shù)字濾波器是相當重要的一部分。其中無限沖擊響應(IIR)數(shù)字濾波器和有限沖擊響應(FIR)數(shù)字濾波器是目前人們使用較多的兩種。與IIR數(shù)字濾波器相比較,F(xiàn)IR數(shù)字濾波器具有穩(wěn)定性高,速度快的特點。
FIR數(shù)字濾波器可以通過軟件或者硬件來實現(xiàn)。所謂軟件實現(xiàn)就是利用通用計算機實現(xiàn)。而硬件實現(xiàn)就是設計專門的數(shù)字濾波硬件,有以下幾種實現(xiàn)方法,1)使用單片通用數(shù)字濾波器集成電路;2)采用DSP器件實現(xiàn);3)采用可編程邏輯器件實現(xiàn)[4]。比較普遍的有DSP、ASIC、FPGA等。與FPGA相比較,DSP的順序執(zhí)行使得其速度較慢,而ASIC的設計成本又比較高,所以用FPGA實現(xiàn)FIR數(shù)字濾波,具有實時性強、靈活性高、處理速度快以及小批量生產成本低等特點。
1 FIR數(shù)字濾波器設計要求與結構選擇
FIR濾波器實現(xiàn)的基本結構有:直接型、級聯(lián)型、頻率抽樣型、快速卷積型結構幾種[3],這里以直接型為例。設計一個16階的FIR低通濾波器(h(0)=0),采樣頻率Fs=200Hz,濾波器截止頻率Fc=40Hz,輸入序列位寬為9位(最高位為符號位)。
2 FPGA的選擇
考慮到價格以及芯片內部嵌入式乘法器對數(shù)字信號處理的支持性,這里選用的是Altera公司出品的低端FPGA芯片Cyclone II EP2C35F672C6,它主要由邏輯陣列、M4K存儲器塊、數(shù)字[1]鎖相環(huán)、嵌入式乘法器幾部分組成。
3 FIR設計軟件平臺
3.1 基于Matlab和DSP Builder的模型設計
3.1.1 Matlab
Matlab可以進行科學計算、圖像處理、聲音處理等,有良好的用戶界面和幫助功能。其中的Simulink軟件包可以對動態(tài)系統(tǒng)進行建模、仿真和分析,支持連續(xù)、離散及混合的線性、非線性系統(tǒng),同時支持具有多種采樣頻率的系統(tǒng)。在Simulink環(huán)境中,在模型窗口中可以用鼠標直觀地“畫”出系統(tǒng)模型,然后直接進行仿真。采用Scope模塊和其它的畫圖模塊,還可以在進行仿真的同時看到仿真結果[1]。
3.1.2 DSP Builder
DSP Builder 是一種系統(tǒng)級的專門設計DSP處理器及系統(tǒng)的工具,它架構在多個軟件工具如Matlab、QuartusII、Synplify之上,把系統(tǒng)級和RTL級的設計工具連接起來,最大程度地發(fā)揮多種工具的優(yōu)勢。DSP Builder可以幫助設計者完成基于FPGA的DSP系統(tǒng)設計,它以Matlab中Simulink 的工具箱出現(xiàn),可以在Simulink 中進行圖形化設計和仿真,同時通過Signal Compiler可以把設計文件轉成相應的硬件描述語言設計文件,以及用于控制綜合與編譯的TCL腳本[1]。
3.1.3 基于Matlab、DSP Builder的FIR數(shù)字濾波器設計
利用直接型濾波器可以級聯(lián)的特性,我們可以調用4個4階FIR濾波器來實現(xiàn)一個16階的低通濾波器。如圖1所示,其中每個firtap都是一個4階FIR濾波器。
圖1 直接I型16階FIR濾波器
Fig.1 16-step Direct I Type FIR Digital Filter
利用Matlab里的濾波器設計工具獲得各種濾波器設計參數(shù),選擇濾波器類型為低通FIR,設計方法為窗口法,15階,Kaiser窗,Beta=0.5,F(xiàn)S為200Hz,F(xiàn)C為40Hz。利用FDATool分析所設計出的濾波器的幅頻、相頻特性,沖激、階躍響應,零極點等,導出濾波器系數(shù)并對其進行量化及優(yōu)化,得到整型的濾波器參數(shù)并分別填入到FIR濾波器模型中,完成設計。
3.2 模型仿真調試
3.2.1 Simulink 模型仿真
模型設計好后,即可在Simulink中進行算法級、系統(tǒng)級仿真驗證。在模型的輸入端加入一個疊加信號,驗證FIR低通濾波器模型設計的正確性。如圖2所示,自上而下四個波形分別是58Hz、30Hz輸入波形,二者的混合波形,輸出波形??梢姙V波器模型正確。
圖2 模型仿真結果
Fig.2 the Result of Model Compilation
評論