<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 設計應用 > 基于聲卡和LabVIEW的虛擬儀器設計與實(shí)現

基于聲卡和LabVIEW的虛擬儀器設計與實(shí)現

作者: 時(shí)間:2016-10-29 來(lái)源:網(wǎng)絡(luò ) 收藏

摘要:為了在對采樣頻率要求不高的情況下進(jìn)行信號的生成和分析,采用取代價(jià)格昂貴的數據采集卡進(jìn)行采樣和輸出,利用虛擬儀器開(kāi)發(fā)軟件,分別設計和實(shí)現了基于的虛擬和虛擬。可以產(chǎn)生方波、三角波等常用波形和自定義波形,具有波形顯示、圖像暫停和截取以及頻譜分析功能,所設計的虛擬儀器具有友好的人機界面,只需兩臺計算機即可進(jìn)行完整的自測試。

本文引用地址:http://dyxdggzs.com/article/201610/306403.htm

在電子與通信行業(yè)以及試驗測試中,是應用最廣泛的電子測量?jì)x器。傳統儀器的技術(shù)和性能都已經(jīng)比較成熟,但存在體積較大、不易攜帶、功能固定、并且價(jià)格昂貴等缺點(diǎn)。虛擬儀器是計算機技術(shù)與儀器技術(shù)深層次結合產(chǎn)生的產(chǎn)物,代表了當前測試儀器的發(fā)展方向之一。虛擬儀器系統的必備組件包括功能強大的編程工具、靈活易用的數據采集硬件及個(gè)人電腦。在實(shí)際測量中,需根據需求選擇相應的數據采集卡,但這些卡的價(jià)格均比較昂貴,而同樣具備A/D功能的是一個(gè)非常優(yōu)秀的音頻信號采集系統,具有16位量化精度,數據采集頻率可達到44.1 kHz且已成為大多數計算機的標準配置,當所研究信號的頻率范圍在音頻范圍內(20 Hz~20 kHz)時(shí),利用聲卡進(jìn)行數據采集便是一個(gè)更好的選擇。

文中基于虛擬儀器的設計概念,利用方便廉價(jià)的計算機聲卡分別設計和實(shí)現了虛擬信號發(fā)生器和虛擬示波器,特別適合于實(shí)驗室環(huán)境下低頻信號的產(chǎn)生與分析。本文使用聲卡進(jìn)行A/D、D/A轉換以及信號的采集和播放,使用軟件設計了虛擬儀器的前面板并實(shí)現相關(guān)信號的運算、分析和處理。所設計的虛擬信號發(fā)生器和示波器具有傳統儀器的功能,相比于傳統儀器,具有成本低廉、使用方便、擴展性強等優(yōu)點(diǎn)。

1 虛擬儀器技術(shù)和聲卡工作原理

1. 1 虛擬儀器的特點(diǎn)

虛擬儀器首先是由美國國家儀器公司于20世紀80年代中期提出來(lái)的,實(shí)現“軟件即儀器”的概念。隨著(zhù)計算機技術(shù)和大規模集成電路的飛速發(fā)展,虛擬儀器技術(shù)也得到了很大的發(fā)展。虛擬儀器的實(shí)質(zhì)是將傳統儀器硬件和計算機軟件技術(shù)結合起來(lái),以實(shí)現并擴展儀器的功能。計算機軟件是虛擬儀器的核心,硬件只是為了解決信號的輸入輸出,虛擬儀器集成了儀器的所有采集、控制、數據分析、結果輸出和用戶(hù)界面等功能,使傳統儀器的部分硬件甚至整個(gè)儀器都被計算機軟件代替。

虛擬儀器實(shí)現了儀器的智能化、模塊化和多樣化,體現出多功能、低成本等操作優(yōu)點(diǎn)。與傳統儀器相比,虛擬儀器具有更廣的應用領(lǐng)域,因此它成為儀器行業(yè)發(fā)展的一個(gè)重要方向,并受到許多國家儀器行業(yè)的重視。

虛擬儀器開(kāi)發(fā)平臺目前主要有兩類(lèi):一類(lèi)是基于傳統語(yǔ)言的Turbo C,Microsoft公司的Visual Basic與Visual C++等,這類(lèi)語(yǔ)言需要開(kāi)發(fā)人員有較多的編程經(jīng)驗和較強的調試能力;另一類(lèi)是專(zhuān)業(yè)圖形化編程軟件,如HP公司的VEE,NI公司的和LabWindows/CVI等。

