LabVIEW在智能虛擬儀器仿真中的應(yīng)用
圖10 低通濾波器實驗框圖程序
(3) 選擇"有源濾波器"的情況略有不同。由于輸入波形為400Hz 方波,為很多不同頻率的正弦波疊加而成,不能像前兩個濾波器那樣由公式節(jié)點計算,需要引入LabVIEW 提供的數(shù)字濾波器。該實驗的框圖程序如圖11 所示。
圖11 有源濾波器實驗框圖程序
如果濾波器的輸入輸出都是離散的時間信號,那么該濾波器的沖擊響應(yīng)也必然是離散的,稱這樣的濾波器為數(shù)字濾波器。它的功能是把輸入序列通過一定的運算編程輸出序列, 同時起到濾波的作用。設(shè)h ( n) , n = 0 ,1 ,2 ??是濾波器的沖擊響應(yīng),一個線性時不變因果(所謂因果性是指系統(tǒng)的輸出僅取決于過去和現(xiàn)在的輸入) 濾波器若對所有的n ≥N ( N 為有限正整數(shù)) ,有h ( n) = 0 ,則稱其為有限沖擊響應(yīng)濾波器( FIR) ,否則稱之為無限沖擊響應(yīng)濾波器( I IR) .LabVIEW 提供的數(shù)字濾波器使用方便,只需根據(jù)需要設(shè)定各參數(shù)即可。本系統(tǒng)中使用FIR 濾波器。在對相位信息有要求時,通常使用FIR 濾波器。因為FIR 濾波器的相頻相應(yīng)總是線性的,可以防止時域數(shù)據(jù)發(fā)生畸變。
系統(tǒng)中使用的DigitalFIRFilter. vi 在進行濾波的同時還可以輸出幅頻響應(yīng)和相頻響應(yīng)。將該濾波器設(shè)定為中心頻率為400Hz 的帶通濾波器, 當(dāng)400Hz 方波通過該濾波器時, 可以得到較好的400Hz 正弦波,并且輸出幅頻特性曲線。由于與前面的實驗測量對象不同, 示波器控件的Xscale.
Maximum 屬性需要進行相應(yīng)的調(diào)節(jié)。
2.3 數(shù)據(jù)的保存
實驗結(jié)束以后為了使學(xué)生可以將實驗數(shù)據(jù)拷貝帶出實驗室,數(shù)據(jù)的保存就成了客戶端不可缺少的程序。該框圖程序如圖12 所示。
圖12 數(shù)據(jù)保存的框圖程序
首先,把客戶端發(fā)給服務(wù)器的數(shù)據(jù)流分解,再重新組合成存入文件的數(shù)據(jù)格式。該功能由Fil2terCreateRxSt ring. vi 完成,它位于安裝目錄下的function 目錄中,它的圖標(biāo)如圖13 所示。
圖13 FilterCreateRxString. vi 圖標(biāo)
該子VI 的功能與服務(wù)器數(shù)據(jù)流處理的程序大致相同,只是組成存入文件字符串時有所不同。
它把數(shù)據(jù)分為兩行,第一行為姓名、學(xué)號,第二行為實驗數(shù)據(jù)。每個數(shù)據(jù)項之間加入tab 空格,數(shù)據(jù)的精度控制為3 位浮點型,每行結(jié)束添加回車換行符。這樣規(guī)定數(shù)據(jù)格式的好處是最后生成的。 txt文件可以被Excel 以電子表格的形式打開,便于分類管理。生成文件字符串后,通過Write Charac2ters To File. vi 寫入文件:濾波器實驗數(shù)據(jù)。 txt .為使該文件的所在目錄不隨著客戶端程序所在位置的改變而無法找到,在保存之前,先指定客戶端運行所在的當(dāng)前目錄,也就是說該文件的目錄必須是相對目錄。取得當(dāng)前目錄功能由GetCurrentDi2rectory. vi 實現(xiàn),它的框圖程序如圖14 所示。
圖14 取得當(dāng)前目錄的框圖程序。
在這個框圖程序中使用了LabVIEW 提供的調(diào)用庫函數(shù)節(jié)點(Call Library Function Node. vi) ,利用這個節(jié)點,可以在LabVIEW 中實現(xiàn)DLL 和API 函數(shù)的調(diào)用。
實現(xiàn)取得當(dāng)前目錄調(diào)用的是kernel32. dll 中的long GetCurrentDirectoryA() ;函數(shù),需要在框圖程序中創(chuàng)建調(diào)用庫函數(shù)節(jié)點,添加length和buffer 兩個參數(shù),使該函數(shù)變?yōu)閘ong GetCurrentDirectoryA(long length ,CStr buffer) ;.該函數(shù)返回值為當(dāng)前目錄的字符串,在其后添加濾波器實驗數(shù)據(jù)。 txt ,并把這個字符串轉(zhuǎn)化為文件路徑,這樣實驗數(shù)據(jù)的文件的所在目錄就變?yōu)橄鄬β窂搅恕V付宋募窂胶臀募?nèi)容,把存儲類型設(shè)為"append",最后通過Write Characters To File. vi將實驗數(shù)據(jù)寫入到文件中。
3 結(jié)束語
在虛擬儀器的基礎(chǔ)上開發(fā)虛擬儀器實驗室,與傳統(tǒng)的實驗室相比,虛擬儀器實驗室可以大大減少實驗設(shè)備資金的投入。并且在一臺計算機上可以實現(xiàn)諸如示波器、函數(shù)發(fā)生器、電壓表、頻譜分析儀等儀器的功能,節(jié)約了儀器成本,虛擬儀器基于軟件的體系結(jié)構(gòu)大大節(jié)省了開發(fā)和維護的費用。在大學(xué)教學(xué)中通過引入基于LabVIEW 虛擬儀器的教學(xué),便于開放式管理,擴大教學(xué)規(guī)模,也可以促進虛擬儀器在教學(xué)、實驗和工程領(lǐng)域的推廣。
評論