摘 要:虛擬儀器(Virtual Instrument,簡稱VI)是現(xiàn)代計算機技術(shù)、通信技術(shù)和測量技術(shù)相結(jié)合的產(chǎn)物。本文介紹了虛擬儀器的特點,應用以及基于LabVIEW虛擬儀器開發(fā)平臺設(shè)計虛擬數(shù)字濾波器的方法。
關(guān)鍵詞:FIR數(shù)字濾波器;LABVIEW;程序設(shè)計
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 引言
傳統(tǒng)儀器是由廠家設(shè)計并定義好功能的封閉式機構(gòu),每種儀器實現(xiàn)一種特定的功能。隨著計算機技術(shù)和傳統(tǒng)儀器儀表技術(shù)的結(jié)合,在必要的數(shù)據(jù)采集硬件和計算機的幫助下,通過軟件實現(xiàn)儀器的全部功能的新式儀器——虛擬儀器出現(xiàn)了。虛擬儀器技術(shù)作為新型的構(gòu)造儀器技術(shù),它可以部分實現(xiàn)甚至全部實現(xiàn)物理儀器功能。與傳統(tǒng)儀器相比具有許多優(yōu)點:對測試量的處理和計算可更復雜且處理速度更快,測試結(jié)果的表達方式更加豐富多樣,可以方便地存儲和交換測試數(shù)據(jù),價格低,技術(shù)更新快。它的最大特點就是把由儀器生產(chǎn)廠家定義儀器功能的方式轉(zhuǎn)變?yōu)橛捎脩糇约憾x儀器功能,滿足多種多樣的應用需求。
數(shù)字濾波器是數(shù)字信號分析中的重要組成部分,它實現(xiàn)對信號的濾波、提取、增強信號的有用分量、削弱無用的分量。經(jīng)典濾波器的特點是輸入信號中的有用的頻率成分和希望濾除的頻率成分各占有不同的頻帶,通過一個合適的選頻濾波器達到濾波目的。但如果信號和干擾的頻率相重疊,那么經(jīng)典濾波器將無能為力,這時需要采用現(xiàn)代濾波器,如維納濾波器、卡爾曼濾波器、自適應濾波器等。從實現(xiàn)的網(wǎng)絡結(jié)構(gòu)或從單位脈沖響應分類,數(shù)字濾波器可以分為無限脈沖相應濾波器(Infinite impulse respose,IIR)和有限脈沖相應濾波器(Finite impulse respose,F(xiàn)IR)。與IIR相比,F(xiàn)IR數(shù)字濾波器能夠被設(shè)計成具有線性相位特性的濾波器。因此,它在要求具有線性相位的應用場合具有廣泛的應用。數(shù)字濾波器的設(shè)計方法很多,其中較為常用的是窗函數(shù)設(shè)計法和頻率采樣設(shè)計法。本文介紹一種利用窗函數(shù)設(shè)計的虛擬濾波器。
2 LabVIEW軟件主要功能和特點
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)即實驗室虛擬儀器工程平臺,是由美國國家儀器NI(National Instrument)公司推出的世界上第一個采用圖形化編程技術(shù)的面向儀器的32位編譯型程序開發(fā)系統(tǒng)。它的目標就是簡化程序的開發(fā)工作,提高編程效率。是目前應用范圍最廣,功能最為強大的虛擬儀器平臺。LabVIEW的高級軟件庫具有強大的數(shù)據(jù)處理能力,包括信號的產(chǎn)生、數(shù)據(jù)信號處理、測量、數(shù)據(jù)濾波、概率統(tǒng)計、線性代數(shù)、曲線擬合、數(shù)值分析等多種軟件分析功能。LabVIEW使用可視化技術(shù)建立人機界面,提供了許多儀器面板中的控制對象,如表頭、旋鈕、開關(guān)及坐標平面圖等。由于虛擬儀器的測試功能、面板控件都實現(xiàn)了軟件化,任何使用者都可通過修改虛擬儀器的軟件來改變它的功能和規(guī)模,這充分體現(xiàn)了軟件就是儀器的設(shè)計思想。
LabVIEW的運行機制從宏觀上講已經(jīng)不再是傳統(tǒng)上的馮·諾伊曼計算機體系結(jié)構(gòu)的執(zhí)行方式了。傳統(tǒng)的計算機語言(如C)中的順序執(zhí)行結(jié)構(gòu)在LabVIEW中被并行機制所代替。從本質(zhì)上講,它是一種帶有圖形控制流結(jié)構(gòu)的數(shù)據(jù)流模式(Data Flow Mode),這種方式確保了程序中的函數(shù)節(jié)點( Function Node)只有在獲得它的全部數(shù)據(jù)后才能夠被執(zhí)行。也就是說,在這種數(shù)據(jù)流程序的概念中,程序的執(zhí)行是數(shù)據(jù)驅(qū)動的,它不受操作系統(tǒng)、計算機等因素的影。LabVIEW 支持多種操作系統(tǒng)平臺,在任何—個平臺上開發(fā)的LabVIEW 應用程序可直接移植到其它平臺上。
3 數(shù)字濾波器的設(shè)計步驟
因此,如果M選得較大,可以保證在窗口內(nèi)
有效值逼近
。實際計算(3)式,可以用
的M點采樣值,進行M點IDFT(IFFT)得到。
第二步:根據(jù)對過渡帶及阻帶衰減的要求,選擇窗函數(shù)的形式,并估計窗口長度N。設(shè)待求濾波器的過渡帶用
表示,它近似等于窗函數(shù)主瓣寬度。因過渡帶
近似與窗口長度N 成反比,
,A決定于窗口形式,例如,矩形窗A=4π,哈明窗A=8π等。按照過渡帶及阻帶衰減情況,選擇窗函數(shù)形式。原則是在保證阻帶衰減滿足要求的情況下,盡量選擇主瓣窄的窗函數(shù)。
第三步:計算濾波器的單位取樣響應h(n),
(5)
?。?)式中
是上面選擇好的窗函數(shù)。若要求線性相位,則要求
與和
均對(N-1)/2對稱。
第四步:用(1)式驗算技術(shù)指標是否滿足要求。若不滿足則根據(jù)具體情況重復二,三,四步,直到滿足要求。
4 軟件實現(xiàn)
4.1前面板的設(shè)計
圖1為設(shè)計的數(shù)字濾波器的前面板。前面板用于設(shè)置輸入數(shù)值和觀察輸出量,用于模擬真實濾波器的前面板。由于虛擬面板直接面向用戶,是虛擬濾波器控制軟件的核心。在設(shè)計這部分時,主要考慮界面美觀、操作簡潔,用戶能通過面板上的各種按鈕、開關(guān)等控鍵來控制虛擬濾波器的工作。實際中的待測信號可以由數(shù)據(jù)采集卡實時采集濾波,也可以由數(shù)據(jù)采集卡采集后保存為LabVIEW所能夠識別的文件形式,之后再由LabVIEW進行分析濾波。在這里用基本的信號(正弦波,余弦波,方波,鋸齒波)來模擬原始信號。程序采用窗函數(shù)法的計算流程,將窗函數(shù)與需要濾波的信號進行卷積實現(xiàn)信號的濾波。使用者可對原始信號,噪聲信號和濾波器參數(shù)進行設(shè)置。原始信號的波形圖,濾波的結(jié)果都可得到實時顯示。這樣,在程序成功的運行后就可以從顯示區(qū)得到結(jié)果,使結(jié)果更為直觀的反映出來。
4.2 流程圖的設(shè)計
本數(shù)字濾波器的后面板即程序代碼框圖如圖2所示??驁D程序是由節(jié)點、端點、圖框和連線四種元素構(gòu)成的。節(jié)點類似于文本語言程序的語句、函數(shù)或者子程序??驁D中的每一個對象端點與前面板上的對象(控制或顯示)一一對應。不同的線型代表不同的數(shù)據(jù)類型,在彩顯上,每種數(shù)據(jù)類型還以不同的顏色予以強調(diào)。
[align=center]
圖1 數(shù)字濾波器的前面板
圖2 濾波器的后面板[/align]
5 結(jié)論
數(shù)字濾波器可以通過編程實現(xiàn)各種不同系統(tǒng),滿足不同的需要,又可以隨時改動系數(shù),調(diào)整濾波器參數(shù),選擇最佳方案。使用LabVIEW軟件平臺開發(fā)電氣參數(shù)測量儀等虛擬儀器。實現(xiàn)了更高的效率,節(jié)省了更多的硬件開銷,方便了系統(tǒng)的維護和減輕了儀器更新的負擔。使用虛擬儀器逐步代替?zhèn)鹘y(tǒng)儀器已經(jīng)成為測試領(lǐng)域發(fā)展的趨勢。但是在實際應用中,仍要根據(jù)具體情況進行程序的優(yōu)化和軟硬件的結(jié)合,使虛擬儀器發(fā)揮更高的性能。
本文作者創(chuàng)新點:采用Labview設(shè)計了一虛擬數(shù)字濾波器,該虛擬數(shù)字濾波器能夠?qū)в懈蓴_信號的正弦波、三角波、方波、鋸齒波信號按照要求進行濾波,具有人機交互性好、易于操作等特點,能夠廣泛的應用于教學。
參考文獻:
[1] 丁玉美,高西全.數(shù)字信號處理[M].西安:西安電子科技大學出版社,2003。
[2] Robert H.Bishop [美].LabVIEW7實用教程[M].北京:電子工業(yè)出版社,2005。
[3] Instrumnts Catalogue. U.S. National Instruments,2003。
周偉林,楊華勇,李清峰.基于LabVIEW的數(shù)字濾波器的設(shè)計[J] .微計算機信息,2006,5-1:163-164。