《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于LabVIEW平臺(tái)的虛擬頻譜分析儀的設(shè)計(jì)與實(shí)現(xiàn)
基于LabVIEW平臺(tái)的虛擬頻譜分析儀的設(shè)計(jì)與實(shí)現(xiàn)
摘要: LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一種圖形化的編程語言,集成了滿足GPIB、VXI、RS-232和RS-485協(xié)議的硬件及數(shù)據(jù)采集卡通訊的全部功能,還內(nèi)置了便于應(yīng)用TCP/IP、ActiveX等軟件標(biāo)準(zhǔn)的庫函數(shù)。利用LabVIEW可以方便地建立各種虛擬儀器。
Abstract:
Key words :

0 引言
    LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一種圖形化的編程語言,集成了滿足GPIB、VXI、RS-232和RS-485協(xié)議的硬件及數(shù)據(jù)采集卡通訊的全部功能,還內(nèi)置了便于應(yīng)用TCP/IP、ActiveX等軟件標(biāo)準(zhǔn)的庫函數(shù)。利用LabVIEW可以方便地建立各種虛擬儀器。
    頻譜分析儀是對(duì)無線電信號(hào)進(jìn)行測(cè)量的必備手段,是從事電子產(chǎn)品研發(fā)、生產(chǎn)、檢驗(yàn)的常用工具,應(yīng)用十分廣泛,被稱為工程師的射頻萬用表。傳統(tǒng)的頻譜分析儀的前端電路是一定帶寬內(nèi)可調(diào)諧的接收機(jī),輸入信號(hào)經(jīng)變頻器變頻后由低通濾器輸出。濾波輸出信號(hào)作為垂直分量,頻率作為水平分量,在示波器屏幕上繪出坐標(biāo)圖,就是輸入信號(hào)的頻譜圖。由于變頻器可以達(dá)到很寬的頻率,例如30Hz-30GHz,與外部混頻器配合,可擴(kuò)展到100GHz以上,所以頻潛分析儀是頻率覆蓋最寬的測(cè)量?jī)x器之一,無論測(cè)量連續(xù)信號(hào)或調(diào)制信號(hào),頻譜分析儀都是很理想的測(cè)量工具。但是傳統(tǒng)的頻譜分析儀只能測(cè)量頻率的幅度,缺少相位信息,因此屬于標(biāo)量?jī)x器,而且體積龐大。利用LabVIEW強(qiáng)大的虛擬儀器開發(fā)功能,可實(shí)現(xiàn)基于快速傅里葉變換(FFT)的現(xiàn)代頻譜分析儀功能,采用數(shù)字方法直接由模擬/數(shù)字轉(zhuǎn)換器(ADC)對(duì)輸入信號(hào)取樣,再經(jīng)FFT處理后獲得頻譜圖,可以解決傳統(tǒng)頻譜分析儀價(jià)格昂貴,攜帶不便等缺點(diǎn)。


1 虛擬頻譜分析儀總體設(shè)計(jì)方案
    虛擬頻譜分析儀由數(shù)據(jù)采集卡、計(jì)算機(jī)和在其上運(yùn)行的用LabVIEW開發(fā)的應(yīng)用軟件組成,如圖1所示。

    虛擬頻譜分析儀利用數(shù)據(jù)采集卡的模擬輸入和模擬輸出兩個(gè)功能,用模擬輸出功能產(chǎn)生所需的激勵(lì)信號(hào),并將其加到被測(cè)網(wǎng)絡(luò)上,再用兩個(gè)模擬輸入通道將激勵(lì)信號(hào)和網(wǎng)絡(luò)輸出端的響應(yīng)信號(hào)同時(shí)采集到計(jì)算機(jī)中,經(jīng)處理后,構(gòu)成幅頻和相頻特性曲線,并顯示在計(jì)算機(jī)屏幕上,最后對(duì)模擬生成的信號(hào)進(jìn)行分析,在計(jì)算機(jī)屏幕上輸出模擬信號(hào)的幅頻/相頻特性。


