摘 要:本文在介紹了虛擬儀器與LabVIEW的基礎(chǔ)上,提出了虛擬信號(hào)示波分析儀的總體設(shè)計(jì)方案,并以此為基礎(chǔ)較詳細(xì)地介紹了該儀器的各個(gè)部分的軟件設(shè)計(jì)。經(jīng)過測(cè)試和實(shí)際應(yīng)用,該儀器功能正常,運(yùn)行可靠,能滿足高等學(xué)校實(shí)驗(yàn)室和科研需求,達(dá)到了設(shè)計(jì)要求。
關(guān)鍵詞:LabVIEW 虛擬儀器 虛擬示波器 虛擬分析儀
Abstract: Based on the introduction of virtual instrument and LabVIEW, the overall design of virtual signal oscilloscopes analyzer was put forward in this paper, and the software design of different parts of the analyzer was also introduced in detail. Being tested and applied to practice, the analyzer is function normally and reliable, which can meet the requirement of laboratory and scientific research of high education universities, and achieved the goal of design.
Keywords: LabVIEW; virtual Instrument; virtual oscilloscopes; visual signal analyzer
0 引言
示波器不僅能直觀地看到電信號(hào)隨時(shí)間變化的圖形,而且還能直接觀察測(cè)量信號(hào)的幅度、頻率、周期等基本參量,信號(hào)分析儀能完成信號(hào)的時(shí)域和頻域分析,在醫(yī)學(xué)、生物學(xué)、機(jī)械工程、地質(zhì)學(xué)和大學(xué)實(shí)驗(yàn)室中得到了廣泛的應(yīng)用。示波器成為了時(shí)域分析最典型的儀器,也是當(dāng)前測(cè)量領(lǐng)域中,品種最多、數(shù)量最大、最常用的一種儀器,但示波器和分析儀價(jià)格較貴,其功能固定不能根據(jù)需求變化。
隨著虛擬儀器技術(shù)的發(fā)展,人們紛紛提出利用虛擬儀器軟件開發(fā)建立在通用硬件和計(jì)算機(jī)技術(shù)上的、用于實(shí)驗(yàn)室和工程實(shí)際的虛擬儀器[1][2][3]。為了充分利用虛擬儀器的特點(diǎn)和計(jì)算機(jī)軟件的功能,我們?cè)O(shè)計(jì)開發(fā)了一個(gè)虛擬的信號(hào)示波分析儀,該儀器不僅具備一般數(shù)字示波器的基本功能,同時(shí)還實(shí)現(xiàn)了信號(hào)分析儀的一些功能,以滿足一般高等院校的實(shí)驗(yàn)和科研要求。
1 虛擬儀器與LabVIEW
1.1 LabVIEW的特點(diǎn)
LabVIEW是美國(guó)NI(National Instruments)公司推出的一個(gè)通用的圖形化軟件開發(fā)環(huán)境,它采用圖形化編程代替一般高級(jí)語(yǔ)言采用的文本編程來(lái)創(chuàng)建應(yīng)用程序,是一種基于數(shù)據(jù)流控制的、適合任何編程任務(wù)和具有擴(kuò)展數(shù)據(jù)庫(kù)的通用編程語(yǔ)言[4]。
LabVIEW是一個(gè)開放性的環(huán)境,它與測(cè)量硬件之間的連接簡(jiǎn)單,能很快地完成數(shù)據(jù)的采集工作,并能方便地與各種儀器相連;內(nèi)置了600多個(gè)分析函數(shù),能輕松地提取有用信息、進(jìn)行測(cè)量數(shù)據(jù)分析和信號(hào)處理;而且還具有較強(qiáng)的數(shù)據(jù)顯示、界面設(shè)計(jì)和數(shù)據(jù)管理等功能。極大地方便了測(cè)試與測(cè)量、故障診斷、過程控制和工業(yè)自動(dòng)化等方面的研究工作,因此在航空航天、通訊、汽車、機(jī)械、半導(dǎo)體和生物醫(yī)學(xué)等世界范圍的眾多領(lǐng)域內(nèi)得到了廣泛的應(yīng)用。
1.1 虛擬儀器的簡(jiǎn)介
虛擬儀器(virtual instrument)是基于計(jì)算機(jī)的儀器,是利用現(xiàn)有的計(jì)算機(jī),加上通用的硬件和專用的軟件組合成的一個(gè)測(cè)試平臺(tái)。虛擬儀器的最大特點(diǎn)就是充分發(fā)揮計(jì)算機(jī)的能力,具有強(qiáng)大的數(shù)據(jù)處理能力,而且用戶可以根據(jù)自己的需要定義和制造各種儀器,各種儀器的差異主要是軟件[5]。
虛擬儀器是當(dāng)前測(cè)控領(lǐng)域的一個(gè)重要發(fā)展方向,而LabVIEW被認(rèn)為是標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制軟件。LabVIEW編寫的程序被稱為虛擬儀器VI(Virtual Instruments),其程序面板是采用圖形化的框圖形式編程,簡(jiǎn)單快捷;其前面板是交互式用戶接口,相當(dāng)于真實(shí)物理測(cè)試儀器的儀器面板,用戶操作方便。目前LabVIEW成為了開發(fā)虛擬儀器的主要軟件之一,在此開發(fā)中我們選擇LabVIEW 8.0作為信號(hào)示波分析儀的開發(fā)平臺(tái)。
2 總體設(shè)計(jì)
[align=center]
圖1 虛擬信號(hào)示波分析儀的結(jié)構(gòu)框圖[/align]
我們開發(fā)的虛擬信號(hào)示波分析儀主要是用于對(duì)電信號(hào)進(jìn)行數(shù)據(jù)采集、顯示、波形存儲(chǔ)和回放、時(shí)域和頻域分析,不但具有一般數(shù)字示波器的功能,還具有信號(hào)分析儀的基本功能,以便應(yīng)用于實(shí)驗(yàn)室教學(xué)和科研中。該儀器主要由以下幾個(gè)功能模塊組成(圖1):
?。?)數(shù)據(jù)采集模塊。在數(shù)據(jù)采集前面板上對(duì)通道、采樣率、采樣點(diǎn)數(shù)、電壓的最大/最小值和信號(hào)的連接方式等方面進(jìn)行設(shè)置,在控制面板中利用DAQmx相關(guān)函數(shù)的功能完成數(shù)據(jù)采集。
?。?)信號(hào)顯示及觸發(fā)模塊。該模塊主要是通過分別調(diào)節(jié)時(shí)基和兩個(gè)通道的Y坐標(biāo)的值,從而控制信號(hào)的顯示比例來(lái)完成信號(hào)的時(shí)域顯示,并且提供了觸發(fā)控制,使時(shí)域顯示具有觸發(fā)顯示的功能。
?。?)信號(hào)的基本參數(shù)測(cè)量模塊。主要是對(duì)兩個(gè)通道信號(hào)的一些基本統(tǒng)計(jì)量:幅值、峰峰值、有效值和頻率等量進(jìn)行計(jì)算。
?。?)信號(hào)的存儲(chǔ)與回放。主要完成對(duì)采集的信號(hào)進(jìn)行存儲(chǔ),并將以前存儲(chǔ)的采集結(jié)果調(diào)出進(jìn)行時(shí)域顯示和時(shí)域頻域分析。
?。?)信號(hào)的分析模塊。每個(gè)通道信號(hào)的濾波及加窗選取設(shè)置,完成自相關(guān)、自功率譜、幅頻以及諧波分析,和兩個(gè)通道信號(hào)之間的互相關(guān)與互功率譜分析。
3 信號(hào)示波分析儀的設(shè)計(jì)
3.1 前面板的設(shè)計(jì)
VI程序的前面板是一個(gè)交互式的用戶界面,它相當(dāng)于真實(shí)物理測(cè)試儀器的儀器面板。在設(shè)計(jì)時(shí)應(yīng)根據(jù)人機(jī)工程學(xué)的相關(guān)理論,充分考慮宜人性、一致性、關(guān)聯(lián)性、反饋和簡(jiǎn)潔等方面的要求,使設(shè)計(jì)的前面板操作簡(jiǎn)單、輕松自如,較長(zhǎng)時(shí)間使用也不會(huì)產(chǎn)生疲勞感。
設(shè)計(jì)本分析儀的前面板(圖2)時(shí),我們主要考慮了以下幾個(gè)方面的問題:
?。?) 整個(gè)面板和按扭的顏色均以深灰色為主,簡(jiǎn)單地配以一些藍(lán)色細(xì)框線進(jìn)行分割,盡量使界面清晰、簡(jiǎn)潔,符合人機(jī)工程學(xué)中的信息顯示界面舒適性要求;
?。?) 信號(hào)顯示用Graph控件,顯示區(qū)域要盡量的大,以便能清楚地觀察信號(hào)的情況,并且利用Cursor Legend的游標(biāo)功能,使儀器實(shí)現(xiàn)了對(duì)數(shù)據(jù)點(diǎn)的讀取;
?。?) 由于前面板上的內(nèi)容較多,因此按照類別進(jìn)行了項(xiàng)目的分組,并用藍(lán)色的細(xì)線框?qū)⒏黝悇e組合在一起,使整個(gè)面板多而不亂,一目了然,符合人機(jī)工程中的顯示器“功能分區(qū)”原則;
?。?) 在設(shè)計(jì)前面板盡量參照現(xiàn)有的示波器的面板形式,使用戶操作簡(jiǎn)單方便。
[align=center]
圖2 儀器數(shù)據(jù)采集及顯示前面板(運(yùn)行時(shí))[/align]
3.2 數(shù)據(jù)采集
[align=center]
圖3 信號(hào)示波分析儀主框圖程序[/align]
在LabVIEW中既可以利用MAX界面來(lái)設(shè)置數(shù)據(jù)采集任務(wù),也可以通過數(shù)據(jù)采集DAQmx提供的數(shù)據(jù)采集助手進(jìn)行任務(wù)和通道的設(shè)置,從而生成程序代碼。在本設(shè)計(jì)中由于是想開發(fā)一個(gè)基于NI公司數(shù)據(jù)采集卡的通用平臺(tái),因此我們分別利用DAQmx中的Task、Channel和Timing等函數(shù)完成了任務(wù)、通道和時(shí)鐘等功能的設(shè)置,并編制了一個(gè)數(shù)據(jù)采集的設(shè)置子VI。
在主程序中利用一個(gè)循環(huán)進(jìn)行數(shù)據(jù)的讀取,同時(shí)也可以完成數(shù)據(jù)采集和分析處理,具體的程序可參見圖3主框圖程序。
3.2 信號(hào)顯示及觸發(fā)
在信號(hào)時(shí)域顯示方面上需要控制三個(gè)方面的內(nèi)容:一個(gè)是時(shí)基(掃描速率),即Graph控件X軸坐標(biāo)變化;另一個(gè)是幅值(量程),即Graph控件Y軸坐標(biāo)變化;還有觸發(fā)顯示控制。利用Graph控件的屬性節(jié)點(diǎn),通過改變Graph的XScale.Range屬性值來(lái)調(diào)節(jié)時(shí)基信號(hào)的變化。
對(duì)于單通道的虛擬信號(hào)示波分析儀來(lái)說(shuō),可以利用和時(shí)基信號(hào)相同的方法來(lái)控制幅值變化,但是由于我們是多通道分別輸入,需要根據(jù)各通道信號(hào)的具體情況獨(dú)立控制信號(hào)在Y軸方向的坐標(biāo)變化,因此我們將信號(hào)的y分量單獨(dú)提取出來(lái),編制了一個(gè)控制Y坐標(biāo)變化的子VI來(lái)完成對(duì)幅值變化的獨(dú)立控制。
以LabVIEW提供的SCOPE.VI子VI為基礎(chǔ),編制了一個(gè)Trigger子VI,并和Y坐標(biāo)變化子VI一起構(gòu)成了Y顯示觸發(fā)子VI。
3.3 信號(hào)的存儲(chǔ)與回放
LabVIEW數(shù)據(jù)存儲(chǔ)一般可采用四種格式的文件:文本文件、二進(jìn)制文件、數(shù)據(jù)記錄文件和波形文件,文本文件是一種通用的格式,而數(shù)據(jù)記錄文件和波形文件是只有LabVIEW才能夠讀取的文件格式。
數(shù)據(jù)記錄文件和波形文件操作比較簡(jiǎn)單,在本設(shè)計(jì)中都可以應(yīng)用,由于我們主要以處理波形數(shù)據(jù)為主,因此選擇了波形文件作為存儲(chǔ)與回放的文件格式。
3.4 信號(hào)的基本參數(shù)測(cè)量與分析
[align=center]
圖4 信號(hào)分析框圖程序[/align]
為了在數(shù)據(jù)采集時(shí)能清楚地看到信號(hào)的一些基本信息,因此編制了一個(gè)基本量測(cè)量模塊,主要是測(cè)量信號(hào)的頻率、幅值、峰峰值和有效值,并將兩個(gè)通道的上述參數(shù)分別顯示出來(lái)。
將前面板從數(shù)據(jù)采集切換到時(shí)域頻域分析面板就可以顯示出被測(cè)信號(hào)的分析結(jié)果,在此我們編制了一個(gè)信號(hào)分析子VI(圖4)和一個(gè)互相關(guān)分析子VI,得到的幅頻圖、自相關(guān)和自功率分析結(jié)果如圖5所示。
[align=center]
圖5 通道A信號(hào)的幅頻圖、自相關(guān)和自功率分析[/align]
4 結(jié)束語(yǔ)
在程序的調(diào)試過程中,我們分別采用虛擬卡以及NI公司的PCI 6221和USB 6008卡進(jìn)行了測(cè)試,其運(yùn)行結(jié)果穩(wěn)定,功能正常,達(dá)到數(shù)據(jù)采集、顯示、波形存儲(chǔ)和回放、時(shí)域和頻域分析等設(shè)計(jì)要求,將其應(yīng)用于實(shí)驗(yàn)室的科研和教學(xué)中,收到了較好的效果。
本文作者創(chuàng)新點(diǎn):提出了虛擬示波分析儀的開發(fā),將示波器和信號(hào)分析儀的功能相結(jié)合,實(shí)現(xiàn)了這兩個(gè)儀器的基本功能;利用編程而非改變控件屬性的方法實(shí)現(xiàn)了兩通道幅值的獨(dú)立顯示控制,為多通道儀器的開發(fā)打下了基礎(chǔ)。
參考文獻(xiàn)
[1] 艾延廷,黃福幸等.基于LabVIEW的虛擬信號(hào)分析儀軟件設(shè)計(jì)[J].微計(jì)算機(jī)信息. 2005, 5:171-172.
[2] 郭迎福, 羅曉莉等. 基于LabVIEW的虛擬動(dòng)態(tài)分析儀設(shè)計(jì)[J]. 礦山機(jī)械. 2006,4:125-126.
[3] 周偉林,楊華勇,李清峰. 基于LabVIEW的數(shù)字濾波器的設(shè)計(jì)[J]. 微計(jì)算機(jī)信息. 2006, 5-1:163-164.
[4] 侯國(guó)屏、王,葉齊鑫. LabVIEW7.1編程與虛擬儀器設(shè)計(jì).北京:清華大學(xué)出版社,2005.
[5] 楊樂平,李海淘等.LabVIEW程序設(shè)計(jì)與應(yīng)用(第2版).北京:電子工業(yè)出版,2005.