基于MATLAB與QUARTUS II的 FIR濾波器設計與驗證
1 引言
FIR數字濾波器能夠滿(mǎn)足濾波器對幅度和相位特性的嚴格要求,避免模擬濾波器的溫漂和噪聲等問(wèn)題,具有精確的線(xiàn)性相位、易于硬件實(shí)現和系統穩定等優(yōu)點(diǎn),可廣泛應用于現代電子通信系統。實(shí)際信號處理應用往往要求系統兼具實(shí)時(shí)性和靈活性,而現有設計方案(如DSP)則難以同時(shí)達到這兩方面要求。而使用具有并行處理特性的FPGA實(shí)現FIR濾波器,具有很強的實(shí)時(shí)性和靈活性,因此為數字信號處理提供一種很好的解決方案。
在嵌入式導航計算機工程項目中,石英撓性加速度計的輸出信號需進(jìn)行數字濾波才能為導航計算機提供原始數據,為此需要設計一款FIR數字濾波器。這里使用MATLAB軟件和Altera公司的FPGA開(kāi)發(fā)軟件QuartusⅡ進(jìn)行FIR濾波器的設計仿真,該設計方案能夠直觀(guān)檢驗濾波器的設計效果,提高設計效率,縮短設計周期。
2 使用FIR IP Core設計濾波器
Altera公司提供的FIR Compiler是一個(gè)結合Altera FP-GA器件的FIR Filter Core,DSP Builder與FIR Compiler緊密結合。DSP Builder提供一個(gè)FIR Core的應用環(huán)境和仿真驗證環(huán)境。而FIR濾波器設計實(shí)質(zhì)上是確定能滿(mǎn)足所要求的轉移序列或脈沖響應的常數問(wèn)題,設計方法主要有窗函數法、頻率采樣法和等波紋最佳逼近法等,這里采用窗函數法。
2.1 濾波器指標設計
FIR濾波器設計需達到以下指標:低通濾波,采樣頻率Fs為1 000 Hz,截止頻率Fc為100 Hz,最小阻帶衰減As為50dB,16階濾波器,16位輸入數據寬度,14位系數數據寬度。
2.2 利用FIR IP Core生成FIR模塊
在FIR編譯器中,將FIR濾波器設置為16階低通濾波器,單速率采樣。采樣頻率為1 000 Hz,截止頻率為100 Hz,窗類(lèi)型選擇海明窗,然后生成系數并保存。濾波器系數的計算以所能達到最高精度為目的,計算出的濾波器系數未考慮有限字長(cháng)效應,必須量化濾波器系數。由于在FPGA內要使用硬件實(shí)現濾波器,因此采用定點(diǎn)計算。按照指標要求設置參數,生成的FIR模塊如圖1所示。
3 驗證方法的確定
基于FPGA的復雜DSP系統的調試驗證是一項繁瑣工作,采用傳統的邏輯分析方法調試基于FPGA器件實(shí)現的設計幾乎不可能。驗證方法決定驗證結果的準確性和驗證工作量的大小。目前對基于FPGA的FIR數字濾波器的驗證,通常采用輸入一個(gè)信號序列(白噪聲、多頻譜混合信號等)作為激勵,對濾波器的輸出結果進(jìn)行分析對照,判斷濾波器是否符合設計要求。
4 利用Simulink檢驗濾波效果
Simulink是MATLAB中一個(gè)專(zhuān)門(mén)用于對動(dòng)態(tài)系統進(jìn)行建模、仿真和分析的軟件包。通過(guò)調用模塊,可以構成仿真數字濾波器特性的結構框圖。輸入低頻50 Hz和高頻400 Hz的2個(gè)信號,利用所設計的濾波器進(jìn)行濾波。建立仿真電路結構,導入前面所設計的FIR濾波器,如圖2所示。
圖3為輸入波形在Simulink中Scopel的波形,圖4為輸出波形在Simulink中Scope的波形。比較圖3和圖4可看出,該FIR濾波器可有效濾除高頻部分。因為在DSPbuilder中,輸入正弦波形是通過(guò)查找表得到的每個(gè)周期256個(gè)點(diǎn)的量化值形式,故無(wú)物理單位,因此輸出波形也是量化值形式。
評論