基于聲卡的數據采集系統_第1頁
基于聲卡的數據采集系統_第2頁
基于聲卡的數據采集系統_第3頁
基于聲卡的數據采集系統_第4頁
基于聲卡的數據采集系統_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗七:基于聲卡的數據采集系統1實驗目的(1)學習用聲卡作為數據采集裝置的LabVIEW編程方法;(2)從設計中深入理解虛擬儀器的組成,理解數據采集、數據分析的重要性,用LabVIEW實現測試系統的優點;(3)實驗的應用:目前的測試教學實驗中常常要用到A/D采集卡,而A/D采集卡價格不菲,以實驗室有限的經費,不能較多地購置以供同學們實驗使用。進而考慮計算機中的聲卡本身就是一個A/D、D/A的轉化裝置,而且造價低廉,性能穩定,在教學實驗中完全可以滿足實驗的需求,可以進一步開發研制一個廣泛應用的測試教學實驗系統。2實驗設備、儀器計算機、聲卡、LabVIEW軟件,其組成如下圖。3實驗任務設計一個基于

2、聲卡的頻譜分析儀,它可以采集從麥克風輸入的聲音,儀器可以調節采樣頻率、數據緩沖區的大小等,可顯示其波形,并對波形作幅值譜分析。4實驗原理4.1聲卡簡介聲卡是現在計算機中非常常見的一個組件,是多媒體的標準配置。目前市場上的一般聲卡按照其位數可以分成8位和16位:8位:8位聲卡把音頻信號的大小(音量)分成256個等級(0255)。16位:16位聲卡把音頻信號的大小分成為65536個等級(065535)。位數的每一等級對應一個相應的二進制數。在聲音錄入(采樣)時,按其音量大小給定一個二進制數,播放時按此二進制數實施還原。顯然,在LabVIEW軟件中,對于聲卡的聲道可以分為mono8-bit(單聲道8

3、位)、mono16-bit(單聲道16位)、stereo8-bit(立體聲8位)、stereo16-bit(立體聲16位)。其中,16位聲道比8位聲道采樣的信號質量好,立體聲(stereo)比單聲道(mono)采樣信號好,采樣的波形穩定,而且干擾小。另外,用單聲道采樣,左右聲道信號都相同,而且每個聲道的幅值只有原來幅值的1/2;用立體聲采樣,左右聲道信號互不干擾,可以采兩路不同的信號,而且采樣的信號幅值與原幅值相同。聲卡的采木頻率(rate)有4種選擇,即8000Hz、11025Hz、22050Hz、44100Hz,采樣頻率不同,采到波形的質量也不同,應該根據具體情況而采用合適的頻率。4.2L

4、abVIEW中有關聲卡的函數簡介LabVIEW中提供了一系列使用Windows底層函數編寫的與聲卡有關的函數。這些函數集中在下圖所示的SoundVI下。由于使用Windows底層函數(不是更高級更方便的MCI函數以及DirectX接口)直接與聲卡驅動程序打交道,因此封裝層次低,速度快,而且可以訪問、采集緩沖區中任意位置的數據,具有很大的靈活性,能夠滿足實時不間斷采集的需要。Beep中SoundSndReadWaveformSoundOutputSoundInputInfoSI7SOWE圖SoundVI本節主要關心的是SoundOutput和SoundInput這兩個子模板。下表是SoundIn

5、put中提供的函數。表SoundInput函數簡介圖標函數名稱功能說明COMFIGmSIConfig該函數的功能是設置聲卡中與數據米集相關的一些硬件,如米樣率、數據格式、緩沖區長度。聲卡的采樣率由內部時鐘控制,只有34種固定頻率可以選擇,一般采樣頻率設置為44100Hz,數據格式設置為16位字長。緩沖區長度可取默認值。IcTAHI典SIStart該函數用于通知聲卡開始米集外部數據。米集到的數據會被暫存在緩沖區中,這一過程尢需程序十預,由聲卡硬件使用DMA直接完成,保證了采集過程的連續性。該函數用于等待數據緩沖區滿的消息。當產生這一消息時,它將數據緩沖區的內容讀取到用戶程序的數組中,產一個采集數

