版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢 業(yè) 設(shè) 計(jì)(論 文)</p><p> 虛擬儀器設(shè)計(jì)-數(shù)據(jù)采集系統(tǒng)</p><p> 完成日期 2009年 5 月10日</p><p> 畢業(yè)設(shè)計(jì)(論文)任務(wù)書(shū)</p><p> 發(fā)任務(wù)書(shū)日期: 2008年11月10日</p><p> 畢 業(yè) 設(shè) 計(jì)(論 文
2、)任 務(wù) 書(shū)</p><p> 畢 業(yè) 設(shè) 計(jì)(論 文)任 務(wù) 書(shū)</p><p> 系 別:電子工程系</p><p> 專(zhuān)業(yè)名稱(chēng):通信工程</p><p> 學(xué)生姓名:</p><p> 學(xué) 號(hào):2XXXXXXXXXX</p><p> 指導(dǎo)教師姓名、職稱(chēng):</p
3、><p> 虛擬儀器設(shè)計(jì)-數(shù)據(jù)采集系統(tǒng)</p><p><b> 摘 要</b></p><p> 虛擬儀器由通用儀器硬件平臺(tái)(簡(jiǎn)稱(chēng)硬件平臺(tái))和應(yīng)用軟件兩大部分構(gòu)成。硬件平臺(tái)主要完成對(duì)被測(cè)信號(hào)的進(jìn)行調(diào)理和采集。儀器硬件可以是插入式數(shù)據(jù)采集卡及必要的外圍電路(含信號(hào)調(diào)理電路、A/D轉(zhuǎn)換器、數(shù)字I/O、定時(shí)器、D/A轉(zhuǎn)換器等),或者是帶標(biāo)準(zhǔn)總線(xiàn)接
4、口的儀器,如GPIB、VXI、PXI、STD、PCI總線(xiàn)儀器和網(wǎng)絡(luò)化儀器等。</p><p> 目前市場(chǎng)上的A/D采集卡和數(shù)據(jù)采集卡以及帶標(biāo)準(zhǔn)總線(xiàn)接口的儀器等,其價(jià)格均不菲,以畢業(yè)設(shè)計(jì)的目的來(lái)說(shuō),性?xún)r(jià)比以及實(shí)用程度顯的不高。</p><p> 進(jìn)而考慮到計(jì)算機(jī)中的聲卡本身就是一個(gè)A/D,D/A的轉(zhuǎn)化裝置,具有16位的量化精度、數(shù)據(jù)采集頻率是44.1kHz,完成可以滿(mǎn)足特定應(yīng)用范圍內(nèi)數(shù)據(jù)
5、采集的需要,個(gè)別性能指標(biāo)還優(yōu)于商用數(shù)據(jù)采集卡,而價(jià)格卻為商用數(shù)據(jù)采集卡的十分之一或者幾十分之一,在設(shè)計(jì)實(shí)驗(yàn)中完全可以滿(mǎn)足要求。</p><p> 因此在本設(shè)計(jì)中,數(shù)據(jù)采集裝置主要基于聲卡和labview模擬數(shù)據(jù)采集。利用聲卡實(shí)現(xiàn)對(duì)數(shù)據(jù)的采集,制作成一個(gè)簡(jiǎn)易的數(shù)據(jù)采集系統(tǒng),能夠?qū)崿F(xiàn)數(shù)據(jù)采集、模擬采集數(shù)據(jù)、波形顯示、進(jìn)行低頻濾波四大功能。</p><p> 關(guān)鍵詞:虛擬儀器;數(shù)據(jù)采集;聲卡
6、</p><p> Virtual Instrument Design - Data Acquisition System</p><p><b> Abstract</b></p><p> Virtual Instrument by the General Instrument hardware platform (the hardw
7、are platform) and consisted of two major applications. The main hardware platform to complete the conduct of the measured signal conditioning and acquisition. Hardware equipment can be a plug-in data acquisition card and
8、 the necessary peripheral circuits (including the signal conditioning circuits, A / D converter, digital I / O, timer, D / A converters, etc.), or with the standard bus interface equipment, such as GPIB, VXI</p>&
9、lt;p> Currently on the market A / D acquisition card and data acquisition cards, as well as the standard bus interface with the equipment, their prices are expensive to design for the purposes of graduation, as well
10、as the usefulness of the significant cost of not very high.</p><p> To take into account the computer's sound card itself is an A / D, D / A conversion devices, with 16-bit quantization precision, data
11、acquisition frequency is 44.1kHz, completed within the scope of application to meet the specific needs of data collection, individual also better than the commercial performance data acquisition card, and the price of co
12、mmercial data acquisition card for one-tenth or a few one-tenth of the experiment in the design to meet the requirements completely.</p><p> Therefore, in this design, data acquisition device is mainly base
13、d on the sound card and analog data acquisition labview. The use of sound to achieve the data collection, to create a simple data acquisition system, to achieve data acquisition, analog data acquisition, waveform display
14、, the four major functions for low-frequency filter.</p><p> Keywords: virtual instrument; data acquisition; sound card</p><p><b> 目 錄</b></p><p><b> 1 緒論1<
15、/b></p><p> 1.1 虛擬儀器概述1</p><p> 1.1.1 虛擬儀器的產(chǎn)生1</p><p> 1.1.2 虛擬儀器的概念1</p><p> 1.1.3 虛擬儀器的構(gòu)成2</p><p> 1.2 虛擬儀器的發(fā)展趨勢(shì)2</p><p> 1.3本
16、文的研究?jī)?nèi)容3</p><p> 2 數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)5</p><p> 2.1 Labview軟件創(chuàng)建過(guò)程5</p><p> 2.2 設(shè)計(jì)方案的比較6</p><p> 2.2.1 軟件比較6</p><p> 2.2.2 聲卡采集數(shù)據(jù)的特點(diǎn)7</p><p>
17、3 軟件模塊的設(shè)計(jì)11</p><p> 3.1 程序的流程圖11</p><p> 3.2 程序的結(jié)構(gòu)圖12</p><p> 3.3 LABVIEW 簡(jiǎn)介12</p><p> 3.3.1 G語(yǔ)言簡(jiǎn)介12</p><p> 3.3.2 LABVIEW 程序組成13</p><
18、;p> 3.4 數(shù)據(jù)采集和處理模塊14</p><p> 3.4.1聲音輸入配置虛擬儀器15</p><p> 3.4.2聲音輸入讀取虛擬儀器17</p><p> 3.4.3聲音輸入清除虛擬儀器18</p><p> 3.5 數(shù)據(jù)模擬模塊20</p><p> 3.6 低通濾波模塊22&
19、lt;/p><p> 3.7 波形顯示模塊23</p><p><b> 3.8 小結(jié)23</b></p><p> 4 程序設(shè)計(jì)顯示25</p><p> 4.1 程序的使用方法25</p><p> 4.1.1 程序的環(huán)境25</p><p> 4.1
20、.2 聲卡配置25</p><p> 4.2 程序的總框圖26</p><p> 4.3 程序的調(diào)試結(jié)果26</p><p> 4.3.1聲卡采集數(shù)據(jù)的結(jié)果26</p><p> 4.3.2模擬采集數(shù)據(jù)的結(jié)果27</p><p><b> 4.4 小結(jié)29</b></
21、p><p> 5 設(shè)計(jì)中遇到的問(wèn)題30</p><p> 6 總結(jié)與展望31</p><p><b> 參考文獻(xiàn)32</b></p><p><b> 致 謝33</b></p><p><b> 1 緒論</b></p>&
22、lt;p> 1.1 虛擬儀器概述</p><p> 1.1.1 虛擬儀器的產(chǎn)生</p><p> 虛擬儀器技術(shù)是現(xiàn)在計(jì)算機(jī)系統(tǒng)和儀器系統(tǒng)相結(jié)合的產(chǎn)物,是當(dāng)今計(jì)算機(jī)輔助測(cè)試領(lǐng)域的一項(xiàng)重要技術(shù)。它推動(dòng)著傳統(tǒng)儀器朝著數(shù)字化,智能化,模塊化,網(wǎng)絡(luò)化的方向發(fā)展。電子測(cè)量?jī)x器發(fā)展至今,大體上可以分為四代:模擬儀器、數(shù)字化儀器、智能儀器和虛擬儀器。第一代模擬儀器,這類(lèi)儀器在某些實(shí)驗(yàn)室里還能看
23、到,它是以電磁感應(yīng)基本定律為基礎(chǔ)的指針式儀器,如指針式萬(wàn)用表、晶體管電壓表、指針式電流表等。第二代數(shù)字化儀器,這類(lèi)儀器現(xiàn)在相當(dāng)普遍,這類(lèi)儀器將模擬信號(hào)的測(cè)量值轉(zhuǎn)化為數(shù)字信號(hào),并以數(shù)字方式輸出最終結(jié)果,適用于快速響應(yīng)和較高準(zhǔn)確度的測(cè)量,如數(shù)字萬(wàn)用表、數(shù)字頻率計(jì)等。第三代智能儀器,這類(lèi)儀器內(nèi)置微處理器,可以進(jìn)行自動(dòng)測(cè)試和數(shù)據(jù)處理功能,可能代替部分腦力工作,習(xí)慣上稱(chēng)為智能儀器。它的功能模塊全部都是以硬件或固定軟件的形式存在,無(wú)論是開(kāi)發(fā)還是應(yīng)用
24、,都缺乏靈活性。第四代虛擬儀器,它是現(xiàn)在計(jì)算機(jī)軟件技術(shù)、通信技術(shù)和測(cè)試技術(shù)高速發(fā)展孕育出的一項(xiàng)革命性技術(shù),其導(dǎo)致了傳統(tǒng)儀器的結(jié)構(gòu)、概念和設(shè)計(jì)觀點(diǎn)都發(fā)生了巨大的變革,它的出現(xiàn)使得人類(lèi)的測(cè)試技術(shù)進(jìn)入了一個(gè)新的發(fā)展紀(jì)元。</p><p> 虛擬儀器(Virtual Instruments.簡(jiǎn)稱(chēng)VI)的概念,是美國(guó)國(guó)家儀器公司(National Instruments Corp.簡(jiǎn)稱(chēng)NI)于1986年提出的。NI公司同
25、時(shí)也提出了“軟件即儀器”的口號(hào),徹底打破了傳統(tǒng)儀器只能由廠家定義,用戶(hù)無(wú)法改變的局面,從而引起了儀器和自動(dòng)化工業(yè)的一場(chǎng)革命。隨著現(xiàn)在硬件和軟件技術(shù)的飛速發(fā)展,儀器的智能化和虛擬化成為各級(jí)實(shí)驗(yàn)室以及研究機(jī)構(gòu)發(fā)展的方向。虛擬儀器,它既具有傳統(tǒng)儀器的功能,又有別于其他傳統(tǒng)儀器。它能夠充分利用和發(fā)揮現(xiàn)有計(jì)算機(jī)的先進(jìn)技術(shù),使儀器的測(cè)試和測(cè)量及自動(dòng)化工業(yè)的系統(tǒng)測(cè)試和監(jiān)控變得異常方便和快捷。</p><p> 1.1.2 虛
26、擬儀器的概念</p><p> 虛擬儀器是指通過(guò)應(yīng)用程序?qū)⒂?jì)算機(jī)、軟件的功能模塊和儀器硬件結(jié)合起來(lái),用戶(hù)可以通過(guò)友好的圖形界面(通常叫做虛擬前面板,簡(jiǎn)稱(chēng)前面板)來(lái)操作這臺(tái)計(jì)算機(jī)就像在操作自己定義、自己設(shè)計(jì)的一臺(tái)個(gè)人儀器一樣,從而完成對(duì)被測(cè)信號(hào)的采集、分析、判斷、顯示、數(shù)字存儲(chǔ)等。虛擬儀器以透明的方式,通過(guò)軟件對(duì)數(shù)據(jù)的分析處理、表達(dá)以及圖形化用戶(hù)接口,把計(jì)算機(jī)資源(如微處理器、顯示器等)和儀器硬件(如A/D、D/
27、A、數(shù)字I/O、定時(shí)器、信號(hào)調(diào)理等)的測(cè)試能力和控制能力結(jié)合起來(lái)。虛擬一起突破了傳統(tǒng)儀器以硬件為主體的模式,實(shí)際上使用者是在操作具有測(cè)試軟件的電子計(jì)算機(jī)進(jìn)行測(cè)量,猶如操作一臺(tái)虛設(shè)的電子儀器。</p><p> 虛擬儀器技術(shù)的實(shí)質(zhì)是充分利用最新的計(jì)算機(jī)技術(shù)來(lái)實(shí)現(xiàn)和擴(kuò)展傳統(tǒng)儀器的功能。軟件是虛擬儀器的關(guān)鍵,當(dāng)基本硬件確定以后,就可以通過(guò)不同的軟件實(shí)現(xiàn)不同的功能。用戶(hù)可以根據(jù)自己的需要,設(shè)計(jì)自己的儀器系統(tǒng),滿(mǎn)足多種多
28、樣的應(yīng)用要求。利用計(jì)算機(jī)豐富的軟、硬件資源,可以大大突破傳統(tǒng)儀器的數(shù)據(jù)的分析、處理、表達(dá)、傳遞、存儲(chǔ)等方面的限制,達(dá)到傳統(tǒng)儀器無(wú)法比擬的效果。它不僅可以用于電子測(cè)量、測(cè)試、分析、計(jì)量等領(lǐng)域,而且還可以用于進(jìn)行設(shè)備的監(jiān)控以及工業(yè)過(guò)程自動(dòng)化。虛擬儀器還可以廣泛用于電力工程、物礦勘探、醫(yī)療、振動(dòng)分析、聲學(xué)分析、故障診斷及教學(xué)科研等多個(gè)方面。</p><p> 1.1.3 虛擬儀器的構(gòu)成</p><
29、p> 虛擬儀器從構(gòu)成要素上講,由計(jì)算機(jī)、應(yīng)用軟件和儀器硬件等構(gòu)成;從構(gòu)成分式上講則由以DAQ板和信號(hào)調(diào)理為儀器硬件而組成的PC-DAQ測(cè)試系統(tǒng),或已GPIB,VXI,Serial和Field bus等標(biāo)準(zhǔn)總線(xiàn)儀器為硬件組成的GPIB系統(tǒng)、VXI系統(tǒng)、串口系統(tǒng)和現(xiàn)場(chǎng)總線(xiàn)系統(tǒng)等多種形式。虛擬儀器的構(gòu)成如圖1.1所示。</p><p> 圖1-1 虛擬儀器的結(jié)構(gòu)</p><p> 1
30、.2 虛擬儀器的發(fā)展趨勢(shì)</p><p> 虛擬儀器正在繼續(xù)迅速發(fā)展。它可以取代測(cè)量技術(shù)在傳統(tǒng)領(lǐng)域的各類(lèi)儀器。虛擬儀器在組成和改變儀器的功能和技術(shù)性能方面具有靈活性和經(jīng)濟(jì)性,因而特別適應(yīng)于當(dāng)代科學(xué)技術(shù)迅速發(fā)展和科學(xué)研究不斷深化所提出的更高跟新的測(cè)量課題和測(cè)量需要?!皼](méi)有測(cè)量就沒(méi)有鑒別,科學(xué)技術(shù)就不能前進(jìn)?!碧摂M儀器將會(huì)在科學(xué)技術(shù)的各個(gè)領(lǐng)域得到廣泛的應(yīng)用。</p><p> 圖形化編程平
31、臺(tái)的進(jìn)一步發(fā)展和完善是虛擬儀器發(fā)展的一個(gè)重要方向。如何使用戶(hù)進(jìn)行少量的學(xué)習(xí)甚至不需要學(xué)習(xí)就可使用功能強(qiáng)大的虛擬儀器,如何使用構(gòu)成簡(jiǎn)單的虛擬儀器系統(tǒng)并完成復(fù)雜的測(cè)試內(nèi)容,如何幫助用戶(hù)對(duì)測(cè)試結(jié)果進(jìn)行分析和判斷等內(nèi)容,是虛擬儀器技術(shù)努力的方向。我國(guó)還基本處于傳統(tǒng)儀器與計(jì)算機(jī)化儀器互相分離的狀態(tài),世界各大相關(guān)的產(chǎn)品商家都在向中國(guó)這個(gè)巨大的市場(chǎng)進(jìn)軍。結(jié)合我國(guó)的實(shí)際情況,我們必須走引進(jìn)與自行開(kāi)發(fā)相結(jié)合的道路。一方面,大力引進(jìn)國(guó)外虛擬儀器方面的生產(chǎn)技
32、術(shù);另一方面,發(fā)展基于計(jì)算機(jī)的插卡式硬件模塊為主的測(cè)控技術(shù),發(fā)展圖形化平臺(tái)的軟件產(chǎn)品,充分利用我們現(xiàn)有的計(jì)算機(jī)及測(cè)控技術(shù)硬件,縮短與國(guó)際先進(jìn)水平的差距。</p><p> VXI總線(xiàn)將成為未來(lái)虛擬儀器的理想硬件平臺(tái),這是由VXI總線(xiàn)的性能決定的;另一方面,基于PCI-DAQ的虛擬儀器系統(tǒng)由于性?xún)r(jià)比高、靈活性好而受到大多數(shù)用戶(hù)的青睞,將得到高速的發(fā)展。隨著計(jì)算機(jī)硬件、軟件技術(shù)的迅速發(fā)展,虛擬儀器將向高性能、多功能
33、、集成化、網(wǎng)絡(luò)化方向發(fā)展。</p><p> 1.3本文的研究?jī)?nèi)容</p><p> 虛擬儀器由通用儀器硬件平臺(tái)(簡(jiǎn)稱(chēng)硬件平臺(tái))和應(yīng)用軟件兩大部分構(gòu)成。硬件平臺(tái)主要完成對(duì)被測(cè)信號(hào)的進(jìn)行調(diào)理和采集。儀器硬件可以是插入式數(shù)據(jù)采集卡及必要的外圍電路(含信號(hào)調(diào)理電路、A/D轉(zhuǎn)換器、數(shù)字I/O、定時(shí)器、D/A轉(zhuǎn)換器等),或者是帶標(biāo)準(zhǔn)總線(xiàn)接口的儀器,如GPIB、VXI、PXI、STD、PCI總線(xiàn)儀
34、器和網(wǎng)絡(luò)化儀器等。</p><p> 目前市場(chǎng)上的A/D采集卡和數(shù)據(jù)采集卡以及帶標(biāo)準(zhǔn)總線(xiàn)接口的儀器等,其價(jià)格均不菲,以畢業(yè)設(shè)計(jì)的目的來(lái)說(shuō),性?xún)r(jià)比以及實(shí)用程度顯的不高。</p><p> 進(jìn)而考慮到計(jì)算機(jī)中的聲卡本身就是一個(gè)A/D,D/A的轉(zhuǎn)化裝置,具有16位的量化精度、數(shù)據(jù)采集頻率是44.1kHz,完成可以滿(mǎn)足特定應(yīng)用范圍內(nèi)數(shù)據(jù)采集的需要,個(gè)別性能指標(biāo)還優(yōu)于商用數(shù)據(jù)采集卡,而價(jià)格卻為商
35、用數(shù)據(jù)采集卡的十分之一或者幾十分之一,在設(shè)計(jì)實(shí)驗(yàn)中完全可以滿(mǎn)足要求。</p><p> 因此在本設(shè)計(jì)中,數(shù)據(jù)采集裝置主要基于聲卡和labview模擬數(shù)據(jù)采集。利用聲卡實(shí)現(xiàn)對(duì)數(shù)據(jù)的采集,制作成一個(gè)簡(jiǎn)易的數(shù)據(jù)采集系統(tǒng),能夠?qū)崿F(xiàn)數(shù)據(jù)采集、模擬采集數(shù)據(jù)、波形顯示、進(jìn)行低頻濾波四大功能。</p><p> 虛擬儀器的發(fā)展已經(jīng)具有快30年的歷史,聲卡采集是不可缺少的內(nèi)容。本論文具體內(nèi)容安排如下:&
36、lt;/p><p> 第一章,緒論:介紹虛擬儀器的概念、構(gòu)成,發(fā)展的現(xiàn)狀,和本文的研究?jī)?nèi)容。</p><p> 第二章,數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì):首先講述Labview軟件創(chuàng)建過(guò)程,過(guò)度到設(shè)計(jì)方案的比較,進(jìn)而講述了聲卡采集數(shù)據(jù)的特點(diǎn)。</p><p> 第三章,軟件模塊的設(shè)計(jì):主要介紹了各個(gè)功能模塊具體設(shè)計(jì)和實(shí)現(xiàn),包括:數(shù)據(jù)采集和處理模塊、數(shù)據(jù)模擬模塊、低通濾波模塊、波
37、形顯示模塊等。</p><p> 第四章,程序設(shè)計(jì)顯示:本章是重點(diǎn),主要介紹程序的使用方法和程序的調(diào)試結(jié)果。</p><p> 第五章,總結(jié)與展望和設(shè)計(jì)中遇到的問(wèn)題。</p><p> 2 數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)</p><p> 數(shù)據(jù)采集由硬件和功能模塊軟件兩部分組成。本章將詳細(xì)討論對(duì)數(shù)據(jù)采集時(shí)幾種方案的比較。</p>&
38、lt;p> 2.1 Labview軟件創(chuàng)建過(guò)程</p><p> 創(chuàng)建Labview軟件的過(guò)程大體分為以下五步:</p><p> ?。?)需求分析。需求分析是借用軟件工程中的概念,其含義包括創(chuàng)建開(kāi)發(fā)原型(明確實(shí)質(zhì)要解決的問(wèn)題)、分析程序的可行性(包括成本、性能、風(fēng)險(xiǎn)和技術(shù)障礙)等。在創(chuàng)建開(kāi)發(fā)原型的過(guò)程中,開(kāi)發(fā)人員要與程序的最終使用人員進(jìn)行充分的交流。在此基礎(chǔ)上,程序開(kāi)發(fā)人員對(duì)所
39、要解決的問(wèn)題有了大致的了解,甚至可以畫(huà)出一個(gè)系統(tǒng)的框圖,之后還要進(jìn)行程序的可行性分析,考慮選用器件的性?xún)r(jià)比、開(kāi)發(fā)風(fēng)險(xiǎn)等。</p><p> (2)軟、硬件的選擇。程序開(kāi)發(fā)人員不必?fù)?dān)心操作系統(tǒng)的問(wèn)題,目前的LABVIEW是一個(gè)支持多個(gè)系統(tǒng)平臺(tái)的軟件,Windows、Power Macintosh、Sun SPARCA工作站、HP工作站、Linux上都可以運(yùn)行。針對(duì)一些特殊的任務(wù),LABVIEW還提供一些附加的工具
40、包,非常方便。選擇適當(dāng)?shù)墓ぞ甙鼘?huì)達(dá)到事半功倍的效果。在LABVIEW的設(shè)備驅(qū)動(dòng)程序庫(kù)中已經(jīng)包含了上千個(gè)免費(fèi)的驅(qū)動(dòng)程序(這些驅(qū)動(dòng)程序支持NI公司的硬件產(chǎn)品),還包括了世界上各大儀器廠商的大部分儀器的LABVIEW驅(qū)動(dòng)程序。如果沒(méi)有現(xiàn)成的驅(qū)動(dòng)程序,用戶(hù)也可以自己編寫(xiě)。</p><p> (3)設(shè)計(jì)用戶(hù)界面。 用戶(hù)界面也稱(chēng)GUI,即graphical user interface。前面板必須簡(jiǎn)潔、易懂、設(shè)計(jì)時(shí)應(yīng)該滿(mǎn)
41、足復(fù)雜工作要求。前面板上使用的顏色方案,要兼顧一致和鮮明。一致性包括:①一個(gè)VI程序的GUI之間要保持一致;②VI的GUI要與平時(shí)大家用的應(yīng)用程序色調(diào)一致。鮮明就是說(shuō):需要強(qiáng)調(diào)的部分一定要用顏色加以突出,體現(xiàn)測(cè)控系統(tǒng)程序的特點(diǎn),減少用戶(hù)操作過(guò)程中犯錯(cuò)誤機(jī)會(huì)。</p><p> ?。?)程序設(shè)計(jì)。拿到一個(gè)設(shè)計(jì)任務(wù)后,首先要分解任務(wù),把待設(shè)計(jì)任務(wù)分割成幾個(gè)大的模塊,然后把大的模塊再分解為一系列的功能,甚至可以分解到要
42、用那些函數(shù)的程度;然后是尋求例程,參考例程可以避免重復(fù)前人做過(guò)的工作;接下來(lái)就是根據(jù)項(xiàng)目的特點(diǎn)選擇程序設(shè)計(jì)方法,自上而下或者自下而上。</p><p> ?。?)程序測(cè)試。測(cè)試過(guò)程是項(xiàng)目開(kāi)發(fā)的重要組成部分。測(cè)試應(yīng)該從底層的VI開(kāi)始,然后再測(cè)試較大的模塊,最后進(jìn)行整體測(cè)試。測(cè)試中還要特別關(guān)注全局變量對(duì)程序的影響。此外,局部變量和屬性節(jié)點(diǎn)也要引起注意。對(duì)于高級(jí)程序員來(lái)說(shuō),還要考慮程序的性能如何,能否滿(mǎn)足速度與響應(yīng)的要
43、求以及內(nèi)存的使用情況。</p><p> 2.2 設(shè)計(jì)方案的比較</p><p> 2.2.1 軟件比較</p><p> 在給定計(jì)算機(jī)必要的儀器硬件后,構(gòu)成和使用虛擬儀器的關(guān)鍵在于軟件。軟件為用戶(hù)提供了集成開(kāi)發(fā)環(huán)境、高水平的儀器硬件接口和用戶(hù)接口。美國(guó)國(guó)家儀器公司提出的“軟件即儀器”(The Software is the Instrument)形象的概況了
44、軟件在虛擬儀器技術(shù)中的重要作用。所以正確選擇軟硬件對(duì)程序開(kāi)發(fā)和設(shè)計(jì)起著非常重要的作用。只有選擇了合適的軟硬件才能快速的開(kāi)發(fā)出應(yīng)用軟件,才能事半功倍。</p><p> 對(duì)于虛擬儀器應(yīng)用軟件的編寫(xiě),大致可以分為兩種方式:</p><p> ?。?)通用編程軟件進(jìn)行編寫(xiě)。主要有Microsoft公司的Visual Basic與Visual C++,Borland公司的Delphi,Sybas
45、e公司的Power Builder。</p><p> (2)用專(zhuān)業(yè)圖形化編程軟件開(kāi)發(fā)。如HP公司的HP-VEE,NI公司的LABVIEW Lab windows/CVI等。</p><p> 具體選用哪一種軟件,應(yīng)該由編程者根據(jù)實(shí)際情況選擇。設(shè)計(jì)一個(gè)簡(jiǎn)易數(shù)據(jù)采集系統(tǒng),在設(shè)計(jì)中必須考慮以下因素:開(kāi)發(fā)成本低、執(zhí)行效率佳、程序彈性大、開(kāi)放性架構(gòu)易于擴(kuò)充。</p><p&
46、gt; LABVIEW是實(shí)驗(yàn)室虛擬儀器工作平臺(tái)(Laboratory Virtual Instrument Engineering Workbench)的簡(jiǎn)稱(chēng),是美國(guó)國(guó)家儀器公司(NI)的創(chuàng)新軟件產(chǎn)品,也是目前應(yīng)用最廣泛、發(fā)展最快、功能最強(qiáng)的圖形化軟件開(kāi)發(fā)環(huán)境。LABVIEW的前面板可以包括旋鈕、刻度盤(pán)、開(kāi)關(guān)、圖表和其他界面工具,允許用戶(hù)通過(guò)鍵盤(pán)或鼠標(biāo)獲取數(shù)據(jù)并顯示結(jié)果。LABVIEW具有模塊化特性,有利于程序的可重用性。LABVIE
47、W將軟件的界面設(shè)計(jì)和功能設(shè)計(jì)獨(dú)立開(kāi)來(lái),修改人機(jī)界面無(wú)需對(duì)整個(gè)程序進(jìn)行調(diào)整,LABVIEW是利用數(shù)據(jù)流框圖接受指令,使程序簡(jiǎn)單明了,充分發(fā)揮了圖形化編程環(huán)境的優(yōu)點(diǎn)。這就大大縮短了虛擬儀器的開(kāi)發(fā)周期、消除了虛擬儀器編程的復(fù)雜過(guò)程。而通用的編程軟件需利用組件技術(shù)實(shí)現(xiàn)軟面板的設(shè)計(jì),這使程序設(shè)計(jì)變得非常麻煩。</p><p> LABVIEW雖然是為計(jì)算機(jī)測(cè)控領(lǐng)域開(kāi)發(fā)的,但它的函數(shù)包含了一般高級(jí)計(jì)算機(jī)語(yǔ)言中的絕大多數(shù)程序
48、控制功能。LABVIEW作為開(kāi)發(fā)環(huán)境具有的優(yōu)點(diǎn)總結(jié)如下所述:</p><p> (1)圖形編程化,降低了對(duì)使用者編程經(jīng)驗(yàn)的要求,易于工程師使用;</p><p> ?。?)采用面向?qū)ο蟮姆椒ê透拍?,有利于軟件的開(kāi)發(fā)和再利用;</p><p> ?。?)對(duì)象、框圖及其構(gòu)成的虛擬儀器在Windows,Windows NT、UNIX等多平臺(tái)之間和各種PC機(jī)及工作站間兼容
49、,便于軟件移植;</p><p> ?。?)支持550多種標(biāo)準(zhǔn)總線(xiàn)設(shè)備及數(shù)據(jù)采集卡,如串行接口、GPIB、VXI等;</p><p> (5)具有豐富的庫(kù)函數(shù)和例子,對(duì)于大多數(shù)應(yīng)用程序,用戶(hù)可以從例子中取得程序框架,便于提高開(kāi)發(fā)速度;</p><p> ?。?)具有比較完備的代碼接口,可調(diào)用Windows中的動(dòng)態(tài)鏈接庫(kù)(DLL)中的函數(shù)以及C語(yǔ)言程序,以彌補(bǔ)自身的
50、某些不足;</p><p> ?。?)直接支持動(dòng)態(tài)數(shù)據(jù)交換(DDE)、對(duì)象聯(lián)接與嵌入(OLE)、結(jié)構(gòu)化查詢(xún)語(yǔ)言(SQL)、便于與其他Windows應(yīng)用程序和數(shù)據(jù)庫(kù)應(yīng)用程序接口;</p><p> ?。?)支持TCP,UDP等網(wǎng)絡(luò)協(xié)議,網(wǎng)絡(luò)功能強(qiáng)大,可遙控分布在其他微機(jī)上的虛擬儀器設(shè)備;</p><p> ?。?)為加強(qiáng)LABVIEW的功能,適應(yīng)各種工業(yè)應(yīng)用的需要,N
51、I公司又開(kāi)發(fā)了一系列與LABVIEW配合使用的軟件包,如自動(dòng)測(cè)試工具、可連接25種數(shù)據(jù)庫(kù)的SQL工具、SPC分析函數(shù)工具、信號(hào)處理套件、PID控制工具、圖形控制工具等。</p><p> 在許多應(yīng)用程序中,運(yùn)行速度是至關(guān)重要的。LABVIEW是至今唯一帶有可以生產(chǎn)最佳編碼的編譯器的圖形化開(kāi)發(fā)環(huán)境,運(yùn)行速度等同于編好的C或C++程序。因此用LABVIEW來(lái)做數(shù)據(jù)采集設(shè)計(jì)是很好的選擇。</p><
52、;p> 2.2.2 聲卡采集數(shù)據(jù)的特點(diǎn)</p><p> 商用數(shù)據(jù)采集卡具有較大的通用性,但其價(jià)格比較昂貴,在具體的應(yīng)用場(chǎng)合,有些功能可能并不實(shí)用。普通聲卡,具有16位的量化精度、數(shù)據(jù)采集頻率是44.1kHz,完全可以滿(mǎn)足特定應(yīng)用范圍內(nèi)數(shù)據(jù)采集的需要,個(gè)別性能指標(biāo)還優(yōu)于商用數(shù)據(jù)采集卡,而價(jià)格卻為商用數(shù)據(jù)采集卡的十幾分之一甚至幾十分之一。</p><p> 計(jì)算機(jī)中的聲卡本身就是
53、一個(gè)A/D,D/A的轉(zhuǎn)化裝置,并且造價(jià)低廉,對(duì)于設(shè)計(jì)者而言,在PC上完成數(shù)據(jù)采集的任務(wù),成本幾乎為0;性能穩(wěn)定,在設(shè)計(jì)中完全可以滿(mǎn)足要求。因此在本設(shè)計(jì)中,數(shù)據(jù)采集裝置主要基于聲卡和數(shù)據(jù)模擬波形。</p><p><b> 1、聲卡的作用</b></p><p> 從數(shù)據(jù)采集的角度看,聲卡是一種音頻范圍內(nèi)的數(shù)據(jù)內(nèi)數(shù)據(jù)采集卡,是計(jì)算機(jī)與外部的模擬量間環(huán)境聯(lián)系的重要途徑
54、。LABVIEW提供了操作聲卡的函數(shù)。</p><p> 聲卡的主要功能包括錄制與播放、編輯與合成處理、MIDI接口三個(gè)部分。</p><p><b> ?。?)錄制與播放</b></p><p> 通過(guò)聲卡,人們可將來(lái)自話(huà)筒、收錄機(jī)等外部音源的聲音錄入計(jì)算機(jī),并轉(zhuǎn)換成數(shù)字文件進(jìn)行存儲(chǔ)和編輯等操作;人們也可以將數(shù)字文件還原成聲音信號(hào),通過(guò)揚(yáng)
55、聲器回放,例如為電子游戲配音,以及播放CD、VCD、DVD、MP3和卡拉OK等。注意,在錄制和回放時(shí),不僅要進(jìn)行D/A和A/D轉(zhuǎn)換,還要進(jìn)行壓縮和解壓縮處理。</p><p> (2)編輯和合成處理</p><p> 通過(guò)對(duì)聲音文件進(jìn)行多種特技效果的處理,包括加入回聲,倒放,淡入淡出,往返放音以及左右兩個(gè)聲道交叉放音等,可以實(shí)現(xiàn)對(duì)各種聲源音量的控制和混合。</p><
56、;p> ?。?)MIDI(Musical Instrument Digital Interface 樂(lè)器數(shù)字接口)接口</p><p> 通過(guò)MIDI接口和波表合成,可以記錄和回放各種接近真實(shí)樂(lè)器原聲的音樂(lè)。</p><p> 從一般意義上來(lái)看,上述功能主要是數(shù)據(jù)采集和信號(hào)處理,很自然的就可以聯(lián)想到用聲卡實(shí)現(xiàn)示波器、信號(hào)處理器、頻譜分析儀等虛擬儀器。</p><
57、;p><b> 2、聲卡的硬件結(jié)構(gòu)</b></p><p> 圖2-1是一個(gè)聲卡的硬件結(jié)構(gòu)示意圖。一般聲卡有4-5個(gè)對(duì)外接口。其中,輸出接口有2個(gè),分別是Ware Out和SPK Out。Ware Out(或Line Out)給出的信號(hào)沒(méi)有經(jīng)過(guò)放大,需要外接功率放大器,例如可以接到有源音箱;SPK Out給出的信號(hào)是通過(guò)功率放大的信號(hào),可以直接接到喇叭上。這些接口可以用來(lái)作為雙通道
58、信號(hào)發(fā)生器的輸出。</p><p> 圖2-1 聲卡的硬件結(jié)構(gòu)示意圖</p><p> 輸入接口Line In 和Mic In的區(qū)別在于,后者可以接入較弱的信號(hào),幅值大約為0.02-0.2V,顯然這個(gè)信號(hào)較易受干擾,因而常使用Line In,它可以接入幅值約為不超過(guò)1.5V的信號(hào)。注意,這兩個(gè)輸入端口都有隔直電容,這意味著直流信號(hào)不能被聲卡所接受。多數(shù)聲卡的輸入也是雙通道的,但接入插頭
59、線(xiàn)往往將這兩個(gè)通道短接成一個(gè)通道。另外這兩個(gè)通道是共地的。</p><p> 3、聲卡的主要技術(shù)參數(shù)</p><p><b> (1)采樣的位數(shù)</b></p><p> 采樣位數(shù)可以理解為聲卡處理聲音的解析度。這個(gè)數(shù)值越大,解析度就越高,錄制和回放的聲音也就越真實(shí)。聲卡的位是指聲卡在采集和播放聲音文件時(shí)所使用的數(shù)字聲音信號(hào)的二進(jìn)制位數(shù),
60、它客觀的反映了數(shù)字聲音信號(hào)對(duì)輸入聲音信號(hào)描述的準(zhǔn)確度。例如,8位代表;16位的代表。比較之下,一段相同的音樂(lè)信息,16位聲卡能把它分為64000個(gè)精度單位進(jìn)行處理,而8位聲卡只能處理256個(gè)精度單位,最終采樣效果當(dāng)然是無(wú)法相提并論的。</p><p><b> (2)采樣頻率</b></p><p> 目前,聲卡的最高采樣頻率為44.1kHz,少數(shù)達(dá)到48kHz。
61、對(duì)于民用聲卡,一般將采樣頻率設(shè)為4檔,分別是44.1kHz、22.05kHz、11.025kHz、8kHz。22.05kHz只能達(dá)到FM廣播的聲音品質(zhì);44.1kHz是理論上的CD音質(zhì)界限,48kHz則更好一些。對(duì)20kHz范圍內(nèi)的音頻信號(hào),最高的采樣頻率才48kHz,雖然理論上沒(méi)有問(wèn)題,但似乎余量不大。使用聲卡比較大的局限在于,它不允許用戶(hù)在最高采樣頻率之下隨意設(shè)定采樣頻率,而只能分為4檔設(shè)定。這樣雖然可使制造成本降低,但卻不便于使用
62、。用戶(hù)基本上不可能控制整周期采樣,只能通過(guò)信號(hào)處理的方法來(lái)彌補(bǔ)非整周期采樣帶來(lái)的問(wèn)題。</p><p><b> ?。?)緩沖區(qū)</b></p><p> 與一般數(shù)據(jù)采樣卡不同,聲卡面臨的D/A和A/D任務(wù)通常是連續(xù)狀態(tài)的。為了在一個(gè)簡(jiǎn)易的結(jié)構(gòu)下較好的完成某個(gè)任務(wù),聲卡緩沖區(qū)的設(shè)計(jì)有其獨(dú)到之處。</p><p> 為了節(jié)省CPU資源,計(jì)算機(jī)
63、的CPU并不是每次聲卡A/D或D/A結(jié)束后都要響應(yīng)一次中斷,而是采用了緩沖區(qū)的工作方式。在這種工作方式下,聲卡的A/D、D/A都對(duì)某一緩沖區(qū)進(jìn)行操作。以輸入聲音的A/D變換為例,每次轉(zhuǎn)換完畢后,聲卡控制芯片都將數(shù)據(jù)存放在緩沖區(qū),待緩沖區(qū)滿(mǎn)時(shí),發(fā)出中斷給CPU,CPU響應(yīng)中斷后一次性將緩沖區(qū)內(nèi)的數(shù)據(jù)全部讀走。計(jì)算機(jī)總線(xiàn)的數(shù)據(jù)傳輸速率非常高,讀取緩沖區(qū)數(shù)據(jù)所用時(shí)間極短,不會(huì)影響A/D變換的連續(xù)性。緩沖區(qū)的工作方式大大降低了CPU響應(yīng)中斷頻度
64、,節(jié)省了系統(tǒng)資源。聲卡輸出聲音是的D/A變換也是類(lèi)似的。</p><p> 一般聲卡使用的緩沖區(qū)長(zhǎng)度的默認(rèn)值是8KB(8192字節(jié))。這是由于對(duì)x86系列處理器來(lái)說(shuō),在保護(hù)模式(Windows等系統(tǒng)使用的CPU工作方式)下,內(nèi)存以8KB為單位被分成很多頁(yè),對(duì)內(nèi)存的任何訪問(wèn)都是按頁(yè)進(jìn)行,CPU保證了讀寫(xiě)8KB長(zhǎng)度的內(nèi)存緩沖區(qū)時(shí),速度足夠快,并且一般不會(huì)被其他外來(lái)事件打斷。設(shè)置8192字節(jié)或其整數(shù)倍(例如32768
65、字節(jié))大小的緩沖區(qū),可以較好的保證聲卡與CPU的協(xié)調(diào)工作。</p><p><b> ?。?)沒(méi)有基準(zhǔn)電壓</b></p><p> 聲卡不提供基準(zhǔn)電壓,因此無(wú)論是D/A還是A/D在使用時(shí),都需要用戶(hù)自己參照基準(zhǔn)電壓進(jìn)行標(biāo)定。</p><p> 4、聲卡的頻率范圍與頻率響應(yīng)</p><p> 人耳對(duì)頻率的感覺(jué)從20
66、Hz到20kHz之間,而聲卡的頻率響應(yīng)上限范圍在20kHz。</p><p> 5、聲卡用于數(shù)據(jù)采集時(shí)的一些設(shè)置</p><p><b> ?。?)聲卡的設(shè)置</b></p><p> 一般聲卡主要用于輸出聲音,輸入部分可能沒(méi)有處于正常工作狀態(tài)。建議首先使用耳機(jī)和MIC檢查聲卡的功能,特別是輸入功能(錄音功能)是否正常。如果不正常,需要檢查
67、聲卡的設(shè)置。一般來(lái)說(shuō),這里的設(shè)置有兩層含義,首先是要配置所需的功能,其次是要保證已經(jīng)配置的功能不處于關(guān)閉(靜音)狀態(tài)。下面介紹對(duì)Line In 和Mic In的檢查和設(shè)置。</p><p> 按圖2-2所示,在“選項(xiàng)”菜單下選“屬性”,得到圖2-2(b)圖所示的對(duì)話(huà)框,在此對(duì)話(huà)框上選擇“錄音”,并配置列表中的選項(xiàng)即可。注意圖3-2中的相關(guān)功能都不能處于靜音狀態(tài)。如圖2-2(a)所示。</p>&l
68、t;p> 圖2-2 (a)音量控制窗口</p><p> 圖2-2 音量控制窗口和音量控制屬性對(duì)話(huà)框</p><p><b> ?。?)硬件連接</b></p><p> 硬件連接采用兩種連接線(xiàn):1 一條一頭是3.5mm插孔,另一頭是鱷魚(yú)夾的連接線(xiàn),2 是雙頭為3.5mm 插孔的音頻連接線(xiàn)(在市場(chǎng)上可以買(mǎi)的到)。為測(cè)試聲卡的頻響特性
69、,可使用測(cè)試線(xiàn)2將聲卡的輸入端與輸出端連接起來(lái),形成一個(gè)閉合的環(huán)路。連接時(shí)要注意區(qū)分Mic In 口和SPK Out口,不要把它們當(dāng)作Line In 與Line Out接入。如果測(cè)試輸入信號(hào),則使用測(cè)試線(xiàn)1把信號(hào)源連接到聲卡輸入端Line In口;如果測(cè)試輸出信號(hào),就把該測(cè)試線(xiàn)連接到聲卡輸出端Line Out口。</p><p><b> 3 軟件模塊的設(shè)計(jì)</b></p>
70、<p> 在本章中詳細(xì)介紹各個(gè)功能模塊及其生成過(guò)程。</p><p> 3.1 程序的流程圖</p><p> 程序流程框圖如圖3-1所示:</p><p> 圖 3-1 數(shù)據(jù)采集程序流程圖</p><p><b> 流程圖簡(jiǎn)介:</b></p><p> 首先對(duì)設(shè)計(jì)中運(yùn)用到
71、的模塊進(jìn)行初始化,然后通過(guò)聲卡對(duì)數(shù)據(jù)進(jìn)行采集,把采集到的信號(hào)送入LABVIEW模塊中,通過(guò)LABVIEW模塊的程序運(yùn)行下,把采集到的信號(hào)通過(guò)圖形的形式,把波形顯示出來(lái)。通過(guò)波形的顯示,最后把波形的其他參數(shù)以數(shù)字的形式都顯示出來(lái)。</p><p> 3.2 程序的結(jié)構(gòu)圖</p><p> 程序的結(jié)構(gòu)圖如圖3-2所示:</p><p> 圖3-2 程序的結(jié)構(gòu)圖&l
72、t;/p><p> 3.3 LABVIEW 簡(jiǎn)介</p><p> LABVIEW是(實(shí)驗(yàn)室虛擬儀器工作平臺(tái))是一個(gè)程序開(kāi)發(fā)環(huán)境。它類(lèi)似于Visual Basic,Visual C++。但是LABVIEW的特點(diǎn)在于:它使用圖形化編程語(yǔ)言G在流程圖中創(chuàng)建源程序,而沒(méi)有使用基于的文本語(yǔ)言來(lái)產(chǎn)生源程序代碼。</p><p> LABVIEW是一個(gè)多線(xiàn)程、最佳化的圖形編譯
73、器,它能在最大程度上優(yōu)化系統(tǒng)的性能。無(wú)論是使用基于計(jì)算機(jī)的插入式儀器設(shè)備,還是使用GPIB,VXI,Ethernet 接口或是串口的獨(dú)立儀器設(shè)備,LABVIEW內(nèi)置的驅(qū)動(dòng)程序庫(kù)和具有工業(yè)標(biāo)準(zhǔn)的設(shè)備驅(qū)動(dòng)軟件都可以對(duì)儀器系統(tǒng)進(jìn)行全面的控制。LABVIEW的數(shù)據(jù)采集庫(kù)包含了許多有關(guān)采集和生成數(shù)據(jù)的函數(shù),它們與NI的插卡式或遠(yuǎn)程數(shù)據(jù)采集產(chǎn)品協(xié)同工作。數(shù)據(jù)采集卡是進(jìn)行高速直接控制以及低速控制的理想設(shè)備。它能夠?yàn)榧墒綔y(cè)量方案提供功能強(qiáng)大且完備的測(cè)
74、量分析庫(kù),這些軟件庫(kù)可以完成極限測(cè)試、頻率分析、濾波及信號(hào)生成等任務(wù)。LABVIEW具有許多特性,能使測(cè)量和自動(dòng)化應(yīng)用方案完成適用于用戶(hù)企業(yè)的生產(chǎn)經(jīng)營(yíng),能將應(yīng)用方案以網(wǎng)頁(yè)的形式發(fā)表,或在互聯(lián)網(wǎng)的應(yīng)用程序間進(jìn)行數(shù)據(jù)傳遞。LABVIEW擁有完整的Web服務(wù)器,可以隨時(shí)發(fā)布測(cè)量結(jié)果。LABVIEW專(zhuān)業(yè)版開(kāi)發(fā)系統(tǒng)包括應(yīng)用程序生成器(Application Builder),可以創(chuàng)建并發(fā)布獨(dú)立的可執(zhí)行程序、共享庫(kù)或動(dòng)態(tài)連接庫(kù)(DLL)。使用共享庫(kù)
75、可以使開(kāi)發(fā)的應(yīng)用程序代碼進(jìn)行重新使用。DLL提供最大的靈活性,可以將LABV</p><p> 3.3.1 G語(yǔ)言簡(jiǎn)介</p><p> LABVIEW是一個(gè)功能比較完整的軟件開(kāi)發(fā)環(huán)境,但它是為代替常規(guī)的BASIC和C語(yǔ)言設(shè)計(jì)的,它是一種編程語(yǔ)言而不僅僅是一個(gè)軟件開(kāi)發(fā)環(huán)境。它除了編程方式不同外,具有編程語(yǔ)言的所有特點(diǎn),稱(chēng)之為圖形化編程語(yǔ)言(簡(jiǎn)稱(chēng)G語(yǔ)言)。</p><
76、p> G語(yǔ)言是一種適合應(yīng)用于編程任務(wù),具有擴(kuò)展函數(shù)庫(kù)的通用編程環(huán)境。和BASIC和C語(yǔ)言一樣,G語(yǔ)言也定義了數(shù)據(jù)類(lèi)型、結(jié)構(gòu)類(lèi)型和模塊調(diào)用語(yǔ)法規(guī)則等編程語(yǔ)言的基本要素,在功能完整性和應(yīng)用靈活性上不遜于任何高級(jí)語(yǔ)言,同時(shí)G語(yǔ)言豐富的擴(kuò)展函數(shù)庫(kù)還為用戶(hù)編程提供了極大的方便。G語(yǔ)言與傳統(tǒng)高級(jí)編程語(yǔ)言最大的差別在于編程方式一般高級(jí)語(yǔ)言采用文本編程,而G語(yǔ)言采用圖形化編程語(yǔ)言。G語(yǔ)言是LABVIEW的核心,熟練掌握G語(yǔ)言的編程要素和語(yǔ)法規(guī)則
77、,是開(kāi)發(fā)LABVIEW應(yīng)用程序的最重要的基礎(chǔ)。</p><p> 3.3.2 LABVIEW 程序組成</p><p> 該環(huán)境包括三個(gè)部分:程序前面板、框圖程序和圖標(biāo)/連接端口。程序前面板用于設(shè)置輸入數(shù)值和觀察輸出量,用于模擬真實(shí)儀表的前面板。在程序前面板上,輸入量被稱(chēng)為控制(Controls),為虛擬儀器的框圖程序提供數(shù)據(jù);輸出量被稱(chēng)為顯示(Indicators),顯示虛擬儀器流程
78、圖中產(chǎn)生或獲得的數(shù)據(jù)。控制和顯示是以各種圖標(biāo)形式出現(xiàn)在前面板上,如旋鈕、開(kāi)關(guān)、按鈕、圖表、圖形等,這使得前面板直觀易懂。</p><p> 一個(gè)程序前面板都對(duì)應(yīng)著一段框圖程序。框圖程序用LABVIEW圖形編程語(yǔ)言編寫(xiě),可以把它理解成傳統(tǒng)程序的源代碼。框圖程序由節(jié)點(diǎn)(Node)、數(shù)據(jù)連線(xiàn)(Wire)構(gòu)成。節(jié)點(diǎn)是VI程序中的執(zhí)行元素,類(lèi)似于文本編程語(yǔ)言程序中的語(yǔ)句、函數(shù)或子程序。節(jié)點(diǎn)之間數(shù)據(jù)連線(xiàn)按照一定的邏輯關(guān)系相
79、互連接,可定義框圖程序內(nèi)的數(shù)據(jù)流動(dòng)方向。節(jié)點(diǎn)之間、節(jié)點(diǎn)與前面板對(duì)象之間是同數(shù)據(jù)端口和數(shù)據(jù)連線(xiàn)來(lái)傳遞數(shù)據(jù)的。數(shù)據(jù)端口是數(shù)據(jù)在前面板對(duì)象和框圖程序之間傳輸?shù)耐ǖ?,是?shù)據(jù)在框圖程序內(nèi)節(jié)點(diǎn)之間傳輸?shù)慕涌凇?lt;/p><p> LABVIEW中有三種類(lèi)型的數(shù)據(jù)端口:控制端口和指示端口以及節(jié)點(diǎn)端口。控制端口和指示端口用于前面板對(duì)象,當(dāng)VI程序運(yùn)行時(shí),從控制輸入的數(shù)據(jù)通過(guò)控制端傳遞到框圖程序,供其中的程序使用,產(chǎn)生的輸出數(shù)據(jù)再
80、通過(guò)指示端口傳輸?shù)角懊姘鍖?duì)應(yīng)的指示中顯示。每個(gè)節(jié)點(diǎn)端口都有一個(gè)或數(shù)個(gè)數(shù)據(jù)端口用于輸入或輸出。</p><p> LABVIEW 采用的一種獲得專(zhuān)利的數(shù)據(jù)流編程模式。這不同于基于文本的編程語(yǔ)言的線(xiàn)形結(jié)構(gòu),不同于執(zhí)行一個(gè)傳統(tǒng)的控制流方法??刂屏鲌?zhí)行的是指令驅(qū)動(dòng),而數(shù)據(jù)流執(zhí)行的是數(shù)據(jù)流驅(qū)動(dòng)或依賴(lài)數(shù)據(jù)的。</p><p> 但一個(gè)虛擬儀器的圖標(biāo)被放置在另一個(gè)虛擬儀器的流程圖中時(shí),它就是一個(gè)子儀
81、器。圖標(biāo)連接端口可以把VI變成一個(gè)Sub VI,然后象子程序一樣在其他程序中調(diào)用。圖標(biāo)是Sub VI的直觀標(biāo)記,是Sub VI在其他程序框圖中被調(diào)用的節(jié)點(diǎn)表現(xiàn)形式,而連接端口則表示該Sub VI與調(diào)用它的 VI之間進(jìn)行數(shù)據(jù)交換的輸入/輸出口,就象傳統(tǒng)編程語(yǔ)言子程序的參數(shù)。</p><p> 3.4 數(shù)據(jù)采集和處理模塊</p><p> 數(shù)據(jù)采集模塊是虛擬軟件的硬件驅(qū)動(dòng)部分,在這里主要是
82、利用LABVIEW里面的聲卡函數(shù)完成聲卡的硬件參數(shù)設(shè)置、啟動(dòng)聲卡采集數(shù)據(jù)、等待采樣數(shù)據(jù)緩沖區(qū)滿(mǎn)的消息、通知聲卡停止采集等任務(wù)。</p><p> 具體的數(shù)據(jù)采集流程是:(1)初始化;對(duì)聲卡中與數(shù)據(jù)采集相關(guān)的一些硬件參數(shù)進(jìn)行設(shè)置;(2)然后,聲卡開(kāi)始采集數(shù)據(jù),并將采集到的數(shù)據(jù)暫存在先進(jìn)先出的緩沖區(qū)中;(3)當(dāng)緩沖區(qū)存滿(mǎn)數(shù)據(jù)后,一方面將數(shù)據(jù)讀取到用戶(hù)程序的數(shù)組中,產(chǎn)生一個(gè)采樣數(shù)據(jù)集合,并在程序中對(duì)數(shù)據(jù)進(jìn)行各種處理;
83、 </p><p> 如圖3-3所示,為數(shù)據(jù)采集和處理模塊。</p><p> 圖3-3 數(shù)據(jù)采集和處理模塊</p><p><b> 程序說(shuō)明:</b></p><p> 在LABVIEW軟件中,對(duì)于聲卡的聲道可以分為mono 8-bit(單聲道8位),mono 16-bit(單聲道16位),stereo 8-
84、bit(立體聲8位)和stereo 16-bit(立體聲16位)。其中,16位聲道比8位聲道采樣信號(hào)的質(zhì)量好,立體聲(stereo)比單聲道(mono)采樣信號(hào)好,最好的采樣通道形式是stereo 16-bit,這樣采樣的波形穩(wěn)定,而且干擾小。另外,用單聲道采樣,左右聲道信號(hào)都相同,而且每個(gè)聲道的幅值只有原信號(hào)幅值的1/2;采用立體聲采樣,左右聲道互不干擾,可以采兩路不同的信號(hào),而且采樣的信號(hào)幅值與原幅值相同。</p>&
85、lt;p> 當(dāng)然,還有一個(gè)重要的原因是,如果選擇mono(單聲道),SI出來(lái)的數(shù)據(jù)是標(biāo)量,不能組成數(shù)組,進(jìn)而不便于數(shù)據(jù)的各種處理。所以在設(shè)計(jì)中我采用stereo 16-bit進(jìn)行雙聲道采樣。</p><p> 聲卡的采樣頻率(rate)有4種選擇,即8000Hz,11025Hz,22050Hz和44100Hz,采樣頻率不同,采到的波形的質(zhì)量也不同,應(yīng)視具體情況采用合適的頻率,在設(shè)計(jì)中,為了得到良好的演示
86、效果,我采用了44100Hz的采樣頻率。而在采樣率的選擇方面,我采用了一個(gè)case循環(huán),目的是在采樣率為44100Hz的條件下,在循環(huán)內(nèi)產(chǎn)生波形數(shù)據(jù)。這個(gè)在后面波形產(chǎn)生模塊中進(jìn)行詳細(xì)解釋。</p><p><b> 主要操作說(shuō)明;</b></p><p> 在block diagram:</p><p> Functions → Grap
87、hics & Sound → Sound → Sound Input 選擇Sound Input函數(shù)。</p><p> 1) Functions → Structures → While Loop 選擇While循環(huán)。</p><p> 2) Functions → Structure → Case 選擇Case 循環(huán)。</p><p> 3) 右鍵
88、點(diǎn)擊SI Config 函數(shù)的Sound Format輸入,選擇create control,自動(dòng)生成Sound Format簇類(lèi)型控鍵。其中包含三項(xiàng)數(shù)據(jù),分別為:sound quality;rate;bits persample。</p><p> 4) 右鍵點(diǎn)擊SI Config 函數(shù)的Buffer Size輸入,選擇create control,自動(dòng)生成無(wú)符號(hào)長(zhǎng)整數(shù)類(lèi)型的控鍵。</p>&l
89、t;p> 5)Functions → Cluster → Unbundle 選擇Unbundle 函數(shù)。對(duì)輸入簇Cluster 進(jìn)行解包。當(dāng)接入cluster輸入?yún)?shù)后,輸出端子數(shù)自動(dòng)調(diào)整為與cluster元素?cái)?shù)目相同。</p><p> 6)聲卡參數(shù)設(shè)置如如圖3-3-1</p><p> 圖3-3-1 數(shù)據(jù)采集參數(shù)配置</p><p> 3.4.1聲
90、音輸入配置虛擬儀器</p><p> Sound Input Configure .Vi 的前面板如圖3-4所示。</p><p> Sound Input Configure .Vi 的前面板是對(duì)聲卡參數(shù)的一些設(shè)置,這些設(shè)置必須能夠滿(mǎn)足設(shè)計(jì)的需要。參數(shù)設(shè)置如圖3-4所示。</p><p> 圖3-4 Sound Input Configure .Vi 的前面
91、板</p><p> Sound Input Configure .Vi 的后面板如圖3-5所示。</p><p> 圖3-5 Sound Input Configure .Vi 的后面板</p><p><b> 程序說(shuō)明:</b></p><p> Sound Input Configure,該函數(shù)的主要功能
92、是設(shè)置聲卡中與數(shù)據(jù)采集有關(guān)的一些硬件參數(shù),如采樣率,數(shù)據(jù)格式,緩沖區(qū)長(zhǎng)度等。聲卡的采樣率由內(nèi)部時(shí)鐘控制,只有3-4種固定頻率可選,一般將采樣頻率設(shè)置為44100HZ,數(shù)據(jù)格式設(shè)置為16bit。緩沖區(qū)長(zhǎng)度可選默認(rèn)值。</p><p><b> 主要操作說(shuō)明:</b></p><p> 在block diagram: </p><p> Fu
93、nctions → Graphics & Sound → Sound → Input → Configure 選擇configure函數(shù)。</p><p> 3.4.2聲音輸入讀取虛擬儀器</p><p> Sound Input Read .VI的前面板如圖3-6所示。</p><p> Sound Input Read .VI的前面板為聲卡采集時(shí)的
94、參數(shù)設(shè)置。</p><p> 圖3-6 Sound Input Read .VI的前面板</p><p> Sound Input Read .VI的后面板如圖3-7 所示:</p><p> 圖3-7 Sound Input Read .VI的后面板</p><p><b> 程序說(shuō)明:</b></p&g
95、t;<p> 該函數(shù)用于等待采樣數(shù)據(jù)緩沖區(qū)滿(mǎn)的消息。當(dāng)產(chǎn)生這一消息時(shí),它將數(shù)據(jù)緩沖區(qū)的內(nèi)容讀取到用戶(hù)程序的數(shù)組中,產(chǎn)生一個(gè)數(shù)據(jù)采樣集合。若計(jì)算機(jī)的速度不夠快,使得緩沖區(qū)內(nèi)容被覆蓋,則會(huì)產(chǎn)生一個(gè)錯(cuò)誤信息。這時(shí)應(yīng)調(diào)節(jié)緩沖區(qū)的大小,在采樣時(shí)間和數(shù)據(jù)讀取之間找到一個(gè)理想的平衡點(diǎn)。</p><p><b> 主要操作說(shuō)明:</b></p><p> 在blo
96、ck diagram: </p><p> Functions → Graphics & Sound → Sound → Input → Read 選擇read函數(shù)。</p><p> 3.4.3聲音輸入清除虛擬儀器</p><p> Sound Input Clear .VI 的前面板如圖3-8 所示:</p><p> 圖
97、3-8 Sound Input Clear .VI 的前面板</p><p> Sound Input Clear .VI 的后面板如圖3-9 所示:</p><p> 圖3-9 Sound Input Clear .VI 的后面板</p><p><b> 程序說(shuō)明:</b></p><p> 該函數(shù)用于完成最
98、終的清理工作。例如關(guān)閉聲卡采樣通道,釋放請(qǐng)求的一系列系統(tǒng)資源(包括MDA,緩沖區(qū)內(nèi)存,聲卡端口等)。</p><p><b> 主要操作說(shuō)明:</b></p><p> 在block diagram: </p><p> Functions → Graphics & Sound → Sound → Input → Clear選擇c
99、lear函數(shù)。</p><p> 3.5 數(shù)據(jù)模擬模塊</p><p> 數(shù)據(jù)模擬模塊是用labview自己模塊模擬發(fā)出波形模擬采集的數(shù)據(jù)波形,主要為分析波形等使用,模擬的波形主要分為兩個(gè)通道或?qū)蓚€(gè)通道的疊加成一個(gè)波形。發(fā)出的波形主要有:正弦波、方波、三角波、鋸齒波、高斯白噪聲、Gamma。</p><p> 主要方法是在labview中用函數(shù)信號(hào)發(fā)生器產(chǎn)生
100、一個(gè)信號(hào),實(shí)際上相當(dāng)于通過(guò)軟件實(shí)現(xiàn)了一個(gè)信號(hào)發(fā)生器的功能。</p><p><b> 正弦波:</b></p><p> 公式為y=Asin(ωx+φ)A為振幅,ω周期,φ相位。</p><p><b> 方波:</b></p><p> 公式為y=flc1hs(sin(2*pi*f*t),
101、 eps)&Va/yp頻率為f的值為0~1的方波。</p><p> 電流的波形為矩形的電流即為方波電流。不論 t 軸上下是不對(duì)稱(chēng)的,只要是矩形就可叫方波,必要時(shí),可加“對(duì)稱(chēng)”,“不對(duì)稱(chēng)”加以說(shuō)明。</p><p> 方波不一定是交流波。主要看該方波有沒(méi)有正負(fù)交替,要一直是一個(gè)符號(hào)就是直流了,可以全是正的,也可以全是負(fù)的;如果有正有負(fù)就是交流了。</p>&l
102、t;p><b> 三角波:</b></p><p><b> 三角波函數(shù):</b></p><p> 輸入 f[x_]:=x /; 0<=x<1</p><p> 輸入 f[x_]:=2-x /; 1<=x<2</p><p>
103、; 輸入 f[x_]:=f[x-2] /; x>=2</p><p> 鋸齒波:一般主要由搭建硬件電路來(lái)實(shí)現(xiàn),效果如下圖:</p><p> 波形方式對(duì)應(yīng)的labview控件如下:有正弦波、方波、三角波、鋸齒波、高斯白噪聲。</p><p> 程序的主要實(shí)現(xiàn)模塊,當(dāng)選擇模擬波形時(shí),有兩個(gè)通道可以選擇波形,可以調(diào)整幅值、頻率、相位??梢?/p>
104、將兩個(gè)不同的波形進(jìn)行疊加,形成各種不同想要的波形。具體實(shí)現(xiàn)如圖3-11,控制如圖3-12</p><p> 圖3-11 模擬波形實(shí)現(xiàn)模塊后面板</p><p> 模擬波形實(shí)現(xiàn)模塊前面板如圖3-12所示:</p><p> 圖3-12 模擬波形實(shí)現(xiàn)模塊前面板</p><p><b> 程序說(shuō)明:</b></p
105、><p> 兩個(gè)通道的波形疊加成一個(gè)需要的波形,進(jìn)行分析等!當(dāng)聲卡沒(méi)有采集數(shù)據(jù)的時(shí)候,可以用labview模擬的數(shù)據(jù)波形代替通過(guò)聲卡采集到的波形。</p><p> 3.6 低通濾波模塊</p><p> 在信號(hào)傳輸過(guò)程中,由于外界的干擾,經(jīng)常會(huì)混入高頻噪聲。因此在測(cè)量信號(hào)時(shí)希望把高頻噪聲信號(hào)去掉。通常的做法都是采用低頻濾波器將高頻噪聲濾掉。</p>
106、<p> 后面板實(shí)現(xiàn)模塊如圖:</p><p> 前面板演示如圖3-13,可以設(shè)定截止頻率:</p><p> 圖3-13 前面板演示圖</p><p> 低頻濾波器配置方法如圖3-14所示:</p><p> 3-14 頻譜分析模塊的前面板</p><p> 3.7 波形顯示模塊</p&
107、gt;<p> 波形顯示模塊如圖3-15所示:</p><p> 圖3-15 波形顯示模塊</p><p><b> 程序說(shuō)明:</b></p><p> 波形顯示控件可以手動(dòng)調(diào)整X、Y軸的最大值和最小值,這樣可以更準(zhǔn)確的分析波形。</p><p><b> 3.8 小結(jié)</b&g
108、t;</p><p> 本章是設(shè)計(jì)的關(guān)鍵部分,主要介紹了各個(gè)功能模塊具體設(shè)計(jì)和實(shí)現(xiàn),包括:數(shù)據(jù)采集和處理模塊、數(shù)據(jù)模擬模塊、低通濾波模塊、波形顯示模塊等。將這些模塊在主VI的框圖程序中按照一定的邏輯關(guān)系組合起來(lái),就形成了一個(gè)完整的程序。這將在下一章中具體介紹。</p><p><b> 4 程序設(shè)計(jì)顯示</b></p><p> 4.1
109、程序的使用方法</p><p> 4.1.1 程序的環(huán)境</p><p> 本程序是在labview 8.2環(huán)境下編寫(xiě)的,用高版本可以查看此程序,低版本是打不開(kāi)的。程序打開(kāi)后,分后面板和前面板,前面板位控制控件和顯示控件,后面板為程序框圖。最終使用的時(shí)候可以生成應(yīng)用程序,直接在別的電腦上安裝使用即可。</p><p> 打開(kāi)程序后,界面如圖5-1,點(diǎn)擊左上角的
110、小箭頭,程序開(kāi)始運(yùn)行。</p><p> 圖4-1 程序前面板</p><p> 4.1.2 聲卡配置</p><p><b> 1 采樣頻率</b></p><p> 系統(tǒng)能測(cè)試到的最高頻率與電路所選器件的性能有關(guān),本論文選用聲卡的最高采樣頻率為44.1KHz,根據(jù)采樣定理,所能測(cè)試模擬信號(hào)的最高頻率為22K
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)(論文)虛擬儀器設(shè)計(jì)-數(shù)據(jù)采集系統(tǒng)
- 畢業(yè)論文虛擬儀器設(shè)計(jì)-數(shù)據(jù)采集系統(tǒng)
- 機(jī)電子畢業(yè)設(shè)計(jì)--基于虛擬儀器的聲音采集系統(tǒng)設(shè)計(jì)
- 基于虛擬儀器技術(shù)的數(shù)據(jù)分析系統(tǒng)畢業(yè)設(shè)計(jì)
- 虛擬儀器畢業(yè)設(shè)計(jì)外文翻譯
- 基于USB數(shù)據(jù)采集的虛擬儀器設(shè)計(jì).pdf
- 基于虛擬儀器的聲音采集系統(tǒng)設(shè)計(jì)
- 基于虛擬儀器的數(shù)據(jù)采集與處理系統(tǒng)設(shè)計(jì).pdf
- 基于虛擬儀器的數(shù)據(jù)采集系統(tǒng).pdf
- 畢業(yè)設(shè)計(jì)---基于網(wǎng)絡(luò)的虛擬儀器測(cè)試系統(tǒng)
- 畢業(yè)設(shè)計(jì)----基于網(wǎng)絡(luò)的虛擬儀器測(cè)試系統(tǒng)
- 基于虛擬儀器的風(fēng)洞數(shù)據(jù)采集系統(tǒng)軟件設(shè)計(jì).pdf
- 基于虛擬儀器的嵌入式數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì).pdf
- 畢業(yè)設(shè)計(jì)---基于虛擬儀器的電機(jī)轉(zhuǎn)速測(cè)控系統(tǒng)
- 基于網(wǎng)絡(luò)的虛擬儀器測(cè)試系統(tǒng)畢業(yè)設(shè)計(jì)論文
- 基于虛擬儀器的數(shù)據(jù)采集與分析系統(tǒng)研究與設(shè)計(jì).pdf
- 基于虛擬儀器技術(shù)內(nèi)燃機(jī)數(shù)據(jù)采集與分析系統(tǒng)設(shè)計(jì).pdf
- 虛擬儀器課程設(shè)計(jì)---溫度采集課設(shè)計(jì)
- 基于USB數(shù)據(jù)采集的虛擬儀器的研究與設(shè)計(jì).pdf
- 基于虛擬儀器的數(shù)據(jù)采集處理系統(tǒng)的設(shè)計(jì)及應(yīng)用.pdf
評(píng)論
0/150
提交評(píng)論