湖北理工學院電氣與電子信息工程學院 桂靜宜
基于LabVIEW的IIR數字濾波器性能分析
湖北理工學院電氣與電子信息工程學院 桂靜宜
詳細介紹了基于LabVIEW的IIR數字濾波器設計原理和開發過程。該濾波系統不僅可以通過前面板方便地調整濾波器的種類和類型,而且還可以根據實際需求靈活地調整濾波參數,顯示設計結果。最后以占空比可調的矩形波信號等為例,分析濾波前后信號的時域波形和頻譜圖。仿真結果表明,所設計的系統性能與IIR濾波器理論吻合、濾波效果良好、開發效率高。
虛擬儀器;無限沖激響應;數字濾波器;前面板;程序框圖
數字濾波器因其具有精度高、可靠性好、靈活性大、容易獲得高性能指標等優點[1],在工程上應用非常廣泛。根據單位脈沖響應的時域特點,數字濾波器分為無限沖激響應(IIR)濾波器和有限沖激響應(FIR)濾波器。IIR濾波器可以借助模擬濾波器的設計成果、對設計工具的要求不高,主要用于具有片斷常數特性的通帶濾波器的設計。其主要的缺點是不容易實現線性相位,在同樣技術指標的前提下,IIR濾波器設計成本低。所以在對線性相位要求不高的語音通訊、語音處理等領域一般會選擇IIR濾波器進行設計和應用。
但是,傳統的應用Matlab文本文件實現的數字濾波器在使用中與硬件接口程序復雜、濾波系數調整困難,不能方便地構成系統來測試濾波器在工程應用中的性能[2]。應用開放式的LabVIEW軟件,設計交互式應用界面可以很好地解決這些問題。
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一種用圖標代替文本行創建應用程序的圖形化編程語言。利用其模塊化和層次遞歸的編程方法,可以方便地構建、設計和更改自己的虛擬儀器系統[3],它在功能的完整性和應用的靈活性上也不遜于任何高級語言。隨著LabVIEW信號處理工具箱的不斷完善,不僅使數字濾波器的設計最優化,而且比應用文本文件實現的濾波器使用方便。
IIR濾波器一般可以用線性常系數差分方程來描述:


濾波器頻率響應是描述濾波器動態特性的重要參數,它與系統函數的關系是:

3.1 前面板設計
LabVIEW程序由前面板和程序框圖兩個部分組成。按照圖1構建IIR濾波性能測試系統,可以很方便地修改濾波器的種類、類型等參數,還可以顯示設計出的濾波器的幅頻特性和相頻特性曲線。圖1的文本中濾波器的種類有Butterworth、Chebyshev、Ellipse、Bessel等;濾波器的類型有Lowpass、Highpass、Bandpass、Bandstop四種類型[4];還可以設置通帶和阻帶的邊界頻率、通帶的最大波動、阻帶的最小衰減、濾波器的階次。其中通帶的最大波動和阻帶的最小衰減都是以分貝為單位;濾波器階次為正整數,階次的變動對過渡帶和通(阻)帶的特性都有影響。在前面板濾波器的指標調整中使用了簇輸入,在前面板上選擇“查看”→“控制選板”→“新式”→“數組、矩陣┉”→“簇”,用鼠標拖拽到前面板合適的位置,放置一個大小合適的簇方框,再按規定的順序放置簇中的控件。整個虛擬面板簡潔、美觀。

圖1 llR濾波器測試系統的前面板

圖5 方波信號通過系統