2 虛擬頻譜分析儀組成及功能
2.1 虛擬儀器和頻譜分析儀組成
    本文設(shè)計(jì)的虛擬頻譜分析儀由周期性信號(hào)發(fā)生器、濾波器以及幅頻/相頻特性、頻譜分析結(jié)果三個(gè)子模塊組成。信號(hào)發(fā)生器子模塊生成兩路模擬輸入信號(hào),一路是可調(diào)頻率、相位和振幅的正弦信號(hào),另一路是指可調(diào)頻率、相位和振幅的余弦信號(hào),最后利用信號(hào)合成器把兩路信號(hào)混合起來作為生成的2路模擬信號(hào);頻譜分析和濾波器子模塊利用LabVIEW強(qiáng)大的數(shù)字信號(hào)處理功能,對(duì)這組數(shù)據(jù)進(jìn)行濾波、加窗、FFT運(yùn)算處理,得到信號(hào)的實(shí)部譜和虛部譜,最重要的是得到信號(hào)的幅頻特性曲線和相頻特性曲線;在頻譜分析的結(jié)果子模塊中,對(duì)生成信號(hào)的頻譜進(jìn)行分析,并將均方根值、一個(gè)周期內(nèi)的信號(hào)均值等參數(shù)在系統(tǒng)退出時(shí)保存到文本文件中。其中,在濾波設(shè)置中可以控制濾波的通過方式以及截止頻率,最后顯示出頻譜分析結(jié)果,系統(tǒng)退出時(shí)提示保存當(dāng)前數(shù)據(jù)到文本文件。
    虛擬頻譜分析儀前面板分為3部分:周期性信號(hào)發(fā)生器、周期性信號(hào)濾波器及幅頻/相頻特性和周期性信號(hào)頻譜分析結(jié)果,如圖2所示。圖中顯示的是周期性信號(hào)發(fā)生器的界面,圖中正弦波和余弦波信號(hào)可以通過鼠標(biāo)拖拽和旋轉(zhuǎn)按鈕來改變信號(hào)的頻率、振幅及相位。當(dāng)拖拽的時(shí)候可以發(fā)現(xiàn)下方的"2路原始模擬信號(hào)波形"會(huì)發(fā)生變化,而且橫坐標(biāo)軸的最大值也會(huì)發(fā)生變化。程序內(nèi)部通過調(diào)用后面介紹的"XScaleControl.VI"就可以實(shí)現(xiàn)這個(gè)功能;對(duì)于"周期性信號(hào)濾波器及幅頻/相頻特性"和"周期性信號(hào)頻譜分析結(jié)果"這兩個(gè)功能模塊界面限于篇幅不再贅述。

 

    虛擬頻譜分析儀后面板由五個(gè)子模塊組成:波形生成模塊,波形分析模塊,控制X軸范圍,濾波器以及幅頻/相頻特性和數(shù)據(jù)保存模塊,如圖3所示。

