智能化測控技術(shù)課程設(shè)計
第二章
基于Labview虛擬濾波器的設(shè)計
2.1
labview簡介
LabVIEW
是NI(National
INSTRUMENT,美國國家儀器)公司推出的一種基于G
語言的虛擬儀器(virtual
INSTRUMENT,VI)開發(fā)工具。LabVIEW
編程使用圖形化語言,它是非計算機專業(yè)人員使用的工具,它為設(shè)計者提供了一個便捷、輕松的設(shè)計環(huán)境,因此,LabVIEW
在世界范圍內(nèi)的眾多領(lǐng)域如航空、航天、通信、電力、汽車、化學等領(lǐng)域得到廣泛應(yīng)用。
LabVIEW
有兩個基本窗口:前面板窗口和流程圖窗口。編譯環(huán)境下顯示兩個窗口,前面板用于放置控制對象和顯示對象,控制對象相當于常規(guī)儀器的控制和調(diào)節(jié)按鈕;前面板用于顯示程序運行結(jié)果,相當于常規(guī)儀器的顯示屏幕或指針。流程圖窗口用于編寫和顯示程序的圖形源代碼,它相當于語言編程中一行行的語句,它由各種能完成一定功能的模塊通過連線連接而成。當編寫的LabVIEW
程序調(diào)試無誤后,可將程序編譯成應(yīng)用程序。此時,設(shè)計的虛擬儀器可以脫離LabVIEW
開發(fā)環(huán)境,用戶只需通過前面板進行控制和觀測。
2.2
基于labview的數(shù)字濾波器設(shè)計
數(shù)字濾波器的傳統(tǒng)設(shè)計過程可歸納為以下三個步驟:
(1)按照實際需要確定濾波器的性能要求。
(2)用一個因果穩(wěn)定的系統(tǒng)函數(shù)(即傳遞函數(shù))去逼近這個性能要求。此函數(shù)可以分為兩類:即IIR
傳遞函數(shù)和FIR
傳遞函數(shù)。
(3)用一個有限精度的運算去實現(xiàn)這個傳遞函數(shù)。
FIR
濾波器設(shè)計實質(zhì)是確定能滿足要求的轉(zhuǎn)移序列或脈沖響應(yīng)的常數(shù),設(shè)計方法主要有窗函數(shù)法、頻率采樣法和等波紋最佳逼近法等。目前,F(xiàn)IR
濾波器設(shè)計沒有封閉的設(shè)計公式。雖然窗函數(shù)法對窗口函數(shù)可給出計算公式,但計算通帶與阻帶衰減仍無計算公式。FIR
濾波器的設(shè)計只有計算程序可循,因此對計算工具要求較高,不用計算機編程一般很難實現(xiàn)。
IIR
濾波器的設(shè)計源于模擬濾波器設(shè)計,它通過對低通濾波器進行模擬頻率變換得到。常用的IIR
濾波器有巴特沃斯濾波器、切比雪夫濾波器、切比雪夫Ⅱ濾波器、橢圓濾波器和貝塞爾濾波器。目前,IIR
濾波器的設(shè)計可以借助模擬濾波器的成果,有封閉形式的設(shè)計公式,對計算工具的要求不高。
IIR
濾波器的設(shè)計雖然簡單,但脫離不了模擬濾波器的設(shè)計模式,主要用于設(shè)計低通、高通、帶通及帶阻濾波器。而FIR
濾波器的設(shè)計要靈活得多,尤其是頻率采樣設(shè)計法更易適應(yīng)各種幅度特性和相位特性的要求。
電力系統(tǒng)濾波器可以從電力信號中將所需頻段的信號提取出來并將干擾信號濾除或大大衰減。利用LabVIEW
可以設(shè)計出滿足電力系統(tǒng)需要的濾波器,利用LabVIEW
設(shè)計的IIR
數(shù)字濾波器前面板,前面板上有參數(shù)設(shè)置、波形顯示兩個區(qū)域。在參數(shù)設(shè)置區(qū)域有六個設(shè)置項:濾波器選擇、濾波器類型、下截止頻率、上截止頻率、采樣頻率、階次、紋波、衰減;選擇的濾波器不同時,需要設(shè)置的項也不同。波形顯示區(qū)域用于顯示濾波前后的波形,在此區(qū)域可直觀地看出濾波效果。
利用LabVIEW
實現(xiàn)的數(shù)字濾波,采用了圖形語言編程,與采用文本語言編程相比,能縮短40%~70%的開發(fā)時間;與硬件儀器相比,又具有容易調(diào)整濾波器類型、降低成本、濾波效果直觀等優(yōu)點?;贚abVIEW
編寫的程序還可以將其作為子程序在其他虛擬儀器系統(tǒng)中調(diào)用,大大增強了程序的通用性。
2.3
數(shù)字濾波器的選擇步驟
LabVIEW
為設(shè)計者提供了FIR
和IIR
濾波器VI,使用起來非常方便,只需要輸入相應(yīng)的指標參數(shù)即可,不需要進行復雜的函數(shù)設(shè)計和大量的運算。濾波器VI
位于LabVIEW
流程圖面Function>>Analyze>>SignalProcessing>>Filters
上。不同濾波器VI
濾波時均有各自的特點,因此它們用途各異。在利用LabVIEW
實現(xiàn)濾波功能時,選擇合適的濾波器是關(guān)鍵,在選擇濾波器時,可參照不同濾波器的特點,考慮濾波的實際要求來選擇合適的濾波器。各種濾波器的特點及選擇濾波器的步驟見下圖。
圖2-1
數(shù)字濾波器選擇步驟
第三章
軟件設(shè)計
3.1前面板的設(shè)計
在Labview環(huán)境下開發(fā)的應(yīng)用程序稱為VI(Virtual
Instrument)。VI是Labview的核心,有一個人機交互的界面——前面板,和相當于源代碼功能的菜單框圖程序——后面板組成,前面板是程序的界面,在這一界面上有控制量和顯示量兩類對象。在前面板中,控制量模擬了儀器的輸入裝置并把數(shù)據(jù)提供給VI的框圖程序,例如開關(guān)、旋鈕等,而顯示量則是模擬了儀器的輸入裝置并顯示由框圖程序獲得或產(chǎn)生的數(shù)據(jù),例如用于顯示波形的窗口等。后面板又稱為代碼窗口或流程圖,是VI圖形化的源程序,在流程圖中對VI編程,以控制和操縱定義在前面板上的輸入和輸出等功能,流程圖中包括前面板上沒有但編程必須有的對象,如函數(shù)、結(jié)構(gòu)和連線等[2]。
前面板如圖3-1所示,由以下幾個部分組成:參考信號的參數(shù)設(shè)置、待處理信號的參數(shù)設(shè)置、濾波結(jié)果的實時顯示以及原始信號的波形圖和濾波結(jié)果的波形圖,可以設(shè)置參考信號的幅值和頻率,也可以對3路正弦信號設(shè)置頻率幅值和相位,程序成功運行后就可以從濾波實時顯示區(qū)得到濾波結(jié)果的頻率幅值和初相位,同時在波形顯示區(qū)中也可以得到相應(yīng)的波形,使結(jié)果更為直觀地反映出來。
數(shù)字濾波器的前面板如下圖所示。前面板用于設(shè)置輸入數(shù)值和觀察輸出量,用于模擬真實濾波器的前面板。由于虛擬面板直接面向用戶,是虛擬濾波器控制軟件的核心。在設(shè)計這部分時,主要考慮界面美觀、操作簡潔,用戶能通過面板上的各種按鈕、開關(guān)等控鍵來控制虛擬濾波器的工作。實際中的待測信號可以由
數(shù)據(jù)采集卡實時采集濾波,也可以由數(shù)據(jù)采集卡采集后保存為LabVIEW所能夠識別的文件形式,之后再由LabVIEW進行分析濾波。在這里用基本的信號(正弦波,余弦波,方波,鋸齒波)來模擬原始信號。程序采用窗函數(shù)法的計算流程,將窗函數(shù)與需要濾波的信號進行卷積實現(xiàn)信號的濾波。使用者可對原始信號,噪聲信號和濾波器參數(shù)進行設(shè)置。原始信號的波形圖,濾波的結(jié)果都可得到實時顯示。這樣,在程序成功的運行后就可以從顯示區(qū)得到結(jié)果,使結(jié)果更為直觀的反映出來。
圖3-1
前面板的設(shè)計
3.2
流程圖的設(shè)計
本數(shù)字濾波器的后面板即程序代碼框圖如圖3-2所示。框圖程序是由節(jié)點、端點、圖框和連線四種元素構(gòu)成的。節(jié)點類似于文本語言程序的語句、函數(shù)或者
子程序??驁D中的每一個對象端點與前面板上的對象(控制或顯示)一一對應(yīng)。不同的線型代表不同的數(shù)據(jù)類型,在彩顯上,每種數(shù)據(jù)類型還以不同的顏色予以強調(diào)。后面板如圖3-2所示,后面板中的控件與前面板中的控件相對應(yīng),并且通過連線、添加程序以及加入各種信號等措施進行編程,實現(xiàn)自相關(guān)濾波的功能,同時通過在前面板設(shè)置各種不同的參數(shù),成功地運行程序,實現(xiàn)所要求的目標,為了實現(xiàn)這一功能,筆者又添加了激勵信號源、濾波器加法器和乘法器等各種運算器,經(jīng)過運行程序,測試結(jié)果顯示能夠?qū)崿F(xiàn)從一個包含多種頻率成分的信號中提取出所需單一頻率信號的功能,相當于實現(xiàn)了濾波,由于這種濾波的思路是從相關(guān)函數(shù)的定義出發(fā)的,因此成為相關(guān)濾波器。
在這里,用仿真信號發(fā)生器來模擬待測的信號,在實際中這個待測信號通常由數(shù)據(jù)采集卡采集得到,輸入的待測信號為3路正弦信號的疊加,需要從中檢測出20Hz的信號,這個測試VI實現(xiàn)了相關(guān)濾波過程的動態(tài)顯示,使用了循環(huán)結(jié)構(gòu)。
圖3-2
濾波器的后面板
附錄
圖1
數(shù)字濾波器的輸入輸出信號波形