耿 赟,谷振宇
(中國電子科技集團(tuán)公司第54研究所,石家莊 050081)
隨著擴(kuò)頻、跳頻等寬帶技術(shù)在短波通信中的廣泛應(yīng)用,傳統(tǒng)的窄帶測向技術(shù)已不能滿足寬帶系統(tǒng)的需求,研究寬帶測向技術(shù)成為必然。由于短波頻段信號具有信號密集、頻譜重疊等特點(diǎn),寬帶測向系統(tǒng)需要處理巨大的數(shù)據(jù)量;另一方面為保證對突發(fā)、短時信號的監(jiān)測,還需要具有快速的處理能力,應(yīng)用現(xiàn)場可編程門陣列(FPGA)、數(shù)字信號處理(DSP)等高速數(shù)字信號處理技術(shù)可滿足這些需求。
相關(guān)干涉儀算法是基于相位測量的一種測向算法,這種方法實施簡便直觀,并且具有較高的測向靈敏度、測向準(zhǔn)確度和較快的測向時間,是目前測向系統(tǒng)中應(yīng)用較多的一種技術(shù)[1-2]。相關(guān)干涉儀算法的不足之處是運(yùn)算量較大,這與短波測向?qū)Χ嘈盘柕目焖偬幚硇枨笫窍嚆5摹闈M足短波測向的實時性需求,本文對基于FPGA實現(xiàn)相關(guān)干涉儀測向進(jìn)行研究,改進(jìn)算法流程,提高測向速度。
干涉儀測向是通過測量不同天線入射波的相位分布并與天線間的相對位置結(jié)合來獲取來波方向的[3-4],相關(guān)干涉儀測向也屬于干涉儀測向。其基本原理是:已知天線陣結(jié)構(gòu),通過計算或測量獲取各頻率、各方位的入射波相位差分布,建立樣本群,對某一方向入射的信號測量其到達(dá)各天線對的相位差,根據(jù)頻率和測量相位差在樣本群中對比查找最接近的1組樣本相位差,對應(yīng)的方位即為信號的入射方向。這種對比相似性的方法稱為相關(guān)處理,相似性通過計算相關(guān)值來反映,相關(guān)值越大表明越相似,找到最大相關(guān)值就能得到信號的入射方向。
相關(guān)處理的方法如下:設(shè)天線陣中有M個天線,以某個天線為參考天線,則有m=M-1個天線對,方位角范圍內(nèi)有等間隔分布的方向θi,i=1,2,…,N,每個方向?qū)?yīng)m個天線對的樣本相位差為φj(θi),j=1,2,…,m,則對某一頻率信號的樣本群為Φ= (φ1i,φ2i,…,φmi)T,i=1,2,…,N,待測信號的測量相位差為Ψ= (φ1,φ2,…,φm),則其相關(guān)值計算公式[5]為:

短波干涉儀測向天線陣通常采用均勻圓陣,天線陣列孔徑很大,一般是幾十米甚至上百米。如果用測量方法建立樣本相位差,根據(jù)遠(yuǎn)場條件估算至少要在幾公里外發(fā)射信號來采集樣本,對于天波信號還要考慮俯仰角,巨大的采集工作量和實施難度在工程應(yīng)用中很難實現(xiàn),因此本文討論用理論計算的方法獲得樣本相位差。
圖1為M個天線的均勻圓陣示意圖,陣列半徑為r,坐標(biāo)系y軸指向正北,天線A1與正北方向夾角為0°。以圓心A0為參考點(diǎn),假設(shè)入射波方向為(α,β),其中方位角記為α,俯仰角記為β,波長λ=c/f,c為光速,f為入射波頻率。

圖1 均勻圓陣示意圖
某一天線對之間的相位差實際上是入射波到達(dá)天線對的波程差,根據(jù)入射波與天線間的幾何關(guān)系,可以求得天線A1和天線Aj相對于天線A0的相位差φ10和φj0分別為:

將式(2)與式(3)相減得到天線Aj相對于天線A1的相位差φj1:

如果以等間隔在方位角和俯仰角上建立樣本空間,則不同角度入射波到達(dá)其他天線與參考天線A1間的相位差就可以由式(4)求出,從而獲得樣本相位差。角度間隔越小,樣本相位差空間就越大,相應(yīng)的相關(guān)處理運(yùn)算量也就越大。為滿足實時性需求,要求測向系統(tǒng)必須能快速地完成相關(guān)處理。
為實現(xiàn)快速的相關(guān)干涉儀測向算法,本文對相關(guān)干涉儀算法流程進(jìn)行了優(yōu)化,利用FPGA流水化和并行處理的優(yōu)勢,針對相關(guān)干涉儀算法的結(jié)構(gòu)特點(diǎn),提出了實時計算樣本相位差的實現(xiàn)方法。FPGA模塊主要有采樣及快速傅里葉變換(FFT)模塊、樣本相位差模塊、相關(guān)計算模塊和控制模塊,示意圖如圖2所示。

