基于MATLAB用于諧波檢測的數(shù)字低通濾波器的設(shè)計
2.2 利用Simulink檢驗濾波效果
打開Simulink新建一個文件untitledl如圖2,在FDATool界面中點擊Realize Model,將設(shè)計好的濾波器模型導(dǎo)入Simulink中,然后添加三個頻率分別為50Hz、250Hz、350Hz的正弦波,利用Scope見察通過數(shù)字低通濾波器Filter的濾波效果。本文引用地址:http://m.butianyuan.cn/article/188321.htm
Scopel顯示的是50Hz正弦波,Scope2顯示的是50Hz疊加上250Hz、350Hz正弦波后的波形,Scope顯示的是通過我們設(shè)計的低通濾波器后的波形,對比圖3(a)、(b)可以看出,濾波后的波形保留了50Hz的信號,且略有延遲,并將高頻部分有效地濾除,說明設(shè)計的濾波器符合要求。
3 數(shù)字低通濾波器FPGA實現(xiàn)
數(shù)字濾波器的實現(xiàn)方法一般有以下幾種:
(1)采用加法器、乘法器、延時器設(shè)計專用的濾波電路。
(2)在通用計算機系統(tǒng)中加上專用的加速處理機設(shè)計實現(xiàn)。
(3)用通用的可編程DSP芯片實現(xiàn)。
(4)用專用的DSP芯片實現(xiàn)。在一些特殊的場合,要求的信號處理速度極高,用通用DSP芯片很難實現(xiàn)。這種芯片將相應(yīng)的濾波算法在芯片內(nèi)部用硬件實現(xiàn),無需進行編程。
(5)采用FPGA/CPLD設(shè)計實現(xiàn)。
在上述幾種方法中,第(2)種方法的缺點是速度較慢,一般可用于DSP算法的模擬。第(1)、(4)種方法專用性強,應(yīng)用受到很大的限制。第(3)、(5)種方法都可以通過編程來實現(xiàn)各種數(shù)字濾波,使用DSP器件實現(xiàn)雖然簡單,但由于程序順序執(zhí)行,執(zhí)行速度必然不快。FPGA有著規(guī)整的內(nèi)部邏輯陣列和豐富的連線資源,特別適合于數(shù)字信號處理任務(wù),相對于串行運算為主導(dǎo)的通用DSP芯片來說,其并行性和可擴展性更好。但長期以來,F(xiàn)PGA一直被用于系統(tǒng)邏輯或時序控制上,很少有信號處理方面的應(yīng)用,其原因主要是因為在FPGA中缺乏實現(xiàn)乘法運算的有效結(jié)構(gòu)?,F(xiàn)在這個問題得到了解決,使FPGA在數(shù)字信號處理方面有了長足的發(fā)展。
文獻中是在Matlab中設(shè)計出數(shù)字低通濾波器后,得到其系統(tǒng)函數(shù)H(z)的系數(shù),然后將系數(shù)轉(zhuǎn)換為二進制,再利用VHDL語言進行編程,而編程的過程非常繁瑣。
本文利用FDATool可以直接得到VHDL文件,在其菜單欄中的選擇Fargets\Generate HDL,在打開的界面中選擇VHDL file,建立文件名為filter.vhd,同時可以得到測試文件filter tb.vhd。利用QuartusII軟件打開以上文件進行編譯、綜合,最后將其下載到FPGA中即可實現(xiàn)低通濾波器的功能。
4 結(jié)束語
本文利用Matlab中的FDATool實現(xiàn)了IIR數(shù)字低通濾波器的設(shè)計及仿真,設(shè)計過程簡單、直接,大大縮減了設(shè)計開發(fā)的時間。采用FPGA進行濾波器的硬件設(shè)計,能夠達到諧波檢測實時性和準確性的要求,為電力有源濾波器諧波檢測中低通濾波器的設(shè)計提供了參考。同時在實際應(yīng)用中,可以方便地對濾波器參數(shù)進行修改,很容易實現(xiàn)其他各種濾波器的設(shè)計,具有一定的工程設(shè)計參考價值。
評論