鄒小東, 易 堃, 夏禮諾, 祝偉才
(上海無線電設(shè)備研究所, 上海 200090)
CORDIC算法在波束指向頻率補償中的應用
鄒小東, 易 堃, 夏禮諾, 祝偉才
(上海無線電設(shè)備研究所, 上海 200090)
相控陣天線通過陣內(nèi)相位梯度的變化實現(xiàn)波束的動態(tài)掃描,陣內(nèi)單元之間的相位梯度由移相器移相產(chǎn)生。為了使數(shù)字型移相器在不同頻率下實現(xiàn)相同的波束指向,需要對波束指向進行頻率補償;使用CORDIC算法替代查找表算法計算正余弦結(jié)果,在誤差允許的范圍內(nèi)解決了查找表算法占用資源大的問題,通過MATLAB仿真并進行了FPGA設(shè)計和驗證。
相控陣天線; 波束指向; 頻率補償
相控陣天線具有波束指向靈活、駐留時間可控、波束形狀可變等優(yōu)點。
為了增強相控陣天線的威力,避免單一頻點工作的缺陷,跳頻、捷變頻等應用越來越受到重視并得到推廣。為了使相控陣天線在寬頻帶內(nèi)具有良好的工作性能,必須解決相控陣天線數(shù)字移相器在不同頻率下波束指向的頻率補償問題。本文在計算相控陣天線波束指向頻率補償時使用坐標旋轉(zhuǎn)數(shù)字計算機(CORDIC)算法替代查找表算法計算正余弦結(jié)果,極大地減少了ROM資源的占用,通過仿真及驗證證明了該方法的有效性。
數(shù)字型移相器在不同頻率下移相值基本相同(基態(tài)不同,可認為是傳輸線路在不同頻率下延遲相位不同造成)。由此在形成波束指向時,相同的陣內(nèi)相位梯度,在不同頻率上將實現(xiàn)不同的波束指向。不同波束指向之間的關(guān)系應當滿足

(1)
式中:θ1為頻率改變前波束指向值;θ2為頻率改變后波束指向值。由此可計算頻率改變后波束指向值為

(2)
由此可見,在進行頻率補償時,需要調(diào)整波束指向梯度。
若波控機中,已經(jīng)存儲按頻率f1計算得到的相位梯度表,則切換至另一個頻率f2工作時,需要根據(jù)頻率f2計算波束在頻率f1下的相位梯度分布,使波束實際指向與要求的指向一致。例如,當天線工作在頻率f1時,波束指向為θ1;若要天線工作在頻率f2時,波束指向為θ2,則應依據(jù)頻率變化前后的波束指向關(guān)系,計算在頻率改變前(即頻率f1)的波束指向角度,根據(jù)此指向角度查找相位梯度表,來實現(xiàn)所需要的波束指向。
(3)
由于在FPGA中計算反正弦比較繁瑣,可以利用正弦函數(shù)分段計算的方法進行反正弦計算。
令θ=θ′+Δθ,其中θ為波束指向角,θ′為θ的整數(shù)部分,Δθ為θ的小數(shù)部分,則有
sinθ=sin(θ′+Δθ)
=sinθ′cosΔθ+cosθ′sinΔθ
(4)
式(4)中,當Δθ很小時,有關(guān)系式:sinΔθ≈Δθ,cosΔθ≈1,將二者代入式(4)求解得

