基于LabVIEW和聲卡的虛擬儀器設(shè)計(jì)與實(shí)現(xiàn)
摘要:為了在對(duì)采樣頻率要求不高的情況下進(jìn)行信號(hào)的生成和分析,采用聲卡取代價(jià)格昂貴的數(shù)據(jù)采集卡進(jìn)行采樣和輸出,利用虛擬儀器開(kāi)發(fā)軟件LabVIEW,分別設(shè)計(jì)和實(shí)現(xiàn)了基于聲卡的虛擬信號(hào)發(fā)生器和虛擬示波器。信號(hào)發(fā)生器可以產(chǎn)生方波、三角波等常用波形和自定義波形,示波器具有波形顯示、圖像暫停和截取以及頻譜分析功能,所設(shè)計(jì)的虛擬儀器具有友好的人機(jī)界面,只需兩臺(tái)計(jì)算機(jī)即可進(jìn)行完整的自測(cè)試。
本文引用地址:http://2s4d.com/article/255832.htm在電子與通信行業(yè)以及試驗(yàn)測(cè)試中,信號(hào)發(fā)生器和示波器是應(yīng)用最廣泛的電子測(cè)量?jī)x器。傳統(tǒng)儀器的技術(shù)和性能都已經(jīng)比較成熟,但存在體積較大、不易攜帶、功能固定、并且價(jià)格昂貴等缺點(diǎn)。虛擬儀器是計(jì)算機(jī)技術(shù)與儀器技術(shù)深層次結(jié)合產(chǎn)生的產(chǎn)物,代表了當(dāng)前測(cè)試儀器的發(fā)展方向之一。虛擬儀器系統(tǒng)的必備組件包括功能強(qiáng)大的編程工具、靈活易用的數(shù)據(jù)采集硬件及個(gè)人電腦。在實(shí)際測(cè)量中,需根據(jù)需求選擇相應(yīng)的數(shù)據(jù)采集卡,但這些卡的價(jià)格均比較昂貴,而同樣具備A/D功能的聲卡是一個(gè)非常優(yōu)秀的音頻信號(hào)采集系統(tǒng),具有16位量化精度,數(shù)據(jù)采集頻率可達(dá)到44.1 kHz且已成為大多數(shù)計(jì)算機(jī)的標(biāo)準(zhǔn)配置,當(dāng)所研究信號(hào)的頻率范圍在音頻范圍內(nèi)(20 Hz~20 kHz)時(shí),利用聲卡進(jìn)行數(shù)據(jù)采集便是一個(gè)更好的選擇。
文中基于虛擬儀器的設(shè)計(jì)概念,利用方便廉價(jià)的計(jì)算機(jī)聲卡分別設(shè)計(jì)和實(shí)現(xiàn)了虛擬信號(hào)發(fā)生器和虛擬示波器,特別適合于實(shí)驗(yàn)室環(huán)境下低頻信號(hào)的產(chǎn)生與分析。本文使用聲卡進(jìn)行A/D、D/A轉(zhuǎn)換以及信號(hào)的采集和播放,使用LabVIEW軟件設(shè)計(jì)了虛擬儀器的前面板并實(shí)現(xiàn)相關(guān)信號(hào)的運(yùn)算、分析和處理。所設(shè)計(jì)的虛擬信號(hào)發(fā)生器和示波器具有傳統(tǒng)儀器的功能,相比于傳統(tǒng)儀器,具有成本低廉、使用方便、擴(kuò)展性強(qiáng)等優(yōu)點(diǎn)。
1 虛擬儀器技術(shù)和聲卡工作原理
1. 1 虛擬儀器的特點(diǎn)
虛擬儀器首先是由美國(guó)國(guó)家儀器公司于20世紀(jì)80年代中期提出來(lái)的,實(shí)現(xiàn)“軟件即儀器”的概念。隨著計(jì)算機(jī)技術(shù)和大規(guī)模集成電路的飛速發(fā)展,虛擬儀器技術(shù)也得到了很大的發(fā)展。虛擬儀器的實(shí)質(zhì)是將傳統(tǒng)儀器硬件和計(jì)算機(jī)軟件技術(shù)結(jié)合起來(lái),以實(shí)現(xiàn)并擴(kuò)展儀器的功能。計(jì)算機(jī)軟件是虛擬儀器的核心,硬件只是為了解決信號(hào)的輸入輸出,虛擬儀器集成了儀器的所有采集、控制、數(shù)據(jù)分析、結(jié)果輸出和用戶(hù)界面等功能,使傳統(tǒng)儀器的部分硬件甚至整個(gè)儀器都被計(jì)算機(jī)軟件代替。
虛擬儀器實(shí)現(xiàn)了儀器的智能化、模塊化和多樣化,體現(xiàn)出多功能、低成本等操作優(yōu)點(diǎn)。與傳統(tǒng)儀器相比,虛擬儀器具有更廣的應(yīng)用領(lǐng)域,因此它成為儀器行業(yè)發(fā)展的一個(gè)重要方向,并受到許多國(guó)家儀器行業(yè)的重視。
虛擬儀器開(kāi)發(fā)平臺(tái)目前主要有兩類(lèi):一類(lèi)是基于傳統(tǒng)語(yǔ)言的Turbo C,Microsoft公司的Visual Basic與Visual C++等,這類(lèi)語(yǔ)言需要開(kāi)發(fā)人員有較多的編程經(jīng)驗(yàn)和較強(qiáng)的調(diào)試能力;另一類(lèi)是專(zhuān)業(yè)圖形化編程軟件,如HP公司的VEE,NI公司的LabVIEW和LabWindows/CVI等。
1. 2 LabVIEW開(kāi)發(fā)平臺(tái)
LabVIEW是一個(gè)很好的圖形化開(kāi)發(fā)環(huán)境,專(zhuān)為數(shù)據(jù)采集和儀器控制而設(shè)計(jì),它將信號(hào)采集、測(cè)量分析和數(shù)據(jù)顯示功能集中在同一個(gè)開(kāi)放式的開(kāi)發(fā)環(huán)境中。LabVIEW具有豐富的庫(kù)函數(shù)供用戶(hù)調(diào)用,圖形化的編程語(yǔ)言簡(jiǎn)單直觀、開(kāi)發(fā)速度快,在編寫(xiě)程序的同時(shí)可以自動(dòng)生成圖形化用戶(hù)界面,可充分利用計(jì)算機(jī)強(qiáng)大的計(jì)算和顯示功能,被廣泛應(yīng)用與自動(dòng)控制和測(cè)試領(lǐng)域中。
1. 3 聲卡工作原理
聲音的本質(zhì)是一種波,表現(xiàn)為振幅、頻率和相位等物理量的連續(xù)變化。聲卡是計(jì)算機(jī)進(jìn)行聲音處理的適配器,它有3個(gè)基本功能:一是音樂(lè)合成發(fā)音功能;二是混音器(Mixer)功能和數(shù)字信號(hào)處理(DSP)功能;三是模擬聲音信號(hào)的輸入和輸出功能。聲卡是一個(gè)非常優(yōu)秀的音頻信號(hào)采集系統(tǒng),其數(shù)字信號(hào)處理包括模數(shù)變換器ADC(Analogue Digital Converter)和數(shù)模變換器DAC(Digital Analogue Converter),ADC用于采集音頻信號(hào),DAC則用于重現(xiàn)這些數(shù)字聲音。
聲卡的技術(shù)指標(biāo)包括采樣頻率、采樣位數(shù)(量化精度)、聲道數(shù)、復(fù)音數(shù)量、信噪比(SNR)和總諧波失真(THD)等,其中采樣頻率、采樣位數(shù)是主要指標(biāo)?,F(xiàn)在的聲卡一般采用PCI接口,具有16位采樣精度,支持雙通道,最高采樣頻率達(dá)44.1kHz。
聲卡已成為多媒體計(jì)算機(jī)的一個(gè)標(biāo)準(zhǔn)配置,因此基于聲卡的虛擬儀器具有成本低,兼容性好,通用性和靈活性強(qiáng)的優(yōu)點(diǎn),驅(qū)動(dòng)程序升級(jí)方便,可以不受硬件限制,安裝在多臺(tái)計(jì)算機(jī)上,具有很好的可行性。
2 虛擬信號(hào)發(fā)生器設(shè)計(jì)
文中在LabVIEW開(kāi)發(fā)平臺(tái)下設(shè)計(jì)并實(shí)現(xiàn)了雙通道虛擬信號(hào)發(fā)生器,設(shè)計(jì)中主要利用了LabVIEW提供的聲卡驅(qū)動(dòng)函數(shù),所設(shè)計(jì)的雙通道虛擬信號(hào)發(fā)生器能夠產(chǎn)生常用的基本波形,并且實(shí)現(xiàn)了頻率顯示,頻率調(diào)節(jié),幅值調(diào)節(jié),直流偏置調(diào)節(jié)和頻率掃描等功能。整個(gè)程序結(jié)構(gòu)設(shè)計(jì)采用在LabVIEW狀態(tài)機(jī)的基礎(chǔ)上引入事件結(jié)構(gòu)的方法,提高了程序的運(yùn)行效率。
2.1 LabVIEW中有關(guān)聲卡信號(hào)輸出的主要函數(shù)
在虛擬信號(hào)發(fā)生器的設(shè)計(jì)中,用到了LabVIEW軟件“聲音輸出”模塊部分的函數(shù),如圖1所示。下面對(duì)設(shè)計(jì)過(guò)程中用到的主要函數(shù)及其功能作簡(jiǎn)單介紹:
1)“配置聲音輸出”函數(shù)。該函數(shù)的作用是配置一個(gè)生成數(shù)據(jù)的聲音輸出設(shè)備,初始化聲卡的配置,包括采樣頻率,采樣模式,聲卡參數(shù)等。
2)“設(shè)置聲音輸出音量”函數(shù)。該函數(shù)用來(lái)設(shè)置聲音輸出設(shè)備的播放音量。
3)“寫(xiě)入聲音輸出”函數(shù)。該函數(shù)將準(zhǔn)備好的數(shù)據(jù)寫(xiě)入聲卡驅(qū)動(dòng)程序進(jìn)行播放輸出。
4)“聲音輸出清零”函數(shù)。該函數(shù)使設(shè)備停止播放音頻,清空緩存,將任務(wù)返回至默認(rèn)的未配置的狀態(tài),并清空與任務(wù)相關(guān)的資源,將任務(wù)變?yōu)闊o(wú)效。
2.2 虛擬信號(hào)發(fā)生器的前面板設(shè)計(jì)
前面板為用戶(hù)提供了友好的操作界面,本文根據(jù)傳統(tǒng)儀器的操作面板和本儀器所能實(shí)現(xiàn)的功能設(shè)計(jì)了虛擬信號(hào)發(fā)生器的前面板,如圖2所示。前面板主要由四個(gè)部分組成,包括波形顯示部分、公共參數(shù)設(shè)置部分、CH1通道和CH2通道設(shè)置部分。波形顯示部分用于顯示兩個(gè)通道的輸出波形,公共參數(shù)設(shè)置部分用于設(shè)置聲卡的采樣率、通道數(shù)、采樣位數(shù)、緩沖區(qū)大小和音量,CH1和CH2通道進(jìn)行設(shè)置每個(gè)通道生成的波形參數(shù),包括波形類(lèi)型、頻率、偏移量、幅度、方波占空比、噪聲等,并可以利用公式輸出自定義波形。
dc相關(guān)文章:dc是什么
c++相關(guān)文章:c++教程
模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理
負(fù)離子發(fā)生器相關(guān)文章:負(fù)離子發(fā)生器原理 離子色譜儀相關(guān)文章:離子色譜儀原理
評(píng)論