基于LabVIEW的虛擬頻譜分析儀的設(shè)計(jì)與實(shí)現(xiàn)
O 引言
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可以方便地建立各種虛擬儀器。
頻譜分析儀是對無線電信號(hào)進(jìn)行測量的必備手段,是從事電子產(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以上,所以頻潛分析儀是頻率覆蓋最寬的測量儀器之一,無論測量連續(xù)信號(hào)或調(diào)制信號(hào),頻譜分析儀都是很理想的測量工具。但是傳統(tǒng)的頻譜分析儀只能測量頻率的幅度,缺少相位信息,因此屬于標(biāo)量儀器,而且體積龐大。利用LabVIEW強(qiáng)大的虛擬儀器開發(fā)功能,可實(shí)現(xiàn)基于快速傅里葉變換(FFT)的現(xiàn)代頻譜分析儀功能,采用數(shù)字方法直接由模擬/數(shù)字轉(zhuǎn)換器(ADC)對輸入信號(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),并將其加到被測網(wǎng)絡(luò)上,再用兩個(gè)模擬輸入通道將激勵(lì)信號(hào)和網(wǎng)絡(luò)輸出端的響應(yīng)信號(hào)同時(shí)采集到計(jì)算機(jī)中,經(jīng)處理后,構(gòu)成幅頻和相頻特性曲線,并顯示在計(jì)算機(jī)屏幕上,最后對模擬生成的信號(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)處理功能,對這組數(shù)據(jù)進(jìn)行濾波、加窗、FFT運(yùn)算處理,得到信號(hào)的實(shí)部譜和虛部譜,最重要的是得到信號(hào)的幅頻特性曲線和相頻特性曲線;在頻譜分析的結(jié)果子模塊中,對生成信號(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è)功能;對于"周期性信號(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則不對波形進(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í)間與脈沖總周期的比值。