摘 要:虛擬儀器(Virtual Instrument,簡稱VI)是現代計算機技術、通信技術和測量技術相結合的產物。本文介紹了虛擬儀器的特點,應用以及基于LabVIEW虛擬儀器開發(fā)平臺設計虛擬數字濾波器的方法。
關鍵詞:FIR數字濾波器;LABVIEW;程序設計
Abstract:Virtual instrument is a product of modern computer software technology and communication technology in combination with test and measurement technology. The characteristic and apply of virtual instrument are introduced. Base on the virtual instrument development platform of LabVIEW,the design of virtual instrument of filter is given in details.
Key words:FIR filter; labview; programming
1 引言
傳統儀器是由廠家設計并定義好功能的封閉式機構,每種儀器實現一種特定的功能。隨著計算機技術和傳統儀器儀表技術的結合,在必要的數據采集硬件和計算機的幫助下,通過軟件實現儀器的全部功能的新式儀器——虛擬儀器出現了。虛擬儀器技術作為新型的構造儀器技術,它可以部分實現甚至全部實現物理儀器功能。與傳統儀器相比具有許多優(yōu)點:對測試量的處理和計算可更復雜且處理速度更快,測試結果的表達方式更加豐富多樣,可以方便地存儲和交換測試數據,價格低,技術更新快。它的最大特點就是把由儀器生產廠家定義儀器功能的方式轉變?yōu)橛捎脩糇约憾x儀器功能,滿足多種多樣的應用需求。
數字濾波器是數字信號分析中的重要組成部分,它實現對信號的濾波、提取、增強信號的有用分量、削弱無用的分量。經典濾波器的特點是輸入信號中的有用的頻率成分和希望濾除的頻率成分各占有不同的頻帶,通過一個合適的選頻濾波器達到濾波目的。但如果信號和干擾的頻率相重疊,那么經典濾波器將無能為力,這時需要采用現代濾波器,如維納濾波器、卡爾曼濾波器、自適應濾波器等。從實現的網絡結構或從單位脈沖響應分類,數字濾波器可以分為無限脈沖相應濾波器(Infinite impulse respose,IIR)和有限脈沖相應濾波器(Finite impulse respose,FIR)。與IIR相比,FIR數字濾波器能夠被設計成具有線性相位特性的濾波器。因此,它在要求具有線性相位的應用場合具有廣泛的應用。數字濾波器的設計方法很多,其中較為常用的是窗函數設計法和頻率采樣設計法。本文介紹一種利用窗函數設計的虛擬濾波器。
2 LabVIEW軟件主要功能和特點
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)即實驗室虛擬儀器工程平臺,是由美國國家儀器NI(National Instrument)公司推出的世界上第一個采用圖形化編程技術的面向儀器的32位編譯型程序開發(fā)系統。它的目標就是簡化程序的開發(fā)工作,提高編程效率。是目前應用范圍最廣,功能最為強大的虛擬儀器平臺。LabVIEW的高級軟件庫具有強大的數據處理能力,包括信號的產生、數據信號處理、測量、數據濾波、概率統計、線性代數、曲線擬合、數值分析等多種軟件分析功能。LabVIEW使用可視化技術建立人機界面,提供了許多儀器面板中的控制對象,如表頭、旋鈕、開關及坐標平面圖等。由于虛擬儀器的測試功能、面板控件都實現了軟件化,任何使用者都可通過修改虛擬儀器的軟件來改變它的功能和規(guī)模,這充分體現了軟件就是儀器的設計思想。
LabVIEW的運行機制從宏觀上講已經不再是傳統上的馮·諾伊曼計算機體系結構的執(zhí)行方式了。傳統的計算機語言(如C)中的順序執(zhí)行結構在LabVIEW中被并行機制所代替。從本質上講,它是一種帶有圖形控制流結構的數據流模式(Data Flow Mode),這種方式確保了程序中的函數節(jié)點( Function Node)只有在獲得它的全部數據后才能夠被執(zhí)行。也就是說,在這種數據流程序的概念中,程序的執(zhí)行是數據驅動的,它不受操作系統、計算機等因素的影。LabVIEW 支持多種操作系統平臺,在任何—個平臺上開發(fā)的LabVIEW 應用程序可直接移植到其它平臺上。
3 數字濾波器的設計步驟

