摘 要: 提出一種基于虛擬儀器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公司首先提出了虛擬儀器的概念,認(rèn)為虛擬儀器是由計算機硬件資源,、模塊化儀器硬件和用于數(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ù)采集和儀器控制軟件,,在進(jìn)行研究,、設(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ā)程序,,再將程序裝載入芯片,從而達(dá)到數(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中進(jìn)行預(yù)處理,,然后再將數(shù)據(jù)傳遞給軟件部分,,這樣不但沒有增加系統(tǒng)的負(fù)擔(dān),相反,,可以讓系統(tǒng)資源用更多的時間來處理其他事情,。數(shù)據(jù)的處理是由軟件控制計算機系統(tǒng)來完成,虛擬儀器主要處理由USB數(shù)據(jù)采集器所采集到的數(shù)字信號,,對其進(jìn)行分析、運算和顯示,。
3 頻譜分析儀的應(yīng)用和發(fā)展
頻譜分析是信號分析處理中常用的分析方法,,主要是在頻域上對信號進(jìn)行處理、分析及顯示,。目前,,頻譜分析在生產(chǎn)實踐與科學(xué)研究中獲得了日益廣泛的應(yīng)用。例如,,在聲納系統(tǒng)中,,為了尋找海洋水面艦艇或潛艇,需要對噪聲信號進(jìn)行頻譜分析,,以提取有用信息,,從而判斷艦艇運動速度、方向,、位置,、大小,;對飛機,、汽車、電機,、機床等主體或部件進(jìn)行實際運行的頻譜分析,,可以提供設(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)分析要求首先對被分析的信號進(jìn)行數(shù)字采樣,然后再進(jìn)行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è)計中可對輸入通道信號分別進(jìn)行放大倍數(shù)控制,。調(diào)理模塊中的濾波器為低通濾波,主要用于對信號進(jìn)行抗混疊濾波,,以確保信號的有效FFT分析,。
(2)A/D轉(zhuǎn)換設(shè)計
A/D轉(zhuǎn)換的采樣率和分辨率是進(jìn)行數(shù)字采樣系統(tǒng)設(shè)計的主要指標(biāo),。在設(shè)計中,,A/D芯片采用AD7685,單通道最高采樣率可達(dá)250 kS/s,,輸出為16位并行輸出,,比較電壓為±5 V。
(3)DSP芯片選用
DSP是該系統(tǒng)進(jìn)行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ù),,并判斷其是否達(dá)到FFT點數(shù),,如沒達(dá)到則返回,反之,,進(jìn)行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ù)接口,,進(jìn)一步拓寬了基于DSP的USB數(shù)據(jù)采集器的數(shù)據(jù)傳輸帶寬,。隨著DSP技術(shù)的發(fā)展和其在虛擬儀器中的應(yīng)用,虛擬儀器必將在儀器行業(yè)中大放異彩,。
參考文獻(xiàn)
[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.