陳 亮 李涌睿 丁 杰 徐 明* 張至涵 張 傲 謝宜壯
(1.北京理工大學(xué)雷達(dá)技術(shù)研究院,北京 100081;2.嵌入式實(shí)時(shí)信息處理技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室,北京 100081;3.北京理工雷科電子信息技術(shù)有限公司,北京 100097)
星載SAR 是指裝載于衛(wèi)星平臺(tái)上的SAR 載荷,利用寬帶雷達(dá)信號(hào)和合成孔徑原理實(shí)現(xiàn)二維高分辨成像。作為一種主動(dòng)式的微波傳感器,星載SAR 具備夜視和穿透能力,可以不受太陽(yáng)光照以及云、雨、霧等惡劣天氣的影響,全天時(shí)全天候?qū)Φ剡M(jìn)行觀測(cè)?,F(xiàn)已被廣泛應(yīng)用于災(zāi)害檢測(cè)、軍事偵察、海洋觀測(cè)、地質(zhì)勘探等諸多方面[1-5]。
星載SAR 獲取的雷達(dá)回波需經(jīng)過聚焦成像處理才能形成二維圖像,由于成像處理運(yùn)算量很大,傳統(tǒng)星載SAR 一般在地面進(jìn)行成像處理。隨著SAR 載荷性能的提升,帶來載荷數(shù)據(jù)量和數(shù)據(jù)率雙增長(zhǎng),星地?cái)?shù)傳逐步成為瓶頸;同時(shí),星上獲取數(shù)據(jù)、地面處理的模式導(dǎo)致信息獲取的時(shí)效性不足,難以滿足減災(zāi)應(yīng)急、環(huán)境監(jiān)測(cè)、國(guó)家安全等高時(shí)效應(yīng)用需求。隨著星載SAR 處理算法的逐步成熟以及在軌處理硬件技術(shù)的發(fā)展,星載SAR在軌處理逐漸成為可能。由于星載SAR 在軌成像存在回波數(shù)據(jù)率高、存儲(chǔ)量大、算法流程復(fù)雜等難點(diǎn),如達(dá)到實(shí)時(shí)成像的要求,在軌成像系統(tǒng)需具備較大規(guī)模、并對(duì)成像算法進(jìn)行硬件高效映射,做到高吞吐、低延遲,這具備較高的技術(shù)難度。在軌成像后,進(jìn)一步在軌完成目標(biāo)檢測(cè)識(shí)別等處理,可大幅減少下傳數(shù)據(jù)量,滿足多種高時(shí)效應(yīng)用要求[6-10]。
目前,星載SAR 在軌成像已經(jīng)成為世界各國(guó)的研究熱點(diǎn),眾多學(xué)者投入SAR在軌處理關(guān)鍵技術(shù)的研究中,完成了基于FPGA[11-14]、DSP[11,13]、GPU[15]、SoC芯片[8]等核心處理器的SAR在軌成像處理器研制工作[16]。國(guó)內(nèi)的雷達(dá)信號(hào)實(shí)時(shí)處理系統(tǒng)于二十世紀(jì)九十年代開始發(fā)展,中國(guó)科學(xué)院電子所首先開始了關(guān)于實(shí)時(shí)信號(hào)處理系統(tǒng)的研究,并于1994年成功研究實(shí)時(shí)信號(hào)處理系統(tǒng)。2005年,熊君君等人[17]使用7 塊FPGA 構(gòu)建了實(shí)時(shí)成像處理器,設(shè)計(jì)兼顧流水和并行處理,混合使用浮點(diǎn)和定點(diǎn)計(jì)算,成像速度和質(zhì)量達(dá)標(biāo)。2010年,邊明明等人[18]設(shè)計(jì)了一種多FPGA 松耦合并行處理的星載SAR 處理器架構(gòu),成像系統(tǒng)具備可擴(kuò)展特點(diǎn),可兼容RD/CS算法,點(diǎn)陣成像精度良好。2016 年,劉小寧等人[3]提出了一種基于單片F(xiàn)PGA 構(gòu)建了星上SAR 實(shí)時(shí)成像系統(tǒng),提出了壓縮運(yùn)算量的改進(jìn)CS 算法和高效矩陣轉(zhuǎn)置方案,并對(duì)CORDIC 運(yùn)算進(jìn)行資源優(yōu)化以減少成像系統(tǒng)資源占用,整體方案成熟。2019 年,于文月等人[11]設(shè)計(jì)了一種基于FPGA+DSP 的混合異構(gòu)星載實(shí)時(shí)SAR 處理系統(tǒng),F(xiàn)PGA 負(fù)責(zé)主控、數(shù)據(jù)接口、存儲(chǔ)、FFT處理,DSP負(fù)責(zé)復(fù)雜因子處理,最大支持成像尺寸為16384×16384,成像時(shí)間24 s,處理性能優(yōu)異。2020 年,胡善清[15]對(duì)基于嵌入式GPU 的SAR 實(shí)時(shí)成像方法進(jìn)行研究,提出一種內(nèi)存分割與重配置方案以提高處理速度,對(duì)嵌入式GPU的在軌成像能力進(jìn)行驗(yàn)證。2022 年,李涌睿等人[8]提出了一種針對(duì)BP 算法的專用SoC 成像芯片設(shè)計(jì)方法,并構(gòu)建了基于MPSoC+FPGA 的原型驗(yàn)證平臺(tái)對(duì)芯片設(shè)計(jì)方案進(jìn)行驗(yàn)證。顯然,高性能可重構(gòu)的FPGA 是目前構(gòu)建星載SAR 實(shí)時(shí)處理器的首選;DSP 作為協(xié)加速處理器,可分擔(dān)SAR 成像中的復(fù)雜運(yùn)算,簡(jiǎn)化FPGA 的開發(fā)、釋放FPGA 的性能;嵌入式GPU 作為通用處理器,針對(duì)SAR 處理的優(yōu)化空間有限;SoC 芯片性能優(yōu)異,但仍處于研制驗(yàn)證階段。目前,基于FPGA+DSP 的SAR 成像系統(tǒng)在成像算力、能效、可靠性、靈活性、開發(fā)難度等方面綜合評(píng)價(jià)最優(yōu),但現(xiàn)有系統(tǒng)在大粒度成像、并行高效處理、矩陣轉(zhuǎn)置等方面仍有很大的改進(jìn)空間。
本文提出了一種基于FPGA+DSP 的高效處理系統(tǒng),支持功能性更強(qiáng)的NCS 算法,重點(diǎn)關(guān)注系統(tǒng)的并行處理優(yōu)化,提出了基于時(shí)頻抽取切換的多通道FFT 并行計(jì)算方法和通用多通道存儲(chǔ)轉(zhuǎn)置方案。本文研制了FPGA+DSP 板卡,對(duì)提出的SAR 成像方案進(jìn)行實(shí)現(xiàn)驗(yàn)證,用多組仿真和實(shí)測(cè)數(shù)據(jù)進(jìn)行成像測(cè)試,在處理精度滿足需求的前提下,處理時(shí)間較現(xiàn)有方案大幅度縮短。
NCS 是基于調(diào)頻變標(biāo)算法(Chirp Scaling Algorithm,CS)的改進(jìn)算法。北京理工大學(xué)提出了一種二維NCS算法[19],通過更高精度的斜距模型和距離向非線性變標(biāo)處理,實(shí)現(xiàn)距離空變的徙動(dòng)校正和多普勒相位補(bǔ)償;通過高階方位向NCS 處理方法,實(shí)現(xiàn)方位空變的多普勒相位補(bǔ)償。相比在軌SAR 處理廣泛使用的CS 算法,該算法增加了對(duì)大斜視、更高分辨率模式的支持,目前正逐步被應(yīng)用于星載SAR實(shí)時(shí)處理系統(tǒng)中。
NCS 與CS 在算法流程上均可劃分為距離預(yù)處理、方位預(yù)處理、方位壓縮和距離壓縮,從工程實(shí)現(xiàn)角度看,均可分解為FFT、因子計(jì)算、復(fù)乘和轉(zhuǎn)置。CS 和NCS 算法流程(條帶模式為例)如圖1 所示。由于NCS算法的因子基本涵蓋CS算法,在正側(cè)視、分辨率較低的成像模式下,NCS 算法可向下退化為步驟更少的CS算法,以減少成像處理時(shí)間。
圖1 CS算法和NCS算法流程圖Fig.1 CS Algorithm and NCS Algorithm Flowchart
NCS算法流程可劃分為主流程和輔助流程。主流程:原始數(shù)據(jù)順序執(zhí)行FFT、IFFT、復(fù)乘和轉(zhuǎn)置等操作,直至生成圖像;輔助流程:根據(jù)輔助數(shù)據(jù),執(zhí)行對(duì)各個(gè)因子的計(jì)算。為保證主流程的順利進(jìn)行,因子計(jì)算應(yīng)提前于相應(yīng)的復(fù)乘計(jì)算,即因子提前計(jì)算完畢,主數(shù)據(jù)流可無等待地和因子進(jìn)行復(fù)乘。
FFT 算法是離散傅里葉變換(Discrete Fourier Transform,DFT)算法的快速實(shí)現(xiàn)算法,是數(shù)字信號(hào)處理領(lǐng)域的基本工具。FFT的基本原理是將大點(diǎn)數(shù)的DFT 運(yùn)算拆分為多個(gè)小點(diǎn)數(shù)DFT,N表示數(shù)據(jù)長(zhǎng)度,DFT 的計(jì)算復(fù)雜度為O(N2),F(xiàn)FT 的計(jì)算復(fù)雜度為O(Nlog(N))。FFT處理器的實(shí)現(xiàn)方式眾多,以適用于不同的應(yīng)用場(chǎng)景,通常分為流水式、迭代式、全并行式三種[4]。
在SAR 成像處理中,雷達(dá)數(shù)據(jù)點(diǎn)數(shù)長(zhǎng)、數(shù)據(jù)量大、處理速度要求高,常采用流水式的FFT 處理器。處理數(shù)據(jù)越長(zhǎng),F(xiàn)FT處理器的規(guī)模越大,但在主頻固定的情況下,1 個(gè)FFT 處理器的處理帶寬是固定的,以單精度浮點(diǎn)FFT 處理器為例,其處理帶寬為:主頻×8 Byte。為了提升處理帶寬,往往放置多個(gè)FFT處理器并行處理。假設(shè)SAR 成像系統(tǒng)中放置了M個(gè)N點(diǎn)FFT 處理器,利用多通道FFT 算法理論上可對(duì)M個(gè)FFT 處理器進(jìn)行合并,最高支持點(diǎn)數(shù)為M×N的FFT。相比放置1 個(gè)M×N點(diǎn)FFT 處理器相比,放置多通道FFT 處理器在處理帶寬上具備明顯優(yōu)勢(shì)。以下是多通道FFT算法推導(dǎo)。
2.2.1 時(shí)間抽取多通道FFT算法
設(shè)一信號(hào)序列為x(n),序列長(zhǎng)度為N,對(duì)x(n)進(jìn)行DFT 運(yùn)算后得到序列X(k)。其中n和k的范圍是0,1,2,…,N-1。DFT的計(jì)算公式為:
對(duì)公式(1)中的時(shí)域索引值按時(shí)間抽取,頻域索引值按頻率抽取,拆分如下:
代入公式(1)中:
其中:
由公式(3)~(4)可知,長(zhǎng)度為N的FFT 分解為L(zhǎng)次M點(diǎn)FFT,和M次L點(diǎn)FFT。把L認(rèn)為是通道數(shù),M認(rèn)為是單個(gè)FFT 處理器點(diǎn)數(shù),則N點(diǎn)FFT 的流水處理可分解兩步。第1 步中,L個(gè)流水式FFT 處理器并行進(jìn)行M點(diǎn)FFT 計(jì)算;第2 步中,1 個(gè)全并行式FFT 處理器進(jìn)行L點(diǎn)FFT 運(yùn)算。N點(diǎn)FFT 的按時(shí)間抽取多通道流水處理示意如圖2,以L=4為例。
圖2 N點(diǎn)FFT按時(shí)間抽取多通道流水處理示意圖Fig.2 Flowchart of N-point FFT with Time-Domain Extraction for Multi-Channel Pipelined Processing
在時(shí)間抽取FFT 算法中,輸入數(shù)據(jù)按時(shí)間抽取劃分,但輸出結(jié)果按頻率抽取劃分。為了保證數(shù)據(jù)連貫處理,還需配合頻率抽取多通道算法。
2.2.2 頻率抽取多通道FFT算法
對(duì)公式(1)中的時(shí)域索引值按頻率抽取,頻域索引值按時(shí)間抽取,拆分如下:
其中:
由公式(6)~(7)可知,同時(shí)間抽取FFT,長(zhǎng)度為N的FFT分解為M次L點(diǎn)FFT,和L次M點(diǎn)FFT。把L認(rèn)為是通道數(shù),M認(rèn)為是單個(gè)FFT 處理器點(diǎn)數(shù),則N點(diǎn)FFT 的流水處理可分解兩步。第1步中,1個(gè)全并行式FFT 處理器進(jìn)行L點(diǎn)FFT 運(yùn)算;第2 步中,L個(gè)流水式FFT 處理器并行進(jìn)行M點(diǎn)FFT 計(jì)算。該過程與時(shí)間抽取正好相反,N點(diǎn)FFT 的按頻率抽取多通道流水處理示意如圖3,以L=4為例。
圖3 N點(diǎn)FFT按頻率抽取多通道流水處理示意圖Fig.3 Flowchart of N-point FFT with Frequency-Domain Extraction for Multi-Channel Pipelined Processing
顯然,在頻率抽取FFT 算法中,輸入數(shù)據(jù)按頻率抽取劃分,輸出結(jié)果按時(shí)間抽取劃分,這與時(shí)間抽取FFT 算法形成互補(bǔ)關(guān)系。本文提出時(shí)頻抽取互補(bǔ)的多通道FFT 方案,采用時(shí)間抽取與頻率抽取多通道FFT 算法穿插配合,可有效提升FFT 的處理帶寬,適配NCS算法中多輪FFT的算法結(jié)構(gòu)。
本章設(shè)計(jì)了一種基于FPGA+DSP 的星載SAR實(shí)時(shí)成像系統(tǒng),采用FPGA 實(shí)現(xiàn)NCS 算法的主流程處理,DSP 實(shí)現(xiàn)輔助流程處理。系統(tǒng)結(jié)構(gòu)框圖如圖4所示。
圖4 基于FPGA+DSP的星載SAR實(shí)時(shí)成像系統(tǒng)框圖Fig.4 Block Diagram of Real-time On-board SAR Imaging System based on FPGA+DSP
本系統(tǒng)基于AMBA 總線+XDMA+DDR 存儲(chǔ)搭建。總線類型包括AXI、AXIS和APB。AXI總線用于主控(MBS),DDR存儲(chǔ)、高速數(shù)據(jù)流(原始回波和因子)的互聯(lián),AXIS 總線用于各計(jì)算模塊之間進(jìn)行高速數(shù)據(jù)傳輸,APB總線用于CPU和各模塊之間的通信控制。XDMA 是本文研制的改進(jìn)版DMA,在Xilinx DMA基礎(chǔ)上,新增了可編程地址跳變讀寫功能,用于橋接AXI和AXIS 總線,是負(fù)責(zé)系統(tǒng)中數(shù)據(jù)調(diào)度的樞紐。4組DDR和4個(gè)DDR控制器(DDRC)構(gòu)成系統(tǒng)存儲(chǔ)系統(tǒng),用于保存回波數(shù)據(jù)、因子數(shù)據(jù)、中間數(shù)據(jù)和成像結(jié)果。
四通道協(xié)同處理是本系統(tǒng)的特點(diǎn)和優(yōu)勢(shì),與單通道FPGA+DSP 相比,處理帶寬高4 倍,在算法和硬件架構(gòu)上設(shè)計(jì)難度更高。每個(gè)通道中AXI 總線上掛載了1 個(gè)DDRC、2 個(gè)XDMA、數(shù)據(jù)輸入控制器和因子輸入控制器。對(duì)于數(shù)據(jù)輸入FPGA 階段,IO傳入的原始數(shù)據(jù)和DSP 傳入的成像因子可直接分發(fā)至對(duì)應(yīng)通道的DDR 中;對(duì)于成像處理階段,DDR中的圖像數(shù)據(jù)和因子數(shù)據(jù)可通過2 路XDMA 進(jìn)入數(shù)據(jù)處理單元中。每個(gè)通道中AXIS 總線上掛載了1 個(gè)量化單元,1 個(gè)FFT+復(fù)乘單元。FFT+復(fù)乘模塊中集成了FFT、復(fù)乘、去直流等諸多模塊,互聯(lián)關(guān)系靈活。四個(gè)通道的AXIS 總線互聯(lián),可進(jìn)行跨通道高速數(shù)據(jù)傳輸,F(xiàn)FTPOST 單元和TRANSP 單元對(duì)四個(gè)通道的數(shù)據(jù)整合處理,F(xiàn)FTPOST中的因子復(fù)乘器和全并行4 點(diǎn)FFT 處理器負(fù)責(zé)多通道FFT 預(yù)/后處理,TRANSP負(fù)責(zé)圖像轉(zhuǎn)置。
本文采用的基本算法映射思路為:FPGA 負(fù)責(zé)算法中對(duì)主數(shù)據(jù)流進(jìn)行FFT、復(fù)乘、轉(zhuǎn)置和量化操作,DSP 負(fù)責(zé)各個(gè)因子的計(jì)算。在本文的設(shè)計(jì)中,NCS算法在FPGA中的處理流程被分割為多輪操作(Stage),每個(gè)Stage包含數(shù)據(jù)從DDR中讀出、數(shù)據(jù)經(jīng)過處理單元、處理結(jié)果寫回DDR 3 個(gè)步驟。以每個(gè)Stage 中最多包含1 次FFT 或1 次轉(zhuǎn)置作為分割依據(jù)。DSP在FPGA處理的同時(shí)并行對(duì)各個(gè)因子進(jìn)行計(jì)算,DSP計(jì)算完畢某個(gè)因子后,由FPGA把該因子從DSP 的DDR 中讀取至FPGA 的DDR 中??紤]到DSP 的高速接口帶寬較低,采用區(qū)域補(bǔ)償因子不變方法[7],對(duì)因子進(jìn)行多倍降采樣計(jì)算,大幅度縮短因子計(jì)算時(shí)間,可保證FPGA不必等待DSP,順利進(jìn)行主流程處理。算法映射示意如圖5 所示,由于NCS成像流程過多,且相互類似,圖中部分Stage省略。
圖5 NCS算法映射圖Fig.5 Mapping Diagram of NCS Algorithm
具體地,F(xiàn)PGA 中,第0 個(gè)Stage:原始數(shù)據(jù)存入DDR中。
第1 個(gè)Stage:原始數(shù)據(jù)從DDR 中讀出,原始數(shù)據(jù)流入FFT 模塊完成去直流+FFT 操作,處理結(jié)果寫回DDR。
第2個(gè)Stage:數(shù)據(jù)從DDR中讀出,流入TRANSP模塊進(jìn)行轉(zhuǎn)置,轉(zhuǎn)置結(jié)果寫回DDR。
第3 個(gè)Stage:數(shù)據(jù)和因子1 同時(shí)從DDR 中讀出,數(shù)據(jù)先流入FFT模塊完成FFT操作,F(xiàn)FT計(jì)算結(jié)果再和因子1 同步流入復(fù)乘模塊完成復(fù)乘,處理結(jié)果寫回DDR。
…
第14個(gè)Stage:數(shù)據(jù)和因子10同時(shí)從DDR 中讀出,同時(shí)流入復(fù)乘模塊完成復(fù)乘,計(jì)算結(jié)果流入FFT模塊完成IFFT 操作,IFFT 計(jì)算結(jié)果流入量化模塊完成量化,結(jié)果寫入DDR。
第15個(gè)Stage:成像結(jié)果從DDR導(dǎo)出。
DSP 在Stage0 過程中,會(huì)開啟因子計(jì)算,按順序逐個(gè)計(jì)算因子1~因子10,并存入DDR 中。DSP計(jì)算完畢1個(gè)因子,即向FPGA 上報(bào)中斷。當(dāng)FPGA處理該中斷時(shí),通過高速接口將該因子從DSP 的DDR讀取至FPGA的DDR中。
星載SAR 成像系統(tǒng)的設(shè)計(jì)在整機(jī)體積、功耗、處理時(shí)效等方面存在著諸多限制和要求,本文選用業(yè)內(nèi)能效比領(lǐng)先的Xilinx XC7VX690T FPGA 和FT6678 DSP 搭建系統(tǒng),依據(jù)“時(shí)效性最優(yōu)”原則完成系統(tǒng)設(shè)計(jì),系統(tǒng)關(guān)鍵參數(shù)如表1所示。
表1 星載SAR成像系統(tǒng)關(guān)鍵參數(shù)設(shè)計(jì)表Tab.1 Key Parameter Design Table for Spaceborne SAR Imaging System
存儲(chǔ)帶寬設(shè)計(jì):存儲(chǔ)帶寬是決定SAR 成像系統(tǒng)實(shí)時(shí)性的瓶頸,選擇V7690T FPGA 最高支持的4 組DDR3,可保證理論時(shí)效性最優(yōu)。單個(gè)DDR 主頻800 MHz,位寬為64 bit,單個(gè)DDR 帶寬=800 MHz×64 bit=6.4 GB/s,4 組DDR 總 帶 寬=4×6.4 GB/s=25.6 GB/s。
存儲(chǔ)容量設(shè)計(jì):選擇DDR3 支持的最大容量8 GB,總?cè)萘?2 GB,最大可處理的單景SAR 圖像尺寸為32K×64K(或16K×128K等)。
FFT 并行度設(shè)計(jì):設(shè)計(jì)的處理帶寬應(yīng)匹配或略高于存儲(chǔ)帶寬,以保證存儲(chǔ)帶寬充分利用。“FFT-復(fù)乘”運(yùn)算是SAR 成像中的高頻步驟,在250 MHz 主頻下,單個(gè)單精度浮點(diǎn)FFT 處理器的處理帶寬=250 MHz×64 bit=2 GB/s,“FFT-復(fù)乘”包含2 路輸入+1 路輸出,總吞吐帶寬=3×2 GB/s=6 GB/s??紤]到因子從DSP 中寫入FGPA 時(shí),同樣占用DDR 帶寬,平均至每個(gè)DDR 為20 Gbps÷4÷8=0.625 GB/s,在理想情況下,單個(gè)DDR 中SAR 成像主流程的帶寬為5.8~6.4 GB/s。因此,4 組DDR 搭配4 組“FFT+復(fù)乘”模塊,存儲(chǔ)和處理帶寬相互匹配。
FFT 長(zhǎng)度設(shè)計(jì):受限于V7690T 邏輯資源,設(shè)計(jì)單個(gè)FFT 長(zhǎng)度為32K,可通過4 通道合并處理最高支持至128K。
針對(duì)不同成像尺寸,本文給出了適配的FFT 和轉(zhuǎn)置實(shí)現(xiàn)方法。如SAR 圖像的兩維尺寸均≤32K,則稱為常規(guī)尺寸;如SAR 圖像的某一維尺寸>32K,則稱為非常規(guī)尺寸。
常規(guī)尺寸:?jiǎn)蝹€(gè)FFT 處理器可覆蓋FFT 長(zhǎng)度,4 個(gè)FFT 處理器相互獨(dú)立工作,分別處理1/4 的數(shù)據(jù),可達(dá)到最高處理帶寬。因此數(shù)據(jù)必須沿非處理維度分割放置在4 個(gè)DDR 中。以32K×32K(距離向×方位向,余文中的尺寸表示同理)為例,Stage1中沿距離向執(zhí)行FFT,因此數(shù)據(jù)在Stage0 中沿方位向分割為4 份,DDR0~DDR3 中分別放置的數(shù)據(jù)量為32K×8K。Stage3中沿方位向執(zhí)行FFT,因此數(shù)據(jù)必須變?yōu)檠鼐嚯x向分割為4 份,DDR0~DDR3 中分別放置的數(shù)據(jù)量為8K×32K。因此,Stage2 轉(zhuǎn)置時(shí),不僅需要將數(shù)據(jù)由距離向轉(zhuǎn)為方位向,同時(shí)還需要將4 個(gè)DDR 中的數(shù)據(jù)交叉存儲(chǔ)。以上步驟的示意圖如圖6所示,尺寸的表示方法是距離向長(zhǎng)度×方位向長(zhǎng)度。在Stage 中,白色網(wǎng)格代表1 幅32K×32K的圖片沿二維分割為16 塊存于DDR 中,在轉(zhuǎn)置操作中,4 個(gè)DDR 需要兩兩交互數(shù)據(jù)。在其他Stage中,F(xiàn)FT和轉(zhuǎn)置操作類似。
圖6 常規(guī)尺寸下FFT和轉(zhuǎn)置流程示意圖Fig.6 Flowchart of FFT and Transpose Processes for Conventional Sizes
非常規(guī)尺寸:在大尺寸維度處理時(shí),單個(gè)FFT處理器無法覆蓋FFT 長(zhǎng)度,4 個(gè)FFT 協(xié)同處理。和常規(guī)尺寸不同,數(shù)據(jù)變?yōu)檠靥幚砭S度分割放置在4個(gè)DDR中。以128K×32K為例,數(shù)據(jù)在Stage0中沿距離向分割為4份,DDR0~DDR3中分別放置的數(shù)據(jù)量為32K×32K,Stage1中沿距離向執(zhí)行四通道128K點(diǎn)FFT。Stage3 中沿方位向執(zhí)行32K 點(diǎn)FFT,4 個(gè)FFT處理器獨(dú)立處理。由于數(shù)據(jù)已經(jīng)沿距離向分割為4 份,Stage2 中無須進(jìn)行DDR 間數(shù)據(jù)交互。以上步驟示意如圖7。需要注意的是,圖中的4通道FFT是以頻率抽取為例進(jìn)行示意的,兩種抽取方式的不同點(diǎn)在于FFT模塊和FFTPOST模塊的執(zhí)行順序相反。
圖7 非常規(guī)尺寸下FFT和轉(zhuǎn)置流程示意圖Fig.7 Flowchart of FFT and Transpose Processes for Non-Conventional Sizes
本文提出的多通道FFT 方案支持時(shí)間抽取、頻率抽取兩種工作模式。靈活支持雙通道和四通道,文中僅以四通道為例進(jìn)行介紹。圖8 對(duì)FFT、FFTPOST模塊的互聯(lián)結(jié)構(gòu)進(jìn)行示意。
圖8 FFT和FFTPOST互聯(lián)結(jié)構(gòu)示意圖Fig.8 Schematic Diagram of Interconnection between FFT and FFTPOST
FFT 和FFTPOST 內(nèi)部的4 點(diǎn)FFT 和W 因子乘法器通過兩級(jí)AXIS 總線互聯(lián)。在不同抽取模式下,主控對(duì)AXIS 的互聯(lián)關(guān)系進(jìn)行設(shè)置,按照?qǐng)D2 和圖3的結(jié)構(gòu)形成對(duì)應(yīng)的四通道FFT處理結(jié)構(gòu)。
在一次SAR成像流程中,SAR圖像尺寸的某一維度超過單個(gè)FFT 最大處理長(zhǎng)度,需要在Stage0 時(shí)以時(shí)間抽取或頻率抽取的方式存于多片DDR 中。后續(xù)針對(duì)該維度進(jìn)行FFT 處理時(shí),交替使用時(shí)間和頻率抽取兩種結(jié)構(gòu)。由于量化后的SAR 圖像還需進(jìn)行幾何矯正、檢測(cè)識(shí)別的步驟,因此圖片應(yīng)該以時(shí)間連續(xù),即頻率抽取的方式輸出。所以,需預(yù)先統(tǒng)計(jì)SAR 成像流程中該維度的FFT/IFFT 次數(shù),如為偶數(shù)次,則Stage0 中應(yīng)該以頻率抽取方式存儲(chǔ),否則按時(shí)間抽取方式存儲(chǔ)。
本文提出的通用多通道轉(zhuǎn)置方案支持?jǐn)?shù)據(jù)在單個(gè)DDR 內(nèi)、多個(gè)DDR 之間進(jìn)行矩陣轉(zhuǎn)置。基本原理是基于靈活的XDMA 對(duì)DDR 的地址空間進(jìn)行二維分割讀寫,利用片上存儲(chǔ)對(duì)按塊分割的最小單元逐個(gè)進(jìn)行轉(zhuǎn)置,以此實(shí)現(xiàn)全圖轉(zhuǎn)置的功能。同時(shí),通過不同通道的XDMA 協(xié)同工作,可實(shí)現(xiàn)多個(gè)DDR之間的交叉轉(zhuǎn)置。
考慮片上存儲(chǔ)容量,將原圖以32×32 為最小單元進(jìn)行分割,最小單元進(jìn)行流水式轉(zhuǎn)置操作。以128K×16K 為例,第1 次轉(zhuǎn)置前,DDR 中沿距離向存放32K×16K 數(shù)據(jù),1 行距離向數(shù)據(jù)存于32 個(gè)Page中,每個(gè)Page 中存放1024×64 bit。轉(zhuǎn)置開始時(shí),XDMA從DDR中讀取32×32大小的數(shù)據(jù),即每行距離向數(shù)據(jù)取32×64 bit,共取32 行,需跨32 次Page。32×32(距離向×方位向)點(diǎn)數(shù)據(jù)完全流入TRANSP模塊后,由TRANSP 中的地址轉(zhuǎn)換邏輯將數(shù)據(jù)按32×32(方位向×距離向)的順序輸出。最后,該32×32 點(diǎn)數(shù)據(jù)通過XDMA 寫入本DDR 或另一組DDR中。在寫入DDR時(shí),同樣需跨32次Page,每個(gè)Page中寫入1 行方位向的32×64 bit。類似地,32K×16K數(shù)據(jù)共被分割為1024×512=512K 個(gè)最小單元逐個(gè)送入TRANSP中進(jìn)行轉(zhuǎn)置。
TRANSP 模塊的轉(zhuǎn)置核心單元為一對(duì)乒乓結(jié)構(gòu)的雙口RAM 及地址控制器,共放置4 組,可同時(shí)對(duì)4 組DDR 的數(shù)據(jù)進(jìn)行轉(zhuǎn)置。TRANSP 內(nèi)部的AXIS 總線上掛載各個(gè)通道的XDMA,因此可通過配置AXIS 總線路由實(shí)現(xiàn)4 組DDR 的數(shù)據(jù)交互讀寫。以上流程如圖9所示。
圖9 轉(zhuǎn)置流程和TRANSP模塊示意圖Fig.9 Transpose Process and TRANSP Module Schematic Diagram
在非常規(guī)尺寸成像中,如圖7所示,轉(zhuǎn)置操作時(shí)4 個(gè)DDR 相互獨(dú)立,即在圖9 中,數(shù)據(jù)由某個(gè)DDR讀出,經(jīng)轉(zhuǎn)置后再寫回本DDR。在常規(guī)尺寸成像中,如圖6所示,轉(zhuǎn)置操作時(shí)4個(gè)DDR需兩兩交互數(shù)據(jù)。一次性完成該轉(zhuǎn)置需要每個(gè)DDR 啟動(dòng)4 個(gè)讀+4 個(gè)寫通道,考慮到DDR 同時(shí)啟動(dòng)的讀寫通道數(shù)過多會(huì)導(dǎo)致效率降低,因此將常規(guī)尺寸的轉(zhuǎn)置分為4個(gè)階段進(jìn)行,如圖10所示。每個(gè)階段中,當(dāng)個(gè)DDR只有1個(gè)讀+1個(gè)寫通道,可使DDR保持高效。
圖10 常規(guī)尺寸轉(zhuǎn)置4個(gè)階段示意圖Fig.10 Schematic Diagram of 4 Stages of Transpose Process for Conventional Sizes
本文使用2個(gè)XC7VX690T FPGA 和2 個(gè)FT 6678 DSP 作為核心處理器構(gòu)建SAR 成像板卡,1 個(gè)FPGA 和1 個(gè)DSP 配合實(shí)現(xiàn)本文中的設(shè)計(jì)1 套SAR成像系統(tǒng),故該板卡可對(duì)2 景圖像并行處理。板卡實(shí)物如圖11所示。
圖11 FPGA+DSP板卡實(shí)物圖Fig.11 Physical Image of FPGA+DSP Board
驗(yàn)證環(huán)境采用2 臺(tái)PC 機(jī)分別作為模擬源和地檢設(shè)備,如圖12 所示。模擬源負(fù)責(zé)向SAR 成像系統(tǒng)發(fā)送原始回波,SAR 成像系統(tǒng)處理后將結(jié)果傳回地檢,可在地檢上查看成像結(jié)果。
圖12 驗(yàn)證環(huán)境實(shí)景圖Fig.12 Schematic Diagram of Validation Environment
本文使用SAR成像系統(tǒng)對(duì)條帶、掃描、聚束、滑聚、TOPS 五種成像模型進(jìn)行成像測(cè)試,回波數(shù)據(jù)使用點(diǎn)陣仿真數(shù)據(jù),可通過峰值旁瓣比(Peak-to-Sidelobe Ratio,PSLR)和積分旁瓣比(Integrated Sidelobe Ratio,ISLR)對(duì)成像質(zhì)量進(jìn)行評(píng)估。成像結(jié)果和中心成像點(diǎn)二維剖面圖如圖13所示。
圖13 條帶/掃描/TOPS/聚束/滑聚模式點(diǎn)陣數(shù)據(jù)成像結(jié)果圖Fig.13 Schematic Diagram of Imaging Results for Strip/Scanning/TOPS/Beamforming/Sliding Focus Mode Lattice Data
表2 中給出了部分成像參數(shù)以及成像中心的PLSR和ILSR,均滿足星載SAR成像質(zhì)量需求。
表2 部分成像參數(shù)和中心點(diǎn)PSLR/ISLR表Tab.2 Partial Imaging Parameters and Center Point PSLR/ISLR Table
此外,本文進(jìn)一步對(duì)某衛(wèi)星的條帶模式、滑聚模式實(shí)測(cè)數(shù)據(jù)進(jìn)行成像處理,成像質(zhì)量良好,如圖14所示。
圖14 衛(wèi)星條帶/滑聚模式實(shí)測(cè)數(shù)據(jù)成像結(jié)果圖Fig.14 Schematic Diagram of Imaging Results for Satellite Strip/Sliding Focus Mode Experimental Data
SAR成像系統(tǒng)中,F(xiàn)PGA主控具備計(jì)時(shí)功能,可設(shè)置FPGA 將每個(gè)成像步驟的時(shí)間發(fā)送給地檢設(shè)備。本文對(duì)五種工作模式下的NCS 成像時(shí)間進(jìn)行測(cè)試,每個(gè)模式使用相同的測(cè)試數(shù)據(jù)測(cè)試3次,以減少測(cè)試時(shí)間的隨機(jī)性。此外,本文對(duì)兼容的CS 算法在五種模式的成像時(shí)間進(jìn)行測(cè)試,便于和其他論文工作進(jìn)行對(duì)比。成像時(shí)間測(cè)試情況如表3所示。
表3 成像時(shí)間測(cè)試表Tab.3 Imaging Time Test Table
與現(xiàn)有的SAR 成像系統(tǒng)[11]相比,本文提出的SAR成像系統(tǒng)同樣使用1片F(xiàn)PGA和1片DSP,系統(tǒng)規(guī)模相當(dāng)。在CS 算法、條帶模式、相同處理粒度下,本文提出系統(tǒng)的成像時(shí)間較[11]縮短約86%。
與現(xiàn)有的SAR 成像系統(tǒng)[20]相比,[20]使用4 片DSP(2 片板卡),本文提出的SAR 成像系統(tǒng)規(guī)模更小。本文采用的NCS 算法在成像質(zhì)量上優(yōu)于[20]采用的RD 算法[19]為前提,條帶模式下的成像時(shí)間較[20]縮短約64.5%,聚束模式下的成像時(shí)間較[20]縮短約64.6%。
本文提出了基于時(shí)頻抽取切換的多通道FFT處理方法,可同時(shí)實(shí)現(xiàn)單景成像粒度大、數(shù)據(jù)處理帶寬高。在芯片主頻相同(設(shè)為100 MHz)、不考慮存儲(chǔ)帶寬和容量限制的前提下,考察本文提出的成像系統(tǒng)和現(xiàn)有基于FPGA 的SAR 成像系統(tǒng)在最大處理粒度和數(shù)據(jù)處理帶寬兩方面的表現(xiàn),情況如表4。
表4 主頻100 MHz、不考慮存儲(chǔ)帶寬和容量限制的最大處理粒度和最大處理帶寬情況表Tab.4 The Table of Maximum Processing Granularity and Maximum Processing Bandwidth without Considering Storage Bandwidth and Capacity Limitations at A Main Frequency of 100 MHz
本文提出了基于XDMA+片上分割轉(zhuǎn)置的通用交叉轉(zhuǎn)置方案,可配合多通道FFT對(duì)多組DDR進(jìn)行交叉轉(zhuǎn)置,同時(shí)可靈活支持不同成像粒度??疾毂疚奶岢龅某上裣到y(tǒng)和現(xiàn)有基于FPGA 的SAR 成像系統(tǒng)在處理粒度靈活性和最高處理并行度兩方面的表現(xiàn),情況如表5。
表5 處理粒度與最大處理并行度情況表Tab.5 The Table of Processing Granularity and Maximum Processing Parallelism
本文設(shè)計(jì)了一種能夠高效實(shí)現(xiàn)NCS 算法的FPGA+DSP的SAR成像系統(tǒng),支持大斜視成像場(chǎng)景。該成像系統(tǒng)的設(shè)計(jì)包含完整的多通道FFT協(xié)同處理流程,以及多通道DDR分階段交叉轉(zhuǎn)置方案,可普適于不同成像粒度、不同硬件并行度。最后。本文研制了FPGA+DSP板卡,搭建了基于模擬源、地檢的驗(yàn)證環(huán)境,對(duì)5種成像模式仿真數(shù)據(jù)和2種成像模式實(shí)測(cè)數(shù)據(jù)進(jìn)行處理,成像質(zhì)量良好,成像速度表現(xiàn)出色。