圖2 FPGA模塊示意圖
采樣及FFT模塊完成對各天線的信號采集和FFT變換,計算出信號頻率以及各天線相對于參考天線的相位差。樣本相位差模塊根據(jù)信號頻率、布陣半徑和俯仰角實時計算出樣本空間。相關(guān)計算模塊計算出測量相位差與樣本相位差間的相關(guān)值,為提高處理速度,可使用多路并行樣本相位差模塊和相關(guān)計算模塊??刂颇K可控制一維測向或二維測向,對于接近水平面的入射波可認(rèn)為其俯仰角為零,進(jìn)行一次相關(guān)處理就能得到方位角;對于較大俯仰角的入射波,控制模塊在俯仰角上按一定角度間隔進(jìn)行多次相關(guān)處理,找到相關(guān)值最大的方位角和俯仰角即為入射波方向。
如上所述,由式(3)可計算出樣本相位差,對任意入射波方向θιk= (αi,βk),令pij=cosαi-cosσij,σij=2π·(j-1)/(M-1)-αi,其中i=1,2,…,N,j=2,…,M,則式(3)可表示為φj1(θιk)=r·w·cosβk·pij??梢钥吹綄τ诓煌霃?、不同入射波頻率和俯仰角,pij只與方位角和天線位置有關(guān),它反映的是各陣元間的固有位置關(guān)系。為簡化樣本相位差的計算方式,可按等間隔方位角和不同天線將pij構(gòu)造為N×(M-1)項的查找表P,如表1所示。

表1 查找表P_
根據(jù)相關(guān)干涉儀測向算法的原理,需要將測量相位差依次與每個方位角的樣本相位差計算相關(guān)值。在計算樣本相位差時,若以方位角為索引到查找表P中查詢,就可得到當(dāng)前方位角對應(yīng)的pij,再與r、w和cosβk相乘即可計算出相位差,這種計算流程非常適合FPGA用流水線方式實現(xiàn)。用Matlab軟件計算出查找表P的每一項表值并轉(zhuǎn)換為FPGA可用的定點(diǎn)整數(shù),將FPGA提供的IP核塊存儲器(BRAM)配置成只讀存儲器(ROM)存儲查找表P。俯仰角的余弦值也用ROM存儲,乘法運(yùn)算使用FPGA提供的DSP48單元實現(xiàn)。FPGA實現(xiàn)樣本相位差計算的示意圖如圖3所示。

圖3 樣本相位差計算實現(xiàn)
相關(guān)值計算是算法實現(xiàn)的關(guān)鍵步驟,由式(1)可以看到計算過程有向量內(nèi)積和開方等較復(fù)雜的運(yùn)算,用FPGA實現(xiàn)這些運(yùn)算需占用大量的乘法器且結(jié)構(gòu)復(fù)雜。由于余弦函數(shù)具有周期性,將余弦函數(shù)引入到相關(guān)值計算公式中可簡化計算復(fù)雜度[6],公式如下:

由式(5)可知,對某個方向角θi,將每個天線對的測量相位差和樣本相位差求差值,再求余弦值,然后求和計算出相關(guān)值。實際實現(xiàn)時,用FPGA的Slice單元搭建減法器和加法器,用IP核BRAM存儲余弦表,并且使用M-1組減法器和余弦查找表同時進(jìn)行相關(guān)運(yùn)算以提高處理速度,F(xiàn)PGA實現(xiàn)示意圖如圖4所示。

