由于電力系統(tǒng)中非線性電子元件的大量使用,,使得諧波污染問題日益嚴重,當(dāng)諧波含量超過一定限度時就可能對電網(wǎng)和用戶造成極大的危害,,且增加線路損耗,,降低線路傳輸能力,干擾通信信號等,。因此,,應(yīng)該積極尋找一種治理諧波污染的有效手段。
目前有源電力濾波器(APF)是治理電網(wǎng)諧波污染的一種有效手段,,APF的補償原理是實時產(chǎn)生一個與系統(tǒng)中的無功和諧波電流大小相等,、方向相反的補償電流,用以抵消非線性負載產(chǎn)生的無功和諧波電流,,使流入電網(wǎng)的電流全是有功分量,,因此無功和諧波電流的實時檢測就成為實時補償?shù)年P(guān)鍵。而諧波及無功電流的檢測實質(zhì)就是低通濾波器的設(shè)計,。本文利用MATLAB中的FDAtool實現(xiàn)了對數(shù)字低通濾波器模型的快速設(shè)計,,并采用VHDL語言在FPGA上實現(xiàn)。
1 低通濾波器的選擇
濾波器有模擬濾波器和數(shù)字濾波器兩種,。這里選用數(shù)字濾波器,,因為它相對于模擬濾波器更容易進行濾波代數(shù)運算,而且它不會像模擬濾波器那樣隨時間,、溫度,、電壓漂移,還有就是它能實現(xiàn)近似理想的響應(yīng)和線性相位,,所以能更好地達到諧波檢測的實時性和準確性的要求,。
數(shù)字濾波器有無限沖激響應(yīng)(IIR)系統(tǒng)和有限沖激響應(yīng)(FIR)系統(tǒng)兩種。雖然FIR濾波器相對于IIR濾波器可以得到嚴格的線性相位,,但在相同技術(shù)指標下,,IIR濾波器由于存在輸出對輸入的反饋,因而可用大約1/10~1/5FIR濾波器的階數(shù)來滿足指標的要求,,從而使得所用空間少,,運算次數(shù)少,實時性強。由于諧波檢測環(huán)節(jié)對相位要求不高,,而對計算速度要求極高,,因此選擇IIR濾波器作為研究的對象,。
2 利用MATLAB設(shè)計IIR濾波器
目前數(shù)字濾波器的設(shè)計有許多現(xiàn)成的高級語言設(shè)計程序,,但他們都存在設(shè)計效率較低,,不具有可視圖形,不便于修改參數(shù)等缺點,,而Matlab為數(shù)字濾波的研究和應(yīng)用提供了一個直觀,、高效、便捷的工具,。它以矩陣運算為基礎(chǔ),,把計算、可視化,、程序設(shè)計融合到了一個交互式的工作環(huán)境中,。尤其是Matlab工具箱使各個領(lǐng)域的研究人員可以直觀而方便地進行科學(xué)研究與工程應(yīng)用。其中的信號處理工具箱,、圖像處理工具箱,、小波工具箱等更是為數(shù)字濾波研究的蓬勃發(fā)展提供了可能。
2.1 在Matlab中進行仿真設(shè)計
許多文獻中在利用Matlab設(shè)計IIR數(shù)字濾波器時,,采用先設(shè)計一個模擬濾波器,,然后利用脈沖響應(yīng)不變法或者雙線性變換法,將模擬濾波器的傳輸函數(shù)轉(zhuǎn)換成數(shù)字濾波器的系統(tǒng)函數(shù),,設(shè)計過程比較復(fù)雜,,編寫的程序比較長,沒有很專業(yè)的知識是設(shè)計不出來的,。而本文利用FDAFool工具可以非常方便地設(shè)計出數(shù)字濾波器,。
FDATool(Filter Design&Analysis Tool)是Matlab中的一種圖形用戶工具,為濾波器的設(shè)計提供了一個綜合,、簡便的圖形用戶界面,。本文要設(shè)計一個諧波檢測電路中的低通濾波器,對于三相電路而言,,其交流側(cè)主要是5次和7次諧波,,因此本文設(shè)計的低通濾波器的指標為:模擬信號采樣頻率Fs=2000Hz,通帶截止頻率Fpass=100Hz,,阻帶截止頻率Fstop=200Hz,,通帶波動不大于0.1dB,,阻帶衰減不小于32dB,。在圖1界面中設(shè)置好參數(shù),并且選擇IIR中的Elliptic濾波器,然后點擊Design Filter,,即可得到所設(shè)計濾波器的模型:Order(階)=4,,Sections(節(jié))=2,并可觀察其幅度響應(yīng),、相位響應(yīng),,還可以觀察脈沖響應(yīng)、階躍響應(yīng),、濾波器的零極點繪制圖以及系統(tǒng)函數(shù)的各個系數(shù)等指標,。
2.2 利用Simulink檢驗濾波效果
打開Simulink新建一個文件untitledl如圖2,在FDATool界面中點擊Realize Model,,將設(shè)計好的濾波器模型導(dǎo)入Simulink中,,然后添加三個頻率分別為50Hz、250Hz,、350Hz的正弦波,,利用Scope見察通過數(shù)字低通濾波器Filter的濾波效果。
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è)計參考價值。