基于DSP的高分辨SAR多普勒調(diào)頻率的估算
雷達(dá)可以全天候、全天時、遠(yuǎn)距離對目標(biāo)進(jìn)行檢測和定位,隨著合成孔徑雷達(dá)(SAR)技術(shù)的引入,可以通過SAR獲得觀測區(qū)域的高分辨圖像,在國民經(jīng)濟(jì)和軍事領(lǐng)域中有著十分重要的應(yīng)用。為了獲得高分辨,發(fā)射大時寬的寬頻帶信號,如線性調(diào)頻信號等,可以在接收后進(jìn)行脈沖壓縮來實(shí)現(xiàn)。在實(shí)際處理中,脈沖壓縮是通過快速傅里葉變換來實(shí)現(xiàn)的,對于場景大、分辨率高的情況,尤其是在實(shí)時成像中實(shí)際運(yùn)算量也是十分的巨大。為此,采用由ADI公司的TS-201S高性能數(shù)字信號處理器搭建的平臺來實(shí)現(xiàn)實(shí)時成像系統(tǒng)。文中分析了MD算法實(shí)際工程應(yīng)用,并完成了多普勒調(diào)頻率估計的快速估算。
1 基本原理
1.1 高分辨SAR成像計算流程
從圖1中可以看出在整個實(shí)時成像系統(tǒng)中,多普勒調(diào)頻率的準(zhǔn)確而快速的計算尤為重要。其中在運(yùn)動補(bǔ)償中,運(yùn)動補(bǔ)償參數(shù)是由多普勒調(diào)頻率推導(dǎo)出的。在方位脈沖壓縮中,在用CS算法完成距離向的距離走動和距離彎曲矯正后,還需要對多普勒調(diào)頻率做再次的估計,以便于精確的完成方位脈沖壓縮,因此多普勒調(diào)頻率的計算精度和速度對成像有很大的影響。
1.2 MD估計算法
在實(shí)際應(yīng)用中,MD估計算法是主要的多普勒調(diào)頻率估計算法,由于二次相位是使圖像產(chǎn)生模糊的主要相位項(xiàng),且MD估計算法能穩(wěn)健地估計二次相位。MD估計算法將全孔徑時間分成不交疊的兩個子孔徑,在利用二次相位在前后兩部分孔徑中有不同的函數(shù)表述式子。每個子孔徑可分解成常量、一次分量和二次分量,其中常量和二次分量相同,一次分量使兩個子孔徑像平移。MD估計算法就是通過估計兩個子孔徑之間的平移量,估計整個孔徑的二次項(xiàng)系數(shù),得到多普勒調(diào)頻率的估計值。其具體流程,如圖2所示。
[!--empirenews.page--]
2 DSP編程實(shí)現(xiàn)
在實(shí)測數(shù)據(jù)的Matlab處理中,MD算法流程實(shí)現(xiàn)如圖3所示。為了使多普勒調(diào)頻率估計精度滿足實(shí)際的需要,通常需要用估計出的多普勒調(diào)頻率作為調(diào)頻率參考值從對距離脈壓數(shù)據(jù)做方位脈壓,然后重復(fù)子孔徑相關(guān)等后面的步驟,得出更精確的調(diào)頻率值。一般重復(fù)3次即可,次數(shù)越多越精確,但是考慮的成像效果以及實(shí)時性的要求,3次重復(fù)就可以得出滿意的結(jié)果。這里n為所選取的最大的能量和數(shù)量,這里選64即可以滿足要求。
文中選用ADI公司的TSs-20lS高性能數(shù)字信號處理器在運(yùn)算能力、與外部通信能力及在大內(nèi)存設(shè)計等方面都優(yōu)于其它類型的處理芯片。其主要特點(diǎn)有:(1)內(nèi)部時鐘頻率最高為600 MHz,指令周期1.67 ns(在此系統(tǒng)中內(nèi)部核時鐘采用500 MHz,指令周期為2 ns),24 MB的片內(nèi)DRAM存儲器,分為6個4 MB的存儲器塊,每個塊包含128 000個32位字,每個塊內(nèi)存連接著交叉線通過它自身的緩沖和一個128 000 kB的4-Way緩沖器;(2)芯片內(nèi)包含兩個運(yùn)算模塊(X-ComputeBlocks,Y-Compute Blocks),每個模塊包括一個整數(shù)ALU、一個乘法器、一個移位器和一個寄存器組(32-word)和一個通信邏輯單元。其中,ALU用于尋址和指針操作;(3)4條128 bit的總線提供高的帶寬連接內(nèi)部存儲塊。擴(kuò)展端口包含主機(jī)端口、SDRAM控制器、靜態(tài)管線接口、4個DMA通道。4個LVDS連接端口(每一個都連接2個DMA通道),支持8片DSP共享總線的片上仲裁,無需其它邏輯。IEEE 1149.1兼容的JTAG測試端口用于片上仿真。外部端口的DMA傳輸速率可達(dá)1 GB/s,每個鏈路口的DMA傳輸速率可達(dá)1 GB/s,共計5 GB/s的外部I/O能力。而且,ADSP-TFS201S的靜態(tài)超標(biāo)量結(jié)構(gòu)使其每周期能夠執(zhí)行多達(dá)4條指令、24個16位定點(diǎn)運(yùn)算和6個浮點(diǎn)運(yùn)算;4條相互獨(dú)立的內(nèi)部數(shù)據(jù)總線(128位),每條連接到6個4 MB的內(nèi)部存儲器塊。提供了4 bit的數(shù)據(jù)、指令I(lǐng)/O訪問和33.6 GB/s的內(nèi)部存儲器帶寬。因此運(yùn)行在500 MHz時,ADSP-TS201S的可以提供48億次40位的MAC運(yùn)算或者12億次的80位MAC運(yùn)算。雷達(dá)成像中用到了大量的FFT運(yùn)算,TS201在計算。FFT時速度很快。例如,運(yùn)行在500 MHz時,做1 024點(diǎn)的FFT只需18.8μs。ADSP-TS201S有豐富的內(nèi)部存儲資源,而且也特別適合于并行計算,組成高速并行處理器。這對于高分辨SAR實(shí)時成像系統(tǒng)而言非常有利。
在此實(shí)時成像中的多普勒調(diào)頻率估計中,數(shù)據(jù)塊為512×4 096(方位向和距離向)個復(fù)數(shù)。分別按照并且需要計算16個調(diào)頻率值,即按距離單元分為16個子數(shù)據(jù)塊,每個塊為512×256個復(fù)數(shù)。為保證計算精度,一個復(fù)數(shù)占2×32 bit的存儲單元,即實(shí)部虛部各占一個4 bit單元。
由于數(shù)據(jù)從SDRAM讀到內(nèi)部存儲器中需要很多機(jī)器周期,在此時計算塊就會處于空閑狀態(tài),不利于提高運(yùn)行速度和執(zhí)行效率,所以在實(shí)際計算時,采用如圖4所示的流程來提高效率。圖4中,相同的箭頭表示同時交換數(shù)據(jù)。當(dāng)計算塊在計算內(nèi)部存儲區(qū)1的數(shù)據(jù)時,內(nèi)部存儲區(qū)2通過TS-201S的DMA模塊直接和SDRAM交換數(shù)據(jù)。當(dāng)計算完內(nèi)部存儲區(qū)1的數(shù)據(jù)時,計算塊就直接計算內(nèi)部存儲區(qū)2的數(shù)據(jù),同時內(nèi)部存儲區(qū)1通過 TS-201S的DMA模塊直接和SDRAM交換數(shù)據(jù),此時計算塊一直處于滿負(fù)荷狀態(tài),不用為等待數(shù)據(jù)而變得空閑,這種運(yùn)算方式即所謂的“乒乓”方式。在使用DSP實(shí)現(xiàn)算法流程時,按方位向求能量和、方位脈壓及子孔徑相關(guān)的運(yùn)算量最大,重點(diǎn)在這幾方面進(jìn)行優(yōu)化。
在按方位向取能量和的計算中,512個復(fù)數(shù)先取模再平方再求和,大概需要2 500多個機(jī)器周期,而從SDRAM中讀取這512個數(shù)據(jù)需要1 200多個周期,因?yàn)?12個復(fù)數(shù)相當(dāng)于1 024個實(shí)數(shù),并且DMA大約為一個周期傳送一個數(shù)據(jù)。按照“乒乓”方式計算,相當(dāng)于沒有讀取數(shù)據(jù)的時間,所以速度的提升是十分明顯的。為了能夠更加充分的利用計算塊,在計算塊和內(nèi)部存儲區(qū)之間也采用了類似的“乒乓”方式。在運(yùn)算量極大的按方位向求能量和中,一個計算數(shù)據(jù)塊512×2中有512個復(fù)數(shù)。其中,一個復(fù)數(shù)的模的平方需要計算兩次乘法(每次乘法需要兩個機(jī)器周期)和一次加法(一個機(jī)器周期),總和還需要512次加法,所以總共要計算大約3 500多個機(jī)器周期。所有的16個多普勒調(diào)頻率估計,僅在計算能量和就需要約3 500×4 096多個機(jī)器周期,所以用盡可能少的機(jī)器周期來完成這個計算顯得尤為重要。充分利用TS-201S處理器中計算塊內(nèi)部有兩個并行的獨(dú)立計算模塊X-Compute Blocks和Y-Compute Blocks,而且每個計算模塊都有一個乘法器和加法器,則同時讀取兩個復(fù)數(shù)分別到兩個計算模塊中,然后在寄存器中選一個作為和的存放地,初始為0,以及兩個作為平方后的存放寄存器。先計算實(shí)部的平方(2個周期),再做虛部的平方以及將實(shí)部的平方與和寄存器相加存到和寄存器中(2個周期),讀取下兩個復(fù)數(shù)(1個周期),實(shí)部平方的計算及上一組數(shù)據(jù)的虛部平方與和寄存器相加并存放(2個周期),在做虛部平方及實(shí)部平方與和寄存器相加并存放(2個周期),依此類推,直到所有的復(fù)數(shù)計算完畢。從中可以看出,大約需要5個周期就可以計算兩個復(fù)數(shù),全部計算完成大概需要2 500多個周期,與3 500多個周期相比還是節(jié)省了很多。[!--empirenews.page--]
方位脈壓及子孔徑相關(guān)的運(yùn)算量遠(yuǎn)大于通過DMA讀取數(shù)據(jù)的時間,所以只要通過圖4的計算流程就可以實(shí)現(xiàn)DSP計算模塊的滿負(fù)荷運(yùn)行。
3 結(jié)果對比
經(jīng)過編譯調(diào)試,將512×4 096的數(shù)據(jù)塊全部導(dǎo)入到DSP仿真軟件平臺Visual DSP++4.5中計算全部的16個多普勒調(diào)頻率,用去315 454 119個周期,當(dāng)TS-201運(yùn)行在500 MHz時,相當(dāng)于用去0.63 s。在用硬件仿真器調(diào)試時,時間約為0.58 s,比用Visual DSP++軟件仿真平臺稍快。得到的結(jié)果,如圖5所示,誤差如圖6所示。從圖中可以看出,在DSP平臺上,計算結(jié)果和Matlab計算結(jié)果還是有誤差的,但是控制在小數(shù)點(diǎn)后第2位,在成像時,還是可以用于運(yùn)動補(bǔ)償和方位脈壓的。
4 結(jié)束語
在分析Matlab實(shí)現(xiàn)MD算法的流程后,充分利用ADI公司的TS-201S數(shù)字信號處理器的特性,針對多普勒調(diào)頻率估計的大運(yùn)算量進(jìn)行了優(yōu)化,以減少計算塊的等待時間,為優(yōu)化思路以及充分利用計算塊中的資源來實(shí)現(xiàn)用盡可能少的周期完成計算,并且該算法模塊已應(yīng)用于某高分辨SAR實(shí)時成像系統(tǒng),最終成像結(jié)果令人滿意。