《基于LabVIEW 的數(shù)字濾波器設(shè)計(jì)實(shí)例IIR FIR》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于LabVIEW 的數(shù)字濾波器設(shè)計(jì)實(shí)例IIR FIR(7頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、 目前,微機(jī)保護(hù)和二次信號(hào)處理軟件主要采用數(shù)字濾波器。傳統(tǒng)的數(shù)字濾波器設(shè)計(jì)使用繁瑣的公式計(jì)算,改變參數(shù)后需要重新計(jì)算,在設(shè)計(jì)濾波器尤其是高階濾波器時(shí)工作量很大。利用 LabVIEW(Laboratory Virtual INSTRUMENT Engineering Workbench,實(shí)驗(yàn)室虛擬儀器工作平臺(tái))使用G 語言(Graphics Language,圖形化編程語言)編程,可以快速有效地實(shí)現(xiàn)數(shù)字濾波器的設(shè)計(jì)與仿真。由于G 語言編程具有諸多優(yōu)點(diǎn),因此基于LabVIEW 設(shè)計(jì)的數(shù)字濾波器具有高效、靈活、界面友好、集成性強(qiáng)、費(fèi)用低、用戶自定義功能強(qiáng)等諸多優(yōu)點(diǎn)[1]。
1. 數(shù)字濾波器及
2、其傳統(tǒng)設(shè)計(jì)方法
1.1 數(shù)字濾波器概述
濾波器是一種使有用頻率信號(hào)通過同時(shí)抑制(或大為衰減)無用頻率信號(hào)的裝置。工程上常將它用于信號(hào)處理、數(shù)據(jù)傳送和抑?jǐn)?shù)字濾波器是數(shù)字信號(hào)分析中的重要組成部分,它的輸入和輸出信號(hào)都是離散的,與模擬濾波器相比,它具有準(zhǔn)確度和穩(wěn)定性高,系統(tǒng)函數(shù)容易改變,靈活性高等優(yōu)點(diǎn),因而數(shù)字濾波器在工程中得到了廣泛的應(yīng)用[2]。數(shù)字濾波器有多種分類,按頻率特性分類可以分為:高通、低通、帶通、帶阻;按數(shù)字濾波器沖激響應(yīng)的時(shí)域特征分類可以分為:有限沖激響應(yīng)濾波器(finite impulse response, FIR)和無限沖激響應(yīng)濾波器(infinite impuls
3、e response, IIR)。FIR 濾波器的沖擊響應(yīng)h(n) 是有限序列,IIR 濾波器的沖擊響應(yīng)h(n) 是無限序列的。
數(shù)字濾波器的差分方程可以用下式表示:
式中, x(n) 為輸入序列, y(n) 為輸出序列, k a 、k b 分別為輸出、輸入序列的系數(shù)。
數(shù)字濾波器對(duì)應(yīng)的傳遞函數(shù)為:
當(dāng)k a 不全為0 時(shí),為IIR 濾波器;當(dāng)k a 全為0 時(shí),為FIR 濾波器。
從性能上看,F(xiàn)IR 濾波器和IIR 濾波器各有優(yōu)點(diǎn):FIR 濾波器可以得到嚴(yán)格的線性相位;但是需要較多的存儲(chǔ)器和較長的運(yùn)算,成本比較高,信號(hào)延時(shí)也較大。IIR 濾波器可以用較少的
4、階數(shù)獲得很高的選擇特性,所用存儲(chǔ)單元少,運(yùn)算次數(shù)少,效率高的優(yōu)點(diǎn);但是相位是非線性的,且選擇性越好其相位非線性越嚴(yán)重[3]。
1.2 數(shù)字濾波器的傳統(tǒng)設(shè)計(jì)方法
數(shù)字濾波器的傳統(tǒng)設(shè)計(jì)過程可歸納為以下三個(gè)步驟:
(1)按照實(shí)際需要確定濾波器的性能要求。
(2)用一個(gè)因果穩(wěn)定的系統(tǒng)函數(shù)(即傳遞函數(shù))去逼近這個(gè)性能要求。此函數(shù)可以分為兩類:即IIR 傳遞函數(shù)和FIR 傳遞函數(shù)。
(3)用一個(gè)有限精度的運(yùn)算去實(shí)現(xiàn)這個(gè)傳遞函數(shù)。
FIR 濾波器設(shè)計(jì)實(shí)質(zhì)是確定能滿足要求的轉(zhuǎn)移序列或脈沖響應(yīng)的常數(shù),設(shè)計(jì)方法主要有窗函數(shù)法、頻率采樣法和等波紋最佳逼近法等。目前,F(xiàn)IR 濾波器
5、設(shè)計(jì)沒有封閉的設(shè)計(jì)公式。雖然窗函數(shù)法對(duì)窗口函數(shù)可給出計(jì)算公式,但計(jì)算通帶與阻帶衰減仍無計(jì)算公式。FIR 濾波器的設(shè)計(jì)只有計(jì)算程序可循,因此對(duì)計(jì)算工具要求較高,不用計(jì)算機(jī)編程一般很難實(shí)現(xiàn)。
IIR 濾波器的設(shè)計(jì)源于模擬濾波器設(shè)計(jì),它通過對(duì)低通濾波器進(jìn)行模擬頻率變換得到。常用的IIR 濾波器有巴特沃斯濾波器、切比雪夫?yàn)V波器、切比雪夫Ⅱ?yàn)V波器、橢圓濾波器和貝塞爾濾波器。目前,IIR 濾波器的設(shè)計(jì)可以借助模擬濾波器的成果,有封閉形式的設(shè)計(jì)公式,對(duì)計(jì)算工具的要求不高。
IIR 濾波器的設(shè)計(jì)雖然簡單,但脫離不了模擬濾波器的設(shè)計(jì)模式,主要用于設(shè)計(jì)低通、高通、帶通及帶阻濾波器。而FIR 濾波器的設(shè)
6、計(jì)要靈活得多,尤其是頻率采樣設(shè)計(jì)法更易適應(yīng)各種幅度特性和相位特性的要求。
2 基于LabVIEW 的數(shù)字濾波器設(shè)計(jì)
2.1 LabVIEW 簡介
LabVIEW 是NI(National INSTRUMENT,美國國家儀器)公司推出的一種基于G 語言的虛擬儀器(virtual INSTRUMENT,VI)開發(fā)工具。LabVIEW 編程使用圖形化語言,它是非計(jì)算機(jī)專業(yè)人員使用的工具,它為設(shè)計(jì)者提供了一個(gè)便捷、輕松的設(shè)計(jì)環(huán)境,因此,LabVIEW 在世界范圍內(nèi)的眾多領(lǐng)域如航空、航天、通信、電力、汽車、化學(xué)等領(lǐng)域得到廣泛應(yīng)用[4]。
LabVIEW 有兩個(gè)基本窗口:前面板窗口
7、和流程圖窗口。編譯環(huán)境下顯示兩個(gè)窗口,前面板用于放置控制對(duì)象和顯示對(duì)象,控制對(duì)象相當(dāng)于常規(guī)儀器的控制和調(diào)節(jié)按鈕;前面板用于顯示程序運(yùn)行結(jié)果,相當(dāng)于常規(guī)儀器的顯示屏幕或指針。流程圖窗口用于編寫和顯示程序的圖形源代碼,它相當(dāng)于語言編程中一行行的語句,它由各種能完成一定功能的模塊通過連線連接而成。當(dāng)編寫的LabVIEW 程序調(diào)試無誤后,可將程序編譯成應(yīng)用程序(EXE 文件)。此時(shí),設(shè)計(jì)的虛擬儀器可以脫離LabVIEW 開發(fā)環(huán)境,用戶只需通過前面板進(jìn)行控制和觀測。
2.2 LabVIEW 中的數(shù)字濾波器
利用文本軟件設(shè)計(jì)實(shí)現(xiàn)的濾波器在使用過程中往往出現(xiàn)難以調(diào)整波形系數(shù),與硬件接口程序復(fù)雜,
8、開發(fā)周期長等問題。而使用LabVIEW 設(shè)計(jì)的濾波器不僅設(shè)計(jì)簡單,而且使用起來要比利用文本文件實(shí)現(xiàn)的濾波器方便得多。
LabVIEW 為設(shè)計(jì)者提供了FIR 和IIR 濾波器VI,使用起來非常方便,只需要輸入相應(yīng)的指標(biāo)參數(shù)即可,不需要進(jìn)行復(fù)雜的函數(shù)設(shè)計(jì)和大量的運(yùn)算。濾波器VI 位于LabVIEW 流程圖面板的Function>>Analyze>>Signal Processing>>Filters 上。
不同濾波器VI 濾波時(shí)均有各自的特點(diǎn),因此它們用途各異。在利用LabVIEW 實(shí)現(xiàn)濾波功能時(shí),選擇合適的濾波器是關(guān)鍵,在選擇濾波器時(shí),可參照不同濾波器的特點(diǎn),考慮濾波的實(shí)際要求來選擇合
9、適的濾波器[5]。各種濾波器的特點(diǎn)及選擇濾波器的步驟見圖1。
圖1 濾波器選擇步驟
3 基于LabVIEW 的數(shù)字濾波器設(shè)計(jì)實(shí)例
電力系統(tǒng)濾波器可以從電力信號(hào)中將所需頻段的信號(hào)提取出來并將干擾信號(hào)濾除或大大衰減。利用LabVIEW 可以設(shè)計(jì)出滿足電力系統(tǒng)需要的濾波器,圖2為利用LabVIEW 設(shè)計(jì)的IIR 數(shù)字濾波器前面板,前面板上有參數(shù)設(shè)置、波形顯示兩個(gè)區(qū)域。在參數(shù)設(shè)置區(qū)域有六個(gè)設(shè)置項(xiàng):濾波器選擇、濾波器類型、下截止頻率、上截止頻率、采樣頻率、階次、紋波、衰減;選擇的濾波器不同時(shí),需要設(shè)置的項(xiàng)也不同。波形顯示區(qū)域用于顯示濾波前后的波形,在此區(qū)域可直觀地看出濾波效果。
10、
圖2 數(shù)字濾波器前面板
濾波器的輸入信號(hào)是從電力系統(tǒng)中采集的,信號(hào)中含有頻率為50Hz,有效值為220V 的基頻分量,和頻率為100Hz、150Hz、200Hz 的二次、三次、四次諧波?,F(xiàn)欲提取出基頻分量,濾去高次諧波,采用低通濾波方式濾波,濾波階次為8 階,紋波為0.1,衰減為60,下截止頻率為50Hz,分別采用巴特沃斯濾波器、切比雪夫?yàn)V波器、切比雪夫Ⅱ?yàn)V波器、橢圓濾波器和貝塞爾濾波器濾波,濾波器的輸入信號(hào)與不同濾波器的輸出波形如圖3 所示。由圖3 可以看出采用不同的濾波器濾波,濾波效果是不同的。在此實(shí)例中,巴特沃思濾波器和切比雪夫?yàn)V波器的濾波效果相對(duì)較好;而切比雪夫Ⅱ?yàn)V波器的濾波延遲時(shí)間較長;貝塞爾濾波器濾波的衰減較大。因此,要根據(jù)不同的工況要求來選擇合適的濾波器濾波。
4 結(jié)論
利用LabVIEW 實(shí)現(xiàn)的數(shù)字濾波,采用了圖形語言編程,與采用文本語言編程相比,能縮短40%~70%的開發(fā)時(shí)間;與硬件儀器相比,又具有容易調(diào)整濾波器類型、降低成本、濾波效果直觀等優(yōu)點(diǎn)。基于LabVIEW 編寫的程序還可以將其作為子程序在其他虛擬儀器系統(tǒng)中調(diào)用,大大增強(qiáng)了程序的通用性。