毛榮鈞,馮道旺,郭福成,黃知濤
(國防科技大學(xué)電子科學(xué)與工程學(xué)院,湖南 長沙410073)
相關(guān)技術(shù)可分為時域相關(guān)和頻域相關(guān),兩種實現(xiàn)方法的計算量都大,F(xiàn)PGA 由于可以實現(xiàn)并行流水,被廣泛地運(yùn)用到并行計算中[1-7]。復(fù)相關(guān)測頻[8]方法中采用了譜矩理論中的復(fù)相關(guān)方法,能夠在很小的信噪比中檢測頻率,但受限于FPGA 的工作時鐘采樣率無法提高,頻率分辨率無法提升。通信系統(tǒng)中滑動相關(guān)捕獲PN 碼的方法[9]能做到實時捕捉通信信號,但時域的相關(guān)方法資源消耗大,不利于系統(tǒng)穩(wěn)定運(yùn)行。實相關(guān)并行計算需要較多的乘法器單元,而FPGA 的DSP48硬核單元是有限的,因此需要改進(jìn)算法以減少乘法器單元的使用。
本文提出一種基于FPGA 的頻域相關(guān)技術(shù),相比實相關(guān)大大減少了乘法器硬核單元的使用,同時兩路流水復(fù)相關(guān)滿足了實時處理的需求。通過將該技術(shù)應(yīng)用到信號的幀頭檢測中,驗證了該技術(shù)的實時運(yùn)算性能。
為做到頻域?qū)崟r相關(guān),參考波形需要做N 點數(shù)據(jù)的2 N 點FFT,輸入數(shù)據(jù)做2 N 點數(shù)據(jù)的2 N 點FFT。下面證明該過程。
實域相關(guān)的離散表達(dá)式為:
參考波形N 點數(shù)據(jù)做2 N 點FFT 為:
輸入數(shù)據(jù)做2 N 點數(shù)據(jù)的2 N 點FFT:
兩者頻域相關(guān)后做逆FFT 得到實序列:
代入(2)、(3)式得:
即:
即:
當(dāng)且僅當(dāng)n2-n1+n=0時,(7)式不為零,將n1=n2+n代入(7)式中:
(8)式和(1)式相同證明可以通過此方法代替實域相關(guān)。
FPGA 實現(xiàn)時將x(n)分為A/B 兩路,B 路相比A 路做N 點延時,對A/B 同時做2 N 點FFT,將待檢測的N 點參考信號做2 N 點FFT,然后分別和A/B兩路復(fù)數(shù)相乘得頻域相關(guān),最后兩路做2 N 點逆FFT后選擇A 路的前N 點和B 路的后N 點拼接,即實現(xiàn)頻域?qū)崟r相關(guān)處理。
圖1為內(nèi)部框圖,實數(shù)據(jù)分成上下兩路,一路通過延時做FFT 運(yùn)算,另一路不做延時直接做FFT,得到的頻譜分別和樣本頻譜相乘。得到的頻譜做逆FFT變換到時域信號,通過選擇開關(guān)選擇上下兩路有用的數(shù)據(jù)部分,尋峰得到峰值對應(yīng)的時刻為tS,tS=tD+tF,其中tD為信號到達(dá)的實際時刻,tF為硬件處理耗時,則信號到達(dá)實際時間tD=tS-tF。通過試驗的方法統(tǒng)計tF,即可得到信號的實際到達(dá)時間tD。
根據(jù)已知的信號序列檢測到達(dá)信號實際上就是做相關(guān)運(yùn)算,實數(shù)相關(guān)需要的乘法器資源較多,如需要檢測的信號序列有N個點則需要至少N個乘法器,對FPGA 來說資源消耗太多。采用頻域相關(guān)的方法,同樣的條件下所需乘法器減少近一半。
圖1 實時復(fù)相關(guān)系統(tǒng)框圖
如圖2,假設(shè)輸入為復(fù)信號(實信號經(jīng)IQ 變換轉(zhuǎn)化為復(fù)信號)分成A/B 兩路,A 路2 N 點數(shù)據(jù)做2 N 點FFT,B 路相對A 路延時N 點并和A 路同時做2 N 點FFT,參考波形數(shù)據(jù)取N 點數(shù)據(jù)后面補(bǔ)N 點零做2 N點的FFT,A/B 兩路和參考數(shù)據(jù)頻譜相乘,將兩路復(fù)相關(guān)的頻譜做逆FFT 后合并(取A 路的前N 點和B路的后N 點)得到實相關(guān)數(shù)據(jù)。
圖2 A/B 兩路復(fù)相關(guān)示意圖
以N 為256為例,測試不同SNR 信號,統(tǒng)計不同SNR 下的硬件處理延時tF和峰值高度Am,得到硬件的處理延時tF進(jìn)而得到信號實際到達(dá)時間tD,并得到可檢測的信號信噪比范圍。
首先設(shè)置自檢波形,然后裝載線性調(diào)頻自檢波,接著對自檢波做IQ 變換和離散時間傅里葉變換,最后設(shè)置峰值門限并尋峰。
測試信號通過FPGA 的選擇輸入,該信號包括線性調(diào)頻信號s(n)°和噪聲ξ(n)兩部分:
其中的可調(diào)參數(shù)PA和ωk為:
SNR可通過PCI接口在PC上調(diào)節(jié)。其中頻率f0=0.26Hz,頻率增長率fk=0.00004Hz,幅度A=40。
如表1所示,隨著信噪比的改變硬件處理延時基本保持不變,tF=9934±10ns,這是因為FPGA 每一步的處理延時都是設(shè)定不變的,處理延時的抖動主要是由于硬件接口傳輸耗時不定,峰值幅度隨著信噪比的增加指數(shù)增加,如圖3 可通過lg(Am)觀察出幅值與SNR 的指數(shù)關(guān)系。
圖4為硬件耗時與尋峰的測試結(jié)果。可直觀看出隨著SNR 的減小檢測峰值明顯降低;檢測延時基本不變。
表1 不同信噪比下的硬件處理延時和峰值幅度
圖3 Am 與SNR 的關(guān)系
圖4 硬件耗時與尋峰
通過測試可得該算法可測試較大范圍的SNR 信號;并可測得固定的硬件處理延時為9934±10ns。
本節(jié)對比直接相關(guān)和頻域相關(guān)兩種方法的資源消耗,所用FPGA 芯片為Xilinx 公司的XC5VSX95T,編譯工具為ISE14.6。
如表2 所示,通過對比實相關(guān),頻域相關(guān)的SLICE資源占用變化很小,RAM 資源和乘法器資源明顯減少。
表2 實相關(guān)和頻域相關(guān)資源占用對比(M1代表實相關(guān),M2代表頻域相關(guān))
本文基于相關(guān)計算實時處理需求,提出基于FPGA 的頻域相關(guān)技術(shù),它利用FPGA 的并行計算能力。取N 點樣本信號做2 N 點FFT 得樣本頻譜,復(fù)信號分成兩路,一路經(jīng)過2 N 點FFT 后與樣本頻譜相乘,再做逆FFT 后延時N 點;另一路先延時N 點再做FFT和樣本頻譜相乘、逆FFT。兩路信號處理結(jié)果經(jīng)過選擇組合成完整的相關(guān)序列,尋峰得到的峰值時刻為信號到達(dá)的實際時刻與硬件處理延時之和,通過試驗得到硬件處理延時即可準(zhǔn)確得知信號到達(dá)時間。將該技術(shù)應(yīng)用于信號的幀頭檢測中,相比實相關(guān)方法該技術(shù)乘法器的資源消耗降低近一半,利于FPGA 布線,在更高的速度能穩(wěn)定工作。■
[1]趙國慶.雷達(dá)對抗原理[M].西安:西安電子科技大學(xué)出版社,2001:12-25.
[2]Ho KC,Lu X,Kovavisaruch L.Source localization using TDOA and FDOA measurements in the presence of receiver location errors:Analysis and solution[J].IEEE Trans.on Signal Processing,2007,55(2):684-696.
[3]Huang YT,Benesty J,Elko GW,et al.Real-time passive source localization:A practial linear-correction leastsquares approach[J].IEEE Trans.on Speech and Audio Processing,2001,9(8):943-956.
[4]郭福成,樊昀.雙星時差頻差聯(lián)合定位方法及其誤差分析[J].宇航學(xué)報,2008,29(4):1381-1386.
[5]朱偉強(qiáng),黃培康,馬琴,等.多站時差頻差高精度定位技術(shù)[J].數(shù)據(jù)采集與處理,2010,25(3):307-312.
[6]Stein S.Algorithms for ambiguity function processing[J].IEEE Trans.on Acoustics,Speech,and Signal Processing,1993,41(8):2717-2719.
[7]Naghsh-Nilchi AR,Mathews VJ.An Efficient Algorithm for joint estimation of differential time delays and frequency offsets[C]∥Proceeding of JCASSP-92.1992:309-312.
[8]肖學(xué)兵,郭福成,姜文利.脈沖串信號的時差和頻差估計新方法[J].航天電子對抗,2015(2):31-34.
[9]孫星亮,孫鋼峰.一種基于復(fù)相關(guān)技術(shù)的頻率估計方法[J].電子科技,2005(7):36-39.