因此,如果M選得較大,可以保證在窗口內

有效值逼近

。實際計算(3)式,可以用

的M點采樣值,進行M點IDFT(IFFT)得到。
第二步:根據對過渡帶及阻帶衰減的要求,選擇窗函數的形式,并估計窗口長度N。設待求濾波器的過渡帶用

表示,它近似等于窗函數主瓣寬度。因過渡帶

近似與窗口長度N 成反比,

,A決定于窗口形式,例如,矩形窗A=4π,哈明窗A=8π等。按照過渡帶及阻帶衰減情況,選擇窗函數形式。原則是在保證阻帶衰減滿足要求的情況下,盡量選擇主瓣窄的窗函數。
第三步:計算濾波器的單位取樣響應h(n),

(5)
?。?)式中

是上面選擇好的窗函數。若要求線性相位,則要求

與和

均對(N-1)/2對稱。
第四步:用(1)式驗算技術指標是否滿足要求。若不滿足則根據具體情況重復二,三,四步,直到滿足要求。
4 軟件實現
4.1前面板的設計
圖1為設計的數字濾波器的前面板。前面板用于設置輸入數值和觀察輸出量,用于模擬真實濾波器的前面板。由于虛擬面板直接面向用戶,是虛擬濾波器控制軟件的核心。在設計這部分時,主要考慮界面美觀、操作簡潔,用戶能通過面板上的各種按鈕、開關等控鍵來控制虛擬濾波器的工作。實際中的待測信號可以由數據采集卡實時采集濾波,也可以由數據采集卡采集后保存為LabVIEW所能夠識別的文件形式,之后再由LabVIEW進行分析濾波。在這里用基本的信號(正弦波,余弦波,方波,鋸齒波)來模擬原始信號。程序采用窗函數法的計算流程,將窗函數與需要濾波的信號進行卷積實現信號的濾波。使用者可對原始信號,噪聲信號和濾波器參數進行設置。原始信號的波形圖,濾波的結果都可得到實時顯示。這樣,在程序成功的運行后就可以從顯示區(qū)得到結果,使結果更為直觀的反映出來。
4.2 流程圖的設計
本數字濾波器的后面板即程序代碼框圖如圖2所示??驁D程序是由節(jié)點、端點、圖框和連線四種元素構成的。節(jié)點類似于文本語言程序的語句、函數或者子程序??驁D中的每一個對象端點與前面板上的對象(控制或顯示)一一對應。不同的線型代表不同的數據類型,在彩顯上,每種數據類型還以不同的顏色予以強調。
[align=center]

圖1 數字濾波器的前面板

圖2 濾波器的后面板[/align]
5 結論
數字濾波器可以通過編程實現各種不同系統,滿足不同的需要,又可以隨時改動系數,調整濾波器參數,選擇最佳方案。使用LabVIEW軟件平臺開發(fā)電氣參數測量儀等虛擬儀器。實現了更高的效率,節(jié)省了更多的硬件開銷,方便了系統的維護和減輕了儀器更新的負擔。使用虛擬儀器逐步代替?zhèn)鹘y儀器已經成為測試領域發(fā)展的趨勢。但是在實際應用中,仍要根據具體情況進行程序的優(yōu)化和軟硬件的結合,使虛擬儀器發(fā)揮更高的性能。
本文作者創(chuàng)新點:采用Labview設計了一虛擬數字濾波器,該虛擬數字濾波器能夠將帶有干擾信號的正弦波、三角波、方波、鋸齒波信號按照要求進行濾波,具有人機交互性好、易于操作等特點,能夠廣泛的應用于教學。
參考文獻:
[1] 丁玉美,高西全.數字信號處理[M].西安:西安電子科技大學出版社,2003。
[2] Robert H.Bishop [美].LabVIEW7實用教程[M].北京:電子工業(yè)出版社,2005。
[3] Instrumnts Catalogue. U.S. National Instruments,2003。
周偉林,楊華勇,李清峰.基于LabVIEW的數字濾波器的設計[J] .微計算機信息,2006,5-1:163-164。