|
論文關(guān)鍵詞:聲卡 數(shù)據(jù)采集 MATLAB 信號(hào)處理 圖2-1 典型數(shù)據(jù)采集系統(tǒng)的組成
而一般的外置式數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)如圖2-2所示。模擬信號(hào)由傳感器采得經(jīng)過(guò)信號(hào)調(diào)理模塊送入數(shù)據(jù)采集硬件設(shè)備。在數(shù)據(jù)采集設(shè)備中完成A/D轉(zhuǎn)換,包括采樣、量化、編碼,轉(zhuǎn)化成數(shù)字信號(hào)后送入與之相連的PC機(jī)中。根據(jù)不同的要求,在PC機(jī)上利用MATLAB以及二次編程實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)分析與處理。用戶可以通過(guò)人機(jī)交互界面修改、設(shè)定各項(xiàng)參數(shù)來(lái)控制數(shù)據(jù)采集硬件設(shè)備的工作狀態(tài),同時(shí)可以得到數(shù)據(jù)的采集與分析結(jié)果, 從而實(shí)現(xiàn)數(shù)據(jù)采集與分析的自動(dòng)化。 ![]() 圖2-2 一般的外置式數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu) 利用聲卡在WINDOWS環(huán)境下開(kāi)發(fā)數(shù)據(jù)采集系統(tǒng)時(shí),由于受編程語(yǔ)言的限制,其數(shù)據(jù)分析與處理的功能非常有限。例如,為了對(duì)所采集的數(shù)據(jù)進(jìn)行功率譜分析,則需要用戶以VB或C語(yǔ)言來(lái)編寫(xiě)功率譜分析的子程序,這顯然增加了開(kāi)發(fā)的難度,并且也極不利于分析功能的進(jìn)一步擴(kuò)展。 而利用聲卡作為A/D轉(zhuǎn)換工具,經(jīng)過(guò)衰減和取樣電路得到的模擬信號(hào)送至聲卡的線路輸入端LINEIN,并利用MATLAB中提供的數(shù)據(jù)采集工具箱,可滿足控制聲卡進(jìn)行數(shù)據(jù)采集的要求。用戶通過(guò)調(diào)用MATLAB命令, 可對(duì)采集的數(shù)據(jù)進(jìn)行分析和處理。 整個(gè)系統(tǒng)可分為數(shù)據(jù)采集和數(shù)據(jù)分析兩大部分,以友好的圖形界面與用戶進(jìn)行交互溝通。數(shù)據(jù)采集部分實(shí)現(xiàn)數(shù)據(jù)采集功能,根據(jù)用戶選擇的采樣頻率和預(yù)設(shè)的采樣時(shí)間,從聲卡獲得用戶需要的數(shù)據(jù);數(shù)據(jù)分析部分對(duì)采集到的數(shù)據(jù)進(jìn)行頻譜分析。全部數(shù)據(jù)的時(shí)域和頻域波形以圖形方式直觀地呈現(xiàn)于用戶面前。此外,還提供保存數(shù)據(jù)以及回放數(shù)據(jù)的功能。 圖2-3給出了基于MATLAB的數(shù)據(jù)采集系統(tǒng)的簡(jiǎn)圖,主要部件數(shù)據(jù)采集工具箱提供了硬件驅(qū)動(dòng)程序和MATLAB環(huán)境之間“對(duì)話”所需的硬件驅(qū)動(dòng)程序適配器、數(shù)據(jù)采集引擎和M-文件函數(shù). ![]() 圖2-3 基于MATLAB的數(shù)據(jù)采集系統(tǒng)簡(jiǎn)圖 硬件驅(qū)動(dòng)程序適配器在硬件驅(qū)動(dòng)程序和數(shù)據(jù)采集引擎之間交換屬性數(shù)值、數(shù)據(jù)和事件;數(shù)據(jù)采集引擎用來(lái)存儲(chǔ)各個(gè)設(shè)備對(duì)象,以及每個(gè)設(shè)備對(duì)象的屬性值;對(duì)采集到的數(shù)據(jù)進(jìn)行存儲(chǔ)并且使不同事件同步;M-文件用來(lái)創(chuàng)建設(shè)備對(duì)象、采集或輸出數(shù)據(jù)、配置屬性值和檢測(cè)數(shù)據(jù)采集狀態(tài)和數(shù)據(jù)采集設(shè)備。 2.2 系統(tǒng)的特點(diǎn)和性能指標(biāo) 現(xiàn)代數(shù)據(jù)采集系統(tǒng)發(fā)展到今天,一般來(lái)說(shuō)具有如下主要特點(diǎn): ?。?)現(xiàn)代采集系統(tǒng)一般都由計(jì)算機(jī)控制,使得數(shù)據(jù)采集的質(zhì)量和效率等大為提高,也節(jié)省了硬件投資。 (2)軟件在數(shù)據(jù)采集系統(tǒng)中的作用越來(lái)越大,增加了系統(tǒng)設(shè)計(jì)的靈活性。 (3)數(shù)據(jù)采集與數(shù)據(jù)處理相互結(jié)合的日益緊密,形成數(shù)據(jù)采集與處理系統(tǒng),可實(shí)現(xiàn)從數(shù)據(jù)采集、處理到控制的全部工作。 (4)數(shù)據(jù)采集過(guò)程一般都具有“實(shí)時(shí)”特性,實(shí)時(shí)的標(biāo)準(zhǔn)是能滿足實(shí)際需要;對(duì)于通用采集系統(tǒng)一般希望有盡可能高的速度,以滿足更多的應(yīng)用環(huán)境。 ?。?)隨著電子技術(shù)的發(fā)展,電路集成度的提高,數(shù)據(jù)采集系統(tǒng)的體積越來(lái)越小,可靠性越來(lái)越高,甚至出現(xiàn)了單片數(shù)據(jù)采集系統(tǒng)。 ?。?)總線在數(shù)據(jù)采集系統(tǒng)中有著廣泛的應(yīng)用,總線技術(shù)它對(duì)數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)的發(fā)展起著重要作用。 評(píng)價(jià)一個(gè)數(shù)據(jù)采集系統(tǒng)的性能有很多指標(biāo),但是一般采用以下幾個(gè)比較常用的指標(biāo)進(jìn)行評(píng)價(jià)。 (1)系統(tǒng)分辨率 系統(tǒng)分辨率是指數(shù)據(jù)采集系統(tǒng)可以分辨的輸入信號(hào)的最小變化量。通常可以用如下幾種方法表示系統(tǒng)分辨率: 使用系統(tǒng)所采用的 A/D 轉(zhuǎn)換器的位數(shù)表示系統(tǒng)分辨率; 使用最低有效位值(LSB)占系統(tǒng)滿度值的百分比表示系統(tǒng)分辨率; 使用系統(tǒng)可分辨的實(shí)際電壓數(shù)值表示系統(tǒng)分辨率; 使用滿度值可以分的級(jí)數(shù)表示系統(tǒng)分辨率。 ?。?)系統(tǒng)精度 系統(tǒng)精度是指當(dāng)系統(tǒng)工作在額定采集速率下,整個(gè)數(shù)據(jù)采集系統(tǒng)所能達(dá)到的轉(zhuǎn)換精度。A/D 轉(zhuǎn)換器的精度是系統(tǒng)精度的極限值。實(shí)際上,系統(tǒng)精度往往達(dá)不到A/D 轉(zhuǎn)換器的精度。因?yàn)橄到y(tǒng)精度取決于系統(tǒng)的各個(gè)環(huán)節(jié)(子系統(tǒng))的精度,如前置放大器、濾波器、模擬多路開(kāi)關(guān)等。只有當(dāng)這些子系統(tǒng)的精度都明顯優(yōu)于 A/D 轉(zhuǎn)換器的精度時(shí),系統(tǒng)精度才有可能達(dá)到 A/D 轉(zhuǎn)換器的精度。系統(tǒng)精度是系統(tǒng)的實(shí)際輸出值與理論輸出值之差,它是系統(tǒng)各種誤差的總和,通常表示為滿度值的百分?jǐn)?shù)。 ?。?)采集速率 采集速率又稱為系統(tǒng)通過(guò)速率或吞吐率,是指在滿足系統(tǒng)精度指標(biāo)的前提下,系統(tǒng)對(duì)輸入的模擬信號(hào)在單位時(shí)間內(nèi)所能完成的采集次數(shù),或者說(shuō)是系統(tǒng)每個(gè)通道、每秒鐘可采集的有效數(shù)據(jù)的數(shù)量。這里說(shuō)的“采集”包括對(duì)被測(cè)物理量進(jìn)行采樣、量化、編碼、傳輸和存儲(chǔ)的全部過(guò)程。 ?。?)動(dòng)態(tài)范圍 動(dòng)態(tài)范圍是指某個(gè)確定的物理量的變化范圍。信號(hào)的動(dòng)態(tài)范圍是指信號(hào)的最大幅度和最小幅度之比的分貝數(shù)。 2.3 系統(tǒng)常見(jiàn)的幾種結(jié)構(gòu)形式 ?。?)多通道共享采樣/保持器和 A/D 轉(zhuǎn)換器數(shù)據(jù)采集系統(tǒng) 這種系統(tǒng)構(gòu)成如下圖所示,這種結(jié)構(gòu)形式采用分時(shí)轉(zhuǎn)換工作的方式,多路被測(cè)信號(hào)共用一個(gè)采樣/保持器和一個(gè) A/D 轉(zhuǎn)換器。當(dāng)采樣保持器的輸出已充分逼近輸入信號(hào)(按給定精度)時(shí),在控制命令的作用下,采樣保持器由采樣狀態(tài)進(jìn)入保持狀態(tài),A/D 轉(zhuǎn)換器開(kāi)始進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換完畢后輸出數(shù)字信號(hào)。在轉(zhuǎn)換期間,多路開(kāi)關(guān)將下一路信號(hào)切換到采樣/保持器的輸入端,系統(tǒng)不斷重復(fù)以上的操作,可以實(shí)現(xiàn)對(duì)多通道模擬信號(hào)的數(shù)據(jù)采集。采樣方式可以按順序或隨機(jī)進(jìn)行。 ![]() 多通道共享采樣保持器和 AD 轉(zhuǎn)換器數(shù)據(jù)采集系統(tǒng)圖 這種采集系統(tǒng)結(jié)構(gòu)形式最簡(jiǎn)單,所用芯片數(shù)量少,適用于信號(hào)變化率不高、對(duì)采樣信號(hào)不要求同步的場(chǎng)合。如果被測(cè)信號(hào)變化速率較慢,可以不用采樣保持器,直接進(jìn)行 A/D 轉(zhuǎn)換。如果信號(hào)很弱而干擾噪聲強(qiáng),需要在系統(tǒng)電路中增加信號(hào)放大電路和濾波環(huán)節(jié)。 (2)多通道同步數(shù)據(jù)采集系統(tǒng) ![]() 多通道同步型數(shù)據(jù)采集系統(tǒng)圖 其結(jié)構(gòu)如上圖所示,也屬于分時(shí)轉(zhuǎn)換系統(tǒng)。 多路模擬輸入信號(hào)共用一個(gè) A/D 轉(zhuǎn)換器,但是每個(gè)通道各有一個(gè)采樣/保持器,在同一采樣指令控制下對(duì)各路信號(hào)同步進(jìn)行信號(hào)采樣,得到各路信號(hào)在同一時(shí)刻的瞬時(shí)值。模擬開(kāi)關(guān)分時(shí)將各路采樣/保持器切換到 A/D 轉(zhuǎn)換器上,進(jìn)行模數(shù)轉(zhuǎn)換。這些同步數(shù)據(jù)可以描述各路信號(hào)的相位關(guān)系,所以這種結(jié)構(gòu)被稱為同步型數(shù)據(jù)采集系統(tǒng)。 由于各路信號(hào)必須串行的在共用的 A/D 轉(zhuǎn)換器中進(jìn)行轉(zhuǎn)換和計(jì)算,若采樣信號(hào)回路過(guò)多時(shí),這種采集結(jié)構(gòu)的速度仍然較慢。 ?。?)多通道并行數(shù)據(jù)采集系統(tǒng) ![]() 多通道并行數(shù)據(jù)采集系統(tǒng)框圖如上圖所示。這種結(jié)構(gòu)形式中,每個(gè)通道都有自己的采樣保持器和A/D轉(zhuǎn)換器,經(jīng)過(guò)A/D轉(zhuǎn)換的數(shù)據(jù)經(jīng)過(guò)接口電路送到計(jì)算機(jī)中。相對(duì)于前兩種數(shù)據(jù)采集系統(tǒng),這種結(jié)構(gòu)形式的數(shù)據(jù)采集速度最快,但所用的硬件電路復(fù)雜,成本較高。 通用型模擬量數(shù)據(jù)采集模塊則屬于這一類的數(shù)據(jù)采集子系統(tǒng)。數(shù)據(jù)采集模塊是屬于單片機(jī)的智能器件,在整個(gè)數(shù)據(jù)采集系統(tǒng)中,每個(gè)模塊可以認(rèn)為是實(shí)時(shí)、并行地工作,每個(gè)模塊僅完成幾路信號(hào)的檢測(cè)和采集,實(shí)時(shí)響應(yīng)性能優(yōu)。 (4)分布式數(shù)據(jù)采集系統(tǒng) 以上介紹的三種結(jié)構(gòu)形式中,系統(tǒng)各部件之間的空間距離很近,邏輯上耦合程度緊密,都可以稱之為數(shù)據(jù)采集系統(tǒng)。這種系統(tǒng)的優(yōu)點(diǎn)是:結(jié)構(gòu)簡(jiǎn)單,容易實(shí)現(xiàn),能滿足中小規(guī)模的集中數(shù)據(jù)采集的要求。在市面上均有成熟產(chǎn)品可供選用。系統(tǒng)的體積和設(shè)備量小,造價(jià)低。 由于工作原理、結(jié)構(gòu)形式和性能設(shè)計(jì)等原因,這類系統(tǒng)也存在不少缺點(diǎn): 因?yàn)橄到y(tǒng)結(jié)構(gòu)不靈活,不易擴(kuò)展,所以不適合大規(guī)模的數(shù)據(jù)采集應(yīng)用場(chǎng)合??垢蓴_能力差,尤其對(duì)于被測(cè)對(duì)象物理位置分散、傳感器輸出的微弱信號(hào)需要長(zhǎng)距離傳輸時(shí),所受的干擾不容忽視的??煽啃圆睢O到y(tǒng)結(jié)構(gòu)中某一部件出現(xiàn)故障會(huì)導(dǎo)致整個(gè)系統(tǒng)工作崩潰。由于各部件之間緊密耦合,導(dǎo)致系統(tǒng)的可擴(kuò)展性和靈活性差。分布式數(shù)據(jù)采集系統(tǒng)是數(shù)據(jù)采集技術(shù)、計(jì)算機(jī)技術(shù)和通信技術(shù)綜合和發(fā)展的產(chǎn)物,基于“分散采集、集中管理”的思想設(shè)計(jì)的系統(tǒng)結(jié)構(gòu)形式,由若干個(gè)“數(shù)據(jù)采集點(diǎn)”和上位機(jī)以及通信接口組成。分布式數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)如下圖所示: ![]() 分布式數(shù)據(jù)采集系統(tǒng)圖 處于分散部位的數(shù)據(jù)采集點(diǎn)相當(dāng)于小型的集中數(shù)據(jù)采集系統(tǒng),位于被測(cè)對(duì)象的附近,可獨(dú)立完成數(shù)據(jù)采集和預(yù)處理任務(wù),并將采集的數(shù)據(jù)轉(zhuǎn)換為數(shù)字信號(hào)的形式傳送給上位機(jī),采用數(shù)據(jù)傳輸?shù)姆椒梢钥朔M信號(hào)傳輸?shù)墓逃腥毕?。分布式?shù)據(jù)采集系統(tǒng)的主要特點(diǎn)是: ?。?)系統(tǒng)適應(yīng)能力強(qiáng)。因?yàn)榭梢酝ㄟ^(guò)選用適當(dāng)數(shù)量的數(shù)據(jù)采集點(diǎn)來(lái)構(gòu)成相應(yīng)規(guī)模的系統(tǒng),所以無(wú)論是大規(guī)模的系統(tǒng),還是中小規(guī)模的系統(tǒng),分布式結(jié)構(gòu)都能夠適應(yīng)。 ?。?)系統(tǒng)可靠性高。由于采用了多個(gè)數(shù)據(jù)采集點(diǎn),若某個(gè)數(shù)據(jù)采集點(diǎn)出現(xiàn)故障,只會(huì)影響某項(xiàng)數(shù)據(jù)的采集,而不會(huì)對(duì)系統(tǒng)的其他部分造成任何影響。 ?。?)系統(tǒng)實(shí)時(shí)相應(yīng)性好。由于系統(tǒng)各個(gè)數(shù)據(jù)采集點(diǎn)之間是真正“并行”工作的,所以系統(tǒng)的實(shí)時(shí)相應(yīng)性較好。 ?。?)另外,這種數(shù)據(jù)采集系統(tǒng)是用數(shù)字信號(hào)傳輸代替模擬信號(hào)傳輸,有利于克服常模干擾和共模干擾。因此,這種系統(tǒng)特別適合于在惡劣的環(huán)境下工作。目前對(duì)于大規(guī)模的數(shù)據(jù)采集場(chǎng)合一般都采用分布式結(jié)構(gòu),根據(jù)不同的數(shù)據(jù)采集工作原理、結(jié)構(gòu)形式和性能特點(diǎn),在本系統(tǒng)中采用集中式的數(shù)據(jù)采集器件作為數(shù)據(jù)采集終端,采用上下位的連接方式,最終組成整個(gè)數(shù)據(jù)采集系統(tǒng)。 3 MATLAB軟件 3.1 MATLAB 簡(jiǎn)介 MATLAB 是美國(guó)MathWorks 公司開(kāi)發(fā)的一種功能極其強(qiáng)大的高技術(shù)計(jì)算機(jī)語(yǔ)言和內(nèi)容極其豐富的軟件庫(kù),它適合于工程各領(lǐng)域的分析設(shè)計(jì)與復(fù)雜計(jì)算的軟件,該軟件包括基本部分和專業(yè)擴(kuò)展兩大部分.?dāng)U展部分稱為工具箱,用于解決某一方面的專業(yè)問(wèn)題.它以矩陣和向量的運(yùn)算以及運(yùn)算結(jié)果的可視化為基礎(chǔ),把廣泛應(yīng)用于各個(gè)學(xué)科領(lǐng)域的數(shù)值分析、矩陣計(jì)算、函數(shù)生成、信號(hào)處理、圖形及圖像處理、建模與仿真等諸多強(qiáng)大功能集成在一個(gè)便于用戶使用的交互式環(huán)境中,為使用者提供了一個(gè)高效的編程工具及豐富的算法資源。對(duì)于信號(hào)處理和圖像處理等數(shù)字處理領(lǐng)域,MATLAB 更是得天獨(dú)厚,它豐富的M文件和強(qiáng)大的繪圖可視功能為使用者帶來(lái)了極大的方便, 被廣泛的應(yīng)用于信號(hào)與圖像處理、控制系統(tǒng)設(shè)計(jì)、通信、系統(tǒng)仿真等諸多領(lǐng)域,尤其對(duì)初學(xué)者可起到事半功倍之效。 MATLAB是一種解釋語(yǔ)言,所有的程序和指令都必須在MATLAB解釋器中讀入后才能運(yùn)行,因而極大地限制了代碼執(zhí)行速度。MATLAB強(qiáng)大的計(jì)算功能只能在其平臺(tái)上才能使用,也就是說(shuō),必需在安裝了其解釋器的機(jī)器上才能使用MATLAB的M文件,這樣就給工程應(yīng)用帶來(lái)了很大不便。對(duì)于一般用戶來(lái)講,MATLAB只能作為離線的計(jì)算和分析工具,而不能作為實(shí)時(shí)的工程工具。幸運(yùn)的是,開(kāi)發(fā)MATLAB的MathWorks公司為廣大的應(yīng)用者提供了應(yīng)用程序接口(API,ApplicationProgram Interface)和編譯器(Compiler)。利用MATLAB和C語(yǔ)言交互,也可以開(kāi)發(fā)基于MATLAB的數(shù)據(jù)采集系統(tǒng)。如果配上數(shù)據(jù)采集線路,該系統(tǒng)就可以作為一個(gè)虛擬儀器來(lái)使用。 3.2 數(shù)據(jù)采集工具箱及聲卡簡(jiǎn)介 MATLAB 自帶的數(shù)據(jù)采集工具箱(Data Acquisitiontoolbox, DAQ) 能更容易地將實(shí)驗(yàn)測(cè)得的數(shù)據(jù)進(jìn)行分析和可視化操作。數(shù)據(jù)采集設(shè)備包括: 多媒體聲卡、美國(guó)國(guó)家儀器E系列和1200 系列接口板、Hewlett-Packard-VXIE1432- 系列接口板及其他各種數(shù)據(jù)采集硬件設(shè)備。數(shù)據(jù)采集硬件設(shè)備的內(nèi)部特性對(duì)MATLAB 的接口完全透明, 無(wú)論是使用一個(gè)或幾個(gè)硬件設(shè)備, 數(shù)據(jù)采集工具箱都會(huì)向所有硬件設(shè)備提供單一和統(tǒng)一的接口。通過(guò)調(diào)用MATLAB 命令和函數(shù)可對(duì)與計(jì)算機(jī)兼容的數(shù)據(jù)采集硬件設(shè)備進(jìn)行訪問(wèn)并對(duì)其屬性進(jìn)行可視化監(jiān)控。 數(shù)據(jù)采集工具箱是一種建立在MATLAB環(huán)境下的M函數(shù)文件和MEX動(dòng)態(tài)鏈接庫(kù)文件的集合,包含3大區(qū)域的組件:M文件函數(shù)、數(shù)據(jù)采集引擎及硬件驅(qū)動(dòng)適配器。它具有如下特點(diǎn):是一種通過(guò)使用與PC機(jī)兼容的、即插即用的數(shù)據(jù)采集設(shè)備在MATLAB環(huán)境中的架構(gòu);支持模擬信號(hào)的輸入輸出以及數(shù)字信號(hào)的輸入、輸出,子系統(tǒng)還包括同步模擬輸入輸出的轉(zhuǎn)換;支持聲卡;事件驅(qū)動(dòng)采集。 在MATLAB數(shù)據(jù)采集工具箱里集成了數(shù)據(jù)采集的M 文件格式的函數(shù)和MEX文件格式的動(dòng)態(tài)鏈接庫(kù)。其主要特征如下: (1)提供了將實(shí)時(shí)測(cè)量數(shù)據(jù)從數(shù)據(jù)采集硬件采集到MATLAB中的框架。 (2)支持模擬量輸入(AI)、模擬量輸出(A0)以及數(shù)字量I/0子系統(tǒng),包括模擬量I/O實(shí)時(shí)變換。 (3)支持PC聲卡和業(yè)界非常流行的數(shù)據(jù)采集設(shè)備如NI卡、并行口(LPT1-LPT3)、Keithley卡等。 (4)采用事件驅(qū)動(dòng)模式進(jìn)行數(shù)據(jù)采集。數(shù)據(jù)采集工具箱由3部分組成:M文件格式的函數(shù)、數(shù)據(jù)采集引擎和硬件驅(qū)動(dòng),如圖3-1所示。這些組成部分使得MATLAB與數(shù)據(jù)采集硬件之間的信息傳遞成為可能。 ![]() 圖3-1 數(shù)據(jù)采集引擎與硬件驅(qū)動(dòng) 目前市面上的數(shù)據(jù)采集卡一般都包含了完整的數(shù)據(jù)采集電路和與計(jì)算機(jī)的接口電路,如NI公司的E系列數(shù)據(jù)采集卡、研華的數(shù)據(jù)采集卡等, 其價(jià)格是與性能成正比的,可以說(shuō)比較昂貴。在采樣頻率要求不高的情況下,可以利用計(jì)算機(jī)的聲卡作為數(shù)據(jù)采集的輸入和輸出。而如今聲卡技術(shù)已經(jīng)成熟,成本越來(lái)越低。一般的聲卡都可以實(shí)現(xiàn)雙通道、16 位、高保真的數(shù)據(jù)采集,采樣率甚至可以達(dá)到48KHz。對(duì)于許多科學(xué)試驗(yàn)和工程測(cè)量來(lái)說(shuō),其樣本量化精度和采樣率是足夠高的,甚至優(yōu)于目前常用數(shù)據(jù)采集卡的性能。將其用于數(shù)據(jù)采集,性價(jià)比相當(dāng)高。
聲卡是一個(gè)非常優(yōu)秀的音頻信號(hào)采集系統(tǒng),其數(shù)字信號(hào)處理器包括模數(shù)轉(zhuǎn)換器(ADC) 和數(shù)模轉(zhuǎn)換器(DAC) ,ADC 用于采集音頻信號(hào),DAC用于重現(xiàn)這些數(shù)字聲音,轉(zhuǎn)換率達(dá)到44.1KHz。聲卡已成為多媒體計(jì)算機(jī)的一個(gè)標(biāo)準(zhǔn)配置,利用聲卡進(jìn)行采樣與輸出,就不需要購(gòu)買專門的采集卡可以降低虛擬儀器的開(kāi)發(fā)成本,且在音頻范圍內(nèi)可以完全滿足實(shí)驗(yàn)要求。 3.3 MATLAB在數(shù)據(jù)采集中的應(yīng)用 數(shù)據(jù)采集工具箱集成于MATLAB中,所以在進(jìn)行數(shù)據(jù)采集的同時(shí),可以對(duì)采集的數(shù)據(jù)進(jìn)行實(shí)時(shí)分析,或者存儲(chǔ)后再進(jìn)行處理,或者針對(duì)數(shù)據(jù)分析的需要對(duì)測(cè)試條件的設(shè)立進(jìn)行不斷的更新。應(yīng)用數(shù)據(jù)采集工具箱提供的命令和函數(shù)可以控制任何類型的數(shù)據(jù)采集。例如,在硬件設(shè)備運(yùn)行時(shí),可以獲取事件信息,評(píng)估采集狀態(tài),定義觸發(fā)器和回訪狀態(tài),預(yù)覽數(shù)據(jù)以及進(jìn)行實(shí)時(shí)分析,可以設(shè)置和顯示所有的硬件特性以滿足用戶的技術(shù)指標(biāo)。 4系統(tǒng)設(shè)計(jì)方案 聲音信號(hào)的采集與分析處理在工程應(yīng)用中是經(jīng)常需要解決的問(wèn)題,如何實(shí)時(shí)采集聲音信號(hào)并對(duì)其分析處理,從而找出聲音信號(hào)的特征在科學(xué)研究中是一項(xiàng)非常有意義的工作。 聲卡是多媒體計(jì)算機(jī)系統(tǒng)中最基本、最常用的硬件之一,其技術(shù)發(fā)展已經(jīng)成熟,它具有AD/DA轉(zhuǎn)換功能,現(xiàn)已被廣泛應(yīng)用于聲音信號(hào)采集和虛擬儀器系統(tǒng)的設(shè)計(jì)。MATLAB則是一種功能強(qiáng)大、計(jì)算效率高、交互性好的數(shù)學(xué)計(jì)算和可視化計(jì)算機(jī)高級(jí)語(yǔ)言,它將數(shù)值分析、信號(hào)采集與處理和圖形顯示有機(jī)地融為一體,形成了一個(gè)極其方便、用戶界面友好的操作環(huán)境。本文所設(shè)計(jì)的聲音信號(hào)采集與分析系統(tǒng)就是充分利用了聲卡的AD/DA轉(zhuǎn)換功能和MATLAB強(qiáng)大的數(shù)據(jù)處理功能,同時(shí),該系統(tǒng)還是建立在MATLAB軟件的圖形界面實(shí)現(xiàn)的,因而使系統(tǒng)具有良好的交互性。 基于計(jì)算機(jī)聲卡的數(shù)據(jù)采集系統(tǒng)有以下特點(diǎn): ?。?)價(jià)格低廉。在數(shù)據(jù)采集時(shí),所要采用的是模數(shù)轉(zhuǎn)換芯片,對(duì)于某些應(yīng)用場(chǎng)合,可以利用計(jì)算機(jī)上所附帶的聲卡實(shí)現(xiàn)數(shù)據(jù)采集任務(wù)。 ?。?)靈活性強(qiáng)。用戶不僅可以進(jìn)行實(shí)時(shí)監(jiān)視和控制操作,還可以把數(shù)據(jù)保存到硬盤,供以后分析使用。在CPU足夠快的條件下,還可以實(shí)時(shí)處理數(shù)據(jù),動(dòng)態(tài)顯示波形的頻譜、功率譜。另外在一臺(tái)計(jì)算機(jī)上,可以插若干塊聲卡,組成多通道數(shù)據(jù)采集系統(tǒng)。 ?。?)頻率范圍較窄,不能測(cè)直流。由于受聲卡的硬件限制,要得到較好的波形,輸入信號(hào)的頻率最好在100Hz~15kHz范圍內(nèi)。 總之,運(yùn)用廉價(jià)的聲卡,構(gòu)成一個(gè)較高的采樣精度,中等采樣頻率,且具有很大靈活性的數(shù)據(jù)采集系統(tǒng),對(duì)于一些應(yīng)用領(lǐng)域是一種很好的選擇。 4.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì) MATLAB提供了一個(gè)數(shù)據(jù)采集工具箱(Data Acquisition Toolbox),在該數(shù)據(jù)采集工具箱中,有一整套的命令和函數(shù),可用來(lái)直接控制與PC機(jī)兼容的數(shù)據(jù)采集設(shè)備進(jìn)行數(shù)據(jù)采集,因此,利用MATLAB的這一工具箱便可進(jìn)行聲音信號(hào)的采集。然后在MATLAB中直接調(diào)用頻譜分析函數(shù)、功率譜分析函數(shù)或數(shù)值分析函數(shù)等,就可以將采集到的聲音信號(hào)分別進(jìn)行頻譜、功率譜分析等多種譜分析。因此,在MATLAB中可以很容易地實(shí)現(xiàn)信號(hào)采集與分析處理工作。 ![]() 圖4-1系統(tǒng)實(shí)現(xiàn)的總體框圖 從系統(tǒng)框圖上看,整個(gè)系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,而且數(shù)據(jù)的后續(xù)分析方便,不需要再進(jìn)行數(shù)據(jù)轉(zhuǎn)移,而直接在MATLAB軟件中完成分析處理工作。在該系統(tǒng)中,從硬件上來(lái)講,只需必要的信號(hào)預(yù)處理電路和一臺(tái)普通的多媒體計(jì)算機(jī)(或筆記本電腦)即可;從軟件上來(lái)講,則只需使用本文中所編制的程序,便可從聲卡獲取數(shù)據(jù)并保存為文件,然后再可根據(jù)實(shí)際需要進(jìn)行數(shù)據(jù)分析處理。 4.2 系統(tǒng)功能設(shè)計(jì)
本系統(tǒng)由數(shù)據(jù)采集和數(shù)據(jù)分析兩大部分組成,數(shù)據(jù)采集部分是實(shí)現(xiàn)信號(hào)采集功能,根據(jù)用戶選擇的采樣頻率和預(yù)設(shè)的采樣樣本數(shù)從聲卡獲得用戶需要的數(shù)據(jù)。數(shù)據(jù)分析部分主要實(shí)現(xiàn)以下功能:(1)從信號(hào)采集部分獲取數(shù)據(jù),或者從數(shù)據(jù)文件讀取數(shù)據(jù);(2)實(shí)現(xiàn)將采集到的聲音信號(hào)數(shù)據(jù)進(jìn)行頻譜分析,畫(huà)出頻譜圖以圖形方式很直觀地反映出信號(hào)特征;(3)保存數(shù)據(jù),包括保存所有數(shù)據(jù)和部分?jǐn)?shù)據(jù)的功能,同時(shí)保存對(duì)應(yīng)的頻譜數(shù)據(jù);(4)顯示聲音信號(hào)數(shù)據(jù)的時(shí)域圖和頻譜圖;(5)其他功能。根據(jù)不同的需要,還可以進(jìn)行修改,以選擇合適的實(shí)驗(yàn)方案。 4.3 系統(tǒng)設(shè)計(jì)實(shí)現(xiàn) 聲音信號(hào)采集功能的實(shí)現(xiàn)是由MATLAB控制計(jì)算機(jī)聲卡將傳感器得到的模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)并存儲(chǔ)在計(jì)算機(jī)中;而信號(hào)分析功能是將采集得到的數(shù)據(jù)進(jìn)行時(shí)、頻域分析和各項(xiàng)數(shù)值分析等。整個(gè)系統(tǒng)設(shè)計(jì)主要包括系統(tǒng)的硬件配置、編制程序?qū)崿F(xiàn)數(shù)據(jù)采集、編制程序?qū)崿F(xiàn)數(shù)據(jù)分析及系統(tǒng)的界面設(shè)計(jì)四部分。 4.3.1 聲音信號(hào)采集的硬件配置 將聲卡插入計(jì)算機(jī)的PCI插槽,安裝好相應(yīng)的驅(qū)動(dòng)程序后,將聲音傳感器設(shè)備與聲卡的模擬輸入端連接起來(lái),這就構(gòu)建了聲音采集的硬件設(shè)備,需要注意的是對(duì)聲音傳感器的選擇,應(yīng)選擇音頻專用電纜或屏蔽電纜以減小噪聲信號(hào)的引入,最好能選擇單向性聲音傳感器。在MATLAB的信號(hào)采集工具箱中有專門為聲卡生成一個(gè)操作對(duì)象的函數(shù),初始化該操作對(duì)象即能建立MATLAB與聲卡的通信,并為已創(chuàng)建的聲卡設(shè)備對(duì)象增加數(shù)據(jù)采集通道和觸發(fā)方式。若缺省設(shè)置則系統(tǒng)采用一個(gè)數(shù)據(jù)通道、手動(dòng)觸發(fā)方式啟動(dòng)工作。進(jìn)行數(shù)據(jù)采集時(shí),根據(jù)所配置的聲卡的工作特性和信號(hào)分析的設(shè)計(jì)要求,可設(shè)置相應(yīng)的參數(shù)來(lái)控制聲卡在數(shù)據(jù)采集時(shí)的行為,如采樣頻率、采樣時(shí)間、預(yù)計(jì)模擬信號(hào)的輸入/輸出范圍、采樣的出發(fā)方式,采樣點(diǎn)數(shù)據(jù)的存儲(chǔ)等。另外需要注意的一點(diǎn)是采樣頻率是由聲卡的物理特性決定的,實(shí)際應(yīng)用中可以根據(jù)情況選擇一個(gè)聲卡支持的采樣頻率.MATLAB支持電平觸發(fā)、事件觸發(fā)和手動(dòng)觸發(fā)三種方式來(lái)啟動(dòng)數(shù)據(jù)采集工作。聲音信號(hào)采集硬件配置的具體實(shí)現(xiàn)過(guò)程: sound=analoginput(‘winsound’);% ‘winsound’為聲卡的驅(qū)動(dòng)程序 channel=addchannel(sound,1);% 添加通道為單聲道 set(sound, ‘SampleRate’,44100);% 設(shè)置采樣頻率為44100Hz set(sound, ‘SamplesPerTrigger’,22050);% 設(shè)置采樣時(shí)間為0.5s set(sound, ‘TriggerType’, ‘manual’);% 設(shè)置觸發(fā)方式為手工觸發(fā) ...% 其它的相關(guān)設(shè)置 4.3.2 數(shù)據(jù)采集 啟動(dòng)設(shè)備對(duì)象,控制聲卡開(kāi)始采集數(shù)據(jù),采集過(guò)程中可以向聲卡發(fā)送控制命令,如暫停采集、退出采集等。采集到的數(shù)據(jù)被暫時(shí)存放在計(jì)算機(jī)的內(nèi)存中,理論上可采集的最大數(shù)據(jù)量是由計(jì)算機(jī)的內(nèi)存量所決定的。同時(shí), MATLAB能夠記錄采集設(shè)備的硬件屬性、采集的啟動(dòng)時(shí)刻、采集時(shí)間、采樣頻率及采樣通道等信息,如果采集過(guò)程中出現(xiàn)了錯(cuò)誤,則出錯(cuò)的時(shí)刻、錯(cuò)誤產(chǎn)生的來(lái)源等信息也都會(huì)被記錄下來(lái)供后續(xù)工作參考。需要注意的是,執(zhí)行完一次數(shù)據(jù)采集工作后應(yīng)刪除設(shè)備對(duì)象,將內(nèi)存中的數(shù)據(jù)存儲(chǔ)在硬盤上之后釋放數(shù)據(jù)存儲(chǔ)所占用的內(nèi)存空間,以備下一次采集能有足夠的內(nèi)存空間存儲(chǔ)新的數(shù)據(jù),聲音信號(hào)采集的實(shí)現(xiàn)程序?yàn)? start(sound);% 啟動(dòng)設(shè)備對(duì)象 try time=0;data=0; [data,time]=getdata(sound);% 獲取采樣數(shù)據(jù) catch time=0;data=0;disp(‘A timeout occurred’); end stop(sound);% 停止設(shè)備對(duì)象 delete(sound);% 刪除設(shè)備對(duì)象 4.3.3 數(shù)據(jù)分析 在設(shè)計(jì)該部分時(shí),不僅要求實(shí)現(xiàn)能從數(shù)據(jù)采集部分直接獲取數(shù)據(jù),還需實(shí)現(xiàn)能從文件中讀取以前所保持好的數(shù)據(jù)。之后,用戶可以根據(jù)實(shí)際研究的需要,在MATLAB中調(diào)用頻譜分析函數(shù)(periodogram等)、功率譜分析函數(shù)(psd等)或數(shù)值分析函數(shù)(fminbnd等),就可以將采集到的聲音信號(hào)分別進(jìn)行頻譜、功率譜分析等多種譜分析,并且可方便地將分析結(jié)果以圖形的形式顯示出來(lái),如圖4-2所示。在研究蛋殼破損自動(dòng)檢測(cè)過(guò)程中,通過(guò)對(duì)所采集的蛋殼聲音信號(hào)進(jìn)行頻譜分析,找出區(qū)分損殼蛋與好殼蛋的特征變量,從而實(shí)現(xiàn)蛋殼破損的自動(dòng)檢測(cè)。對(duì)所采集的聲音信號(hào)進(jìn)行頻譜分析的程序?yàn)? ...% 獲取采樣數(shù)據(jù) Px=abs(fft(data,512)) 2/512;% 對(duì)所采集的數(shù)據(jù)進(jìn)行傅立葉變換 px=Px(1:256); s=60+10*log10(px); ...% 其它功能 ![]() 圖4-2 聲音信號(hào)的采集與頻譜分析 4.3.4 系統(tǒng)界面設(shè)計(jì) 利用MATLAB軟件中GUI模塊進(jìn)行設(shè)計(jì),在MATLAB中可以方便地設(shè)計(jì)出基于對(duì)話框的圖形用戶界面,它提供了諸如編輯框、按鈕、滾動(dòng)條等圖形對(duì)象,通過(guò)對(duì)這些圖形對(duì)象的有機(jī)組合,再對(duì)相應(yīng)的圖形對(duì)象編寫(xiě)程序,就可以設(shè)計(jì)出界面友好、操作方便的系統(tǒng)軟件。圖4-2所示為聲音信號(hào)采集與頻譜分析系統(tǒng)的運(yùn)行界面,還可再根據(jù)實(shí)際需要進(jìn)行擴(kuò)展。 建立基于聲卡和MATLAB的信號(hào)采集與分析系統(tǒng),能夠?qū)崿F(xiàn)信號(hào)采集、設(shè)備控制、數(shù)據(jù)分析以及結(jié)果顯示等功能。實(shí)踐證明該系統(tǒng)具有精度高、實(shí)時(shí)性好、性價(jià)比高、人機(jī)界面友好、升級(jí)修改簡(jiǎn)單等優(yōu)點(diǎn)。在進(jìn)行項(xiàng)目研究過(guò)程中,常常需要進(jìn)行多次實(shí)驗(yàn),采集大量的數(shù)據(jù),并且要求對(duì)數(shù)據(jù)能實(shí)時(shí)地進(jìn)行分析處理,該系統(tǒng)能很好地滿足這種研究需要。此外,這一系統(tǒng)還可以擴(kuò)展應(yīng)用到其他相關(guān)的領(lǐng)域中,如在語(yǔ)音識(shí)別工作中可以用該系統(tǒng)采集語(yǔ)音信號(hào)并且加入語(yǔ)音處理的相關(guān)分析等。因此,該系統(tǒng)不僅具有良好的實(shí)用性,還可為其他的相關(guān)研究提供理論和應(yīng)用基礎(chǔ)。 語(yǔ)音信號(hào)分析處理系統(tǒng)一般由聲電傳感器(麥克風(fēng)) 、數(shù)據(jù)采集卡、處理器(計(jì)算機(jī)) 、軟件系統(tǒng)等幾部分組成。商品數(shù)據(jù)采集卡(A/ D 板) 都包含了完整的數(shù)據(jù)采集電路和計(jì)算機(jī)接口電路,并同時(shí)提供驅(qū)動(dòng)程序,產(chǎn)品和種類繁多,性能價(jià)格各異,價(jià)格一般都比較貴。PC 機(jī)的聲卡本身就是一個(gè)廉價(jià)同時(shí)又非常優(yōu)秀的語(yǔ)音信號(hào)采集系統(tǒng),它采用直接內(nèi)存讀取方式傳輸數(shù)據(jù),極大地降低了CPU 的占用率;不僅如此,聲卡16 位的A/ D 轉(zhuǎn)換精度比普通16 位A/ D 卡要高,能夠滿足語(yǔ)音信號(hào)采集分析要求。 5 應(yīng)用設(shè)計(jì) 一、 對(duì)聲卡產(chǎn)生的模擬輸入對(duì)象(AI) 進(jìn)行操作 聲卡是MATLAB數(shù)據(jù)采集工具箱所支持的一種硬件,用聲卡完成一個(gè)簡(jiǎn)單的數(shù)據(jù)采集過(guò)程,麥克風(fēng)就成了數(shù)據(jù)采集系統(tǒng)中的傳感器. 1)創(chuàng)建設(shè)備對(duì)象,這里創(chuàng)建的是一個(gè)聲卡AI設(shè)備對(duì)象,硬件設(shè)備標(biāo)示符為2. ai=analoginput(‘winsound’,2); 2)給設(shè)備對(duì)象添加通道,這里添加1個(gè)通道. addchannel(ai,1); 3)設(shè)定設(shè)備屬性值,控制數(shù)據(jù)采集. freq=8 000; \采樣頻率8 000 Hz set(AI,SampleRate.freq) duration=2; \采樣時(shí)間2 s set(AI,SamplesPerTrigger,duration*freq); 4)數(shù)據(jù)采集及結(jié)果處理.在這里首先將所采集到的數(shù)據(jù)進(jìn)行快速傅立葉變換,然后轉(zhuǎn)化成分貝,并顯示結(jié)果的實(shí)數(shù)部分. start(ai); data=getdata(ai); fftdata= abs(fft(data)); mag =20*logl0(fftdata); mag= mag(1:end/2); 5)清除內(nèi)存中的設(shè)備對(duì)象. delete(ai); clear ai; ![]() 圖5-1 采樣過(guò)程中沒(méi)有對(duì)麥克風(fēng)講話 ![]() 圖5-2 采樣過(guò)程中對(duì)麥克風(fēng)講話 結(jié)果分析:圖5-1是在采樣過(guò)程中打開(kāi)麥克風(fēng),但是沒(méi)有對(duì)麥克風(fēng)講話的結(jié)果(對(duì)不同品牌、質(zhì)量的聲卡,結(jié)果可能有所不同),圖5-2是在采樣的過(guò)程中對(duì)麥克風(fēng)講話的結(jié)果.可以看出,講話與否(傳感器感受端的變化)改變了所采集到的數(shù)據(jù)的結(jié)果. 二、 直接利用MATLAB數(shù)據(jù)采集箱中提供的函數(shù)命令進(jìn)行采集 一般的采樣過(guò)程是對(duì)聲卡產(chǎn)生的模擬輸入對(duì)象(AI) 進(jìn)行操作的,由于計(jì)算機(jī)配置和模擬通道的運(yùn)用使得數(shù)據(jù)采集過(guò)程顯得煩瑣難以理解,有時(shí)還不易獲得采樣數(shù)據(jù)。實(shí)驗(yàn)過(guò)程發(fā)現(xiàn)一種更為簡(jiǎn)單實(shí)用的方法可以進(jìn)行數(shù)據(jù)采集。在闡述之前,首先介紹一下MATLAB數(shù)據(jù)采集箱中的幾條有關(guān)命令: wavrecord : wavrecord 利用Windows 音頻輸入設(shè)備記錄聲音,其調(diào)用形式為:wavrecord (n ,fs ,ch) 。利用Windows音頻輸入設(shè)備記錄n個(gè)音頻采樣, 頻率為fs Hz ,通道數(shù)為ch。采樣值返回到一個(gè)大小為n*ch 的矩陣中。缺省時(shí),fs = 11025 ,ch = 1。 waveplay: waveplay 利用Windows音頻輸出設(shè)備播放聲音,其調(diào)用形為:waveplay(y ,fs) 。以采樣頻率fs向Windows 音頻設(shè)備發(fā)送向量信號(hào)。標(biāo)準(zhǔn)的音頻采樣率有:8000、11025、22050 和44100Hz。 wavread :wavread 用于讀取Microsoft 的擴(kuò)展名為“.wav”的聲音文件。其調(diào)用形式為: y = wavread (file) 。其作用是從字符串file 所指的文件路徑讀取wave 文件,將讀取的采樣數(shù)據(jù)送到y(tǒng) 中。Y的取值范圍: [ -1 ,1 ] 。 sound:音頻信號(hào)是以向量的形式表示聲音采樣的。sound 函數(shù)用于將向量轉(zhuǎn)換為聲音,其調(diào)用形式為:sound (y ,fs) ,作用是向揚(yáng)聲器送出向量y 中的音頻信號(hào)(采樣頻率為fs) 。 應(yīng)用上述所講到的MATLAB數(shù)據(jù)采集箱提供的函數(shù)進(jìn)行一次簡(jiǎn)單的語(yǔ)音信號(hào)的采集實(shí)驗(yàn)。記錄5 秒鐘的8 位音頻語(yǔ)音信號(hào)并回放之, 采樣頻率設(shè)為11025Hz。 ﹥﹥fs = 11025 ; \ 設(shè)置采樣頻率 ﹥﹥y1 = wavrecord (5*fs ,fs ,‘uint8’) ; \ 進(jìn)行無(wú)語(yǔ)音采集 ﹥﹥plot (y1) ; ﹥﹥y2 =wavrecord (5*fs ,fs ,‘uint8’) ; \ 開(kāi)始采集8位語(yǔ)音信號(hào),時(shí)間為5s ﹥﹥plot (y2) ; ﹥﹥wavplay(y2 ,fs) ; \ 回放所采集的語(yǔ)音 ﹥﹥sound (y2 ,fs) ; ﹥﹥y1 =fft (y2) ; \ 做信號(hào)的fft 變換 ﹥﹥plot (y2) ; ![]() 圖5-3 無(wú)聲音信號(hào)輸入波形 ![]() 圖5-4 有聲音信號(hào)輸入波形 ![]() 圖5-5 聲音信號(hào)傅里葉變換 圖形分析:用戶可以變換采樣頻率及采樣時(shí)間,也可以不同的頻率回放語(yǔ)音。感受不同函數(shù)在相同的頻率下回放的語(yǔ)音信號(hào)是否一致。此例進(jìn)行的是實(shí)時(shí)回放,若要事后回放則可用wavread 函數(shù)。從程序語(yǔ)言及實(shí)現(xiàn)上可看出此方法簡(jiǎn)便了許多,而且實(shí)驗(yàn)結(jié)果與傳統(tǒng)方法得到的實(shí)驗(yàn)結(jié)果完全一致。圖5-3為在采樣過(guò)程中打開(kāi)麥克風(fēng),但是沒(méi)有對(duì)麥克風(fēng)講話的結(jié)果(對(duì)不同品牌、質(zhì)量的聲卡,結(jié)果可能不同) ,從圖上可以看到除開(kāi)始采樣的極短一段時(shí)間內(nèi)有個(gè)信號(hào)接收過(guò)程產(chǎn)生階躍外,其余時(shí)間內(nèi)波形都在很小的范圍內(nèi)平穩(wěn)的波動(dòng)。圖5-4是采樣過(guò)程中對(duì)麥克風(fēng)講話的結(jié)果,可以看出,講話(傳感器端接收到信號(hào))改變了采集的數(shù)據(jù)的結(jié)果。從圖5-4中看出波形發(fā)生了很大的變化,波形隨聲音信號(hào)的高低強(qiáng)弱而發(fā)生變化,可知計(jì)算機(jī)已經(jīng)通過(guò)麥克風(fēng)接收到了語(yǔ)音信號(hào),說(shuō)明信號(hào)采集工作成功。圖5-5為對(duì)采集到的信號(hào)進(jìn)行的快速傅立葉變換所得到的圖形。 上面介紹的基于聲卡和MATLAB的語(yǔ)音數(shù)據(jù)采集系統(tǒng),具有實(shí)現(xiàn)簡(jiǎn)單、性價(jià)比和靈活度高的特點(diǎn)。經(jīng)實(shí)例分析證明,利用該系統(tǒng)可實(shí)現(xiàn)在線連續(xù)采集語(yǔ)音信號(hào)并進(jìn)行分析和處理。 應(yīng)用前文所述的MATLAB 數(shù)據(jù)采集工具箱提供的命令函數(shù)和系統(tǒng)環(huán)境為Windows98 的計(jì)算機(jī)上的板載聲卡進(jìn)行簡(jiǎn)單數(shù)據(jù)采集。記錄5s的16 bit音頻語(yǔ)音信號(hào)并回放, 采樣頻率設(shè)為11025 Hz。 fs=11025 %設(shè)置采樣頻率 y1=wavrecord( 5*fs, fs, ‘unit16’) %進(jìn)行無(wú)語(yǔ)音采集 plot( y1) %畫(huà)出所采集到的信號(hào)的波形 y2=wavrecord( 5*fs, fs, ‘unit16’) %進(jìn)行語(yǔ)音采集 wavplay( y1, fs) sound( y2, fs) %回放所采集的語(yǔ)音 圖5-6是用MATLAB的DAQ工具箱中的命令函數(shù)的方法采集數(shù)據(jù), 采樣過(guò)程中傳聲器無(wú)語(yǔ)音輸入;圖5-7是用創(chuàng)建聲卡設(shè)備對(duì)象的方法采集數(shù)據(jù), 采樣過(guò)程中傳聲器有語(yǔ)音輸入。 ![]() 圖5-6 傳聲器無(wú)語(yǔ)音輸入 ![]() 圖5-7 傳聲器有語(yǔ)音輸入 |
|
|
來(lái)自: ludertk > 《我的圖書(shū)館》