1. 2 LabVIEW開(kāi)發(fā)平臺

LabVIEW是一個(gè)很好的圖形化開(kāi)發(fā)環(huán)境,專(zhuān)為數據采集和儀器控制而設計,它將信號采集、測量分析和數據顯示功能集中在同一個(gè)開(kāi)放式的開(kāi)發(fā)環(huán)境中。LabVIEW具有豐富的庫函數供用戶(hù)調用,圖形化的編程語(yǔ)言簡(jiǎn)單直觀(guān)、開(kāi)發(fā)速度快,在編寫(xiě)程序的同時(shí)可以自動(dòng)生成圖形化用戶(hù)界面,可充分利用計算機強大的計算和顯示功能,被廣泛應用與自動(dòng)控制和測試領(lǐng)域中。

1. 3 聲卡工作原理

聲音的本質(zhì)是一種波,表現為振幅、頻率和相位等物理量的連續變化。聲卡是計算機進(jìn)行聲音處理的適配器,它有3個(gè)基本功能:一是音樂(lè )合成發(fā)音功能;二是混音器(Mixer)功能和數字信號處理(DSP)功能;三是模擬聲音信號的輸入和輸出功能。聲卡是一個(gè)非常優(yōu)秀的音頻信號采集系統,其數字信號處理包括模數變換器ADC(Analogue Digital Converter)和數模變換器DAC(Digital Analogue Converter),ADC用于采集音頻信號,DAC則用于重現這些數字聲音。

聲卡的技術(shù)指標包括采樣頻率、采樣位數(量化精度)、聲道數、復音數量、信噪比(SNR)和總諧波失真(THD)等,其中采樣頻率、采樣位數是主要指標?,F在的聲卡一般采用PCI接口,具有16位采樣精度,支持雙通道,最高采樣頻率達44.1kHz。

聲卡已成為多媒體計算機的一個(gè)標準配置,因此基于聲卡的虛擬儀器具有成本低,兼容性好,通用性和靈活性強的優(yōu)點(diǎn),驅動(dòng)程序升級方便,可以不受硬件限制,安裝在多臺計算機上,具有很好的可行性。

2 虛擬信號發(fā)生器設計

文中在LabVIEW開(kāi)發(fā)平臺下設計并實(shí)現了雙通道虛擬信號發(fā)生器,設計中主要利用了LabVIEW提供的聲卡驅動(dòng)函數,所設計的雙通道虛擬信號發(fā)生器能夠產(chǎn)生常用的基本波形,并且實(shí)現了頻率顯示,頻率調節,幅值調節,直流偏置調節和頻率掃描等功能。整個(gè)程序結構設計采用在LabVIEW狀態(tài)機的基礎上引入事件結構的方法,提高了程序的運行效率。

2.1 LabVIEW中有關(guān)聲卡信號輸出的主要函數

在虛擬信號發(fā)生器的設計中,用到了LabVIEW軟件“聲音輸出”模塊部分的函數,如圖1所示。下面對設計過(guò)程中用到的主要函數及其功能作簡(jiǎn)單介紹:

1)“配置聲音輸出”函數。該函數的作用是配置一個(gè)生成數據的聲音輸出設備,初始化聲卡的配置,包括采樣頻率,采樣模式,聲卡參數等。

2)“設置聲音輸出音量”函數。該函數用來(lái)設置聲音輸出設備的播放音量。

3)“寫(xiě)入聲音輸出”函數。該函數將準備好的數據寫(xiě)入聲卡驅動(dòng)程序進(jìn)行播放輸出。

4)“聲音輸出清零”函數。該函數使設備停止播放音頻,清空緩存,將任務(wù)返回至默認的未配置的狀態(tài),并清空與任務(wù)相關(guān)的資源,將任務(wù)變?yōu)闊o(wú)效。

基于聲卡和LabVIEW的虛擬儀器設計與實(shí)現

2.2 虛擬信號發(fā)生器的前面板設計

