摘 要: 提出一種基于虛擬儀器LabVIEW的FFT頻譜分析儀的設(shè)計,分析了DSP技術(shù)在虛擬儀器中的應(yīng)用。在深入研究DSP處理系統(tǒng)的基礎(chǔ)上,開發(fā)了基于DSP技術(shù)以及USB總線的虛擬式FFT 頻譜分析儀,具有設(shè)計新穎、實用性強的特點。
關(guān)鍵詞: 虛擬儀器;LabVIEW;DSP;USB總線;FFT;頻譜分析儀
1 虛擬儀器概念和特點
虛擬儀器是虛擬技術(shù)在儀器儀表領(lǐng)域中的一個重要應(yīng)用。它是日益發(fā)展的計算機硬件、軟件和總線技術(shù)在向其他技術(shù)領(lǐng)域密集滲透的過程中,與測試技術(shù)、儀器儀表技術(shù)密切結(jié)合孕育出的一項新的成果。20世紀(jì)80年代,NI公司首先提出了虛擬儀器的概念,認為虛擬儀器是由計算機硬件資源、模塊化儀器硬件和用于數(shù)據(jù)分析、過程通信及圖形用戶界面的軟件組成的測控系統(tǒng),是一種由計算機操縱的模塊化儀器系統(tǒng)。虛擬儀器是以計算機作為儀器統(tǒng)一的硬件平臺,充分利用計算機獨具的運算、存儲、回放、調(diào)用、顯示以及與文件管理等基本智能化功能,同時把傳統(tǒng)儀器的專業(yè)化功能和面板控件軟件化,使其與計算機融為一體,構(gòu)成了從外觀到功能都完全與傳統(tǒng)硬件儀器一致,同時又充分享用計算機智能資源的全新的儀器系統(tǒng)。由于儀器的專業(yè)化功能和面板控件都由軟件形成,因此國際上把這類新型的儀器稱為“虛擬儀器”[1]。
目前在虛擬儀器技術(shù)領(lǐng)域,使用較為廣泛的計算機語言是NI公司推出的LabVIEW。LabVIEW是一種圖形化的編程語言開發(fā)環(huán)境,類似于C和BASIC開發(fā)環(huán)境,但較之不同的是,LabVIEW使用的是圖形化的編輯語言,又稱為“G”語言。這種編程語言的特點是用具有框圖結(jié)構(gòu)的VI代替繁瑣的程序代碼,產(chǎn)生的程序是框圖的形式,同時它盡可能利用了技術(shù)人員、工程師、專家所熟悉的術(shù)語、概念和圖標(biāo),因而廣泛地被工業(yè)界、學(xué)術(shù)界和研究實驗室所接受。LabVIEW逐漸成為一種標(biāo)準(zhǔn)的數(shù)據(jù)采集和儀器控制軟件,在進行研究、設(shè)計、測試并實現(xiàn)儀器系統(tǒng)時,可大大提高工作效率。
2 DSP在虛擬儀器中的應(yīng)用
在PC虛擬儀器領(lǐng)域,采用高速DSP和局部總線的結(jié)構(gòu)將成為PC虛擬儀器的主流結(jié)構(gòu)。虛擬儀器作為儀器發(fā)展的新階段,雖然其專業(yè)化功能和面板控件都是以軟件形式所表現(xiàn)出來,但其硬件采集仍需要硬件設(shè)備來完成。
DSP芯片是專門用于數(shù)字信號處理的芯片,它能獨立于CPU單獨運行,同時又有豐富的接口處理功能。更為重要的是,DSP芯片對數(shù)字信號的處理由其裝載的程序控制,開發(fā)人員可根據(jù)實際的需求自行開發(fā)程序,再將程序裝載入芯片,從而達到數(shù)字信號處理的目的。然而直接使用DSP來開發(fā)頻譜分析儀有諸多不便,這主要是因為當(dāng)系統(tǒng)運行在WINDOWS等多任務(wù)操作系統(tǒng)時,特別在處理如FFT等大容量、高精度運算時,CPU資源會造成嚴(yán)重不足,這給底層硬件系統(tǒng)的設(shè)計應(yīng)用帶來一定的不便。但使用虛擬儀器能很好地解決這個問題,虛擬儀器能借助DSP處理系統(tǒng),將采集來的數(shù)據(jù)在DSP中進行預(yù)處理,然后再將數(shù)據(jù)傳遞給軟件部分,這樣不但沒有增加系統(tǒng)的負擔(dān),相反,可以讓系統(tǒng)資源用更多的時間來處理其他事情。數(shù)據(jù)的處理是由軟件控制計算機系統(tǒng)來完成,虛擬儀器主要處理由USB數(shù)據(jù)采集器所采集到的數(shù)字信號,對其進行分析、運算和顯示。
3 頻譜分析儀的應(yīng)用和發(fā)展
頻譜分析是信號分析處理中常用的分析方法,主要是在頻域上對信號進行處理、分析及顯示。目前,頻譜分析在生產(chǎn)實踐與科學(xué)研究中獲得了日益廣泛的應(yīng)用。例如,在聲納系統(tǒng)中,為了尋找海洋水面艦艇或潛艇,需要對噪聲信號進行頻譜分析,以提取有用信息,從而判斷艦艇運動速度、方向、位置、大小;對飛機、汽車、電機、機床等主體或部件進行實際運行的頻譜分析,可以提供設(shè)計數(shù)據(jù)、檢驗設(shè)計效果,或者尋找振源和診斷故障,以便及時排除潛在故障因素,保證安全運行。
早期的頻譜分析儀實質(zhì)上是一臺掃頻接收機,輸入信號與本地振蕩信號在混頻器變頻后,經(jīng)過一組并聯(lián)的不同中心頻率的帶通濾波器,使輸入信號顯示在一組帶通濾波器限定的頻率軸上。由于帶通濾波器由電感、電容等多種無源、有源元件構(gòu)成,頻譜分析儀顯得很笨重,且頻率分辨率不高。隨著電子電路技術(shù)的發(fā)展,出現(xiàn)了以傅里葉變換為基礎(chǔ)的現(xiàn)代頻譜分析儀,這類頻譜分析儀以電子電路來實現(xiàn)傅里葉變換,從而實現(xiàn)頻譜分析。但是,這類頻譜分析儀仍然是以硬件電路來實現(xiàn)的傳統(tǒng)意義上的頻譜分析儀,存在復(fù)雜性、封閉性等自身無法克服的缺點。隨著計算機技術(shù)的發(fā)展和普及,虛擬儀器技術(shù)應(yīng)用到頻譜分析儀中,克服了傳統(tǒng)硬件化的頻譜分析儀自身無法克服的缺點。
4 虛擬式FFT頻譜分析儀的系統(tǒng)設(shè)計
4.1 基于DSP的USB數(shù)據(jù)采集器開發(fā)
快速傅里葉變換FFT(Fast Fourier Transform)分析要求首先對被分析的信號進行數(shù)字采樣,然后再進行FFT運算。在系統(tǒng)中,信號的采樣和FFT計算全部在USB數(shù)據(jù)采集器上實現(xiàn)。為了保證時域信號和FFT處理后的數(shù)據(jù)能實時傳遞給系統(tǒng)CPU,USB數(shù)據(jù)采集器與主機之間采用USB接口設(shè)計[2]。根據(jù)系統(tǒng)要求和實際條件,USB數(shù)據(jù)采集器的結(jié)構(gòu)如圖1所示。
(1)信號調(diào)理模塊設(shè)計
信號調(diào)理模塊實現(xiàn)信號的輸入緩沖、放大和濾波。在系統(tǒng)中,信號的緩沖由集成運放組成同相跟隨器來實現(xiàn)。放大器采用TI公司的可編程放大器PAG103U,放大倍數(shù)的改變由DSP和邏輯控制器共同實現(xiàn),設(shè)計中可對輸入通道信號分別進行放大倍數(shù)控制。調(diào)理模塊中的濾波器為低通濾波,主要用于對信號進行抗混疊濾波,以確保信號的有效FFT分析。
(2)A/D轉(zhuǎn)換設(shè)計
A/D轉(zhuǎn)換的采樣率和分辨率是進行數(shù)字采樣系統(tǒng)設(shè)計的主要指標(biāo)。在設(shè)計中,A/D芯片采用AD7685,單通道最高采樣率可達250 kS/s,輸出為16位并行輸出,比較電壓為±5 V。
(3)DSP芯片選用
DSP是該系統(tǒng)進行FFT運算的處理器,其精度、速度在很大程度上決定了FFT分析儀的性能。考慮到FFT運算中實時性和精度方面的要求,設(shè)計時選用TMS320VC33浮點型DSP芯片[6]。
(4)存儲器選用
存儲器可用于存放大量的表格數(shù)據(jù)和一些臨時數(shù)據(jù)。因為DSP在作FFT運算時要用到大量正弦及其他數(shù)據(jù)表格,而通常固化DSP程序的閃存和DSP的數(shù)據(jù)交換較慢,為保證FFT的運算速度,可在FFT運算前,將表格數(shù)據(jù)存儲于DSP外的高速存儲器內(nèi)。
(5)USB接口芯片選用
USB接口芯片是連接PC機和底層硬件的通信紐帶,USB總線有著嚴(yán)格的電氣規(guī)范和時序要求,采用接口芯片可以減少電路設(shè)計的工作量,特別對于在實現(xiàn)5 V與3.3 V DSP的數(shù)據(jù)傳遞時,采用可同時兼容這兩種電壓的接口芯片,還省去轉(zhuǎn)換電路的設(shè)計。設(shè)計中選用Philips的高速USB2.0芯片ISP1362。數(shù)據(jù)采集器工作時,各主要模塊通過控制器后的基本流程如圖2所示。
4.2 虛擬式FFT頻譜分析儀軟件設(shè)計
該系統(tǒng)軟件包括DSP軟件的設(shè)計和應(yīng)用程序的設(shè)計。
4.2.1 DSP軟件的設(shè)計
DSP軟件由DSP主程序和中斷服務(wù)程序組成[4]。
DSP主程序主要完成以下任務(wù):(1)初始化USB芯片,讀入用戶設(shè)置的采樣頻率參數(shù),并根據(jù)這個參數(shù)初始化時鐘,以產(chǎn)生正確的采樣時間信號;(2)讀入采樣通道參數(shù)并初始化AD7685;(3)讀入用戶放大倍數(shù),設(shè)置可編程放大器。這些參數(shù)讀入完畢后,將采樣通道采集的數(shù)據(jù)通過USB口發(fā)送給PC側(cè)的LabVIEW軟件分析處理。
中斷服務(wù)程序主要用來響應(yīng)A/D所產(chǎn)生的中斷,在設(shè)計中,中斷服務(wù)的任務(wù)主要是讀取A/D轉(zhuǎn)換后的數(shù)據(jù),并判斷其是否達到FFT點數(shù),如沒達到則返回,反之,進行FFT運算,并將數(shù)據(jù)傳遞給接口芯片。
4.2.2 應(yīng)用程序的實現(xiàn)
應(yīng)用程序是實現(xiàn)人機交換的控制軟件[5],數(shù)據(jù)結(jié)果的顯示以及輸入?yún)?shù)的改變都在此完成。要求應(yīng)用程序既要有很好的穩(wěn)定性,又要易于操作。系統(tǒng)的應(yīng)用程序以及USB數(shù)據(jù)采集器的驅(qū)動程序都是在LabVIEW的基礎(chǔ)上編寫出來的,具有很好的穩(wěn)定性和可移植性。圖3所示為基于DSP技術(shù)的虛擬式FFT頻譜分析儀面板圖,檢測輸入信號為200 Hz,交流正弦波為400 Hz,可以看到在FFT上的頻譜圖(幅度譜和相位譜)。
虛擬式FFT頻譜分析儀系統(tǒng)可在Windows環(huán)境下很好地運行和操作,符合項目設(shè)計要求。DSP技術(shù)引入到虛擬儀器系統(tǒng)中,使得虛擬儀器的性能突破了通用計算機的限制,并在實時性和精確性上為虛擬儀器廣泛代替?zhèn)鹘y(tǒng)硬件平臺儀器提供了保證。利用計算機提供的USB、PCI等高速數(shù)據(jù)接口,進一步拓寬了基于DSP的USB數(shù)據(jù)采集器的數(shù)據(jù)傳輸帶寬。隨著DSP技術(shù)的發(fā)展和其在虛擬儀器中的應(yīng)用,虛擬儀器必將在儀器行業(yè)中大放異彩。
參考文獻
[1] 秦樹人,張思復(fù),湯寶平,等.集成測試技術(shù)與虛擬儀器[J].中國機械工程,1999,10(1):77-80.
[2] 劉陽,郭修煌.基于PC總線虛擬儀器的關(guān)鍵技術(shù)及發(fā)展前景[J].電子技術(shù)應(yīng)用,1996,16(3):93-95.
[3] 王念旭.DSP基礎(chǔ)與應(yīng)用系統(tǒng)設(shè)計[M].北京:北京航空航天大學(xué)出版社,2000.
[4] 盧文祥,杜潤生.機械工程測試·信息·信號分析[M].(第二版).武漢:華中科技大學(xué)出版社,1999.
[5] 萬相奎,秦樹人,尹愛軍.虛擬式多通道溫度測試儀[J].重慶大學(xué)學(xué)報(自然科學(xué)版),2002,25(4):11-13.
[6] 吳宏鋼,秦樹人,王婭仙.利用高速數(shù)據(jù)卡開發(fā)通信測試儀[J].重慶大學(xué)學(xué)報(自然科學(xué)版),2003,26(8):8-9.