圖2 llR濾波器測試系統的程序框圖
3.2 程序框圖設計
圖2是IIR濾波器測試系統的程序框圖。主程序是一個while循環結構,循環內部的基本函數發生器可以產生正弦波、三角波、方波、鋸齒波,信號的幅度、頻率、方波的占空比都可進行設置;在程序框圖中選擇“查看”→“函數面板”→“信號處理”→“波形調理”→“數字IIR波器”得到規范的IIR數字濾波器,它除了時域“信號輸入”和“信號輸出”端外,還有“IIR濾波器規范”等輸入端,其中“IIR濾波器規范”(即濾波器指標調整)使用了簇輸入。“數字IIR波器”還有一個“濾波器信息”端,這個輸出端就是濾波器的幅頻特性與相頻特性參數輸出端。通過“選擇”→“查看”→“編程”→“簇與變體”→“按名稱解除捆綁”,可以將“濾波器信息”分解成幅頻與相頻參數,接入顯示器即可顯示幅頻特性與相頻特性。在程序框圖窗口菜單上選擇“查看”→“函數選板”→“信號處理”→“譜分析”→“幅度譜和相位譜”,放置進行信號幅度譜處理的方框圖,這樣在波形圖中除了顯示信號的時域波形外,也能顯示信號的頻譜圖。
4.1 llR濾波器的性能測試
為了分析所設計的IIR濾波系統的性能,這里以通帶最大波動為1dB、阻帶最小衰減為60dB、通帶截止頻率為150Hz的Butterworth低通濾波器為例,當濾波器的階次時所設計的濾波器的幅頻特性如圖3所示。從圖3中可以看出,隨著系統階次的提高,系統的響應速度加快,過渡帶的寬度越來越窄,越接近于理想的低通特性[5]。

圖3 時,Butterworth低通濾波器的幅度特性

圖4 8階Butterworth和Chebyshev l型濾波器的幅度特性
4.2 正弦信號通過系統
為了驗證系統的性能特性,可以在濾波器前加入一個輸入信號,觀察輸出信號。圖1中設置濾波器是Butterworth帶通濾波器,其通帶截止頻率分別是150、300Hz,通帶的最大衰減是1dB,阻帶的最小衰減是50dB,濾波器的階次是6階,輸入一個頻率為200Hz、幅值為1V的正弦波信號,可以很容易觀察到信號可以無失真地通過系統。
4.3 方波信號通過系統
如圖5所示,為了測試系統的性能,讓幅值為1V、頻率為10Hz、占空比為50%的方波信號通過通帶截止頻率為200和300Hz、通帶最大波動為1dB、阻帶最小衰減為60dB的8階的Butterworth帶通濾波器,可以很清楚地看出方波中在濾波器通帶范圍內的頻率成分可以通過系統,而在此范圍外的頻率成分能被有效地屏蔽。而且濾波器的階次越高,屏蔽的效果越好。
基于LabVIEW實現的IIR數字濾波器比應用文本編程語言的開發效率高。它既可在LabVIEW下運行,也可以被編譯成獨立的可執行文件。LabVIEW采用高速并行編譯方式,信號處理的實時性也是一般文本語言所不能及的。由于LabVIEW采用圖形化語言編程,程序的界面友好、編程效率高、方便進行功能擴展,在測控領域、信號處理領域都得到了廣泛的應用。本程序雖然集成了幾種典型的IIR濾波器,但在進行大型的虛擬儀器系統設計時,可以將其作為子程序與其他典型的數字濾波器集成一起可以提供多種選擇的復合類型的數字濾波器,以適用工程實際的各種需求[6]。
[1]程佩青.數字信號處理教程(第四版)[M].北京:清華大學出版社,2013.
[2]王麗坤等.基于LabVIEW平臺的IIR數字濾波器設計[J].哈爾濱理工大學學報,2003,8(6):47-50.
[3]Jeffrey Travis,Jim Kring著,喬瑞萍等譯.LabVIEW大學實用教程(第三版)[M].北京:電子工業出版社,2008.
[4]岳洪偉.基于LabVIEW的數字信號處理虛擬實驗平臺實現[J].實驗技術與管理,2011,28(8):70-72.
[5]鄒玲,郭彪,楚思紅.基于LabVIEW的IIR數字濾波器的設計[J].湖北工業大學學報,2011,26(3):83-84.
[6]周偉林,楊華勇,李清峰.基于LabVIEW的數字濾波器的設計[J].微計算機信息,2006,22(5-1):163-164.
桂靜宜(1967—),女,湖北蘄春人,大學本科,講師,主要從事電子技術和信號處理等方面的教學、科研工作。