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