邢冠培,孟凡利
(上海航天電子技術(shù)研究所,上海,201109)
基于Xilinx FPGA lP核的浮點(diǎn)頻域脈沖壓縮算法的設(shè)計(jì)與實(shí)現(xiàn)
邢冠培,孟凡利
(上海航天電子技術(shù)研究所,上海,201109)
脈沖壓縮體制雷達(dá)的發(fā)射信號(hào)通常包括多種線(xiàn)性調(diào)頻信號(hào),這就要求對(duì)回波信號(hào)的脈沖壓縮處理適應(yīng)性要強(qiáng),如果采用定點(diǎn)脈壓,不同信噪比的回波信號(hào)脈沖壓縮結(jié)果的截位各不相同,需要分別進(jìn)行仿真測(cè)試,以確定截位的位置,而本文提出一種浮點(diǎn)頻域脈壓的算法及實(shí)現(xiàn),基于Xilinx FPGA IP核,無(wú)需考慮截位,對(duì)各種信號(hào)適應(yīng)性強(qiáng),方便易用。
IP核;脈沖壓縮;浮點(diǎn);頻域
隨著應(yīng)對(duì)各種飛行器的性能提高,雷達(dá)也要求作用距離、分辨精度等指標(biāo)得到相應(yīng)的提高。雷達(dá)的作用距離取決于信號(hào)的時(shí)寬,即要求信號(hào)要有大的時(shí)寬,而雷達(dá)的分辨精度取決于信號(hào)的帶寬,即要求信號(hào)要有大的帶寬。但是對(duì)于單載頻脈沖信號(hào),時(shí)寬和帶寬的乘積近似等于1,所以同時(shí)得到大時(shí)寬和大帶寬是矛盾的。為了解決這一矛盾,必須采取同時(shí)具有大時(shí)寬和大帶寬的復(fù)雜信號(hào)形式,最常用的就是線(xiàn)性調(diào)頻信號(hào)(LFM),這種信號(hào)是在寬脈沖內(nèi)附加載波線(xiàn)性調(diào)頻,從而在大時(shí)寬的條件下擴(kuò)展了帶寬,通過(guò)脈沖壓縮技術(shù)使寬脈沖變成窄脈沖,以獲得高的距離分辨能力。
FPGA脈沖壓縮處理可采用定點(diǎn)和浮點(diǎn)兩種數(shù)據(jù)格式。采用定點(diǎn)數(shù)據(jù)格式,輸入的動(dòng)態(tài)范圍較小,脈壓結(jié)果精度不高,不能滿(mǎn)足某些高性能雷達(dá)系統(tǒng)的需要。脈沖壓縮包括時(shí)域脈壓和頻域脈壓。頻域脈壓處理系統(tǒng)基于高效快速傅立葉變換,在處理大時(shí)寬信號(hào)時(shí)其設(shè)備量增加不大,對(duì)于帶寬比較大的信號(hào)具有明顯的優(yōu)勢(shì)。本文基于Xilinx FPGA IP核,實(shí)現(xiàn)了在頻域內(nèi)的浮點(diǎn)脈沖壓縮的算法處理。
脈沖壓縮實(shí)際上就是對(duì)接收信號(hào)進(jìn)行匹配濾波處理。由于有多種發(fā)射脈沖形式,根據(jù)發(fā)射波形的不同,脈沖壓縮時(shí)選擇不同的匹配濾波器系數(shù)。數(shù)字脈壓可用時(shí)域匹配濾波法或頻域相關(guān)法實(shí)現(xiàn)。
時(shí)域數(shù)字脈壓處理系統(tǒng)采用FIR濾波,通過(guò)對(duì)兩個(gè)有限長(zhǎng)度序列進(jìn)行線(xiàn)性卷積而實(shí)現(xiàn)脈壓處理,即將回波數(shù)據(jù)與匹配濾波器進(jìn)行復(fù)卷積。濾波器復(fù)相關(guān)運(yùn)算量隨著信號(hào)時(shí)寬的增加而顯著增加,完成運(yùn)算所需的芯片量級(jí)也隨之增加,因此,時(shí)域脈沖壓縮處理較短時(shí)寬信號(hào)時(shí)在實(shí)現(xiàn)性及設(shè)備量上都具有良好的特點(diǎn),但隨著信號(hào)時(shí)寬增加,其設(shè)備量將增加。
頻域脈壓處理是基于高效快速傅立葉變換,通過(guò)H(f)與線(xiàn)性卷積有限長(zhǎng)度序列的FFT相乘,并將其乘積反變換至?xí)r域而獲得脈壓輸出,即對(duì)回波數(shù)據(jù)進(jìn)行FFT后,與匹配濾波器的系數(shù)進(jìn)行復(fù)數(shù)乘法運(yùn)算,然后再經(jīng)過(guò)IFFT得到脈壓輸出后的數(shù)據(jù)。
本文脈沖壓縮采用頻域脈壓方式,為抑制距離旁瓣,采用加窗的方式。假設(shè)輸入信號(hào)為,則輸出信號(hào)為
圖1 頻域脈壓原理框圖
圖2 Floating-point IP核配置圖
通過(guò)上述分析,頻域脈沖壓縮具體的工程實(shí)現(xiàn)大體分三個(gè)步驟:第一步是對(duì)輸入脈沖信號(hào)進(jìn)行傅里葉變換得到輸入信號(hào)的頻域信號(hào);第二步是輸入信號(hào)的頻域值與預(yù)先存儲(chǔ)的權(quán)系數(shù)進(jìn)行復(fù)數(shù)相乘;第三步是將復(fù)數(shù)乘積做傅里葉逆變換得到時(shí)域上的輸出信號(hào)。
通常脈沖壓縮前的輸入信號(hào)多為AD采樣后經(jīng)過(guò)數(shù)字下變頻的定點(diǎn)值,如果以定點(diǎn)值經(jīng)過(guò)上述步驟處理會(huì)帶來(lái)一個(gè)問(wèn)題,定點(diǎn)的位數(shù)會(huì)不斷增加,以10位定點(diǎn)值,單個(gè)脈沖為1024點(diǎn)的輸入信號(hào)為例,經(jīng)過(guò)第一級(jí)FFT的輸出值為21位,假設(shè)權(quán)系數(shù)為10位定點(diǎn)值,則經(jīng)過(guò)第二級(jí)復(fù)數(shù)相乘的輸出值為32位,再經(jīng)過(guò)第三級(jí)FFT逆變換,最終輸出值將達(dá)到43位。這樣處理一方面消耗很多硬件資源,另一方面?zhèn)鬏數(shù)膸捯部赡懿粷M(mǎn)足要求。因此,作定點(diǎn)脈壓必須在每一級(jí)處理后進(jìn)行截位處理,但是截位有可能會(huì)造成信號(hào)的損失,而且不同的信號(hào)可能截取得位置不同,這需要對(duì)具體的信號(hào)進(jìn)行仿真驗(yàn)證,適應(yīng)性比較差。而采用浮點(diǎn)脈沖壓縮就不存在這個(gè)問(wèn)題,所有的值都是32位,無(wú)論怎樣處理都不會(huì)增加位數(shù),也無(wú)需考慮是何種信號(hào)。
采用浮點(diǎn)脈沖壓縮則需先將定點(diǎn)值轉(zhuǎn)換為浮點(diǎn)值,再進(jìn)行傅里葉變換和復(fù)數(shù)相乘等處理。因此,在FPGA實(shí)現(xiàn)中主要用到兩個(gè)IP核:Floating-point IP核和FFT IP核。
Floating-point IP核可以實(shí)現(xiàn)定點(diǎn)轉(zhuǎn)浮點(diǎn),浮點(diǎn)運(yùn)算等多種功能,如圖2
通過(guò)選擇“Fixed-to-float”可以實(shí)現(xiàn)定點(diǎn)轉(zhuǎn)浮點(diǎn)的功能。通過(guò)選擇“Add/Subtract”以及“Multiply”可以實(shí)現(xiàn)浮點(diǎn)數(shù)的加減法和與乘法,這個(gè)功能在第二級(jí)復(fù)數(shù)相乘中需要用到。
Floating-point IP核主要用到兩個(gè)控制信號(hào)OPERATION_ND和 OPERATION_RFD,其中輸入控制信號(hào) OPERATION_ND置高表示當(dāng)前輸入數(shù)據(jù)有效。輸出控制信號(hào)OPERATION_RFD置高表示當(dāng)前輸出數(shù)據(jù)有效。
FFT IP核主要實(shí)現(xiàn)傅里葉變換和傅里葉逆變換的功能。如圖3
FFT IP核提供了四種不同的數(shù)據(jù)處理方式:(1)流(Streaming);(2)可變流(Variable Streaming);(3)緩沖突發(fā)(Buffered Burst);(4)突發(fā)(Burst);可采用基 4 算法或者基2 或者混合基算法;數(shù)據(jù)包括定點(diǎn)、塊浮點(diǎn)和浮點(diǎn)等表示方法。
頻域脈壓選擇“Pipelined, Streaming I/O”,即流模式,允許持續(xù)的數(shù)據(jù)進(jìn)行流水處理。選擇“Run Time Configurable Transform length”可是實(shí)現(xiàn)變長(zhǎng)度脈沖壓縮的功能。該IP 核主要用到的控制信號(hào)有如下幾個(gè)
表 1 FFT IP核主要控制信號(hào)及功能描述
通過(guò)Floating-point IP核和FFT IP核,配合FIFO和 ROM,可以完全實(shí)現(xiàn)浮點(diǎn)頻域脈壓的處理,具體過(guò)程如下圖
圖3 FFT IP核配置圖
圖4 浮點(diǎn)頻域脈壓的處理流程
首先,AD采樣后數(shù)字下變頻得到的輸入信號(hào)I、Q兩路輸入到定點(diǎn)轉(zhuǎn)浮點(diǎn)的模塊,通過(guò)“OPERATION_RFD”信號(hào)控制FFT模塊的“START”信號(hào)啟動(dòng)傅里葉變換,當(dāng)FFT模塊的“EDONE”信號(hào)置高時(shí)表明下一個(gè)周期將輸出FFT的有效值,這時(shí)應(yīng)將權(quán)值的ROM地址置0,則在下一個(gè)周期第一個(gè)有效數(shù)據(jù)讀出,第一個(gè)權(quán)值同時(shí)讀出,兩者相乘,并且在“EDONE”為低時(shí),ROM地址是循環(huán)加1的,這樣復(fù)數(shù)相乘就實(shí)現(xiàn)了流水運(yùn)算。同樣通過(guò)復(fù)數(shù)相乘模塊的“OPERATION_RFD”信號(hào)控制IFFT模塊的“START”信號(hào)啟動(dòng)傅里葉逆變換,當(dāng)“DV”置高時(shí)表示,脈沖壓縮的有效數(shù)據(jù)輸出,該數(shù)據(jù)可以送到MTI、MTD、恒虛警或者成像等后續(xù)模塊中繼續(xù)處理了。
脈沖壓縮模塊采用Xilinx V5系列 FPGA芯片,將帶寬為5M,時(shí)寬為133us的線(xiàn)性調(diào)頻信號(hào)輸入到系統(tǒng)中,通過(guò)Chipscope采集脈壓后的數(shù)據(jù)并導(dǎo)入到Matlab進(jìn)行分析,所得結(jié)果如圖5所示。
Design and implementation of a floating-point frequency domain pulse compression algorithm based on FPGA IP Xilinx kernel
Xing Guanpei,Meng Fanli
(Shanghai Institute of aerospace electronics technology,Shanghai,201109)
Pulse compression radar transmitting signal usually includes a variety of linear FM signal, which requires the echo pulse compression processing adaptability stronger,if the point pulse pressure and different signal to noise ratio of the echo signal pulse compression results truncate each are not identical,necessary to simulation test,to determine the truncation of the position,and in this paper,a floating-point pulse compression in frequency domain algorithm and implementation, based on Xilinx FPGA IP core,without considering the truncation and adaptability to various signal is strong,easy to use.
IP kernel;pulse compression;floating point;frequency domain