張佳佳,姜衛(wèi)東,李 寬
(1.國防科學(xué)技術(shù)大學(xué)電子科學(xué)與工程學(xué)院,湖南 長沙410073;2.國防科學(xué)技術(shù)大學(xué)計(jì)算機(jī)學(xué)院,湖南 長沙410073)
在逆合成孔徑雷達(dá)(ISAR)成像中,包絡(luò)對齊是決定成像質(zhì)量的關(guān)鍵技術(shù)。包絡(luò)對齊的經(jīng)典算法有最大互相關(guān)法[1~3]、最小熵法[4]、峰值最大法,最大互相關(guān)法包括相鄰互相關(guān)法[1]、積累互相關(guān)法[2]以及整體互相關(guān)法[3]。積累互相關(guān)法和最小熵法性能較好,然而兩者對齊精度直接受限于雷達(dá)距離分辨單元。超分辨技術(shù)[5]可以提高距離分辨率,但是該方法需要足夠的信噪比,工程上難于實(shí)現(xiàn)。而巧妙利用Fourier變換的頻域移位性質(zhì),可以縮短包絡(luò)對齊處理步長,有效減小一維距離像對齊誤差[6]。
本文采用加矩形窗的積累互相關(guān)法獲得粗對齊包絡(luò),而后基于頻移因子利用最小熵準(zhǔn)則調(diào)整對齊結(jié)果。一般ISAR 成像原始回波數(shù)據(jù)量大,互相關(guān)法和最小熵法計(jì)算量都很大,在序列成像、實(shí)時成像等條件下對計(jì)算資源是一大挑戰(zhàn)。為提高包絡(luò)對齊速度,文獻(xiàn)中出現(xiàn)多種方案:基于GPU 的最 小 熵 包 絡(luò) 對 齊 法[7]、FPGA 加 多 片 單 核DSP 的ISAR 實(shí)時成像[8]、基于多核DSP的信號處理平臺減少對齊時間[9]等硬件處理手段,但是硬件優(yōu)化結(jié)構(gòu)研制和改進(jìn)周期長、費(fèi)用高昂且維護(hù)不便。
針對上述問題,考慮到CPU 計(jì)算性能飛速提升以及多核處理器的廣泛應(yīng)用,本文提出基于OpenMP(Open Multi-Processing)[10]共享存儲的包絡(luò)對齊優(yōu)化算法,分別將互相關(guān)法和最小熵法劃分為多個獨(dú)立任務(wù),利用OpenMP 將各任務(wù)映射到不同線程中并行執(zhí)行,充分利用多核處理器資源,提高程序運(yùn)行效率。實(shí)驗(yàn)結(jié)果顯示,并行算法加速效果明顯,加速效率最高可達(dá)98%,并且該方法無需額外硬件支持,費(fèi)用低廉,易于實(shí)現(xiàn)。
逆合成孔徑雷達(dá)成像經(jīng)典算法為距離-多普勒(R-D)成像算法,包含三個步驟:距離壓縮、運(yùn)動補(bǔ)償和方位壓縮,運(yùn)動補(bǔ)償又由包絡(luò)對齊和相位補(bǔ)償組成。R-D 算法如圖1所示。
Figure 1 Range-Doppler algorithm圖1 ISAR 成像距離-多普勒算法
由圖1知,包絡(luò)對齊的前提是原始回波的距離壓縮,其實(shí)質(zhì)為對每個脈沖回波進(jìn)行FFT 獲得相應(yīng)的一維距離像。而由于目標(biāo)相對于雷達(dá)的平動,距離像之間出現(xiàn)未對齊現(xiàn)象。本文包絡(luò)對齊分兩步:加矩形窗的積累互相關(guān)對齊和基于頻移因子的最小熵對齊。
加矩形窗的積累互相關(guān)算法中,參考包絡(luò)是窗長的已對齊包絡(luò)的加權(quán)和產(chǎn)生的合成包絡(luò)(此處為矩形窗加權(quán),即權(quán)值都為1,窗長盡可能大)。本文對參考包絡(luò)和待對齊包絡(luò)分別進(jìn)行FFT 處理,F(xiàn)FT 結(jié)果相乘,之后進(jìn)行IFFT 處理獲得粗對齊一維距離像,如圖2所示。
Figure 2 Accumulated cross correlation algorithm based on rectangular window圖2 加矩形窗的積累互相關(guān)包絡(luò)對齊法
基于頻移因子的最小熵法以積累互相關(guān)得出的每次回波的對齊偏移量τi為中心,在[τi-Δτ,τi+Δτ] 內(nèi) 求 得L個 頻 移 因 子 exp(j2πτilΔfnTs)(Δf為FFT 頻譜分辨單元,Ts為脈內(nèi)采樣周期),與該次回波si()n相乘,然后依據(jù)最小熵準(zhǔn)則調(diào)整互相關(guān)對齊精度,如圖3所示。
Figure 3 Minimum entropy range alignment algorithm based on frequency shifting property圖3 基于頻移因子的最小熵包絡(luò)對齊法
OpenMP[11]是共享存儲多核處理器編寫并行程序的一套編程接口,由環(huán)境變量、編譯制導(dǎo)指令以及支持它的函數(shù)庫組成。OpenMP 并行執(zhí)行模型為分叉-合并(Fork-Join)模式(如圖4所示):程序開始時,主線程串行執(zhí)行;遇到派生點(diǎn)后,主線程創(chuàng)建并行線程隊(duì)列,執(zhí)行并行區(qū)代碼;并行代碼執(zhí)行完畢,派生線程掛起或退出,由主線程繼續(xù)執(zhí)行串行程序,直到遇到下一個派生點(diǎn)。
Figure 4 Fork-Join pattern of OpenMP圖4 OpenMP分叉-合并模型
使用OpenMP 開發(fā)并行程序簡單且通用性強(qiáng),無需關(guān)注并行化細(xì)節(jié)。在源代碼中加入合適的#pragma編譯指導(dǎo)指令,編譯器自動并行化程序。OpenMP與編譯器無關(guān),開發(fā)平臺不支持OpenMP時,編譯器自動忽略#pragma指令,程序轉(zhuǎn)為串行代碼順序編譯并正常運(yùn)行。
包絡(luò)對齊數(shù)據(jù)流為二維矩陣,算法以距離像包絡(luò)為單位循環(huán)執(zhí)行對齊任務(wù)。因此,本文主要是對循環(huán)部分進(jìn)行并行化設(shè)計(jì),研究帶有循環(huán)結(jié)構(gòu)的大數(shù)據(jù)量計(jì)算的并行方法時,首先分析計(jì)算數(shù)據(jù)之間的相關(guān)性,然后討論計(jì)算執(zhí)行時的數(shù)據(jù)劃分方法,最后進(jìn)行必要的調(diào)整。
原始回波數(shù)據(jù)矩陣由回波個數(shù)和回波采樣點(diǎn)數(shù)組成,一般回波個數(shù)和采樣點(diǎn)數(shù)都較大。距離壓縮時各個脈沖回波相互獨(dú)立,循環(huán)對每個回波進(jìn)行FFT 處理,因此只需在循環(huán)外直接使用OpenMP指令即可有效實(shí)現(xiàn)程序并行優(yōu)化。包絡(luò)對齊基于相鄰脈沖回波的強(qiáng)相關(guān)性,當(dāng)前回波的參考信號依賴前面矩形窗長的已對齊回波距離像包絡(luò),但是與矩形窗外回波相關(guān)性較小,而且脈沖回波數(shù)目遠(yuǎn)遠(yuǎn)大于矩形窗內(nèi)回波數(shù)目,因此,本文提出依據(jù)處理器核數(shù)對回波數(shù)據(jù)進(jìn)行均勻分塊,每塊回波數(shù)目遠(yuǎn)大于窗長,能夠大大消除數(shù)據(jù)塊間的相關(guān)性。同時,為保證對齊質(zhì)量,本文提出由第一塊待對齊數(shù)據(jù)獲得的參考信號作為其它各塊待對齊回波的參考距離像。因此,本文在多核處理器上進(jìn)行數(shù)據(jù)分塊并行執(zhí)行包絡(luò)對齊任務(wù),既保證對齊質(zhì)量,又提高對齊速度。
由于原始回波數(shù)目大,各次回波循環(huán)執(zhí)行FFT,OpenMP利用函數(shù)omp_set_num_threads()設(shè)置線程數(shù)目,編譯指導(dǎo)指令#pragma omp for直接作用于循環(huán)語句,程序即自動依照線程數(shù)目并行執(zhí)行循環(huán)運(yùn)算,有效減少距離壓縮時間且實(shí)現(xiàn)簡單。
積累互相關(guān)包絡(luò)對齊是每個待對齊一維距離像與參考距離像進(jìn)行互相關(guān)得到粗對齊一維距離像。首先,根據(jù)處理器核數(shù)n,將待對齊數(shù)據(jù)順序均勻分成n塊,利用OpenMP 編譯指導(dǎo)指令#pragma omp section將各塊數(shù)據(jù)分配到各線程,每個線程參考包絡(luò)都使用第一塊數(shù)據(jù)獲得的參考包絡(luò)以保證對齊質(zhì)量。整個并行互相關(guān)運(yùn)算就是各塊待對齊數(shù)據(jù)分別與參考包絡(luò)在各線程中并行執(zhí)行互相關(guān),執(zhí)行結(jié)果合并即為粗對齊一維距離像,并行過程如圖5所示。
Figure 5 Parallel accumulated cross correlation algorithm圖5 積累互相關(guān)并行方法
該模塊依據(jù)處理器核數(shù)n,將粗對齊數(shù)據(jù)均勻分為n塊,第一塊數(shù)據(jù)計(jì)算得到參考距離像作為其它各塊數(shù)據(jù)的參考包絡(luò),利用OpenMP 編譯指導(dǎo)指令#pragma omp section自動將各塊數(shù)據(jù)與參考數(shù)據(jù)分配到各線程,并行執(zhí)行基于頻移因子的最小熵運(yùn)算,并行過程如圖6所示。此時,各數(shù)據(jù)塊的數(shù)據(jù)量基本相同,運(yùn)算量相當(dāng),因此各線程負(fù)載均衡,并行執(zhí)行效率高。
Figure 6 Parallel minimum entropy algorithm圖6 最小熵并行方法
為方便描述并行性能,采用傳統(tǒng)的加速比和效率性能評價標(biāo)準(zhǔn)。加速比定義為:
其中,Ts是串行算法單線程運(yùn)行時間,Tp是并行算法在多核處理器上用P個核并行處理運(yùn)行時間。
效率定義為:
其中,P為處理器核數(shù)。相同線程下加速比越大,并行效率越高,則并行程序性能越好。
本文包絡(luò)對齊并行方法為依據(jù)線程數(shù)目n對各算法輸入數(shù)據(jù)進(jìn)行分塊處理,即輸入數(shù)據(jù)分為n塊共同執(zhí)行各處理算法,故而理論上各算法并行執(zhí)行時間為串行程序耗時的1/n倍,加速比達(dá)到n,并行效率高達(dá)100%。但是,由于算法程序無法完全并行化、計(jì)算機(jī)性能的影響以及多核處理器共享內(nèi)存訪問帶寬增大訪問開銷,導(dǎo)致并行效率無法達(dá)到理論數(shù)值,后續(xù)工作應(yīng)該盡可能減少搶占內(nèi)存資源帶來的訪問開銷。
本文使用Microsoft Visual Studio 2010開發(fā)工具,采用OpenMP 并行編程接口設(shè)計(jì)并行優(yōu)化程序。仿真實(shí)驗(yàn)平臺為八核處理器Intel(R)Core(TM)i7-4770CPU @3.40GHz,16GB內(nèi)存,64位操作系統(tǒng)。實(shí)驗(yàn)數(shù)據(jù)為1 024×1 001的雷達(dá)回波數(shù)據(jù),即單脈沖采樣點(diǎn)數(shù)1 024點(diǎn),脈沖回波個數(shù)為1 001個,數(shù)據(jù)大小為7 104KB。
實(shí)驗(yàn)分為距離壓縮和包絡(luò)對齊兩部分。為提高對齊精度,包絡(luò)對齊分兩個模塊:積累互相關(guān)對齊模塊和最小熵對齊模塊。因此,距離壓縮、互相關(guān)法和最小熵法為三個獨(dú)立模塊,包絡(luò)對齊是互相關(guān)法與最小熵法的整體執(zhí)行效果。文中用單線程以及2、4、6、8個線程分別進(jìn)行程序性能優(yōu)化處理,為了得到更直觀的視覺效果,四個模塊的執(zhí)行時間、加速比及并行效率用折線圖表示,如圖7~圖9所示。
Figure 7 Execution time of the serial and parallel algorithms圖7 各算法模塊串行、并行執(zhí)行時間(ms)
由圖7可知,包絡(luò)對齊法執(zhí)行時間略大于互相關(guān)模塊和最小熵模塊運(yùn)算時間的總和,完全符合互相關(guān)法和最小熵法共同執(zhí)行得到對齊包絡(luò)的事實(shí)。距離壓縮、互相關(guān)對齊和最小熵對齊模塊中,相同線程數(shù)目下,距離壓縮處理耗時最少,最小熵法計(jì)算量最大,且隨著線程數(shù)目增加,各模塊執(zhí)行時間逐漸減少,有效提高成像速度。
圖8顯示,隨著線程數(shù)目增加,各模塊加速比逐漸增大。相同線程數(shù)目下進(jìn)行程序優(yōu)化處理時,最小熵法加速比最大,這是因?yàn)樽钚§貙R運(yùn)算量最大,耗時最長,因此多線程性能優(yōu)化最好。但是,包絡(luò)對齊加速比反而小于最小熵模塊加速比,這是因?yàn)榛ハ嚓P(guān)包絡(luò)對齊法運(yùn)算復(fù)雜,多線程并行優(yōu)化性能較差,抑制包絡(luò)對齊整體優(yōu)化性能。
Figure 8 Speed-up of the four algorithms圖8 各算法模塊加速比
圖9為多線程并行優(yōu)化效率,并行線程數(shù)目較少時,并行效率高達(dá)95%以上,隨著線程數(shù)目增加,優(yōu)化效率降低,甚至八線程互相關(guān)并行效率降到50%以下,綜合圖7和圖8內(nèi)容,隨著線程個數(shù)達(dá)到一定數(shù)目,程序執(zhí)行時間減小速度下降且加速比增大速度降低,這是由于OpenMP 是基于共享存儲的并行編程模型,多核處理器共享內(nèi)存訪問帶寬,線程過多會搶占帶寬資源,增大內(nèi)存訪問開銷。但是,最小熵模塊的八線程并行效率依然在60%以上,而且最小熵法各線程并行效率和加速比都高于其他模塊,這是因?yàn)樽钚§靥幚碛?jì)算量大,并行性能優(yōu)化空間大,即耗時長的程序比耗時短的程序優(yōu)化效果更明顯。然而,盡管互相關(guān)法加速比不高,并行效率低,但是相對于最小熵方法,其執(zhí)行時間較短,故而綜合積累互相關(guān)對齊和最小熵對齊的并行效果,包絡(luò)對齊整體優(yōu)化性能較好。因此,多線程并行算法并不是線程越多越好,要根據(jù)數(shù)據(jù)量、算法計(jì)算量以及算法復(fù)雜程度選擇適當(dāng)?shù)木€程數(shù)目進(jìn)行并行優(yōu)化。
Figure 9 Parallel efficiency of the four algorithms圖9 各算法模塊并行效率
本文設(shè)計(jì)了基于OpenMP的包絡(luò)對齊并行方法,在多核處理器上對程序進(jìn)行多線程并行優(yōu)化。從減少程序執(zhí)行時間和保證對齊質(zhì)量著手,對計(jì)算數(shù)據(jù)分塊,各塊數(shù)據(jù)并行執(zhí)行對齊任務(wù)。仿真實(shí)驗(yàn)結(jié)果表明,包絡(luò)對齊的多線程并行處理有效縮短對齊時間,提高一維距離成像速度,為ISAR 成像的實(shí)時性提供條件。
本文是在多核處理器上進(jìn)行包絡(luò)對齊并行優(yōu)化研究,在未來的工作中,針對雷達(dá)處理上的多種復(fù)雜算法,考慮使用消息傳遞機(jī)制MPI實(shí)現(xiàn)多機(jī)并行優(yōu)化,以及使用GPU(CUDA)實(shí)現(xiàn)異構(gòu)加速。
[1] Chen C C,Andrews H C.Target-motion-induced radar imaging[J].IEEE Transactions on Aerospace Electronic Systems,1980,16(1):2-14.
[2] Delisle G Y,Wu H Q.Moving target imaging and trajectory computation using ISAR[J].IEEE Transactions on Aerospace Electronic Systems,1994,30(3):887-899.
[3] Xing Meng-dao,Bao Zheng,Zheng Yi-ming.Rang alignment using global optimization criterion in ISAR imaging[J].Acta Electronic Sinica,2001,29(12A):1807-1811.(in Chinese)
[4] Wang Gen-yuan,Bao Zheng.The minimum entropy criterion of range alignment in ISAR motion Compensation[C]∥Proc of Conference Radar,1997:236-239.
[5] Wang Kun,Luo Lin,Bao Zheng.Using super resolution technique improve range alignment accuracy of ISAR imaging[J].Journal of Xidian University,1997,24(Supp):109-115.(in Chinese)
[6] Liu Ai-fang,Li Yu-sheng,Zhu Xiao-h(huán)ua.ISAR range alignment using improved envelope minimum entropy algorithm[J].Journal of Signal Processing,2005,21(1):49-51.(in Chinese)
[7] Shi Xin-liang,Xie Xiao-chun.GPU acceleration of range alignment based on minimum entropy criterion[C]∥Proc of IET International Radar Conference 2013,2013:1-4.
[8] Yang Jian,Du Lin-lin,Xin Yu-lin,et al.Real-time ISAR imaging of multilevel parallel processing based on R-D method[J].Journal of Astronautics,2010,31(5):1427-1432.(in Chinese)
[9] Guo Rui,Zhang Yue,Sun Gang,et al.Research on ISAR real-time imaging technology using multicore DSP[J].Journal of Signal Processing,2013,29(9):1238-1243.(in Chinese)
[10] OpenMP application program interface version 3.0[EB/OL].[2010-10-10].http://www.openmp.org/mp-documents/spec30.pdf.
[11] Cai Jia-jia,Li Ming-shi,Zheng Feng.OpenMP-based parallel computation on multi-core PC[J].Computer Technology and Development,2007,17(10):88-91.(in Chinese)
附中文參考文獻(xiàn):
[3] 邢孟道,保錚,鄭義明.用整體最優(yōu)準(zhǔn)則實(shí)現(xiàn)ISAR 成像的包絡(luò)對齊[J].電子學(xué)報(bào),2001,29(12A):1807-1811.
[5] 王琨,羅琳,保錚.應(yīng)用超分辨技術(shù)提高逆合成孔徑雷達(dá)成像包絡(luò)對齊精度[J].西安電子科技大學(xué)學(xué)報(bào),1997,24(增刊):109-115.
[6] 劉愛芳,李彧晟,朱曉華.用改進(jìn)的包絡(luò)最小熵法進(jìn)行包絡(luò)對齊[J].信號處理,2005,21(1):49-51.
[8] 楊劍,杜琳,辛玉林,等.基于多級并行處理的R-D 方法的ISAR 實(shí)時成像[J].宇航學(xué)報(bào),2010,31(5):1427-1432.
[9] 郭瑞,張?jiān)?,孫剛,等.多核DSP上的ISAR 實(shí)時成像技術(shù)研究[J].信號處理,2013,29(9):1238-1243.
[11] 蔡佳佳,李名世,鄭鋒.多核微機(jī)基于OpenMP的并行計(jì)算[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007,17(10):88-91.