在運(yùn)動(dòng)目標(biāo)速度測(cè)量中,常利用頻譜分析的方法獲取目標(biāo)的多普勒頻率,并依據(jù)多普勒測(cè)速原理來完成動(dòng)目標(biāo)速度測(cè)量。為達(dá)到高精度測(cè)速的要求,需進(jìn)一步提高頻率分辨率,在實(shí)際頻譜分析中,要對(duì)獲取的試驗(yàn)數(shù)據(jù)先進(jìn)行分段處理,在此基礎(chǔ)上再進(jìn)行細(xì)化操作,這樣可獲得比常規(guī)FFT分析更高的頻率分辨率。近年來,頻譜細(xì)化技術(shù)發(fā)展迅速,常見的方法有:HR-FA法,基于多相濾波器的ZFFT法,基于復(fù)調(diào)制的Zoom-FFT法,自適應(yīng)Zoom-FFT法,Chirp-Z變換和小波基法等。然而,這些頻譜細(xì)化技術(shù)普遍存在運(yùn)算量大,不易實(shí)現(xiàn)編程的缺點(diǎn)。為此,提出了一種數(shù)字變頻FFT的頻譜細(xì)化算法,并利用圖形化編程語言LabVIEW進(jìn)行了編程設(shè)計(jì)。 1 數(shù)字變頻FFT的數(shù)學(xué)原理 在頻譜分析中,頻率分辨率表示頻譜中能夠分辨的兩個(gè)頻率分量的最小間隔,用頻率間隔△f表示為: 要提高FFT的頻率分辨率,可通過以下兩種途徑實(shí)現(xiàn): (1)降低采樣頻率fs。這會(huì)使頻率分析范圍縮小,其降低的幅度受到采樣定律的限制。 (2)需要增加分析的采樣點(diǎn)數(shù)N。這意味著計(jì)算機(jī)的存儲(chǔ)量和計(jì)算量大大增加,由于實(shí)際系統(tǒng)軟、硬件方面的限制,這樣做并不總是可能的。 可以看出以上兩種方法提高頻率分辨率的能力有限且靈活性差。所用的數(shù)字變頻FFT主要指采用移頻特性進(jìn)行頻譜細(xì)化的技術(shù),其原理框圖如圖1所示。 設(shè)模擬信號(hào)為x(t),經(jīng)A/D轉(zhuǎn)換后得到采樣時(shí)間序列x(n)(n=0,1,…,N-1),設(shè)fs為采樣頻率;f1~f3為細(xì)化分析頻帶;f0為需要細(xì)化的頻帶中心頻率;D為細(xì)化倍數(shù);N為FFT分析的點(diǎn)數(shù),算法如下: (1)復(fù)調(diào)制移頻 所謂復(fù)調(diào)制移頻就是將頻域坐標(biāo)向左移或向右移,使得被觀察的起點(diǎn)為頻域坐標(biāo)的零頻位置。這里對(duì)離散信號(hào)x(n)用exp[-2πf0/fs]進(jìn)行復(fù)調(diào)制,把需要細(xì)化的頻帶起點(diǎn)移至頻率軸原點(diǎn),得到: (2)數(shù)字低通濾波 為保證重新采樣后不發(fā)生頻譜混疊,必須進(jìn)行抗混疊濾波,以濾出所需分析頻段信號(hào)。設(shè)頻率細(xì)化倍數(shù)為D,則低通濾波器的截止頻率fc=fs/2D。 (3)重新采樣 信號(hào)被移頻和低通濾波后,分析信號(hào)頻帶變窄,因而可以以較低的采樣頻率fs=fs/D進(jìn)行重采樣,fs比原采樣頻率降低了D倍,即對(duì)原采樣點(diǎn)每隔N點(diǎn)再抽樣一次。 (4)反移頻處理 實(shí)行反移頻操作就是將頻率中心重新移到需要細(xì)化的頻帶起始頻率,使得移頻前后的頻率保持一致。 (5)FFT運(yùn)算 對(duì)反移頻后的信號(hào)進(jìn)行FFT處理,得到細(xì)化后的頻譜,其頻率分辨率提高了D倍。 2 數(shù)字變頻FFT的LabVIEW實(shí)現(xiàn) 2.1 虛擬儀器LabVEW LabVIEW是美國(guó)NI公司推出的虛擬儀器開發(fā)平臺(tái)軟件,是一種非常優(yōu)秀的面向?qū)ο蟮膱D形化編程語言,用于快速創(chuàng)建測(cè)試、測(cè)量和控制應(yīng)用程序。它的優(yōu)點(diǎn)是數(shù)據(jù)處理速度快,硬件支持等方面功能強(qiáng)大;缺點(diǎn)是在數(shù)值處理、分析和算法工具等方面的效率不高。而MathWorks公司開發(fā)的Matlab提供了強(qiáng)大的矩陣運(yùn)算和圖形處理功能,編程效率高,特別擅長(zhǎng)數(shù)值分析和處理,但其界面開發(fā)能力較差,不能進(jìn)行實(shí)時(shí)操作和控制。 鑒于LabVIEW和Matlab兩種語言的優(yōu)點(diǎn),在虛擬儀器開發(fā)過程中,除利用LabVIEW直接編程外,還可結(jié)合Matlab進(jìn)行混合編程。通常用LabVIEW設(shè)計(jì)用戶圖形界面,負(fù)責(zé)數(shù)據(jù)采集和網(wǎng)絡(luò)通信;Matlab在后臺(tái)提供大型算法供LabVIEW調(diào)用。 2.2 LabVIEW直接編程實(shí)現(xiàn)數(shù)字變頻FFT 在LabVIEW直接編程中,通過調(diào)用Ramp Pattern.vi節(jié)點(diǎn)和Exponential.vi節(jié)點(diǎn)完成信號(hào)的復(fù)調(diào)制和反移頻操作;通過調(diào)用Decimate.vi節(jié)點(diǎn)對(duì)復(fù)調(diào)制后的信號(hào)進(jìn)行濾波,壓縮頻帶,然后進(jìn)行整數(shù)倍抽取。其中,對(duì)信號(hào)進(jìn)行數(shù)字低通濾波的濾波器為切比雪夫I型濾波器,其主要參數(shù):階數(shù)為8階,截止頻率為0.8·(fs/2)/D;通過調(diào)用FFT.vi和Array Size.vi節(jié)點(diǎn)完成FFT運(yùn)算,輔以其他相應(yīng)的計(jì)算處理節(jié)點(diǎn),根據(jù)數(shù)字變頻的原理圖最終實(shí)現(xiàn)數(shù)字變頻FFT,其程序框圖如圖2所示。 2.3 LabVIEW與Matlab混合編程實(shí)現(xiàn)數(shù)字變頻FFT LabVIEW與Matlab的混合編程,可通過調(diào)用LabVIEW中的Matlab Script節(jié)點(diǎn)實(shí)現(xiàn)。其中,MatlabScript節(jié)點(diǎn)本身具有多輸入、多輸出的特點(diǎn),一次處理的信息量可以很大。在Matlab中,根據(jù)數(shù)字變頻FFT的數(shù)學(xué)原理,編程實(shí)現(xiàn)復(fù)調(diào)制移頻、低通濾波、重采樣、反移頻和FFT操作處理,經(jīng)調(diào)試無誤后,導(dǎo)入到Matlab Script節(jié)點(diǎn)中;然后在LabVIEW中,通過調(diào)用SineWave.vi產(chǎn)生仿真信號(hào),或從文件中讀取信號(hào)數(shù)據(jù),同時(shí)添加采樣頻率,細(xì)化倍數(shù)等控制節(jié)點(diǎn);最后連接各圖標(biāo),實(shí)現(xiàn)數(shù)字變頻FFT,其程序框圖如圖3所示。 3 仿真分析 利用LabVIEW編程實(shí)現(xiàn)數(shù)字變頻FFT軟件處理平臺(tái),調(diào)用Functions\Analyze\Signal Processing\Signal Generation子模板中的Sine Wave.vi創(chuàng)建正弦信號(hào)發(fā)生器,構(gòu)造仿真信號(hào): x(t)=sin(2πf1t)+2sin(2πf2t)+5sin(2πf3t) 式中:f1=2 002 Hz;f2=2 004 Hz;f3=2 006 Hz;采樣點(diǎn)數(shù)N=5 120;采樣頻率為51 200 Hz。根據(jù)式(1) 可知,此時(shí)頻率分辨率為10 Hz,在頻域內(nèi)分辨不出這3個(gè)信號(hào)。 若要把分辨率提到1 Hz,即細(xì)化10倍,就要采樣51 200個(gè)點(diǎn),然后把分析頻帶(2 000~2 010 Hz)的起始頻率f=2 000 Hz點(diǎn)移到原點(diǎn),當(dāng)細(xì)化倍數(shù)D=10時(shí),即51 200個(gè)采樣點(diǎn)每隔10個(gè)點(diǎn)進(jìn)行抽取,完成對(duì)復(fù)調(diào)制移頻、濾波后的信號(hào)重采樣。新的采樣頻率即為5 120 Hz,降低了10倍,抽取得到5 120個(gè)點(diǎn)。為了使細(xì)化后的頻率與細(xì)化前的一致,在作FFT前應(yīng)該實(shí)行反移頻,這樣就可以得到分析頻帶上的細(xì)化頻譜。如果采用LabVIEW直接編程處理,其細(xì)化頻譜如圖4所示;如果采用LabVIEW和Matlab混合編程處理,其細(xì)化頻譜如圖5所示。 從圖4和圖5中可以看出,基于LabVIEW的兩種編程方法都實(shí)現(xiàn)了頻譜細(xì)化的功能,2 002 Hz,2 004 Hz和2 006 Hz三個(gè)頻率點(diǎn)對(duì)應(yīng)的幅值譜清晰可見,且幅值相差2.5倍,分辨率為1 Hz。 4 結(jié)語 數(shù)字變頻FFT是頻譜分析中一種約束條件少,可操作性強(qiáng)的方法。在此借助功能強(qiáng)大的LabVIEW軟件編程處理方法,使得數(shù)字變頻實(shí)現(xiàn)簡(jiǎn)便,能夠滿足提高頻率分辨率的要求,并具有很高的實(shí)時(shí)性。 顯然,在動(dòng)目標(biāo)速度測(cè)量中,利用數(shù)字變頻FFT進(jìn)行頻譜細(xì)化處理,可獲得更高的頻率測(cè)量精度。根據(jù)多普勒原理,也可獲得更高的測(cè)速精度。因此,研究中基于LabVIEW的數(shù)字變頻FFT頻譜細(xì)化方法在工程實(shí)踐中有著重要的應(yīng)用價(jià)值,可廣泛應(yīng)用于汽車、飛機(jī)等運(yùn)動(dòng)目標(biāo)的速度測(cè)量中。 |