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