(5)
式中:sinθ滿足sinθ′≤sinθ≤sin(θ′+1),當sinθ給定時,sinθ′,θ′,1/cosθ′均為固定常數(shù)。
考慮波束指向在0°~60°的情況,可以按1°為間隔計算角度的正弦值并制表。由于正弦函數(shù)在這個范圍內(nèi)為單調(diào)函數(shù),故在FPGA中可以利用case語句判斷sinθ所處的角度段,再利用式(5)計算出sinθ的反正弦值。
式(5)中的正弦和余弦運算在FPGA中可以通過兩種方法來實現(xiàn):
a) 一種是查找表法,通過脫機計算得到正弦和余弦函數(shù)的值并按角度遞增的順序存儲在ROM中,根據(jù)輸入角度值在ROM中查找相應的正弦和余弦值;
b) 另一種是CORDIC算法,通過多次迭代運算逼近所需角度的正弦和余弦值。
查找表法會占用大量ROM資源存儲輸入角度的正弦和余弦值,以0.01°步進為例,在0°~60°范圍內(nèi)共有6 001個角度,每個角度的正弦和余弦值用16 bit存儲則需要的ROM資源為6 001×16×2=192 032 bit;而CORDIC算法則根據(jù)輸入指向角通過多次迭代運算即可得到輸入指向角的正弦和余弦值,并且只需要進行移位和加減運算,能夠節(jié)省大量資源,因此本文采用CORDIC算法來實現(xiàn)正余弦的計算。
CORDIC算法有兩種應用模式—旋轉(zhuǎn)模式和矢量模式。旋轉(zhuǎn)模式是把一個向量旋轉(zhuǎn)一個已知的角度,矢量模式是把一個已知向量定向到與x軸平行。由于本文要計算一個已知角度的正余弦值,因此采用旋轉(zhuǎn)模式。CORDIC算法可以由吉文斯變換(Givens Transformation)導出,如圖1所示,假定將直角坐標平面上的向量(x0,y0)旋轉(zhuǎn)角度θ得到向量(x1,y1),則有
(6)

圖1 向量旋轉(zhuǎn)示意圖

(7)
式中:ki為模校正因子;di代表旋轉(zhuǎn)方向。
當?shù)螖?shù)趨于無窮時,由式(7)迭代產(chǎn)生的增益為
(8)
通過引入一個角度累加器z來記錄旋轉(zhuǎn)的角度,實現(xiàn)對迭代角度的累加。每次旋轉(zhuǎn)的角度通過預先計算得到并存儲在查找表中,則角度累加值表達式為
zi+1=zi-diarctan(2-i)
(9)
式中:初始角度z0為旋轉(zhuǎn)角度θ;zi為第i次累加后的角度值;zi+1為第i+1次累加后的角度值;di是由zi決定的符號:若zi<0,di=-1;若zi≥0,di=+1。
式(7)、式(8)、式(9)迭代的最終結(jié)果為
(10)
當?shù)螖?shù)趨于無窮時,輸入角度范圍為開區(qū)間(-99.9°,+99.9°)。而實際往往需要進行閉區(qū)間[-180°,+180°]范圍內(nèi)的運算,所以需要對迭代的輸入坐標和輸出角度進行調(diào)整,旋轉(zhuǎn)模式下輸入坐標和輸出角度的調(diào)整方式分別如式(11)、式(12)所示[1]。
(11)
(12)
式中:x0,y0為初始向量的坐標值;x0′,y0′為初始向量坐標值的調(diào)整值;zn為n次迭代后的角度累加值;zout為n次迭代后角度累加值的調(diào)整值;d是由x0決定的符號:若x0<0,d=-1;若x0≥0,d=+1。
旋轉(zhuǎn)模式下可以同時計算輸入角度θ的正弦和余弦值,令x0=1/An,y0=0,z0=θ,則由式(10)可得
(13)
式中:xn,yn為輸入角度θ的余弦值和正弦值。
CORDIC算法由式(7)和式(9)通過多次迭代實現(xiàn),單次迭代只需要進行移位和加減運算,其第i+1級迭代框圖如圖2所示,其中Xi、Yi、Zi分別為第i級迭代輸出的向量坐標和角度累加值,di為第i級迭代輸出的符號,在矢量和旋轉(zhuǎn)模式下分別由Yi、Zi決定,“加/減運算”模塊是由上一級迭代輸出符號di決定的加減運算,“arctan(2-i)”模塊通過對每次旋轉(zhuǎn)的角度預先計算并按順序存儲得到。Xi+1、Yi+1、Zi+1、di+1為第i+1級迭代的輸出。采用CORDIC算法占用的資源大小與迭代次數(shù)及數(shù)據(jù)寬度有關(guān),而與波束指向角度的步進量無關(guān),因此在步進量更小的情況下能節(jié)省更多的ROM資源。本文以采用22級迭代、數(shù)據(jù)寬度為16 bit為例,占用ROM資源為0,僅需要占用3 073個邏輯單元。與查找表法相比,減少了192 032 bit的ROM資源占用,在波束指向角度步進更小、數(shù)據(jù)位寬更寬時,資源節(jié)省量更為明顯。