前面板為用戶(hù)提供了友好的操作界面,本文根據傳統儀器的操作面板和本儀器所能實(shí)現的功能設計了虛擬信號發(fā)生器的前面板,如圖2所示。前面板主要由四個(gè)部分組成,包括波形顯示部分、公共參數設置部分、CH1通道和CH2通道設置部分。波形顯示部分用于顯示兩個(gè)通道的輸出波形,公共參數設置部分用于設置聲卡的采樣率、通道數、采樣位數、緩沖區大小和音量,CH1和CH2通道進(jìn)行設置每個(gè)通道生成的波形參數,包括波形類(lèi)型、頻率、偏移量、幅度、方波占空比、噪聲等,并可以利用公式輸出自定義波形。

基于聲卡和LabVIEW的虛擬儀器設計與實(shí)現

2.3 虛擬信號發(fā)生器的程序框圖設計

程序框圖是圖形化的源代碼,前面板中的每個(gè)控件在程序框圖中都有相應的接線(xiàn)端與之對應,通過(guò)數據連線(xiàn)和不同的程序結構即可控制整個(gè)程序的流程和數據傳遞。虛擬信號發(fā)生器的程序框圖主要包括3個(gè)模塊:聲卡配置模塊、波形設置模塊和波形輸出模塊,如圖3所示。

基于聲卡和LabVIEW的虛擬儀器設計與實(shí)現

聲卡配置模塊首先設置“配置聲音輸出”函數,本設計將聲卡設置為連續采樣,每通道緩沖數和聲音格式都可以在前面板進(jìn)行設置。然后將采樣信息傳輸到“波形設置模塊”,選擇所要產(chǎn)生波形的類(lèi)型。

波形設置模塊使用條件結構選擇不同類(lèi)型的波形,可以分別選擇正弦波、方波、鋸齒波、三角波、高斯白噪聲、疊加正弦波以及自定義波形。該模塊還可以設置相應的波形參數,包括頻率、幅度、偏移量和方波占空比。

數據輸出模塊調用“寫(xiě)入聲音輸出”函數,通過(guò)聲音輸出設備輸出聲音信號。最后由“聲音輸出清零”清空緩沖區,結束任務(wù)。

3 虛擬示波器設計

本文利用LabVIEW中的數字聲音記錄節點(diǎn),設計并實(shí)現了基于聲卡的虛擬雙蹤數字存儲示波器,采樣頻率為44.1 kHz,線(xiàn)路輸入端口最高電壓限制為1 V,對高于1 V的信號采用比例運算放大電路衰減后輸入,能適合很多場(chǎng)合的需要。

設計的虛擬示波器的技術(shù)指標如下:

1)輸入頻率范圍:10~20 000 Hz;

2)通道數:2;

3)采樣頻率:44.1 kHz;

4)ADC分辨率:16位。

虛擬示波器的兩個(gè)重要指標分別是分辨力(指能辨別一個(gè)物體不同部分的能力)和精度。其中分辨力包括水平分辨力和垂直分辨力,精度也包括水平和垂直兩種精度。虛擬示波器的水平分辨力是由時(shí)鐘信號采樣點(diǎn)的時(shí)間間隔決定的。采樣頻率越高,水平分辨力就越高。虛擬示波器的垂直分辨力是由模數轉換器的位數決定的,n位的轉換器有2-n的分辨力。因為所采用的聲卡是16位的,其在垂直方向上可以分辨出65536個(gè)數據點(diǎn),分辨力為1/65536。虛擬示波器的垂直精度受模數轉換器精度的限制,一般要比分辨力低。

3.1 LabVIEW中有關(guān)聲卡信號采集的主要函數

在LabVIEW的函數選板下有“聲音”選項,在該選項下,LabVIEW提供了一系列使用Windows底層函數編寫(xiě)的與聲卡有關(guān)的函數,這些函數主要分為兩大模塊:聲音輸入和聲音輸出。在虛擬示波器程序設計中主要用到的是“聲音輸入”模塊,如圖4所示。

基于聲卡和LabVIEW的虛擬儀器設計與實(shí)現

1)“配置聲音輸入”函數。該函數的作用是配置聲音輸入設備,采集數據,并把數據存放到緩沖區,后面使用“讀取聲音輸入”VI將數據從緩沖區讀入。

2)“讀取聲音輸入”函數。該函數的作用是將數據從緩沖區讀入。在使用該VI之前,必須使用“配置聲音輸入”VI來(lái)配置設備。