圖4 相關(guān)值計算實現(xiàn)
本文提出的相關(guān)干涉儀測向?qū)崿F(xiàn)方法充分利用了FPGA流水化和并行處理的特點(diǎn),與現(xiàn)有方法相比在處理速度和資源占用上具有優(yōu)勢,以九陣元均勻圓陣、1°間隔的360°方位角范圍為例分析本方法的性能。
如前所述,本文將查找表P引入到樣本相位差的計算,原公式實現(xiàn)需要用1個減法器、3個乘法器和17個余弦表,改進(jìn)后的公式只用3個乘法器、1個余弦表和1個查找表P,將角度量化到11bit,余弦值量化到12bit,1個余弦表占用2個BRAM,1個查找表P占用3個BRAM,則改進(jìn)后的實現(xiàn)方法少用29個BRAM和1個減法器。
在相關(guān)值計算上,式(1)需實現(xiàn)3個向量內(nèi)積和2個開方,共需54個乘法器、48個加法器和2個開方器,而實現(xiàn)式(5)則只需3個加法器、8個減法器和8個余弦表,乘法器和開方器需占用FPGA內(nèi)的DSP48單元,改進(jìn)的方法同原方法相比,雖然增加了BRAM,但是大大減少了DSP48單元的使用,在有足夠BRAM資源或用Slice單元存儲余弦表的情況下,這種設(shè)計可以平衡FPGA內(nèi)的布局結(jié)構(gòu),有利于實現(xiàn)高速穩(wěn)定的布線。
在本文提出的實現(xiàn)方法中,計算樣本相位差的時間和計算相關(guān)值的時間均為固定延遲,延遲時間按所用IP核的配置不同在10個時鐘周期以內(nèi)。由于采用流水化設(shè)計,所有方位角的相關(guān)值的計算時間只與方位角個數(shù)有關(guān),再加上比較最大值和其他延遲約10個時鐘周期,相關(guān)處理時間在380個時鐘周期以內(nèi)。如果并行使用多個樣本相位差模塊和相關(guān)值計算模塊,可以進(jìn)一步減少處理時間。以100MHz工作時鐘、4路并行為例,完成單頻點(diǎn)360°的相關(guān)值計算,基于200MHz工作的TMS320C6713的定點(diǎn)DSP用時16μs[7],基于FPGA實現(xiàn)的干涉儀測向系統(tǒng)用時5μs[8],而本文提出的實現(xiàn)方法約為1μs。一種基于GPU的相關(guān)干涉儀實現(xiàn)方案[9]采用粗粒度的方位角和二次曲線擬合的方法減少計算量,并利用GPU的多線程提高計算速度,計算一維單頻點(diǎn)相關(guān)值時間約為0.3μs,如果在資源允許并且提高FPGA工作時鐘的情況下,計算速度與GPU相當(dāng),但工程實現(xiàn)成本則低于GPU。
在工程應(yīng)用中對本文提出的方法進(jìn)行了外場測向驗證,天線陣為半徑25m的九陣元均勻圓陣,參考天線位于正北方向,順時針為0°~360°方位角范圍。對已知頻率為17MHz、入射方向與真北夾角343°、俯仰角接近0°的信號進(jìn)行測向。測向算法在Xilinx公司的FPGA芯片上設(shè)計實現(xiàn),測試時使用在線邏輯分析軟件ChipScope獲取FPGA內(nèi)部數(shù)據(jù),以1°間隔進(jìn)行相關(guān)計算,共得到360個相關(guān)值,將其導(dǎo)入到Matlab軟件進(jìn)行繪圖分析。
360次相關(guān)計算的結(jié)果如圖5所示,橫坐標(biāo)表示方位角,縱坐標(biāo)表示相關(guān)值,F(xiàn)PGA實現(xiàn)時將余弦值處理為12bit位寬的定點(diǎn)整數(shù),為便于觀察將相關(guān)值除以2 048。由圖5可見,最大相關(guān)值出現(xiàn)在343°,表明測向結(jié)果正確。

圖5 相關(guān)值計算結(jié)果
本文改進(jìn)了相關(guān)干涉儀的算法流程,設(shè)計出一種能充分利用FPGA并行計算和流水化優(yōu)勢的實現(xiàn)結(jié)構(gòu),用少量的FPGA資源實現(xiàn)快速的測向處理,對短波系統(tǒng)寬頻段內(nèi)密集信號和高速跳頻信號實現(xiàn)實時測向具有重要意義。該方法已應(yīng)用于實際工程中,由于采用并行結(jié)構(gòu),可根據(jù)實際工程需要平衡FPGA資源與測向速度的關(guān)系,以達(dá)到最佳實現(xiàn)成本,具有較廣泛的應(yīng)用范圍和價值。
[1] 周鴻順,許光寧.短波無線電測向系統(tǒng)(II)[J].中國無線電管理,2002(5):39-46.
[2] 劉芬,明望,陶松.相關(guān)處理在干涉儀測向中的應(yīng)用[J].電子科學(xué)技術(shù)評論,2005(6):33-37.
[3] 嚴(yán)發(fā).淺談相關(guān)干涉儀測向機(jī)的設(shè)計思想[J].中國無線電管理,2003(7):1-5.
[4] 肖秀麗.干涉儀測向原理[J].中國無線電,2006(5):43-49.
[5] 朱旭東.相關(guān)處理在干涉測向儀中的應(yīng)用[J].現(xiàn)代雷達(dá),2003(1):22-25.
[6] 李淳,廖桂生,李艷斌.改進(jìn)的相關(guān)干涉儀測向處理方法[J].西安電子科技大學(xué)學(xué)報(自然科學(xué)版),2006,33(3):400-403.
[7] 錢志柏.基于DSP的相關(guān)干涉儀測向快速實現(xiàn)方法[J].無線電工程,2011,41(8):47-50.
[8] 巢捷頻.高速寬帶通信信號測向處理模塊的設(shè)計與實現(xiàn)[J].電訊技術(shù),2011,51(4):64-68.
[9] 蔣林鴻,何子述,程婷,等.基于GPU的寬帶干涉儀測向算法實現(xiàn)[J].現(xiàn)代雷達(dá),2012,24(1):35-39.