圖2 CORDIC單級迭代框圖
考慮0°~60°指向角度范圍,以補償前頻率為15.15 GHz、補償后頻率為14.80 GHz、角度步進為0.01°為例,通過CORDIC算法計算頻率補償后的指向角度的仿真結(jié)果如圖3所示,從仿真結(jié)果可以看出當步進量為0.01°時,通過CORDIC算法能夠很好的計算出頻率補償后的指向角度,該結(jié)果與理論頻率補償后的指向角度之間的相對誤差仿真結(jié)果如圖4所示,通過仿真結(jié)果可知通過CORDIC算法計算的頻率補償后的指向角度結(jié)果與理論頻率補償后的指向角度之間的相對誤差在2%以內(nèi),將程序下載到FPGA中經(jīng)過驗證滿足設(shè)計要求。

圖3 CORDIC算法計算波束指向頻率補償仿真圖

圖4 CORDIC計算結(jié)果和頻率補償理論值相對誤差仿真圖
相控陣天線波控機設(shè)計需要大量FPGA的ROM資源存儲脫機計算數(shù)據(jù),本文通過使用CORDIC算法替代查找表法計算頻率補償后的波束指向角度,在很大程度上節(jié)省了ROM資源,對于相控陣天線波控機設(shè)計具有重要的意義。
[1] 王夢源,王書省,陳星.流水線雙模CORDIC算法的FPGA實現(xiàn)[J].電子測量技術(shù), 2007,(9): 184-185.
[2] 周濤,崔瑞雪.基于CORDIC算法實現(xiàn)雙曲函數(shù)的計算[J].華北航天工業(yè)學院學報, 2006,(4): 15-17.
[3] 張建斌,梁芳,劉乃安.一種改進型CORDIC算法的FPGA實現(xiàn)[J].微電子學與計算機, 2010,(11): 182-184.
[4] 余捷,杜栓義,何緯.基于改進型CORDIC算法數(shù)字下變頻FPGA實現(xiàn)[J].電子科技, 2008,(2): 63-66.
[5] 余建宇,羅丁利,陳矛.基于CORDIC算法的數(shù)字鑒頻方法及其在FPGA中的實現(xiàn)[J].火控雷達技術(shù), 2007,(36): 72-76.
ApplicationofCORDICAlgorithminBeamPointingFrequencyCompensation
ZOUXiao-dong,YIKun,XIALi-nuo,ZHUWei-cai
(Shanghai Radio Equipment Research Institute, Shanghai 200090, China)
The dynamic scanning of phased array antenna is realized by the change of phase gradient in the array, the phase gradient between the elements in the array is generated by the phase shifter. In order to achieve the same beam pointing at different frequencies, it is necessary to compensate the frequency of beam pointing, using CORDIC algorithm instead of look-up table algorithm to calculate the result of sine and cosine, it solves the problem that the look-up table algorithm takes up a large amount of resources in the range of error, the idea passed through the MATLAB simulation and FPGA design and verification.
phased array antenna; beam pointing; frequency compensation
1671-0576(2017)02-0011-04
2017-02-09
國家自然科學基金項目(項目編號:41406206);國家自然科學基金項目(項目編號:61401280)。
鄒小東(1987-),男,工程師,碩士,主要從事相控陣雷達導引頭技術(shù)研究。
TJ765.331
A