聲卡數(shù)據(jù)采集設(shè)計論文

時間:2022-07-14 08:40:00

導(dǎo)語:聲卡數(shù)據(jù)采集設(shè)計論文一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

聲卡數(shù)據(jù)采集設(shè)計論文

摘要:介紹了一種利用vc++實現(xiàn)基于聲卡的雙通道數(shù)據(jù)采集系統(tǒng),實現(xiàn)了波形發(fā)生器與頻率測量等基本功能,為低成本下構(gòu)建數(shù)據(jù)采集系統(tǒng)與波形發(fā)生器提供了一種思路。

關(guān)鍵詞:聲卡數(shù)據(jù)采集頻率測量

一、概述

數(shù)據(jù)采集是信號分析與處理的一個重要環(huán)節(jié),在許多工業(yè)控制與生產(chǎn)狀態(tài)監(jiān)控中,都需要對各種物理量進(jìn)行數(shù)據(jù)采集與分析。但是,專用數(shù)據(jù)采集卡的價格一般比較昂貴,而我們PC機(jī)的聲卡就是一個很好的雙通道數(shù)據(jù)采集卡。實際測量中,在滿足測量要求的前提下,可以充分利用計算機(jī)自身資源,完成數(shù)據(jù)采集任務(wù),從而節(jié)省成本。

本文利用vc編程實現(xiàn)了聲卡的雙通道數(shù)據(jù)采集,并且對信號進(jìn)行頻譜分析同時實時測量出信號的頻率。還利用聲卡的DA通道,實現(xiàn)了正弦波、方波、三角波輸出的信號發(fā)生器。波形發(fā)生器產(chǎn)生的信號同時還可以作為內(nèi)部測試用信號,檢驗數(shù)據(jù)采集的準(zhǔn)確性。

二、聲卡數(shù)據(jù)采集系統(tǒng)硬件組成

LineOut

圖1聲卡數(shù)據(jù)采集的硬件組成圖

利用聲卡進(jìn)行數(shù)據(jù)采集的硬件組成如圖1所示。通常,利用聲卡的LineIn端作為信號輸入端口,兩路被測的模擬信號經(jīng)過左右聲道,A/D轉(zhuǎn)換進(jìn)入計算機(jī),通過vc編寫的虛擬儀器界面顯示出來。聲卡一般都具有單、雙聲道輸入,從而可實現(xiàn)單雙通道的采集.雙通道采集時,聲卡采用并行采集,并具有采樣保持功能,兩個通道的數(shù)據(jù)不存在時間差,第一通道和第二通道數(shù)據(jù)存儲在同一個數(shù)據(jù)緩沖區(qū)中,且等間隔存儲,奇數(shù)序列是一個通道數(shù)據(jù),偶數(shù)序列為另一個通道數(shù)據(jù).讀取數(shù)據(jù)時,將緩沖區(qū)中的數(shù)據(jù)全部讀入到一個數(shù)組中,然后對該數(shù)組數(shù)據(jù),采用隔一點取一點的方法,將數(shù)據(jù)分開并分別存到另外的兩個數(shù)組中,即將兩個通道的數(shù)據(jù)分開,從而實現(xiàn)了雙通道的采集.單通道采集時,緩沖區(qū)中僅僅是一個通道的數(shù)據(jù),直接保存到一個數(shù)組即可。同時,信號發(fā)生器產(chǎn)生的波形也可經(jīng)過Lineout端輸出。

為了保護(hù)聲卡,被測信號并不是直接進(jìn)入聲卡,而是先經(jīng)過一個信號調(diào)理電路,對信號進(jìn)行放大或限幅,濾波等處理,信號調(diào)理電路如圖2所示。(a)圖是直流電平疊加模塊:C1代表信號的輸入,D1代表疊加直流電平后信號的輸出,電位器R8控制輸入直流電平的大?。唬╞)圖是信號疊加模塊:A1、A2代表疊加信號的輸入,B1代表疊加后信號的輸出;(c)圖是模擬濾波模塊:LPIN代表濾波器的輸出,LPOUT代表濾波器的輸出,調(diào)節(jié)R6可以控制輸出的、幅度大小。當(dāng)然可以根據(jù)需要在調(diào)理電路中加入一些其它的模塊。

圖2信號調(diào)理電路

三、聲卡采集系統(tǒng)的軟件編程

微軟公司已經(jīng)提供了一系列API函數(shù)用于對聲卡的操作,為了將需要用到的函數(shù)封裝成了一個類,編程時只需直接調(diào)用。使用的API函數(shù)有:

waveInGetDevCaps實現(xiàn)聲卡的性能測試

waveInOpen打開波形輸入設(shè)備

waveInPrepareHeader為波形輸入準(zhǔn)備緩沖區(qū)

waveInAddBuffer將數(shù)據(jù)緩存發(fā)送給波形輸入設(shè)備驅(qū)動

waveInStart啟動向波形輸入緩沖區(qū)存儲數(shù)據(jù)

waveInUnprepareHeader釋放波形輸入緩沖區(qū)

waveInStop停止向波形輸入緩沖區(qū)存儲數(shù)據(jù)

waveInClose關(guān)閉波形輸入設(shè)備

設(shè)計的軟件界面如圖3所示。目前所實現(xiàn)的功能有:

圖3軟件界面設(shè)計

1.兩路波形發(fā)生器??僧a(chǎn)生正弦波、方波和三角波,并且頻率和幅值可調(diào)。

2.頻譜分析儀??梢詫Σ杉男盘栠M(jìn)行頻譜分析。頻譜分析采用了快速傅立葉變換(FFT)算法,并且將其封裝成獨立的函數(shù),方便調(diào)用。

3.頻率計。同時還可以實時地測量出采集到的信號的頻率。在利用程序計算頻率時,一般采用兩種方法。一種是利用快速傅立葉變換,它的優(yōu)點是不僅能對標(biāo)準(zhǔn)的周期波形進(jìn)行測量,而且能夠計算出各種復(fù)雜波形和信噪比非常低的信號的頻率值,缺點是分辨率受到限制。另一種計算頻率的方法是采用脈沖計數(shù)法。它的優(yōu)點是測量低頻信號時精度高,但它不適合波形復(fù)雜和信噪比低的信號頻率測量。所以在測量過程中,程序先判斷信號上述的性質(zhì),根據(jù)信號的性質(zhì),自動地采用相應(yīng)的測量方法。

四、小結(jié)

采用聲卡制作的信號采集系統(tǒng),具有廉價、方便等優(yōu)點,它可用于振動、噪聲、位移、溫度、壓力等各種物理量的測試。但是一般的聲卡支持的采樣頻率有11025、22050和44100,對高頻信號的采集會出現(xiàn)失真。總之,運用廉價的聲卡,輔以適當(dāng)?shù)能浖幊?,可以?gòu)成一個較高采樣精度,中等采樣頻率且具有很大靈活性的數(shù)據(jù)采集系統(tǒng)。

參考文獻(xiàn)

[1]種蘭祥,閻麗,張首軍.基于計算機(jī)聲卡的多通道數(shù)據(jù)采集系統(tǒng).西北大學(xué)學(xué)報,2002.

[2]云升,姚曉,夏志忠.vc++聲卡低層音頻服務(wù)的編程技術(shù).計算機(jī)應(yīng)用,2002.

[3]鄭繼明,李儀.聲卡在數(shù)據(jù)采集中的應(yīng)用[J].國外電子測量技術(shù),2000(5).

[4]MatthewMiller,BaoMi,Developmentofautomatedreal-timedataacquisitionsystemforroboticweldqualitymonitoring,Mechatronics,2002.12.