2.2 虛擬頻譜分析儀子模塊的設(shè)計(jì)
    (1)波形生成子模塊
    要進(jìn)行頻譜分析,首先得生成模擬信號(hào),本文采取系統(tǒng)的兩個(gè)子模塊:Triangle waveform.VI和Sinewaveform.VI生成2路模擬輸入信號(hào),為了實(shí)現(xiàn)模擬信號(hào)的頻率、相位和幅度的調(diào)節(jié)增加了幾個(gè)控制輸入,引腳圖4和圖5所示。

    在圖4和圖5中,輸入引腳和輸出引腳完全相同,"offset"是指波形的偏移量,一般不進(jìn)行設(shè)置;"resetsignal"是一個(gè)布爾型的輸入控制,若加載為True時(shí)則可以復(fù)位波形,若為False則不對(duì)波形進(jìn)行復(fù)位;"frequency"是指生成信號(hào)的頻率;"amplitude"是指想要生成信號(hào)的振幅;"phase"是指生成信號(hào)的相位;"error in"和"error out"是指當(dāng)程序有異常發(fā)生時(shí)的輸入和輸出;"sampling info"是指要生成信號(hào)的采樣率,缺省設(shè)定為1000,即一秒采樣1000個(gè)點(diǎn);"Duty Cycle"即占空比,是指一串理想的脈沖序列中(如方波),正脈沖的持續(xù)時(shí)間與脈沖總周期的比值。
    (2)控制X軸范圍子模塊
    子模塊XscaleControl.VI用于實(shí)現(xiàn)動(dòng)態(tài)控制波形X軸范圍,共有4個(gè)輸入引腳,其中3個(gè)是引用型reference輸入,一個(gè)是常數(shù)型輸入引腳。隨著輸入信號(hào)頻率的增大,若輸出波形的X軸范圍固定不變?yōu)?的話,那么波形顯示太密,導(dǎo)致根本看不清楚圖形,故需要當(dāng)頻率增大時(shí),波形x軸范圍相對(duì)縮小,讓波形顯示更加清楚。其中三個(gè)引用型輸入引腳分別指代正弦波頻率、三角波頻率和波形控件WaveformGraph三個(gè)原控件的屬性節(jié)點(diǎn)(propertynode)。內(nèi)部工作原理是當(dāng)正弦波頻率和三角波形頻率二者中有任一個(gè)大于10HZ時(shí)就按照二者頻率之中較大的那個(gè)頻率的倒數(shù)的數(shù)值來當(dāng)作波形控件WaveformGraph的橫坐標(biāo)軸的最大值,實(shí)現(xiàn)了當(dāng)模擬信號(hào)頻率增大時(shí)波形依然清晰的功能,從而實(shí)現(xiàn)了動(dòng)態(tài)地控制波形控件x軸的范圍。

    (3)波形分析子模塊
    LabVIEW提供了豐富的波形頻譜分析工具,最典型的就是Amplitude and Level Measurement.VI,它的存放路徑是后面板中Functions->Signal Analysis,參數(shù)對(duì)話框中共分為4個(gè)區(qū)域,分別是要求進(jìn)行的幅值特征值求取的項(xiàng)目(Amplitude Measurements)、當(dāng)前信號(hào)幅值求取的結(jié)果(Results)、輸入信號(hào)預(yù)覽窗口(Input Signal)和加窗后信號(hào)預(yù)覽窗口(Result Signal),其中最重要的是幅值特征值求取項(xiàng)目的設(shè)置,需要求取哪個(gè)特征值,就在它前面劃勾,Amplitude and Level Measurement.VI自動(dòng)在其圖標(biāo)中添加這一輸出端口。頻譜分析Amplitudeand Level Measurement.VI功能引腳如圖7所示。

 

 

    該模塊有3個(gè)輸入引腳和8個(gè)輸出引腳。3個(gè)輸入引腳分別如下:"Restart Averaging"引腳標(biāo)識(shí)是否重啟選定的平均處理過程,缺省為False;"Signals"引腳是輸入要分析的信號(hào);"error in(no error)"引腳是對(duì)在執(zhí)行到這個(gè)VI之前若是發(fā)生錯(cuò)誤條件的描述;8個(gè)輸出引腳敘述如下:"RMS"引腳指信號(hào)均方根值;"Positive Peak"引腳指正向峰值;"error out"引腳指子VI執(zhí)行錯(cuò)誤時(shí)的輸出信息;"Cycle Average"引腳指一個(gè)周期的平均值;"Cycle RMS"引腳指一個(gè)周期的均方根值;"Mean(DC)"引腳指信號(hào)均值;"Negative Peak"引腳指負(fù)向峰值;"Peak to Peak"引腳指峰一峰值,即輸入信號(hào)波形的正向和負(fù)向的最大振幅值。
    把模擬生成的2路信號(hào)作為此VI的輸入引腳"Signals",就可以對(duì)生成的信號(hào)進(jìn)行分析,從而輸出該信號(hào)的一些參數(shù)信息,如信號(hào)均值、峰值和一個(gè)周期的均方根值等。
    另外一個(gè)比較典型的信號(hào)分析VI就是FFTSpectrum(Real-Im).VI,該VI可以對(duì)輸入的時(shí)域信號(hào)計(jì)算出快速傅立葉變換頻譜,并分別返回波形的實(shí)部譜和虛部譜,在實(shí)際應(yīng)用中進(jìn)行實(shí)部譜和虛部譜的分析也很有意義,傅立葉頻譜變換FFT Spectrum.VI功能引腳如圖8所示。

    該模塊共有10個(gè)引腳。其中"restart averaging(F)"引腳和上面提到的功能一樣,用來標(biāo)識(shí)是否重啟選定的平均處理過程;"time signals"引腳標(biāo)識(shí)輸入的時(shí)域信號(hào);"window"引腳指加窗設(shè)置,加窗方式包括可以有多種不同的方式,如Uniform、Hanning、Hamming以及Blackman等;"error in(noerror)"引腳和"error out"引腳標(biāo)識(shí)執(zhí)行此VI有錯(cuò)誤發(fā)生時(shí)的輸入和輸出信息;"averaging parameters"引腳指輸入波形信號(hào)的平均參數(shù);"real parts"引腳標(biāo)識(shí)波形的實(shí)部譜,輸出可以是用graph圖像直觀描述的方式也可以是一堆參數(shù)的描述形式;"imaginary parts"引腳指輸入波形的虛部譜,描述方式同實(shí)部譜;其余兩個(gè)引腳"averaging done"引腳和"averages completed"引腳一般不用,都是對(duì)輸入波形的一些不常用的參數(shù)的敘述。
    (4)濾波器以及幅頻/相頻特性子模塊
    濾波器子模塊處于Functions->Signal Analysis子模板中,它的設(shè)置分為4個(gè)區(qū)域,分別為濾波器參數(shù)設(shè)置(Filtering Type)、兩個(gè)預(yù)覽窗口和預(yù)覽模式設(shè)定區(qū)域(VIew Mode)。濾波器種類有四種,分別為高通、低通、帶通以及平滑濾波。前三種都容易理解,而平滑濾波主要用于對(duì)信號(hào)進(jìn)行局部平均,消除周期性噪聲或白噪聲。低通濾波器子模塊Filter.VI的功能引腳如圖9所示。

 

 

    帶通濾波器子模塊BandFilter.VI的功能引腳如圖10所示。顧名思義,帶通濾波器的意思就是頻率在某個(gè)范圍內(nèi)的波形可以通過,它比圖9中的低通濾波器就多了一個(gè)引腳Upper Cut-Off。

    (5)數(shù)據(jù)保存子模塊
    數(shù)據(jù)保存子模塊即SaveData.VI功能引腳如圖11所示。它把想要保存的數(shù)據(jù)處理成統(tǒng)一的格式,在系統(tǒng)退出時(shí)保存到文本文件中。

    其中,只有兩個(gè)引腳是輸出端,即"string"和"系統(tǒng)日期和時(shí)間",分別代表格式化輸出的字符串和系統(tǒng)當(dāng)期日期和時(shí)間。輸出端"string"在系統(tǒng)自動(dòng)存儲(chǔ)文件中的一條記錄格式如下:
    "周期平均值:-0.258667正峰值:2.845332信號(hào)均方根值:2.845332 3dB帶寬:392.968235.
    2007年8月21日12:21:32"。其中,"周期平均值"表示波形信號(hào)在一個(gè)周期內(nèi)的信號(hào)平均值;"正峰值"表示波形信號(hào)達(dá)到的最大幅度值;"信號(hào)均方根值"表示波形信號(hào)按均方根公式求出的值;"3dB帶寬"表示通過子VI求出的帶寬幅度值;最后一個(gè)代表的是存儲(chǔ)該條記錄的日期和時(shí)間。其中主要用到LabVIEW提供的Format函數(shù),通過把多個(gè)中文字符串和一個(gè)數(shù)字通過Fromat函數(shù)格式化到同一個(gè)字符串"string"中輸出,從而為系統(tǒng)退出時(shí)保存數(shù)據(jù)做準(zhǔn)備,因?yàn)槿羰前驯4鏀?shù)據(jù)放到while循環(huán)里,則會(huì)因一直提示保存數(shù)據(jù)而導(dǎo)致程序死循環(huán)。
    圖11中,有六個(gè)輸入端引腳,其中"RMS"引腳表示信號(hào)的周期平均值,"Positive Peak"引腳表示正向最大峰值,"CycleAverage"引腳表示信號(hào)均方根值,"detected frequencies"引腳是指檢測(cè)到的頻率,而"3db帶寬"引腳和"上限帶寬"引腳是通過嵌套的—個(gè)子Ⅵ即Compute 3db bandwidth.VI計(jì)算出來的。