3)“聲音輸入清零”函數。一般聲音輸出設備不可共享,若在某個(gè)程序運行之前,設備已經(jīng)被其他程序占用,則此應用程序不能再使用該設備,所以,在程序中一旦對聲卡使用完畢,應該立即釋放。該函數的主要作用是使設備停止聲音數據采集,清空緩存,從任務(wù)返回至默認的未配置的狀態(tài),并清空與任務(wù)相關(guān)的資源,任務(wù)變?yōu)闊o(wú)效。

3.2 虛擬示波器的前面板設計

前面板用來(lái)提供用戶(hù)與虛擬示波器的接口,通過(guò)一個(gè)友好的圖形界面,模擬傳統儀器操作,實(shí)現對虛擬示波器的控制,并且顯示數據處理結果。

本文設計的虛擬示波器的前面板如圖5所示,按照功能來(lái)分,顯示屏可以分別顯示原信號波形圖和信號的頻譜圖,波形圖開(kāi)關(guān)、頻譜圖開(kāi)關(guān)可以暫停畫(huà)面便于保存截圖,保存圖像按鈕可以將截圖保存為bmp圖像,通道選擇部分可以選擇單通道或是雙通道一起顯示,觸發(fā)部分可以調控信號的觸發(fā)源、觸發(fā)極性以及觸發(fā)電位,標定比率便于標定電壓,采樣數用于確定采樣精度,定位部分可以分別調節顯示精度、幅度和偏移,信息按鈕可以顯示相關(guān)制作信息。

基于聲卡和LabVIEW的虛擬儀器設計與實(shí)現

3.3 虛擬示波器的程序框圖設計

3.3.1 總體設計

虛擬示波器的程序框圖主要包括數據采集模塊,波形顯示模塊,頻譜分析模塊,XY軸設置模塊,觸發(fā)設置模塊,圖像暫停與截圖模塊和信息顯示模塊7大部分,如圖6所示。下面結合虛擬示波器的相關(guān)功能模塊來(lái)分別介紹對應的程序框圖。

基于聲卡和LabVIEW的虛擬儀器設計與實(shí)現

3.3.2 數據采集模塊

數據采集模塊利用聲卡數據采集函數完成聲卡采集時(shí)一些必要參數的設置,如聲卡采樣模式、采樣數、設備ID等,并將聲卡采集到的信號(已由模擬信號轉換為數字信號)傳送給波形顯示模塊。其工作流程如下:

1)使用配置聲音輸入函數確定聲卡的參數和數字聲音格式,如緩沖區大小、采樣速率、采樣模式(固定點(diǎn)數采樣或連續采樣)、采樣通道數、樣本位數(16 bit或8 bit),本設計的虛擬示波器采用雙通道連續采樣,采樣頻率為44100,樣本位數為16,每通道采樣數可以在前面板上設置。

2)使用讀取聲音輸入函數從緩沖區中讀取采樣數據,從采集到的波形數組中選擇一個(gè)波形送到波形顯示模塊,使用while循環(huán)使采樣連續進(jìn)行。

3)使用聲音輸入清零函數停止數據采集,清空緩存,從任務(wù)返回至默認的未配置的狀態(tài),并清空與任務(wù)相關(guān)的資源,使任務(wù)變?yōu)闊o(wú)效。

3.3.3 波形顯示和頻譜分析模塊

信號從數據采集模塊輸出后乘以標定比率,然后分成兩路,一路直接進(jìn)入波形圖控件在前面板顯示信號的時(shí)域波形,另一路進(jìn)行FFT分析后再輸入波形圖控件在前面板顯示信號的頻譜圖。

3.3.4 XY軸設置模塊

波形顯示模塊負責顯示波形,并且可以通過(guò)旋鈕來(lái)控制X軸和Y軸量程和偏移,同時(shí)根據通道的選擇(通道A或者通道B)顯示相應的波形。

X軸控制是時(shí)間軸調節。“X軸精度”調節每刻度顯示的時(shí)間長(cháng)度。在該控件中設置6個(gè)檔位,檔位越小顯示的越精確。“X軸精度”中0.5ms/div檔表示時(shí)間軸是從0~0.003 s,增量為0.5 ms,起始時(shí)刻為0。由于屏幕大小限制,還需要“X軸偏移”來(lái)調節屏幕標尺來(lái)顯示其他部分的波形,在該控件中設置了14個(gè)檔位,檔位每增加一位屏幕顯示向右移動(dòng)一格。

