伍小保,王 冰,何 勤
中國電子科技集團公司第三十八研究所,安徽合肥 230088
CORDIC算法數(shù)字瞬時測頻的FPGA設(shè)計與實現(xiàn)
伍小保,王 冰,何 勤
中國電子科技集團公司第三十八研究所,安徽合肥 230088
數(shù)字瞬時測頻(DIFM)技術(shù)是現(xiàn)代電子戰(zhàn)中的關(guān)鍵技術(shù)之一,要求在極短的時間內(nèi)完成對輸入信號頻率的測量。瞬時測頻的基本思路是將頻率信息轉(zhuǎn)化為相位信息,再把相位信息轉(zhuǎn)化為幅度信息,通過對幅度信息量化編碼,從而完成對頻率的測量。本文提出了基于數(shù)字下變頻、CORDIC算法相位測量以及相位推算法的數(shù)字瞬時測頻方法以及在FPGA中的實現(xiàn),對單頻信號該方法具有測頻精度高、瞬時性好的優(yōu)點,特別適合現(xiàn)代電子戰(zhàn)接收機數(shù)字瞬時測頻的需求。
數(shù)字下變頻;CORDIC算法;數(shù)字瞬時測頻;FPGA
現(xiàn)代電子戰(zhàn)環(huán)境下,雷達(dá)、通信信號非常密集,在同一個時間內(nèi)會有多個信號出現(xiàn),且頻率覆蓋范圍廣,為實現(xiàn)對這些同時信號的全概率覆蓋,偵察接收機一般采用模擬和數(shù)字信道化技術(shù),將一組固定通帶濾波器輸出的數(shù)字信號進行快速、寬頻帶、全概率的粗測頻,然后再對各通道中被檢測出的信號進行相對窄帶、高精度的精測頻[1]。信號經(jīng)過信道化處理后,如果子信道的帶寬取得比較窄,則每個信道輸出一個信號的概率比較大,此時可以采用一些時域測頻算法進行測頻,如相位推算法、瞬時自相關(guān)法、曲線擬合法和過零檢測法等方法。其中相位推算法具有運算量小、速度快、精度高、利用很少采樣點就可以實現(xiàn)頻率的估計,特別適合實時處理的場合,因此是DIFM精測頻的比較好的方法。
本文提出了基于數(shù)字下變頻的數(shù)字正交化、CORDIC算法的相位測量的相位推算法數(shù)字瞬時測頻方及其在FPGA中的工程實現(xiàn),該方法適用于信道化后的單頻信號的高精度、快速頻率測量,在窄脈沖的情況下也可以獲得比較好的測量精度,同時該方法也適用于線性調(diào)頻信號的調(diào)頻參數(shù)測量。
CORDIC算法數(shù)字瞬時測頻實現(xiàn)的功能框圖如圖1所示,該模塊包括一下幾個主要組成部分:射頻前端、ADC采樣、數(shù)字下變頻、CORDIC算法相位測量、相位推算法頻率測量以及脈沖描述字產(chǎn)生等幾個組成部分。
圖1 CORDIC算法數(shù)字瞬時測頻系統(tǒng)功能框圖
射頻前端完成天線偵察信號的低噪聲放大、濾波、變頻以及信道化等功能,將信號變換到ADC采樣合適的頻率、帶寬和幅度。數(shù)模變換ADC部分完成模擬信號的數(shù)字化,考慮到窄脈寬的測量條件以及測頻的瞬時性、精確性,該ADC的采樣率要求比較高,如可以采用TI公司的14位210MHz的ADS5547,對于P波段信號可以進行直接射頻采樣,其它頻段的信號可以通過變頻到一個合適的中頻再進行采樣。
數(shù)字瞬時測頻算法等功能都在FPGA中實現(xiàn),包括數(shù)字下變頻采用FPGA實現(xiàn)的優(yōu)點是其流水線技術(shù)可以提高測頻的瞬時性,同時易于高速并行實現(xiàn)以獲得精度更高的脈沖到達(dá)時間、脈沖寬度等參數(shù)的測量。
數(shù)字下變頻器(DDC)[2]的基本功能是實現(xiàn)信號從數(shù)字中頗/射頻搬移到基帶,即從輸入的寬帶高速數(shù)據(jù)流的數(shù)字信號中提取所需的窄帶信號,并濾除帶外噪聲,獲得低速數(shù)據(jù)流的基帶信號。數(shù)字下變頻器使得模擬下變頻存在的混頻器的非線性、本振的頻率穩(wěn)定度、邊帶和相位噪聲等問題得到解決。DDC的基本結(jié)構(gòu)包括:數(shù)控振蕩器NCO、數(shù)字混頻器(數(shù)字乘法器)、級聯(lián)積分梳妝濾波器(CIC)/半帶濾波器(采樣率變換)和低通濾波器,在帶寬相對較寬的情況下沒有CIC濾波器部分,DDC的基本功能原理框圖如圖2所示。
圖2 數(shù)字下變頻功能框圖
本設(shè)計中DDC采用數(shù)字混頻、半帶濾波加FIR濾波實現(xiàn)。數(shù)字混頻采用基于CORDIC算法的數(shù)字本振NCO設(shè)計,該方法特別適合FPGA實現(xiàn),優(yōu)點是流水線高速實現(xiàn),不需要占用FPGA片內(nèi)ROM,且性能良好。
半帶濾波器適用于抽取率為2n情況,計算效率高,實時性強,HB濾波器的定義為:
半帶濾波器特性有:1)濾波器偶數(shù)序列號(不包括0)沖擊響應(yīng)為0;2)HB濾波器頻輸出抽取1/2后過渡帶有混疊,通帶無混疊;3)HB濾波器要求通帶和阻帶紋波相等。根據(jù)上述特點,以及濾波器系數(shù)對稱性,設(shè)計的HB濾波器需要的乘法器的數(shù)目是普通FIR濾波器的1/4,設(shè)計結(jié)構(gòu)采用常用的橫向濾波器結(jié)構(gòu),適合FPGA中高速實現(xiàn),一般作為DDC的前級濾波器。本設(shè)計中半帶濾波器的輸出采樣率相對比較高,同時輸出為數(shù)字檢波信號(去載波信號),因此適合于作為脈沖包絡(luò)參數(shù)的測量(脈沖到達(dá)時間、脈寬等),該測得的參數(shù)同時也是數(shù)字測頻的同步信號。
DDC中FIR濾波器主要目的是對整個信道進行整形濾波,由于FIR濾波器位于CIC或HB濾波器之后,數(shù)據(jù)率相對較低,因此階數(shù)可以設(shè)計的比較高,可以獲得較好的性能(通帶紋波,阻帶衰減以及過渡帶帶寬等)。DDC輸出的高信噪比、高鏡像抑制度I/Q復(fù)信號可以作為后續(xù)相位測量以及頻率測量的輸入信號。
相位推算法測頻的基礎(chǔ)是I/Q基帶信號的數(shù)字鑒相,傳統(tǒng)數(shù)字鑒相的方法是基于ROM查找表法,該方法缺點是當(dāng)精度要求較高時ROM表非常大,本設(shè)計中采用坐標(biāo)旋轉(zhuǎn)接收機(CORDIC)算法來實現(xiàn)數(shù)字鑒相。
CORDIC算法最早是由J.Voider于1959年提出,包括旋轉(zhuǎn)和向量兩種模式,可進行向量旋轉(zhuǎn)、求三角函數(shù)、反三角函數(shù)和求向量的模等運算,1971年J.Walther提出了統(tǒng)一的改進型CORDIC算法可工作在6種不同的模式,其中CORDIC算法相位測量的基本原理如式2所示:
其中(xi,yi)為輸入矢量,(xi+1,yi+1)為輸出矢量di,αi是每次旋轉(zhuǎn)的角度,di是每次迭代旋轉(zhuǎn)的方向,旋轉(zhuǎn)的目標(biāo)是使z趨近于0。CORDIC算法通過n次微旋轉(zhuǎn)αi來獲得φ相位值,由zi+1=zi-di·αi,則當(dāng)n→ ∞,|yn|→ 0,z∞→φ=arctan(y1/x1)從而完成輸入向量(x,y)的相位提取。
由于CORDIC算法可采用流水線型蝶形旋轉(zhuǎn)結(jié)構(gòu)實現(xiàn)[3],特別適合FPGA技術(shù)的實現(xiàn),同時每級流水線只包括加減法、移位寄存器和tan-1(2-i)系數(shù)存儲器,適用FPGA實現(xiàn)時占用的邏輯單元以及存儲器資源比較少,如果輸入的I/Q信號位數(shù)足夠高,同時CORDIC算法流水線技術(shù)合適,可以獲得高精度的相位輸出。
CORDIC算法獲得的相位值在[-π,π]之間,對于單頻信號隨著樣本點的增加,信號的實際相位會不停跨越周期,因此在頻率計算之前需要對相位進行解模糊,相位解模糊的公式如式(3)所示:
模擬信號的瞬時頻率f(t)與瞬時相位φ(t)的關(guān)系為:
則在數(shù)字域瞬時頻率和相位的關(guān)系為:
其中φi為CORDIC算法計算獲得的第i個樣本點的相位值,Ts為采樣間隔。因此相位推算法頻率測量的基本思路是首先獲得輸入信號的I/Q復(fù)信號,通過CORDIC算法獲得瞬時相位值,然后計算相鄰樣本點的相位差,根據(jù)相位差以及采樣間隔就可以獲得信號的頻率值。
由于相位推算法測頻對噪聲的影響比較敏感,因此通過多點平均可獲得高精度的頻率。
本設(shè)計中ADC選擇TI公司的14位ADS5547,采樣率設(shè)為200MHz,ADC中頻為425MHz,信號帶寬為48MHz,F(xiàn)PGA選擇ALTEAR公司STRATXI-II系列的EP2SGX60EF1154I4芯片。算法設(shè)計中DDC采用一級18階半帶濾波器加一級31階FIR濾波實現(xiàn),濾波器內(nèi)部乘法器輸入位寬為18比特,CORDIC算法輸入I/Q信號位寬為18比特,并采用23級流水線實現(xiàn)CORDIC算法相位測量。
測試時輸入頻偏20MHz的單頻脈沖信號,通過FPGA實現(xiàn)以及板級調(diào)試,將FPGA的各級輸出結(jié)果通過SignaltapII調(diào)試工具導(dǎo)入到Matlab中進行分析,結(jié)果見圖3和圖4所示。通過實現(xiàn)可見瞬時測頻精度基本在0.1MHz以內(nèi),如果通過多點平均,脈沖測頻精度可達(dá)100Hz以內(nèi)(圖4中中間的粗線為誤差均值線)。
圖3 DDC輸出信號時域和頻譜圖
圖4 CORDIC算法測頻誤差圖
本文對對基于CORDIC算法瞬時測頻的FPGA設(shè)計與實現(xiàn)進行了詳細(xì)的論述,包括各關(guān)鍵子模塊設(shè)計,并給出了FPGA實現(xiàn)的的結(jié)果,從結(jié)果看對單頻信號該方法具有測頻精度高、瞬時性好的優(yōu)點,特別適合現(xiàn)代電子戰(zhàn)接收機數(shù)字瞬時測頻的需求。同時該方法已成功應(yīng)用于某雷達(dá)偵察接收機數(shù)字瞬時測頻模塊中,獲得了較好的測頻瞬時性和測頻精度。
[1]胡來招著.瞬時測頻[M].國防工業(yè)出版社,2002:189.
[2]伍小保,章仁飛,王冰.數(shù)字陣列雷達(dá)數(shù)字下變頻器ASIC 芯片設(shè)計[J].雷達(dá)科學(xué)與技術(shù),2008:496-500.
[3]Andraka Ray. A survey of CORDIC Algorithms for FPGA Based Computers. In Proceedings of the 1998 ACM/ SIGDA Sixth International Symposium on Field Programmable Gate Arrays, 1998:191-200。
TM935
A
1674-6708(2010)22-00199-02
伍小保,工程師,工作單位:中國電子科技集團公司第三十八研究所微波技術(shù)部,主要從事雷達(dá)接收機及中頻信號處理相關(guān)工作 王冰,研究員,工作單位:中國電子科技集團公司第三十八研究所微波技術(shù)部,研究方向:雷達(dá)、電子戰(zhàn)、通信接收系統(tǒng),高速數(shù) 據(jù)采集與信號處理