3 結(jié)語
    基于LabVIEW編程環(huán)境下的虛擬頻譜分析儀主要實(shí)現(xiàn)了時(shí)域分析和頻域分析兩個(gè)功能。信號(hào)的時(shí)域分析主要是測(cè)量測(cè)試信號(hào)經(jīng)濾波處理后的特征值,這些特征值以一個(gè)數(shù)值表示信號(hào)的某些時(shí)域特征,是對(duì)測(cè)試信號(hào)最簡(jiǎn)單直觀的時(shí)域描述。將測(cè)試信號(hào)采集到計(jì)算機(jī)后,在測(cè)試VI中進(jìn)行信號(hào)特征值處理,并在測(cè)試VI前面板上直觀地表示出信號(hào)的特征值,可以給測(cè)試VI的使用者提供一個(gè)了解測(cè)試信號(hào)變化的快速途徑。信號(hào)的特征值分為幅值特征值、時(shí)間特征值和相位特征值,本文對(duì)幅值特征值的分析進(jìn)行了設(shè)計(jì)。
    信號(hào)的頻域分析就是根據(jù)信號(hào)的頻域描述來估計(jì)和分析信號(hào)的組成和特征量。也就是研究信號(hào)的頻率結(jié)構(gòu),即求取其分量的幅值、相位按頻率的分布規(guī)律,并建立以頻率為橫軸的各種譜。對(duì)于周期信號(hào)可將其展開為傅立葉系數(shù),其頻譜具有離散性、諧波性和收斂性;對(duì)于非周期信號(hào)可用頻譜密度函數(shù)分析其頻率構(gòu)成,其頻譜具有連續(xù)性。
    頻域分析包括頻譜分析、功率譜分析、相干函數(shù)分析以及頻率響應(yīng)函數(shù)分析。本文實(shí)現(xiàn)了頻譜分析,即信號(hào)的幅頻特性和相頻特性。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。