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