丁勇 朱岱寅 段化軍 石佳寧
摘 要: 針對(duì)機(jī)載合成孔徑雷達(dá)(SAR)實(shí)時(shí)處理需求,傳統(tǒng)的數(shù)字信號(hào)處理器(DSP)實(shí)現(xiàn)方式由于性能、功耗以及可靠性等原因,已經(jīng)越來越不能滿足實(shí)時(shí)性的要求,因此設(shè)計(jì)并實(shí)現(xiàn)了一種基于現(xiàn)場(chǎng)可編程門陣列(FPGA)的聚束SAR極坐標(biāo)格式(PFA)算法,主要用于處理去斜率信號(hào)。該設(shè)計(jì)中采用兩次Chirp?Scaling操作代替復(fù)雜的二維插值過程,提高了算法效率。由于雷達(dá)成像算法處理時(shí)常分為距離向、方位向分步實(shí)現(xiàn),該次設(shè)計(jì)采用時(shí)分復(fù)用的方式,在處理時(shí)間無明顯增加的情況下,極大的減少了FPGA的資源使用。該設(shè)計(jì)采用Xilinx公司KC705開發(fā)板進(jìn)行驗(yàn)證,經(jīng)測(cè)試當(dāng)系統(tǒng)時(shí)鐘頻率工作在200 MHz時(shí),處理單精度浮點(diǎn)8 192×8 192像素點(diǎn)SAR圖像的時(shí)間約為8 s。
關(guān)鍵詞: 合成孔徑雷達(dá); 去斜率信號(hào); 極坐標(biāo)格式算法; 現(xiàn)場(chǎng)可編程門陣列
中圖分類號(hào): TN953+.4?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2016)09?0006?06
Abstract: Since the traditional DSP is unable to meet the real?time requirement due to the reasons of performance, power consumption and reliability, a FPGA?based polar format algorithm (PFA) for beaming airborne synthetic aperture radar (SAR) was designed and implemented to deal with the dechirp signal for the real?time processing demand of SAR. The twice Chirp?Scaling operation was used in this design to replace the complicated two?dimensional interpolation process to improve the efficiency of the algorithm. The step?by?step implementation of distance and azimuth directions is usually adopted in radar imaging algorithm. The way of time division multiplexing is adopted in this design to greatly reduce the resource usage of FPGA when a little processing time is increased. The design was verified on KC705 development board made by Xilinx. It approximately takes 8 s to process the SAR image of 8 192×8 192 single precision floating point pixels when the system clock frequency works at 200 MHz.
Keywords: synthetic aperture radar; dechirp signal; polar format algorithm; FPGA
0 引 言
合成孔徑雷達(dá)能夠全天候和全天時(shí)地獲取高分辨率地面圖像,在軍事和民用領(lǐng)域都獲得了廣泛應(yīng)用,已經(jīng)成為現(xiàn)代雷達(dá)技術(shù)領(lǐng)域的重要發(fā)展方向[1]。聚束SAR通過調(diào)整波束指向長時(shí)間照射固定區(qū)域獲得高分辨的圖像,目前實(shí)時(shí)聚束SAR成像中應(yīng)用最多的是極坐標(biāo)格式算法(Polar Format Algorithm,PFA)[2?3]。PFA通過二維插值和二維快速傅里葉逆變換(IFFT)實(shí)現(xiàn),處理過程較為簡(jiǎn)單,但是存在插值計(jì)算量大且精度不高的問題?;贑hirp?Z變換(CZT)的極坐標(biāo)格式算法在方位向采用Chirp Z變換代替插值和方位壓縮過程,因此,CZT能在減少方位向處理計(jì)算量的同時(shí)消除插值誤差產(chǎn)生的影響[4?5]。但是基于CZT的方法在距離向仍需要插值處理。而基于Chirp Scaling原理(PCS)的極坐標(biāo)格式算法能以兩次FFT的代價(jià)實(shí)現(xiàn)距離向插值,同時(shí)在正側(cè)視情況下,方位向也能用PCS代替插值,大大減小了計(jì)算量。由于整個(gè)算法由FFT和向量乘法運(yùn)算構(gòu)成,進(jìn)一步提高了運(yùn)算效率,更加有利于硬件實(shí)現(xiàn)。
去斜率信號(hào)脈壓方式是針對(duì)線性調(diào)頻信號(hào)提出的,對(duì)不同延遲時(shí)間信號(hào)進(jìn)行脈沖壓縮,在一些特殊場(chǎng)合,它不僅運(yùn)算簡(jiǎn)單,并且還可以簡(jiǎn)化設(shè)備,降低采樣速率,減小對(duì)存儲(chǔ)單元的要求,已經(jīng)廣泛應(yīng)用于SAR和ISAR中做脈沖壓縮。對(duì)于去斜率信號(hào)處理也可以采用極坐標(biāo)格式算法,在正側(cè)視情況下,可以用PCS代替二維插值,大大地減少了計(jì)算量,節(jié)省處理時(shí)間。
實(shí)時(shí)數(shù)字信號(hào)處理的實(shí)現(xiàn)手段主要有DSP和FPGA。在SAR系統(tǒng)發(fā)展初期,DSP獲得了廣泛的應(yīng)用。然而,隨著SAR成像系統(tǒng)在性能、功耗以及可靠性等方面的要求不斷提高,DSP已經(jīng)越來越不能滿足實(shí)時(shí)性的要求。而FPGA可以利用大規(guī)模的邏輯單元和片內(nèi)存儲(chǔ)器以及高速總線、流水處理等特有的硬件結(jié)構(gòu),快速完成FFT、復(fù)數(shù)乘法加法、CORDIC算法等數(shù)字信號(hào)處理基本運(yùn)算。正是由于基于FPGA的信號(hào)處理系統(tǒng)具有極強(qiáng)的運(yùn)算能力、豐富的可擴(kuò)展性以及系統(tǒng)可重構(gòu)等優(yōu)點(diǎn),因此特別適合數(shù)據(jù)率高、運(yùn)算量極大的雷達(dá)成像信號(hào)處理系統(tǒng)[6?7]。
利用FPGA實(shí)現(xiàn)雷達(dá)信號(hào)處理時(shí),選擇的算法不同,處理效率與資源消耗都不一樣。從效率上看,文獻(xiàn)[8]利用插值方式對(duì)8 192×8 192大小的雷達(dá)信號(hào)進(jìn)行二維插值處理,所需要時(shí)間約為20 s;而在文獻(xiàn)[9]中,利用CS方式對(duì)4 096×4 096大小的雷達(dá)信號(hào)進(jìn)行尺度變換處理,所需時(shí)間約為1 s。從資源上看,文獻(xiàn)[8]采用時(shí)分復(fù)用的方式,距離向與方位向處理分時(shí)復(fù)用插值核,在處理8 192×8 192大小的回波數(shù)據(jù)時(shí),開發(fā)平臺(tái)KC705中的資源仍有很大的余量;而在文獻(xiàn)[9]中,由于同時(shí)例化了多個(gè)FFT IP核,采用BRAM存儲(chǔ)雷達(dá)參數(shù),處理4 096×4 096大小的回波數(shù)據(jù)時(shí),幾乎耗盡了開發(fā)平臺(tái)KC705中的部分資源。
在文獻(xiàn)[8]和文獻(xiàn)[9]的設(shè)計(jì)中,都不能有效的兼顧處理效率和資源消耗,而本文運(yùn)用PCS的極坐標(biāo)格式算法對(duì)去斜率信號(hào)進(jìn)行處理,采用時(shí)分復(fù)用,雷達(dá)參數(shù)外存到DDR3等方式,并運(yùn)用FPGA進(jìn)行硬件實(shí)現(xiàn),不但可以簡(jiǎn)化接收設(shè)備,減小內(nèi)存的消耗,還可以提高運(yùn)算效率,減少處理時(shí)間,因此特別適合雷達(dá)實(shí)時(shí)處理。
1 信號(hào)的算法處理流程
聚束SAR成像的幾何模型如圖1所示。
2 算法的FPGA系統(tǒng)框架
快速極坐標(biāo)格式算法的FPGA處理系統(tǒng)包括以下幾個(gè)模塊:上位機(jī)、PCIe傳輸模塊,數(shù)據(jù)選擇模塊,DDR控制模塊,算法處理模塊,如圖3所示。
2.1 上位機(jī)
在數(shù)據(jù)處理之前,上位機(jī)負(fù)責(zé)把存儲(chǔ)在電腦硬盤的數(shù)據(jù)發(fā)送到FPGA外帶的DDR內(nèi)存單元中,在數(shù)據(jù)處理結(jié)束以后,讀取DDR內(nèi)存單元中的數(shù)據(jù)到電腦硬盤中,處理顯示。
2.2 PCIe傳輸模塊
以Xilinx公司的PCIe IP為基礎(chǔ),結(jié)合DMA讀取方式,在PCIe 2.0協(xié)議規(guī)范基礎(chǔ)上,利用X4 lane通道可以實(shí)現(xiàn)120~500 MB/s的傳輸速度,快速地完成數(shù)據(jù)在電腦與內(nèi)存單元之間的傳輸。
2.3 數(shù)據(jù)選擇模塊
數(shù)據(jù)選擇模塊負(fù)責(zé)PCIe傳輸模塊與算法處理模塊對(duì)DDR訪問時(shí),進(jìn)行總線的裁決。
2.4 DDR控制模塊
DDR控制模塊主要完成以下兩個(gè)功能:
(1) 按照算法需求,以Xilinx自帶的IP核為基礎(chǔ),開發(fā)內(nèi)存驅(qū)動(dòng)程序,實(shí)現(xiàn)對(duì)內(nèi)存單元的連續(xù)讀寫,跳躍轉(zhuǎn)置讀寫等功能。
(2) DDR PHY:4 GB內(nèi)存單元存儲(chǔ)雷達(dá)參數(shù)與回波數(shù)據(jù),在數(shù)據(jù)處理過程中實(shí)現(xiàn)數(shù)據(jù)的寫入和讀出。
在文獻(xiàn)[9]中把雷達(dá)參數(shù)存儲(chǔ)在FPGA的BRAM中,這樣做有如下弊端:
(1) 占用BRAM資源:FPGA中的BRAM資源較少,雷達(dá)的參數(shù)很多,并且隨著雷達(dá)處理數(shù)據(jù)的增大,BRAM占用量也會(huì)相應(yīng)增加,如果參數(shù)存儲(chǔ)占用太多的BRAM資源,會(huì)導(dǎo)致余下的BRAM資源不能滿足算法處理的需求。
(2) 浪費(fèi)時(shí)間:利用BRAM資源存儲(chǔ)雷達(dá)參數(shù)時(shí),首先要生成COE文件,然后再導(dǎo)入到BRAM中,當(dāng)單個(gè)雷達(dá)參數(shù)的點(diǎn)數(shù)為8 192時(shí),建立一個(gè)BRAM核需要5 min以上,當(dāng)雷達(dá)參數(shù)達(dá)到10個(gè)時(shí),僅建立BRAM核所需時(shí)間接近1 h。
(3) 可移植性差:當(dāng)需要改變雷達(dá)處理數(shù)據(jù)大小或是修改雷達(dá)參數(shù)時(shí),都需要重新生成BRAM核。
在本文中,由于4 GB的內(nèi)存有很大的余量空間,提出了把雷達(dá)回波參數(shù)存儲(chǔ)在DDR中的方法,上電時(shí),從DDR中讀取回波參數(shù),送入到參數(shù)緩存模塊,根據(jù)算法處理流程,從緩存模塊中讀取雷達(dá)參數(shù)用于計(jì)算。這樣做有如下幾個(gè)優(yōu)點(diǎn):
(1) 占用極少數(shù)的BRAM資源。由于雷達(dá)的算法處理一般是按照距離向處理,方位向處理這樣的步驟進(jìn)行分步處理時(shí)并不需要把所有的參數(shù)全部讀取出來,每步讀取的參數(shù)最多四個(gè),因此在開辟的參數(shù)緩存模塊只需要4個(gè)BRAM即可。在本系統(tǒng)中,需要存儲(chǔ)的參數(shù)包括[x,y,z,tr,fr,ta,fa,]本系統(tǒng)中利用KC705 XC7K325T板卡實(shí)現(xiàn),串行方式與并行方式對(duì)BRAM資源使用的對(duì)比見表1。
此處的串行方式是指本文中采用的時(shí)分復(fù)用方式,并行方式是指文獻(xiàn)[9]中同時(shí)例化多個(gè)IP的算法實(shí)現(xiàn)方式。
(2) 節(jié)省時(shí)間。不再需要導(dǎo)入COE文件的過程,上電以后,直接把當(dāng)前處理需要的參數(shù)導(dǎo)入到參數(shù)暫存模塊即可,利用200 MHz時(shí)鐘從DDR中讀取7×8 192個(gè)參數(shù)所花時(shí)間為0.3 ms,在雷達(dá)處理過程中,可以忽略。
(3) 可移植性強(qiáng)。當(dāng)改變雷達(dá)處理數(shù)據(jù)大小和參數(shù)時(shí),只需要改變寫入DDR的參數(shù)即可,不需要重新生成BRAM。
(4) 可擴(kuò)展性強(qiáng)。雷達(dá)參數(shù)很多,放在FPGA中計(jì)算通常會(huì)耗費(fèi)很多硬件資源,未來的研究架構(gòu)是在上電時(shí),把雷達(dá)參數(shù)放到Power PC中計(jì)算,計(jì)算完成后導(dǎo)入到FPGA參與算法計(jì)算,串行模式開辟的參數(shù)暫存模塊正好可以存儲(chǔ)計(jì)算完成的雷達(dá)參數(shù)。
2.5 算法處理模塊
算法處理模塊分為以下四個(gè)步驟,如圖4所示。
2.5.1 補(bǔ)償處理
雷達(dá)數(shù)據(jù)的錄取通常按照條帶模式采樣,但是在進(jìn)行雷達(dá)回波處理時(shí),為了獲得較高的方位向分辨率,一般采用聚束模式進(jìn)行處理,對(duì)于去斜率信號(hào),從條帶模式到聚束模式有一個(gè)參考距離的補(bǔ)償。補(bǔ)償模塊就是完成條帶模式到聚束模式的參考距離補(bǔ)償。在實(shí)際的雷達(dá)處理中,由于補(bǔ)償處理是針對(duì)距離向進(jìn)行的,因此可以把補(bǔ)償模塊與距離向處理合并到一起進(jìn)行處理。
2.5.2 距離向處理
距離向運(yùn)用PCS原理,按照?qǐng)D5(a)的流程框圖完成處理步驟后,送入到方位向處理模塊進(jìn)行處理。
2.5.3 方位向處理
方位向處理也是運(yùn)用PCS原理,按照?qǐng)D5(b)的流程框圖進(jìn)行處理后,送入到后面做距離向FFT處理。
2.5.4 距離向FFT處理
對(duì)距離向做完FFT以后,對(duì)數(shù)據(jù)取模計(jì)算,即可得到雷達(dá)圖像。
在雷達(dá)數(shù)據(jù)處理過程中,需要大量使用FFT,并行實(shí)現(xiàn)方式是同時(shí)例化多個(gè)FFT IP核,雷達(dá)信號(hào)處理通常按照距離向處理,方位向處理的流程分步進(jìn)行,同時(shí)例化多個(gè)FFT IP核可以簡(jiǎn)化代碼設(shè)計(jì),但是卻極大地占用了FPGA的資源。在本系統(tǒng)中,只需要例化一個(gè)FFT IP核,采用時(shí)分復(fù)用的方式,較并行方式而言,增加的處理時(shí)間極小。在本系統(tǒng)中,如果采取并行設(shè)計(jì)方式,做7次FFT運(yùn)算就需要例化7個(gè)FFT IP核,本系統(tǒng)中利用KC705 XC7K325T板卡實(shí)現(xiàn),表2是兩種設(shè)計(jì)方式的資源比較。
3 實(shí)驗(yàn)處理結(jié)果與分析
本算法處理系統(tǒng)中采用Xilinx公司的KC705開發(fā)板來驗(yàn)證極坐標(biāo)格式算法處理的可行性。為了驗(yàn)證FPGA片內(nèi)算法處理的效率與效果,系統(tǒng)通過PCIe接口連接上位機(jī)與KC705板卡,實(shí)現(xiàn)SAR回波數(shù)據(jù)的發(fā)送與接收。外部輸入200 MHz高精度的差分時(shí)鐘以驅(qū)動(dòng)FPGA片內(nèi)各模塊。FPGA的通用I/O口連接LED來監(jiān)測(cè)片內(nèi)處理各步驟的工作狀況,提供用戶復(fù)位按鍵對(duì)FPGA進(jìn)行全局復(fù)位。
本處理系統(tǒng)主要是處理正側(cè)視的去斜率信號(hào),表3是實(shí)測(cè)數(shù)據(jù)的部分雷達(dá)參數(shù)。
表4是系統(tǒng)處理8 192×8 192個(gè)像素點(diǎn)實(shí)測(cè)數(shù)據(jù)的FPGA使用情況。系統(tǒng)利用片內(nèi)DSP48E1資源來提高乘加模塊,F(xiàn)FT模塊的處理速度。BRAM18E1存儲(chǔ)資源使用量較低,增強(qiáng)了對(duì)大數(shù)據(jù)量處理的緩存FIFO的拓展性。最核心的LUT資源利用率較高,用于實(shí)現(xiàn)對(duì)FPGA的邏輯處理與流程控制。
4 結(jié) 論
本文從提高SAR成像效率出發(fā),設(shè)計(jì)并實(shí)現(xiàn)了機(jī)載條帶SAR在正側(cè)視情況下去斜率信號(hào)的極坐標(biāo)格式算法。為了讓系統(tǒng)更高效,本文選取了基于PCS的極坐標(biāo)格式算法以2次FFT的代價(jià)代替插值,提高了算法效率和精度;提出了一種利用DDR存儲(chǔ)雷達(dá)參數(shù),初始化時(shí)開辟緩存的方式來節(jié)省FPGA資源使用的方案;設(shè)計(jì)了一種在不降低雷達(dá)處理效率的前提下,利用時(shí)分復(fù)用FFT IP核的方式極大地節(jié)省了FPGA片內(nèi)的BRAM與DSP48E1資源。本算法處理系統(tǒng)利用Xilinx公司的Kintex?7 FPGA開發(fā)板作為硬件開發(fā)平臺(tái),用PCIe接口實(shí)現(xiàn)數(shù)據(jù)傳輸。經(jīng)實(shí)驗(yàn)統(tǒng)計(jì),本系統(tǒng)處理8 192×8 192條帶去斜率SAR圖像需要約8 s時(shí)間,成像效果與使用Matlab處理相當(dāng)。由于采用基于PCS的極坐標(biāo)格式算法只能處理正側(cè)視的數(shù)據(jù),當(dāng)引入斜視角的時(shí)候,方位向采用CS的處理方式已經(jīng)不再適用。如果要針對(duì)任意斜視角輸入下的去斜率信號(hào)進(jìn)行處理,可以利用尺度變換處理距離向,利用插值處理方位向。
參考文獻(xiàn)
[1] 鄭曉雙,禹衛(wèi)東,李早社.機(jī)載SAR實(shí)時(shí)運(yùn)動(dòng)補(bǔ)償和成像的FPGA實(shí)現(xiàn)[J].數(shù)據(jù)采集與處理,2008,23(5):614?618.
[2] 周芳,唐禹,張佳佳.機(jī)載高分辨聚束式SAR實(shí)時(shí)成像處理系統(tǒng)的FPGA實(shí)現(xiàn)[J].電子與信息學(xué)報(bào),2011,12(5):1248?1252.
[3] 毛新華.PFA在SAR超高分辨率成像和SAR/GMTI中的應(yīng)用研究[D].南京:南京航空航天大學(xué),2009.
[4] 孫進(jìn)平,袁運(yùn)能,王俊.CZT在聚束SAR極坐標(biāo)格式成像算法中的應(yīng)用[J].系統(tǒng)工程與電子技術(shù),2002,24(10):4?7.
[5] BURNS B L, CORDARO J T. A SAR image?formation algorithm that compensates for the spatially?variant effects of antenna motion [J]. SPIE proceedings, 1994, 2230: 14?25.
[6] 謝宜壯,龍騰.基于FPGA的SAR信號(hào)存儲(chǔ)與預(yù)處理模塊設(shè)計(jì)與實(shí)現(xiàn)[J].信號(hào)處理,2010,26(2):180?183.
[7] 熊君君,王貞松,姚建平.星載SAR實(shí)時(shí)成像處理器的FPGA實(shí)現(xiàn)[J].電子學(xué)報(bào),2005,33(6):1070?1072.
[8] 毛瑩,張近東,張弓.完備單精度SINC插值的FPGA實(shí)現(xiàn)[C]//第十三屆全國雷達(dá)學(xué)術(shù)年會(huì)論文集.西安:中國電子學(xué)會(huì),2014:668?671.
[9] ZOU Linchen, ZHANG Jindong, ZHU Daiyin. FPGA implementation of polar format algorithm for airborne spotlight SAR processing [C]// Proceedings of 2013 11th IEEE International Conference on Dependable, Autonomic and Secure Computing. Chengdu, China: IEEE, 2013: 143?147.
[10] 保錚,邢孟道,王彤.雷達(dá)成像技術(shù)[M].北京:電子工業(yè)出版社,2005.
[11] ZHU D, YE S, ZHU Z. Polar format algorithm using chirp scaling for spotlight SAR imaging formulation [J]. IEEE transactions on aerospace and electronic systems, 2008, 44(4): 1433?1448.