韓廣,王斌,王大磊
(信息工程大學(xué)信息工程學(xué)院,河南鄭州450002)
相關(guān)干涉儀測向具有算法簡單、精度高、適用天線陣形式多樣等優(yōu)點(diǎn),被廣泛應(yīng)用于軍用和民用的無源測向系統(tǒng)中。傳統(tǒng)的相關(guān)干涉儀測向系統(tǒng)一般采用DSP實(shí)現(xiàn),這在系統(tǒng)帶寬不高、實(shí)時處理要求不強(qiáng)的場合是適用的。但是隨著跳頻、突發(fā)和擴(kuò)頻技術(shù)的不斷應(yīng)用,尤其是在跳頻頻率覆蓋范圍越來越寬的情況下,對測向機(jī)的處理帶寬和處理速度提出了更高的要求,因此,單純使用DSP實(shí)現(xiàn)測向系統(tǒng),很難達(dá)到設(shè)計(jì)要求。
本文從測向系統(tǒng)實(shí)現(xiàn)的角度出發(fā),對寬帶相關(guān)干涉儀快速測向算法進(jìn)行了一些研究,并根據(jù)實(shí)際設(shè)計(jì)要求,給出了一種基于FPGA的算法實(shí)現(xiàn)方案。
圖1是一個按照任意位置排列的天線陣,共有M個陣元,每個陣元的坐標(biāo)分別為(x1,y1),(x2,y2)……(xM,yM)。
假設(shè)窄帶遠(yuǎn)場信號s(t)的來波方向?yàn)?θ,φ)(θ為信號來向與X軸正方向之間的夾角,φ為信號來向與XOY平面的夾角),信號中心頻率為fo。因?yàn)榧僭O(shè)信號為遠(yuǎn)場信號,所以其波陣面可以近似為平面。以坐標(biāo)原點(diǎn)O為參考點(diǎn),第K個陣元輸出可以表示為:
因?yàn)榧僭O(shè)信號為窄帶信號,所以式(1)可表示成如下形式[1]:
則M個陣元的接收信號可以表示成如下向量形式:
式中:X(t)=[x1(t),x2(t),…,xM(t)]T為陣列輸出矢量;
N(t)=[n1(t),n2(t),…,nM(t)]T為陣列加性噪聲矢量;
A(Θ)=[g1exp(-j2πfoτ1),g2exp(-j2πfoτ2),…,
gMexp(-j2πfoτM)]T為陣列方向矢量。
干涉儀測向的實(shí)質(zhì),就是利用無線電波在接收天線陣的不同陣元上形成的相位差來確定源信號的方向。相關(guān)干涉儀,既然也稱為“干涉儀”,當(dāng)然也是利用天線陣獲取的入射波相位分布來測向的。而所謂“相關(guān)”,其含義是“比較”,即通過比較入射波相位分布與事先已存儲的各方位、各頻率來波相位分布的相似性,而最終得到入射波方向的估計(jì)的[2]。
相關(guān)干涉儀主要應(yīng)用于圓陣。下面以五元均勻圓陣為例,說明相關(guān)干涉儀測向的基本原理。圖2為一個五元均勻圓陣,其陣元的坐標(biāo)分別為(x1,y1),(x2,y2)……(x5,y5)。
假設(shè)窄帶遠(yuǎn)場信號s(t)的來向方位角為θ,仰角為0°,信號頻率為fo,以坐標(biāo)原點(diǎn)O為參考點(diǎn),可以得到一個相位差值矢量Φ=[φ1,φ2,…φ5]T,其中φk(k=1,2,…,5)為第k個陣元測得的入射信號相對于參考點(diǎn)O的相位差。
在360°范圍內(nèi),等間隔選取若干個方位角θi(i=1,2,…,n),對應(yīng)于每一個θi,都可以求出一個相位差值矢量Ψi=[Ψ1i,Ψ2i,…Ψ5i]T與之對應(yīng),把這些相位差值矢量稱為相關(guān)干涉儀的原始相位樣本。將實(shí)際測得的相位差值與原始相位樣本逐一進(jìn)行相關(guān)處理,計(jì)算出它們的相關(guān)系數(shù),相關(guān)系數(shù)最大值所對應(yīng)的方位角θi,即為來波方向的估計(jì)[3]。
計(jì)算相關(guān)系數(shù)的公式如下[4]:
從上述討論不難看出,當(dāng)選取的方位角間隔越小,也就是方位角選取的越密,測向精度就越高,相應(yīng)的系統(tǒng)運(yùn)算量也就越大。由于系統(tǒng)的測向精度和運(yùn)算量之間存在著矛盾,因此要綜合考慮系統(tǒng)的運(yùn)算資源和要求的測向精度之間的關(guān)系,在系統(tǒng)運(yùn)算資源允許的情況下,盡可能地提高測向精度。
為了使相關(guān)干涉儀測向算法更適于FPGA實(shí)現(xiàn),這里改變一下原始樣本的選取,仍以五元均勻圓陣為例,如圖2所示,假設(shè)窄帶遠(yuǎn)場信號s(t)的來向方位角為θ,仰角為0°,信號頻率為fo,以坐標(biāo)原點(diǎn)O為參考點(diǎn),可以得到一個陣列輸出矢量X(t)=[x1(t),x2(t),…x5(t)]T,對接收到的陣列輸出矢量X(t)進(jìn)行Fourier變換,得到陣列輸出頻域矢量X(f)=[X1(f),X2(f),…X5(f)]T,由式(2)推出:
Xk(f)=gkS(f)×exp(-j2πfoτk)+Nk(f),k=1,2,…5(5)
由式(5)可以看出,陣列輸出頻域矢量X(f)中包含了信號的來向信息τk,因此可以按照與傳統(tǒng)相關(guān)干涉儀類似的方法,在360°范圍內(nèi),等間隔選取若干個方位角θi(i=1,2,…,n),每一個θi通過式(5)都可以求出一組陣列輸出頻域矢量Xi(f)。若以Xi(f)(i=1,2,…,n)為原始樣本與實(shí)際測得的陣列輸出頻域矢量X(f)進(jìn)行相關(guān)運(yùn)算,所得相關(guān)系數(shù)最大值所對應(yīng)的方位角θi應(yīng)為信號來向的估計(jì)。
進(jìn)一步分析可以看出,在式(5)中,若Nk(f)為噪聲頻譜,則Nk(f)與gkS(f)×exp(-j2πfoτk)的相關(guān)系數(shù)為0;而對于頻率固定的來向信號而言,在進(jìn)行相關(guān)運(yùn)算時,S(f)可視為常數(shù),由此可把樣本矢量簡化為[g1×exp(-j2πfoτ1),g2×exp(-j2πfoτ2),…,gM×exp(-j2πfoτM)]T的形式,這正是陣列的方向矢量A(Θ)。根據(jù)上述討論,以陣列方向矢量A(Θ)作為系統(tǒng)的原始樣本與測得的陣列輸出頻域矢量X(f)進(jìn)行相關(guān)運(yùn)算,相關(guān)系數(shù)最大值所對應(yīng)的方向值即為信號的實(shí)際來向。
利用Matlab仿真,比較改進(jìn)樣本選取方法與傳統(tǒng)樣本選取方法的測向性能。
仿真條件:天線陣采用半徑為15 m的五元均勻圓陣,陣元坐標(biāo)分別為(14.3,4.6)、(0,15)、(-14.3,4.6)、(-8.8,-12.1)、(8.8,-12.1)(單位為m)。源信號為調(diào)制指數(shù)2.5、載波頻率20 MHz、頻偏10 kHz的FM信號。采樣點(diǎn)數(shù)為1 024點(diǎn),采樣頻率為80 MHz。假設(shè)各天線的噪聲為獨(dú)立、同分布的高斯白噪聲。天線幅度差為3 dB,相位差為30°。當(dāng)信噪比在[0 dB,20 dB]之間變化時,分別對傳統(tǒng)樣本選取法和改進(jìn)的樣本選取法做200次Monte-carlo試驗(yàn),得到的均方誤差曲線如圖3所示。
從仿真結(jié)果可以看出,兩種樣本選取方法的測向性能相似,這與上述討論所得出的結(jié)論是一致的。
由此可知,選用改進(jìn)的樣本選取方法進(jìn)行相關(guān)干涉儀測向不會帶來測向性能的損失,通過適當(dāng)選取相關(guān)運(yùn)算的原始樣本,省去了對來向信號相位差值求解的步驟,簡化了整個測向系統(tǒng)的設(shè)計(jì)和運(yùn)算流程,節(jié)省了FPGA內(nèi)部資源的使用,有利于相關(guān)干涉儀測向算法在FPGA上的實(shí)現(xiàn)。
測向系統(tǒng)結(jié)構(gòu)如圖4所示,天線陣采用五元均勻圓陣,每個陣元均為全向天線。
相關(guān)干涉儀測向處理器為整個測向系統(tǒng)的核心部分,負(fù)責(zé)完成接收信號的快速測向。相關(guān)干涉儀測向處理器的設(shè)計(jì)框圖如圖5所示,其中HFCT-53D5為一個光纖數(shù)據(jù)收發(fā)芯片,主要負(fù)責(zé)光纖數(shù)據(jù)的接收和發(fā)送;HDMP1032和HDMP1034組成一對串并轉(zhuǎn)換單元,完成光纖數(shù)據(jù)和FPGA數(shù)據(jù)間的串并轉(zhuǎn)換;FPGA后端是一個樣本預(yù)存DRAM,用來存儲樣本數(shù)據(jù)以供FPGA調(diào)用;而FPGA與微機(jī)間的數(shù)據(jù)交換可以采用光纖傳輸模式或PCI Express接口來完成。
相關(guān)干涉儀測向算法全部由相關(guān)干涉儀測向處理器中的FPGA完成。下面對算法的實(shí)現(xiàn)流程作詳細(xì)介紹,并給出一種利用FPGA實(shí)現(xiàn)相關(guān)干涉儀測向算法的設(shè)計(jì)方案。
2.4.1 FPGA內(nèi)部模塊劃分
根據(jù)相關(guān)干涉儀測向處理器的結(jié)構(gòu)和相關(guān)干涉儀測向算法的特點(diǎn),可將FPGA劃分為5個功能模塊。FPGA外接的DRAM主要用來存儲方向矢量數(shù)據(jù),其算法實(shí)現(xiàn)示意圖如圖6所示。
(1)數(shù)據(jù)幀處理模塊
數(shù)據(jù)幀處理模塊的任務(wù)就是從HDMP1034傳輸過來的數(shù)據(jù)中識別出數(shù)據(jù)幀,并將其正確接收。在接收的過程中,將復(fù)用的數(shù)據(jù)分發(fā)到各通道對應(yīng)的存儲器中,以備下一步FFT變換使用。
(2)接收數(shù)據(jù)存儲模塊
接收數(shù)據(jù)存儲模塊的作用是將數(shù)據(jù)幀處理模塊分發(fā)下來的數(shù)據(jù)分別存進(jìn)各通道對應(yīng)的RAM中,此時的存儲時鐘即為前端數(shù)據(jù)傳輸時鐘。當(dāng)存儲數(shù)據(jù)個數(shù)達(dá)到FFT變換所需的采樣點(diǎn)數(shù)時,各通道的RAM同時以高時鐘速率將數(shù)據(jù)傳輸給FFT變換模塊,并為下一次FFT變換存儲新的數(shù)據(jù)。
(3)FFT變換模塊
FFT變換模塊主要完成數(shù)據(jù)由時域到頻域的快速Fourier變換。
(4)FIFO
FIFO模塊用來緩存FFT變換模塊的輸出數(shù)據(jù),以備相關(guān)處理模塊調(diào)用。
(5)相關(guān)處理模塊
相關(guān)處理模塊的任務(wù)是完成信號與樣本之間的相關(guān)運(yùn)算,并同時找出相關(guān)系數(shù)最大值,確定信號來向。當(dāng)信號完成時頻轉(zhuǎn)換后,相關(guān)處理模塊分別從FIFO和DRAM中調(diào)用數(shù)據(jù),根據(jù)相關(guān)運(yùn)算公式對信號與樣本進(jìn)行相關(guān)處理,求出其相關(guān)系數(shù),同時比較出相關(guān)系數(shù)最大值,確定出各頻率點(diǎn)上信號的來向。
2.4.2 相關(guān)處理模塊
根據(jù)相關(guān)運(yùn)算公式,給出一種相關(guān)運(yùn)算模塊的實(shí)現(xiàn)方案,其結(jié)構(gòu)示意圖如圖7所示。為了減少運(yùn)算量,節(jié)約FPGA內(nèi)部運(yùn)算單元的使用,這里并沒有嚴(yán)格按照相關(guān)系數(shù)公式(4)進(jìn)行運(yùn)算,而是只計(jì)算了式(4)的上半部分,即2個向量的復(fù)乘。由于這里相關(guān)運(yùn)算的目的只是為了比較各相關(guān)系數(shù)的大小,找出最大值,確定來波方向,所以可省去相關(guān)運(yùn)算中“歸一化”這個步驟,只比較原始樣本與測得的陣列輸出頻域矢量X(f)的復(fù)乘結(jié)果即可。
2.4.3 芯片選擇與相關(guān)處理模塊的實(shí)現(xiàn)
本文采用單片F(xiàn)PGA的實(shí)現(xiàn)模式,F(xiàn)PGA芯片選用Xilinx公司生產(chǎn)的Virtex5中的SXT系列芯片,其內(nèi)部集成了PCI Express接口的IP硬核,特別適于本系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)[8],且Xilinx公司在其開發(fā)工具ISE中提供很多免費(fèi)IP核,如FFT變換、復(fù)乘、累加等,這也為系統(tǒng)設(shè)計(jì)提供了很多方便。
采用單片F(xiàn)PGA模式實(shí)現(xiàn)的測向處理器,其工作流程如圖8所示。
為了充分發(fā)揮FPGA的優(yōu)勢,提高處理速度,這里采用全并行工作方式,即5個通道的數(shù)據(jù)在FPGA內(nèi)部采用同步并行處理的模式進(jìn)行處理,這是任何一種類型的單片DSP所無法做到的。由此可以清楚地看出,F(xiàn)PGA在低復(fù)雜度、大運(yùn)算量算法實(shí)現(xiàn)方面的優(yōu)勢相當(dāng)明顯。
2.4.4 原有DSP實(shí)現(xiàn)方式與FPGA實(shí)現(xiàn)方式性能比較
原有的采用DSP和微機(jī)來實(shí)現(xiàn)的相關(guān)干涉儀,完成一個帶寬3 kHz的窄帶信號的計(jì)算一般需要上百微秒的處理時間[5],而在短波頻段,一個普通的跳頻信號的帶寬就可以達(dá)到700 kHz,跳數(shù)可達(dá)500跳/s,而對于某些跳頻信號其帶寬與跳數(shù)可以達(dá)到更高。如果要求對這樣的信號進(jìn)行實(shí)時測向,這對只能進(jìn)行串行處理的DSP而言,相當(dāng)困難。本文介紹的實(shí)現(xiàn)方案,不同于過去逐個頻點(diǎn)求解的模式,而是充分發(fā)揮FPGA并行處理的優(yōu)勢,可對測向頻帶內(nèi)多個頻點(diǎn)同時測向,就700 kHz的測向頻帶來說,可將處理時間控制在1 ms以內(nèi),這樣就可以實(shí)現(xiàn)對帶寬700 kHz、跳數(shù)500~1000跳/s的跳頻信號的實(shí)時測向。如果想對跳數(shù)更高、頻帶更寬的跳頻信號進(jìn)行測向,則可采用多片F(xiàn)PGA并行處理的方式來實(shí)現(xiàn)。
[1]李淳,廖桂生,李艷斌.改進(jìn)的相關(guān)干涉儀測向處理方法[J].西安:西安電子科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,33(3):400-403.
[2]嚴(yán)發(fā).淺談相關(guān)干涉儀測向機(jī)的設(shè)計(jì)思想[J].中國無線電管理,2003(7):68-69.
[3]劉芬,明望,陶松.相關(guān)處理在干涉儀測向中的應(yīng)用[J].電子科學(xué)技術(shù)譯論,2005,(6):31-33.
[4]肖秀麗.干涉儀測向原理[J].中國無線電,2006,(5):43-49.
[5]田耘,徐文波,胡彬.Xilinx ISE Design Suite 10.x FPGA開發(fā)指南[M].北京:人民郵電出版社.2008.