基於LabVIEW的IIR 數字濾波器的設計
0 引言
正常情況下,電力系統中三相電力是對稱的,它們之間滿足一定的幅值和相位條件;但當負載變化時,系統受到影響,波形會發生畸變。隨著經濟的發展,許多非線性電力負荷投入使用,使電網中諧波分量猛增,而電力系統微機保護和二次控制中,很多信號的處理與分析是基於基波和某些整次諧波的,因此,濾波器一直是電力系統二次裝置中的關鍵部件。
目前,微機保護和二次信號處理軟體主要採用數字濾波器。傳統的數字濾波器設計使用繁瑣的公式計算,改變參數後需要重新計算,在設計濾波器尤其是高階濾波器時工作量很大。利用LabVIEW(Laboratory Virtual INSTRUMENT Engineering Workbench,實驗室虛擬儀器工作平台)使用G 語言(Graphics Language,圖形化編程語言)編程,可以快速有效地實現數字濾波器的設計與模擬。由於G 語言編程具有諸多優點,因此基於LabVIEW 設計的數字濾波器具有高效、靈活、界面友好、集成性強、費用低、用戶自定義功能強等諸多優點[1]。
1. 數字濾波器及其傳統設計方法
1.1 數字濾波器概述
濾波器是一種使有用頻率信號通過同時抑制(或大為衰減)無用頻率信號的裝置。工程上常將它用於信號處理、數據傳送和抑數字濾波器是數字信號分析中的重要組成部分,它的輸入和輸出信號都是離散的,與模擬濾波器相比,它具有準確度和穩定性高,系統函數容易改變,靈活性高等優點,因而數字濾波器在工程中得到了廣泛的應用[2]。數字濾波器有多種分類,按頻率特性分類可以分為:高通、低通、帶通、帶阻;按數字濾波器衝激響應的時域特徵分類可以分為:有限衝激響應濾波器(finite impulse response, FIR)和無限衝激響應濾波器(infinite impulse response, IIR)。FIR 濾波器的衝擊響應h(n) 是有限序列,IIR 濾波器的衝擊響應h(n) 是無限序列的。
數字濾波器的差分方程可以用下式表示:
式中, x(n) 為輸入序列, y(n) 為輸出序列, k a 、k b 分別為輸出、輸入序列的係數。
數字濾波器對應的傳遞函數為:
當k a 不全為0 時,為IIR 濾波器;當k a 全為0 時,為FIR 濾波器。
從性能上看,FIR 濾波器和IIR 濾波器各有優點:FIR 濾波器可以得到嚴格的線性相位;但是需要較多的存儲器和較長的運算,成本比較高,信號延時也較大。IIR 濾波器可以用較少的階數獲得很高的選擇特性,所用存儲單元少,運算次數少,效率高的優點;但是相位是非線性的,且選擇性越好其相位非線性越嚴重[3]。
1.2 數字濾波器的傳統設計方法
數字濾波器的傳統設計過程可歸納為以下三個步驟:
(1)按照實際需要確定濾波器的性能要求。
(2)用一個因果穩定的系統函數(即傳遞函數)去逼近這個性能要求。此函數可以分為兩類:即IIR 傳遞函數和FIR 傳遞函數。
(3)用一個有限精度的運算去實現這個傳遞函數。
FIR 濾波器設計實質是確定能滿足要求的轉移序列或脈衝響應的常數,設計方法主要有窗函數法、頻率採樣法和等波紋最佳逼近法等。目前,FIR 濾波器設計沒有封閉的設計公式。雖然窗函數法對窗口函數可給出計算公式,但計算通帶與阻帶衰減仍無計算公式。FIR 濾波器的設計只有計算程序可循,因此對計算工具要求較高,不用計算機編程一般很難實現。
IIR 濾波器的設計源於模擬濾波器設計,它通過對低通濾波器進行模擬頻率變換得到。常用的IIR 濾波器有巴特沃斯濾波器、切比雪夫濾波器、切比雪夫Ⅱ濾波器、橢圓濾波器和貝塞爾濾波器。目前,IIR 濾波器的設計可以藉助模擬濾波器的成果,有封閉形式的設計公式,對計算工具的要求不高。
IIR 濾波器的設計雖然簡單,但脫離不了模擬濾波器的設計模式,主要用於設計低通、高通、帶通及帶阻濾波器。而FIR 濾波器的設計要靈活得多,尤其是頻率採樣設計法更易適應各種幅度特性和相位特性的要求。
2 基於LabVIEW 的數字濾波器設計
2.1 LabVIEW 簡介
LabVIEW 是NI(National INSTRUMENT,美國國家儀器)公司推出的一種基於G 語言的虛擬儀器(virtual INSTRUMENT,VI)開發工具。LabVIEW 編程使用圖形化語言,它是非計算機專業人員使用的工具,它為設計者提供了一個便捷、輕鬆的設計環境,因此,LabVIEW 在世界範圍內的眾多領域如航空、航天、通信、電力、汽車、化學等領域得到廣泛應用[4]。
LabVIEW 有兩個基本窗口:前面板窗口和流程圖窗口。編譯環境下顯示兩個窗口,前面板用於放置控制對象和顯示對象,控制對象相當於常規儀器的控制和調節按鈕;前面板用於顯示程序運行結果,相當於常規儀器的顯示屏幕或指針。流程圖窗口用於編寫和顯示程序的圖形源代碼,它相當於語言編程中一行行的語句,它由各種能完成一定功能的模塊通過連線連接而成。當編寫的LabVIEW 程序調試無誤後,可將程序編譯成應用程序(EXE 文件)。此時,設計的虛擬儀器可以脫離LabVIEW 開發環境,用戶只需通過前面板進行控制和觀測。
2.2 LabVIEW 中的數字濾波器
利用文本軟體設計實現的濾波器在使用過程中往往出現難以調整波形係數,與硬體介面程序複雜,開發周期長等問題。而使用LabVIEW 設計的濾波器不僅設計簡單,而且使用起來要比利用文本文件實現的濾波器方便得多。
LabVIEW 為設計者提供了FIR 和IIR 濾波器VI,使用起來非常方便,只需要輸入相應的指標參數即可,不需要進行複雜的函數設計和大量的運算。濾波器VI 位於LabVIEW 流程圖面板的Function>>Analyze>>Signal Processing>>Filters 上。
不同濾波器VI 濾波時均有各自的特點,因此它們用途各異。在利用LabVIEW 實現濾波功能時,選擇合適的濾波器是關鍵,在選擇濾波器時,可參照不同濾波器的特點,考慮濾波的實際要求來選擇合適的濾波器[5]。各種濾波器的特點及選擇濾波器的步驟見圖1。
圖1 濾波器選擇步驟
3 基於LabVIEW 的數字濾波器設計實例
電力系統濾波器可以從電力信號中將所需頻段的信號提取出來並將干擾信號濾除或大大衰減。利用LabVIEW 可以設計出滿足電力系統需要的濾波器,圖2為利用LabVIEW 設計的IIR 數字濾波器前面板,前面板上有參數設置、波形顯示兩個區域。在參數設置區域有六個設置項:濾波器選擇、濾波器類型、下截止頻率、上截止頻率、採樣頻率、階次、紋波、衰減;選擇的濾波器不同時,需要設置的項也不同。波形顯示區域用於顯示濾波前後的波形,在此區域可直觀地看出濾波效果。
圖2 數字濾波器前面板
濾波器的輸入信號是從電力系統中採集的,信號中含有頻率為50Hz,有效值為220V 的基頻分量,和頻率為100Hz、150Hz、200Hz 的二次、三次、四次諧波。現欲提取出基頻分量,濾去高次諧波,採用低通濾波方式濾波,濾波階次為8 階,紋波為0.1,衰減為60,下截止頻率為50Hz,分別採用巴特沃斯濾波器、切比雪夫濾波器、切比雪夫Ⅱ濾波器、橢圓濾波器和貝塞爾濾波器濾波,濾波器的輸入信號與不同濾波器的輸出波形如圖3 所示。由圖3 可以看出採用不同的濾波器濾波,濾波效果是不同的。在此實例中,巴特沃思濾波器和切比雪夫濾波器的濾波效果相對較好;而切比雪夫Ⅱ濾波器的濾波延遲時間較長;貝塞爾濾波器濾波的衰減較大。因此,要根據不同的工況要求來選擇合適的濾波器濾波。
4 結論
利用LabVIEW 實現的數字濾波,採用了圖形語言編程,與採用文本語言編程相比,能縮短40%~70%的開發時間;與硬體儀器相比,又具有容易調整濾波器類型、降低成本、濾波效果直觀等優點。基於LabVIEW 編寫的程序還可以將其作為子程序在其他虛擬儀器系統中調用,大大增強了程序的通用性。
推薦閱讀:
※哈德遜廣場的「大松果」
※ 35個小戶型創意設計
※新品發布 | iF設計金獎作品 - 璽佳機械錶·MY系列
※逆天的商業區停車場,車停這藝術感爆棚
※名流新天地---東莞康城酒吧【奢華夜店設計作品集】