任季中,趙 倩
(1.中國電子科技集團(tuán)公司第五十四研究所,河北石家莊050081;2.國家廣電總局951臺,河北石家莊050701)
脈沖信號是現(xiàn)代雷達(dá)主要采用的信號形式,脈沖信號頻率測量是雷達(dá)偵察中不可或缺的環(huán)節(jié),對雷達(dá)對抗起著重要的作用。數(shù)字化處理是雷達(dá)對抗系統(tǒng)發(fā)展的趨勢之一,常用的數(shù)字測頻方法包括過零點檢測法、相位差分法、快速傅里葉變換(FFT)法和現(xiàn)代譜估計法[1]。其中FFT法工程可實現(xiàn)性強(qiáng),實時性好,且適用于寬帶偵收,因此在工程中得到廣泛應(yīng)用。
本文以時寬較短(0.2~1μs)的正弦波脈沖信號為研究對象,分析了傳統(tǒng)FFT測頻法的不足之處,從工程應(yīng)用角度分析了提高測頻精度的改進(jìn)方法,并提出了基于FPGA的全數(shù)字實現(xiàn)流程。
信號x(t)經(jīng)過數(shù)字化采樣后為x(n),n=0,1,2,…,N-1,為對其進(jìn)行頻譜分析,進(jìn)行離散傅里葉變換(DFT),將信號從時域轉(zhuǎn)換到頻域,如式(2)所示:
DFT實現(xiàn)時采用的快速算法即是FFT,經(jīng)FFT處理后,信號的頻率分辨率為:
式中,fs為采樣率,設(shè)信號的時寬為T,則信號的點數(shù)為T×fs,信號的頻率分辨率可表示為:
可見,F(xiàn)FT測頻的頻率分辨率只與信號時寬有關(guān),根據(jù)譜線的最大值來換算信號的頻率,如果信號的頻率正好落在一根譜線上,得到的頻率測量結(jié)果是準(zhǔn)確的,而在多數(shù)情況下,信號頻率落在兩根譜線之間,由最大值譜線位置反映的頻率不再準(zhǔn)確,最大測頻誤差為Δf/2。
脈沖是雷達(dá)最常采用的信號形式,根據(jù)需要,雷達(dá)有時會采用脈內(nèi)帶調(diào)制的信號類型,例如相位編碼、線性調(diào)頻等,對于此類復(fù)雜信號可采用各種信號處理方法將其轉(zhuǎn)化為普通正弦波信號,因此正弦波脈沖的測頻方法具有通用性。根據(jù)上文分析結(jié)果,對于時寬較長的脈沖,采用FFT測頻法易于實現(xiàn)較高測頻精度,滿足設(shè)備指標(biāo)要求。但是對于短脈沖,例如一個0.2μs寬的脈沖,根據(jù)式(3),理論能達(dá)到的測頻精度只有2.5MHz,難以滿足偵察要求。
補(bǔ)零[1]是指在進(jìn)行FFT運算之前在時域數(shù)據(jù)的尾部添加一些零,并使總的時域數(shù)據(jù)點數(shù)保持為2的冪次方。由于補(bǔ)零不增加任何新的信息,所以并不改變頻譜形狀和頻率分辨率,補(bǔ)零只是在原始點數(shù)的FFT結(jié)果中內(nèi)插了一些頻率分量。對于點數(shù)較少的FFT結(jié)果,在大多數(shù)情況下,從中找到峰值比較困難,也很難觀察到頻譜的細(xì)微結(jié)構(gòu)。而補(bǔ)零之后,功率譜的峰值位置可以較清晰的顯露出來,有助于提高對主瓣峰值頻率分量進(jìn)行精確定位的能力,由此提高測頻精度。
補(bǔ)零技術(shù)的缺點是額外增加了處理量,補(bǔ)零越多,處理時間也就越長。此外,對于存在噪聲的情況,補(bǔ)零也不能改善信噪比,存在頻譜峰值點定位錯誤的可能,造成測頻誤差增大。
插值FFT估計頻率方法利用真正的頻譜峰值兩側(cè)的2根FFT譜線,求其幅度比值,建立一個以修正頻率為變量的方程,解方程得到修正頻率值,對FFT最大譜線位置進(jìn)行校正,以實現(xiàn)對信號頻率更高精度的估計,如圖1所示。相比上節(jié)補(bǔ)零的方法,不必增加FFT的長度以及由此帶來的運算處理量,只需從FFT結(jié)果中找出兩個點就足夠。
圖1 矩形窗頻譜函數(shù)
在圖1中插值頻率校正即求出矩形窗譜主瓣中心與相鄰譜線的橫坐標(biāo)差,對于譜線位置x、x+1,其矩形窗譜函數(shù)為sinc函數(shù)[2],表示為f(x),頻譜值為yx、yx+1,矩形窗譜函數(shù)和頻譜值已知,可構(gòu)成一方程如下:
在圖1中,sinc函數(shù)以峰值橫坐標(biāo)為零點,頻率修正值δ=-x,只要根據(jù)式(4)求解出x,即可得到頻率修正值。
對矩形窗譜函數(shù)歸一化,求??傻?
帶入式(4),得到:
式中,α=yx/yx+1。實際應(yīng)用中,已知FFT譜峰最大值位置k1,相鄰次大值位置k2,頻率分辨率Δf,利用修正頻率值校正頻率可得[3]:
當(dāng)k2=k1+1時,取加號;k2=k1-1時,取減號。
以上對插值FFT頻率估計法進(jìn)行了理論分析,實際應(yīng)用中,不可避免的會有背景噪聲,本小節(jié)將在加性高斯白噪聲背景下,通過仿真分析插值FFT頻率估計法的性能。
設(shè)定仿真參數(shù),信號采樣率fs為1280MHz,脈沖寬度0.2μs,頻率分別設(shè)f1為102.4MHz,f2為100.4MHz,按照10dB信噪比加入高斯白噪聲[4]。
以信號頻率f1進(jìn)行仿真,連續(xù)測頻1000次,仿真結(jié)果如圖2所示。由圖可知,最大測頻誤差不超過300kHz。
圖2 測頻誤差變化圖
以信號頻率f2進(jìn)行仿真,連續(xù)測頻1000次,仿真結(jié)果如圖3所示。由圖3可知,最大測頻誤差超過1MHz。
圖3 測頻誤差變化圖
由以上結(jié)果易知,噪聲背景下的插值法測頻誤差與頻率位置的選取有關(guān),準(zhǔn)確的說,是與實際頻率位置偏離FFT譜線的距離,即與頻率修正值δ大小有關(guān)。一般情況下,F(xiàn)FT幅度最大值k1和相鄰次大值k2都位于矩形窗函數(shù)的主瓣內(nèi),當(dāng)實際頻率位置位于k1、k2中間附近時,信號向兩邊泄漏的能量都較多,在一定信噪比下,使得k1、k2電平均大于噪聲電平,確保了k2位置不會找錯,這對應(yīng)了圖2的情況。而當(dāng)δ值接近0時,較多信號能量集中在k1處,k2處幅度較小,而最大譜線相鄰另一側(cè)的幅值k3由于受噪聲影響,與k2幅度接近,因此會造成最大譜線相鄰的次大譜線位置找錯,導(dǎo)致式(7)中加或減符號錯誤,使得測頻結(jié)果出現(xiàn)較大誤差,對應(yīng)了圖3的情況。可見,在噪聲背景下,插值FFT測頻法有局限性,即只有在δ值大于某一閾值時,才能達(dá)到較理想的測頻精度[5]。
為抑制頻譜泄漏,進(jìn)行FFT之前常對采樣數(shù)據(jù)進(jìn)行加窗處理。抑制泄漏的同時,加窗會使得頻譜主瓣加寬[6]。對于插值FFT法求頻率,無論頻譜最大值偏離實際FFT譜線距離遠(yuǎn)近,最大值及其相鄰兩側(cè)譜線都被包含在主瓣之內(nèi),在一定信噪比條件下,次大值不會趨近于噪聲電平,使得抗噪聲性能增強(qiáng)。
加窗后頻率校正值仍隨k1、k2幅度大小變化,但變化規(guī)律不再依據(jù)sinc函數(shù),文獻(xiàn)[7]給出了幾種窗函數(shù)對應(yīng)的頻率校正計算公式,當(dāng)選用漢寧(Hanning)窗時,計算式較易于實現(xiàn)。對采樣數(shù)據(jù)加Hanning窗,利用k1和k2的比值α帶入窗函數(shù),經(jīng)推導(dǎo)可得:
利用α估計頻率修正值δ的解析式如下:
校正頻率的方法如式(10)所示。
設(shè)定仿真參數(shù),信號采樣率、脈沖寬度不變,仍按照10dB信噪比加入高斯白噪聲。連續(xù)測頻1 000次,頻率f1仿真結(jié)果如圖4所示,頻率f2仿真結(jié)果如圖5所示。
圖4 測頻誤差變化圖
圖5 測頻誤差變化圖
由仿真結(jié)果可知,最大測頻誤差不超過500kHz。加窗處理后,在常規(guī)信噪比條件下,次大值方向錯誤的概率大大降低,由此造成的頻率估計誤差已可以忽略。
加漢寧窗插值FFT測頻的實現(xiàn)框圖如圖6所示。整個算法可在一片F(xiàn)PGA中實現(xiàn),采樣數(shù)據(jù)進(jìn)入FPGA后,與漢寧窗數(shù)值相乘,漢寧窗值可預(yù)先存儲在FPGA內(nèi)ROM中,以查表方式讀出[8]。加窗后的數(shù)據(jù)進(jìn)入FFT模塊進(jìn)行流水處理,得到信號的頻譜結(jié)果,對頻譜結(jié)果進(jìn)行峰值搜索,并與檢測門限比較,判斷是否存在信號,當(dāng)頻譜峰值大于檢測門限時,找出峰值位置相鄰幅度較大的譜線位置,按照式(8)經(jīng)過插值換算,得到頻率估計值[9]。
圖6 加窗插值FFT測頻實現(xiàn)框圖
式(10)中存在除法計算,實現(xiàn)時可將除法轉(zhuǎn)化為先對除數(shù)求倒數(shù),再與被除數(shù)相乘的過程,利用FPGA中豐富的RAM資源,求倒計算利用查表完成[10]。除此之外,運算只由常規(guī)加、乘組成,便于FPGA實現(xiàn)。
某寬帶偵察接收機(jī),指標(biāo)要求適應(yīng)脈沖寬度0.2~1000μs,測頻誤差不大于500kHz。實現(xiàn)時信號檢測與頻率測量由FPGA硬件完成,算法采用定點實現(xiàn),頻率的分辨率設(shè)為15.625kHz。測頻結(jié)果送出至軟件顯示,誤差單位為kHz,取整。根據(jù)要求設(shè)置信號幅度在接收機(jī)實測靈敏度以上3dB,頻率選擇在1001~1003mHz和200kHz步進(jìn),脈沖寬度分別設(shè)為1μs、0.5μs和0.2μs。測試結(jié)果如表1所示。
表1 雷達(dá)信號測頻精度測試結(jié)果
可見在不同頻率、不同脈寬時測頻最大誤差均小于500kHz,滿足指標(biāo)要求。
論述了一種易于工程實現(xiàn)的脈沖信號實時測頻算法,與傳統(tǒng)方法相比可以達(dá)到更高的測頻精度。經(jīng)過試驗證明,可以滿足目前常規(guī)雷達(dá)偵察接收機(jī)的指標(biāo)要求,可應(yīng)用于目標(biāo)為脈沖信號的電子對抗系統(tǒng),具有較高的應(yīng)用價值。
[1]TSUI J.寬帶數(shù)字接收機(jī)[M].北京:電子工業(yè)出版社,2002.
[2]程佩青.數(shù)字信號處理教程[M].北京:清華大學(xué)出版社,2001.
[3]劉建林,陳兵.一種高精度單頻信號頻率估計算法[J].無線電工程,2011,41(4):26-28.
[4]萬永革.數(shù)字信號處理的MATLAB實現(xiàn)[M].北京:科學(xué)出版社,2012.
[5]齊國清,賈欣樂.插值FFT估計正弦信號頻率的精度分析[J].電子學(xué)報,2004,32(4):625-629.
[6]劉麗格,魏利輝,馬媛.一種高速跳頻信號實時載頻測量方法[J].無線電工程,2011,41(7):30-32.
[7]丁康,謝明,王志杰.離散頻譜的幅值、相位和頻率的校正方法及誤差分析[J].動態(tài)分析與測試技術(shù),1996,14(1):10-29.
[8]吳爭,李輝.高速并行FFT的FPGA實現(xiàn)[J].無線電工程,2013,43(10):16-18.
[9]趙雷鳴.一種跳頻MSK信號檢測算法及FPGA實現(xiàn)[J].無線電通信技術(shù),2011,37(1):56-58,64.
[10]Uwe Meyer-Baese.數(shù)字信號處理的FPGA實現(xiàn)[M].劉凌,譯.北京:清華大學(xué)出版社,2006.