尚秋峰,陳于揚
(華北電力大學電子與通信工程系,河北 保定 071003)
虛擬儀器可用通用計算機為核心,由用戶自己設計定義并確定測試功能的一種儀器系統(tǒng)。與傳統(tǒng)儀器相比,虛擬儀器具有性價比高,研制周期短及升級簡單等優(yōu)點。決定虛擬儀器的實現(xiàn)以及具備上述優(yōu)勢的關鍵是軟件[1-2]。
基于LabVIEW圖形化編程語言開發(fā)的虛擬信號發(fā)生器,可以通過調(diào)用或修改流程圖中不同的功能函數(shù)得到不同的信號,如正弦波、方波和三角波等。本系統(tǒng)采用模塊化、層次化設計架構,可以降低系統(tǒng)設計的復雜度,且便于二次開發(fā)。虛擬信號發(fā)生器具有以下功能:
(1)用戶登錄以及軟件過期驗證。
(2)信號發(fā)生器系統(tǒng)可以產(chǎn)生正弦,方波,三角波,鋸齒波及任意信號等多種信號。此外,還可以疊加噪聲和編輯公式信號,亦可以通過聲卡采集聲音信號進行輸出。
(3)多種濾波功能,包括平滑濾波、低通、高通、帶通和帶阻等。
(4)可以選擇寫入表格或文本文件存儲。
(5)波形信號寫入聲卡及轉換為聲音輸出。
(6)信號波形經(jīng)DAQ采集卡輸出。
虛擬信號發(fā)生器前面板如圖1所示。通過面板的各種旋鈕、開關及下拉菜單等控件可以實現(xiàn)對整個系統(tǒng)的控制。而且實時波形顯示窗口能對產(chǎn)生的信號波形進行預覽和監(jiān)視,以進行校正。
圖1 虛擬信號發(fā)生器前面板
本系統(tǒng)采用了順序執(zhí)行結構、while loop循環(huán)結構和case條件判斷結構構成系統(tǒng)程序框架,執(zhí)行程序時先進行用戶登錄和軟件過期驗證。在用戶登錄正確和軟件未過期的條件下便進入程序主體部分,否則提示出錯并退出主程序。詳細的功能設計描述如下:
(1)用戶登錄及軟件過期驗證
采用Case條件判斷結構對登錄用戶姓名和密碼進行驗證。當用戶名和密碼全部正確時,指示燈點亮后判斷軟件是否過期,未過期時指示燈點亮。
(2)信號發(fā)生部分
系統(tǒng)的虛擬信號發(fā)生模塊產(chǎn)生基本信號,既可以利用formula waveform.vi進行公式編輯產(chǎn)生;也可以利用聲音采集模塊采集聲音信號。我們可以通過面板旋鈕來進行頻率、幅度、占空比和初始相位調(diào)節(jié),并可通過文本框來編輯信號,還可選擇通道一、通道二和雙通道來輸出波形信號。
(3)濾波部分
為獲得純正的信號波形,需要對各個通道產(chǎn)生的信號進行濾波。系統(tǒng)通過索引函數(shù)提取信號,通過選擇菜單選擇所需濾波種類,其中包括平滑、低通、高通、帶通和帶阻濾波等。通過面板旋鈕可以確定濾波器的高、低截止頻率,但必須要注意高低截止頻率的設置不能超出允許范圍。
(4)存儲波形
我們可以通過索引數(shù)組函數(shù)進行提取各個通道產(chǎn)生的各種信號進行存儲。利用選擇菜單選擇存儲文件類型。
(5)寫入聲卡
為了使學生直觀體驗虛擬儀器對信號進行綜合處理的功能,可以通過聲卡采集聲音信號,對聲音信號添加噪聲再濾波,產(chǎn)生聲音波形信號。系統(tǒng)是通過聲音輸出配置函數(shù)、音量調(diào)節(jié)函數(shù)、寫入聲卡函數(shù)和聲音輸出清零函數(shù)的操作將波形信號轉化成聲音信號輸出。LabVIEW中的聲音格式分mono 8 bit、mono 16 bit、stereo 8 bit和 stereo16 bit等四種;聲卡播放數(shù)據(jù)的刷新速率也有四種,即 8000 Hz、11025 Hz、22050 Hz和44100 Hz。速率不同時輸出波形的質(zhì)量也不同 ,應視具體情況選擇合適的速率。系統(tǒng)根據(jù)主流聲卡的性能指標 ,默認設置刷新速率為44.1 kHz,采樣位數(shù)16 bit,輸出方式為單聲道 ,這樣采樣的波形穩(wěn)定,而且干擾小。學生可以通過耳麥收聽濾波前和濾波后的聲音信號進行直觀的聽覺比較,也可以通過波形顯示窗口觀察濾波器對疊加噪聲后的聲音信號處理效果。
(6)波形信號經(jīng)DAQ輸出
本系統(tǒng)中使用美國NI公司的M系列DAQ數(shù)據(jù)采集卡PCI-6251,輸出模擬信號。信號發(fā)生部分產(chǎn)生的信號,或濾波之后的信號都可以通過采集卡輸出到實際外設的示波器上觀察。
虛擬信號發(fā)生器以PC機強大的信息處理能力為依托,利用LabVIEW多線程技術及圖形化、結構化的特征,實現(xiàn)多種常用信號和特殊信號的生成及模擬輸出。本文介紹的虛擬信號發(fā)生器,以Lab-VIEW軟件為開發(fā)環(huán)境,以其內(nèi)部各功能函數(shù)為實現(xiàn)方式,采用模塊化設計思想,以前面板為虛擬信號發(fā)生器操作界面,既可以產(chǎn)生基本的常用信號和任意波形信號,可以使用各種濾波功能對其濾波以滿足實際需求。我們也可以將產(chǎn)生的波形數(shù)據(jù)寫入文件以備日后查驗。
[1]范福玲,韓勤勛.基于Labview的虛擬信號發(fā)生器的設計[J].鄭州:中原工學院學報.2006.17(4):26-28
[2]楊樂平,李海濤,楊磊.Labview程序設計與應用(第2版)[M].西安:電子工業(yè)出版社,2005
[3]向英,吳先球.虛擬信號發(fā)生器基于聲卡的設計與實現(xiàn)[J].廣州:廣工師范學院報.2006.6
[4]龍華偉,顧永剛.LabVIEW 8.2.1與 DAQ數(shù)據(jù)采集[M].北京:清華大學出版社,2008