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