基於諧波檢測中的數字低通濾波器的MATLAB設計
度時就可能對電網和用戶造成極大的危害,且增加線路損耗,降低線路傳輸能力,干擾通信信號等。因此,應該積極尋找一種治理諧波污染的有效手段。
目前有源電力濾波器(APF)是治理電網諧波污染的一種有效手段,APF的補償原理是實時產生一個與系統中的無功和諧波電流大小相等、方向相反的補償電流,用以抵消非線性負載產生的無功和諧波電流,使流入電網的電流全是有功分量,因此無功和諧波電流的實時檢測就成為實時補償的關鍵。而諧波及無功電流的檢測實質就是低通濾波器的設計。本文利用MATLAB中的FDAtool實現了對數字低通濾波器模型的快速設計,並採用VHDL語言在FPGA上實現。
1 低通濾波器的選擇
濾波器有模擬濾波器和數字濾波器兩種。這裡選用數字濾波器,因為它相對於模擬濾波器更容易進行濾波代數運算,而且它不會像模擬濾波器那樣隨時間、溫度、電壓漂移,還有就是它能實現近似理想的響應和線性相位,所以能更好地達到諧波檢測的實時性和準確性的要求。
數字濾波器有無限衝激響應(IIR)系統和有限衝激響應(FIR)系統兩種。雖然FIR濾波器相對於IIR濾波器可以得到嚴格的線性相位,但在相同技術指標下,IIR濾波器由於存在輸出對輸入的反饋,因而可用大約1/10~1/5FIR濾波器的階數來滿足指標的要求,從而使得所用空間少,運算次數少,實時性強。由於諧波檢測環節對相位要求不高,而對計算速度要求極高,因此選擇IIR濾波器作為研究的對象。
2 利用MATLAB設計IIR濾波器
目前數字濾波器的設計有許多現成的高級語言設計程序,但他們都存在設計效率較低,不具有可視圖形,不便於修改參數等缺點,而Matlab為數字濾波的研究和應用提供了一個直觀、高效、便捷的工具。它以矩陣運算為基礎,把計算、可視化、程序設計融合到了一個互動式的工作環境中。尤其是Matlab工具箱使各個領域的研究人員可以直觀而方便地進行科學研究與工程應用。其中的信號處理工具箱、圖像處理工具箱、小波工具箱等更是為數字濾波研究的蓬勃發展提供了可能。
2.1 在Matlab中進行模擬設計
許多文獻中在利用Matlab設計IIR數字濾波器時,採用先設計一個模擬濾波器,然後利用脈衝響應不變法或者雙線性變換法,將模擬濾波器的傳輸函數轉換成數字濾波器的系統函數,設計過程比較複雜,編寫的程序比較長,沒有很專業的知識是設計不出來的。而本文利用FDAFool工具可以非常方便地設計出數字濾波器。
FDATool(Filter Design&Analysis Tool)是Matlab中的一種圖形用戶工具,為濾波器的設計提供了一個綜合、簡便的圖形用戶界面。本文要設計一個諧波檢測電路中的低通濾波器,對於三相電路而言,其交流側主要是5次和7次諧波,因此本文設計的低通濾波器的指標為:模擬信號採樣頻率Fs=2000Hz,通帶截止頻率Fpass=100Hz,阻帶截止頻率Fstop=200Hz,通帶波動不大於0.1dB,阻帶衰減不小於32dB。在圖1界面中設置好參數,並且選擇IIR中的Elliptic濾波器,然後點擊Design Filter,即可得到所設計濾波器的模型:Order(階)=4,Sections(節)=2,並可觀察其幅度響應、相位響應,還可以觀察脈衝響應、階躍響應、濾波器的零極點繪製圖以及系統函數的各個係數等指標。
2.2 利用Simulink檢驗濾波效果
打開Simulink新建一個文件untitledl如圖2,在FDATool界面中點擊Realize Model,將設計好的濾波器模型導入Simulink中,然後添加三個頻率分別為50Hz、250Hz、350Hz的正弦波,利用Scope見察通過數字低通濾波器Filter的濾波效果。
Scopel顯示的是50Hz正弦波,Scope2顯示的是50Hz疊加上250Hz、350Hz正弦波後的波形,Scope顯示的是通過我們設計的低通濾波器後的波形,對比圖3(a)、(b)可以看出,濾波後的波形保留了50Hz的信號,且略有延遲,並將高頻部分有效地濾除,說明設計的濾波器符合要求。
3 數字低通濾波器FPGA實現
數字濾波器的實現方法一般有以下幾種:
(1)採用加法器、乘法器、延時器設計專用的濾波電路。
(2)在通用計算機系統中加上專用的加速處理機設計實現。
(3)用通用的可編程DSP晶元實現。
(4)用專用的DSP晶元實現。在一些特殊的場合,要求的信號處理速度極高,用通用DSP晶元很難實現。這種晶元將相應的濾波演算法在晶元內部用硬體實現,無需進行編程。
(5)採用FPGA/CPLD設計實現。
在上述幾種方法中,第(2)種方法的缺點是速度較慢,一般可用於DSP演算法的模擬。第(1)、(4)種方法專用性強,應用受到很大的限制。第(3)、(5)種方法都可以通過編程來實現各種數字濾波,使用DSP器件實現雖然簡單,但由於程序順序執行,執行速度必然不快。FPGA有著規整的內部邏輯陣列和豐富的連線資源,特別適合於數字信號處理任務,相對於串列運算為主導的通用DSP晶元來說,其並行性和可擴展性更好。但長期以來,FPGA一直被用於系統邏輯或時序控制上,很少有信號處理方面的應用,其原因主要是因為在FPGA中缺乏實現乘法運算的有效結構。現在這個問題得到了解決,使FPGA在數字信號處理方面有了長足的發展。
文獻中是在MATLAB中設計出數字低通濾波器後,得到其系統函數H(z)的係數,然後將係數轉換為二進位,再利用VHDL語言進行編程,而編程的過程非常繁瑣。
本文利用FDATool可以直接得到VHDL文件,在其菜單欄中的選擇Fargets\Generate HDL,在打開的界面中選擇VHDL file,建立文件名為filter.vhd,同時可以得到測試文件filter tb.vhd。利用QuartusII軟體打開以上文件進行編譯、綜合,最後將其下載到FPGA中即可實現低通濾波器的功能。
4 結束語
本文利用Matlab中的FDATool實現了IIR數字低通濾波器的設計及模擬,設計過程簡單、直接,大大縮減了設計開發的時間。採用FPGA進行濾波器的硬體設計,能夠達到諧波檢測實時性和準確性的要求,為電力有源濾波器諧波檢測中低通濾波器的設計提供了參考。同時在實際應用中,可以方便地對濾波器參數進行修改,很容易實現其他各種濾波器的設計,具有一定的工程設計參考價值。(現代電子技術)
推薦閱讀:
※關於性激素六項的檢測秘密,都在這裡啦!
※UC頭條:想知道自己身體好不好? 緊握拳頭30秒, 1招檢測真相! 快來試試看吧
※哪些人需要進行AMH檢測?
※嬰幼兒微量元素檢測有多害人
※關於【腸道菌群檢測】你想知道的,都在這裡!