6、據集合。升計算機速度不夠快,使得緩沖區內容被覆蓋,則點0|豳SIRead會產L個錯誤信息。這時應調節緩沖區大小,在米樣時間與讀取數據之間找到一個理想的平臺。STOP1誦SIStop該函數用于通知聲卡停止米集外部數據。已米集而未被讀出的數據會留在緩沖區中,可以使用SIRead函數一次完成。ICLEAR咽SIClear該函數用于完成最終的清理工作,例如關閉聲卡的米樣通道,釋放請求的一系列系統資源(包括DMA緩沖區內存、聲卡端口等)由上面的介紹可以看出,使用LabVIEW構建基于聲卡的虛擬儀器思路是相當清晰的。實際的數據采集流程如下圖所示,這個流程與一般數據采集卡并無多大差別。圖聲卡數據采集的流程聲

7、音的輸出是聲卡的主要功能。SoundOutput中提供的有關聲音輸出的函數比SoundInput的函數相對多一些,有:SOClearSOStopSOConfigSOVolumeSOPauseSOWaiteSOStartSOWriteSOSetNumBuffers5實驗步驟1 .選才FFile>>New,打開一個新的前面板窗口。2 .從AllControl>>Graph中選擇2個WaveformGraph放到前面板中。3 .在第一個WaveformGraph的標簽文本框中輸入"TimeWaveform”。4 .在第二個WaveformGraph的標簽文本框中輸入

8、“Spectrum”,然后在其屬性對話框選擇Scales,將縱坐標的name改為Magnitude。5 .Windows>>ShowBlockDiagram打開流程圖窗口。從功能模塊中選擇對象,將它們放到流程圖上組成下圖;ICompUl:呂th已ipettrurnuF己匚quirBd$ciundSound0-3*0|dt芍15,口位加而L卜m|deyice|BufFgr$識目MiCONFIGSVSTART51REHDSISTOP&回CLERRConfiguresoundcard切input圖流程圖該流程圖中新增加的控件有WhileLoop、CaseStructure、SIC

9、onfig、SIStart、SIRead、SIStop、SIClear、BuildWaveformTimeWaveform是由前面板的設置后自動帶出來的;、以及減法器、等等,Spectrum、6.由Functions>>Numeric中拖出;7.從Functions>>Structure中選擇While循環、Case結構,把它們放置在流程圖中。將其拖至適當大小,再將相關對象移到循環圈內。8.COMFIG?TRRTR晶D8鉆PCLEfll?I研皿0W暇中I旬I©/從Functions>>Graphics&Sound>>Sound&

10、gt;>SoundInput中選擇SIConfig、SIStart、SIRead、SIStop、SIClear,按圖1-3所示將連續的模出和連續的模入通過Error的數據線相互關聯在一起。即即J忖從匕HJGraphics&SoundoHFuriI.Hiriiq§日日irh|(MagPhase).vi拖出;11.厘亙從由Functions>>Numeric>>Conversion>>ToTimeStamps拖出;14.用連線工具將各對象按流程圖所示連接起來;12.的errorout,用create中導出個cluster國,選TF得至IJ

11、;13.臼西可從15.選才FFile>>Saveas,把該VI保存為SoundSpectrum在希望的目錄中,在前面板中,單擊Run(運行)按鈕,運行該VI。運行后,對麥克風輕輕哼一個小調,所得到的聲音波形mono022050巨卻用create中導出一個cluster卜8bitTI1選(22050)rate得9.從laR1Q麴Functions>>BuildWaveform中選擇BuildfrO三口ndInpu:CLEARREADSUCOHfIGMTWaveform15ourdfem漱IGSJI'1一向;10.幅值譜分析IbtI從Functions>>Analyze>>WaveformeMeasurements>>FFTSpectrumGraphics&5oundSoundSoundInput和其幅值譜顯示如下:bitspersarnieTimeWdveTormiWaw時armiBufferSize

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論