Y軸控制是幅度調節。“Volts/Div”調節每刻度顯示的電壓值,在該控件中設置5個(gè)檔位,檔位越高每格顯示的電壓越大精確度越低。“Y軸偏移”控制信號在Y軸方向上下移動(dòng),該控件與信號相加可以使信號整體向上或者向下移動(dòng)。設標定比率為N,則Y軸偏移的范圍為-N~+N。

3.3.5 觸發(fā)控制模塊

示波器的觸發(fā)功能可以穩定重復的波形,捕獲單次波形,這對清楚地檢定信號至關(guān)重要。虛擬示波器觸發(fā)控制模塊通過(guò)子VI來(lái)實(shí)現,如圖7所示。的輸入端有波形數據輸入(通道A、通道B)、觸發(fā)極性(Slope)輸入(上升沿、下降沿)、觸發(fā)電平(Ievel)輸入、觸發(fā)源(Source)輸入(內觸發(fā)、外觸發(fā))。

基于聲卡和LabVIEW的虛擬儀器設計與實(shí)現

程序運行后,首先判斷用戶(hù)觸發(fā)源的選擇,當觸發(fā)源選擇“外觸發(fā)”時(shí),直接將輸出的波形數據輸出;當觸發(fā)源選擇“內觸發(fā)”時(shí),執行邊沿子VI。

基于聲卡和LabVIEW的虛擬儀器設計與實(shí)現

邊沿子VI由一個(gè)波形數組索引實(shí)現,該子程序實(shí)現選擇觸發(fā)源、根據觸發(fā)電平的大小和觸發(fā)極性進(jìn)行觸發(fā)的功能。其原理如圖8所示,首先判斷用戶(hù)設置的觸發(fā)電平大小是否在波峰和波谷范圍內,在此范圍內則進(jìn)行觸發(fā)。對輸入電壓信號的第i點(diǎn)和i+1點(diǎn)的值進(jìn)行比較,正極性觸發(fā)時(shí),若第i點(diǎn)的值等于或小于觸發(fā)電平,同時(shí)第i+1點(diǎn)的值大于觸發(fā)電平,則第i點(diǎn)為觸發(fā)點(diǎn),將此值送入觸發(fā)子VI數組子集函數的“ind ex”端口,每次采集數據后,都從觸發(fā)點(diǎn)開(kāi)始提取子數組,送入前面板,實(shí)現波形的同步顯示。負極性觸發(fā)時(shí)與之相反。

3.3.6 圖像暫停與截圖模塊

圖像暫停模塊通過(guò)條件結構來(lái)選擇相應的程序,當前面板的開(kāi)關(guān)撥到“工作”時(shí),執行“真”條件分支,前面板正常顯示波形,當開(kāi)關(guān)撥到“暫停”,執行“假”條件分支,數據不再輸入給波形圖控件,前面板顯示的波形靜止。

截圖保存模塊通過(guò)波形圖的屬性節點(diǎn)Get Image來(lái)實(shí)現,可以將當前顯示的波形截圖并保存為bmp格式圖片。需要截圖時(shí)先用暫停功能將波形靜止,再保存截圖。

4 結論

文中基于聲卡和LabVIEW圖形化編程軟件開(kāi)發(fā)了虛擬信號發(fā)生器和虛擬示波器,特別適合于實(shí)驗室環(huán)境下低頻信號的產(chǎn)生與分析。所設計的虛擬信號發(fā)生器和示波器具備傳統儀器的功能,相比于傳統儀器,具有成本低廉、靈活性好、擴展性強等優(yōu)點(diǎn)。但在實(shí)際應用中,它也存在一些缺陷,例如聲卡對輸入信號的電壓要求不能超過(guò)1 V,即有幅度限制;根據奈奎斯特采樣定理,當采樣頻率為44 kHz時(shí),理論上能測量的信號最高頻率為22 kHz,但實(shí)際上所能準確測量的信號頻率達不到該理論值,即頻率限制。后續工作中需要設計外圍的放大和衰減電路以增大可測信號的動(dòng)態(tài)范圍,并對儀器的功能進(jìn)行完善。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>