賈峰 郭勇 董翰川 蔚俊剛
成都理工大學(xué)信息科學(xué)與技術(shù)學(xué)院電子信息工程研究室,四川,成都 610059
基于LabVIEW的噪聲采集器設(shè)計
賈峰 郭勇 董翰川 蔚俊剛
成都理工大學(xué)信息科學(xué)與技術(shù)學(xué)院電子信息工程研究室,四川,成都 610059
LabVIEW;噪聲采集;聲卡
LabVIEW是目前應(yīng)用最廣、發(fā)展最快、功能最強的圖形化軟件集成開發(fā)環(huán)境,被視為數(shù)據(jù)采集和儀器控制軟件的一個標準。它提供很多外觀和實際儀器十分相似的控件,可用來創(chuàng)建友好的用戶界面,軟件代碼用的是圖形化代碼即G(Graphic)語言。軟件盡可能地利用科學(xué)家和工程技術(shù)人員所熟悉的專業(yè)術(shù)語和圖表編寫程序,使用LabVIEW大大縮減了程序編寫時間,提高了開發(fā)效率[1]。
虛擬儀器,是模擬現(xiàn)實世界中的儀器,功能類似于傳統(tǒng)儀器。虛擬儀器也一個按照儀器需求組織起來的數(shù)據(jù)采集系統(tǒng)[3],包含數(shù)字信號的處理和數(shù)據(jù)的采集。數(shù)據(jù)采集系統(tǒng)的組成框圖如圖1所示:
圖1 數(shù)據(jù)采集系統(tǒng)
該設(shè)計即是一個簡單的數(shù)據(jù)采集系統(tǒng),以噪聲為采集信號,以聲卡為數(shù)據(jù)采集設(shè)備,通過頻譜測量對采集的噪聲信號進行相位譜分析和功率譜分析,以LabVIEW為開發(fā)平臺實現(xiàn)噪聲采集器的設(shè)計。
該系統(tǒng)的硬件采用計算機的聲卡作為采集設(shè)備,噪聲信號通過聲卡的麥克口傳送到聲卡,再由LabVIEW進行數(shù)據(jù)分析和處理[5]。若環(huán)境噪聲信號幅值過大,需要加一信號衰減器,將信號幅值降低到聲卡所能接受的范圍內(nèi)。由于此設(shè)計為簡單噪音的采集,一般情況下噪聲信號不會超過聲卡的最大負荷,故采用普通聲卡作為采集設(shè)備即可。
圖2 軟件設(shè)計總框圖[6]
3.1 軟件總體設(shè)計框圖,見圖2。
3.2 軟件成果
軟件成果如圖3所示。
采集器前面板包括四大部分:五個按鍵、采集參數(shù)設(shè)置、回放參數(shù)設(shè)置和采集波形、分析波形、回放波形顯示。五個按鍵分別是開始采集、停止采集、回放、停止回放和退出系統(tǒng)。采集參數(shù)設(shè)子包括采樣率、每通道采樣數(shù)、采集時長等?;胤艆?shù)設(shè)置部分包括音量大小設(shè)置、回放進度、是否正在回放指示燈等。波形部分顯示采集的波形、回放的波形和數(shù)據(jù)分析的波形。
印度旅行商協(xié)會成立于1951年,擁有2500多家會員,是印度規(guī)模最大、歷史最悠久的旅游協(xié)會,與印度旅游部等政府部門合作關(guān)系密切。此前,協(xié)會曾在英國倫敦、阿聯(lián)酋阿布扎比、印尼巴厘島、泰國普吉島、土耳其伊斯坦布爾等全球著名旅游目的地舉辦年會,取得良好反響。
圖3 系統(tǒng)用戶界面
下面對軟件的開發(fā)過程加以詳細說明。
3.3 數(shù)據(jù)采集和數(shù)據(jù)處理部分
聲音的采集部分程序如圖4所示。
圖4 數(shù)據(jù)采集程序框圖
Sound Input Configure.vi配置聲音輸入設(shè)備,采集數(shù)據(jù)并將數(shù)據(jù)發(fā)送到緩存,這里每通道采樣數(shù)設(shè)為10k,采樣率設(shè)為22050,通道數(shù)2,每采樣比特數(shù)16。Sound Input Start.vi開始從設(shè)備上采集數(shù)據(jù)。Sound Input Read.vi放置于While循環(huán)內(nèi),以便從聲音輸入設(shè)備連續(xù)讀取數(shù)據(jù)并通過波形控件顯示出來,這里每通道采樣數(shù)也設(shè)為10k。Sound Input Stop.vi停止從輸入設(shè)備采集數(shù)據(jù)。Sound Input Clear.vi清空緩存,將任務(wù)返回至默認的默認的未配置狀態(tài),并釋放與任務(wù)相關(guān)的資源。此外,還調(diào)用了兩個Get Time/Date in Seconds. vi,分別放置于While循環(huán)外面和里面,完成采集數(shù)據(jù)時長。
數(shù)據(jù)處理部分則使用頻譜測量快速函數(shù),分別配置為功率譜測量和幅值測量,相位部分選擇了相位展開和轉(zhuǎn)換為度選項。兩個波形圖顯示功率譜和相位譜信息。
3.4 數(shù)據(jù)存儲部分
數(shù)據(jù)存儲部分程序如圖5所示。
圖5 數(shù)據(jù)存儲程序框圖
對采集的聲音數(shù)據(jù)采用.wav格式寫入保存。文件對話框函數(shù)用于顯示對話框來確定文件路徑或目錄。Sound File Write Open.vi打開一個用于讀取的.wav格式的文件,或創(chuàng)建一個新的.wav格式文件,手動選擇多態(tài)vi實例為“寫入”。Sound File Write.vi置于While循環(huán)內(nèi)將來自波形或波形數(shù)組的數(shù)據(jù)連續(xù)寫入到.wav文件。另外,在循環(huán)寫入.wav文件過程中為了數(shù)據(jù)的覆蓋,要將文件引用句柄設(shè)置在上次寫入的末尾,這里將Sound File Write Open. vi的文件引用句柄在循環(huán)結(jié)構(gòu)的連接點設(shè)置為移位寄存器。Sound File Close.vi關(guān)閉一個.wav文件。
3.5 數(shù)據(jù)回放
將采集的聲音數(shù)據(jù)保存在.wav文件中后,可以實現(xiàn)聲音信息的回放。數(shù)據(jù)回放程序框圖如圖6所示。
圖6 數(shù)據(jù)回放程序框圖
數(shù)據(jù)回放部分既顯示存儲的聲音波形,又播放采集的聲音。文件對話框函數(shù)顯示對話框確定需要回放的波形文件。Sound File Info.vi獲取聲音文件的信息,如文件存放路徑、采樣總數(shù)、聲音格式。Sound File Read Open.vi打開一個用于讀取的聲音文件,手動選擇多態(tài)實例為“讀取”。Sound Output Configure.vi配置生成數(shù)據(jù)的聲音輸出設(shè)備。Sound File Read.vi讀取.wav格式的聲音文件,以波形方式顯示出來。Sound Output Set Volume.vi設(shè)置聲音的輸出音量。Sound Output Write.vi將聲音寫入到輸出設(shè)備。通過時間差和系統(tǒng)進度條顯示回放進度。
該設(shè)計介紹了噪聲采集器的設(shè)計,借助LabVIEW軟件實現(xiàn),對采集數(shù)據(jù)進行波形顯示、存儲及回放,數(shù)據(jù)以.wav格式存儲。圖3為實地噪聲采集的效果,該采集器對人類生存環(huán)境噪聲的采集提供一定的依據(jù)[4]。
[1]Jeffrey Travis, Jim Kring. LabVIEWf or Everyone GraphicaPl rogramminMg ade Easy and Fun Third Edition[M]. 北京:電子工業(yè)出版社,2008.
[2]董翰川,郭勇,李文杰. LabVIEW串口通信在數(shù)據(jù)采集中的應(yīng)用[J].微型機與應(yīng)用,2011,12(23):63.
[3]阮奇楨.我和LabVIEW—一個NI工程師的十年編程經(jīng)驗[M]. 北京:北京航空航天大學(xué)出版社,2009.
[4]朱紅林. 基于LabVIEW的虛擬示波器的設(shè)計[J]. 電子工程師,2006,32(11),17-19.
[5]徐曉東. LabVIEW8.5常用功能與編程實例精講[M]. 北京:電子工業(yè)出版社,2009.
[6]賈峰,郭勇,董翰川.基于LabVIEW的虛擬錄音機設(shè)計[J].計算機與信息技術(shù),2012(1):11-12.
TP311
A
賈峰(1983--),男,碩士,通信與信息系統(tǒng)專業(yè),研究方向:移動通信技術(shù)。
10.3969/j.issn.1001-8972.2012.12.079