張佳佳,姜衛(wèi)東,李 寬
(1.國(guó)防科學(xué)技術(shù)大學(xué)電子科學(xué)與工程學(xué)院,湖南 長(zhǎng)沙410073;2.國(guó)防科學(xué)技術(shù)大學(xué)計(jì)算機(jī)學(xué)院,湖南 長(zhǎng)沙410073)
在逆合成孔徑雷達(dá)(ISAR)成像中,包絡(luò)對(duì)齊是決定成像質(zhì)量的關(guān)鍵技術(shù)。包絡(luò)對(duì)齊的經(jīng)典算法有最大互相關(guān)法[1~3]、最小熵法[4]、峰值最大法,最大互相關(guān)法包括相鄰互相關(guān)法[1]、積累互相關(guān)法[2]以及整體互相關(guān)法[3]。積累互相關(guān)法和最小熵法性能較好,然而兩者對(duì)齊精度直接受限于雷達(dá)距離分辨單元。超分辨技術(shù)[5]可以提高距離分辨率,但是該方法需要足夠的信噪比,工程上難于實(shí)現(xiàn)。而巧妙利用Fourier變換的頻域移位性質(zhì),可以縮短包絡(luò)對(duì)齊處理步長(zhǎng),有效減小一維距離像對(duì)齊誤差[6]。
本文采用加矩形窗的積累互相關(guān)法獲得粗對(duì)齊包絡(luò),而后基于頻移因子利用最小熵準(zhǔn)則調(diào)整對(duì)齊結(jié)果。一般ISAR 成像原始回波數(shù)據(jù)量大,互相關(guān)法和最小熵法計(jì)算量都很大,在序列成像、實(shí)時(shí)成像等條件下對(duì)計(jì)算資源是一大挑戰(zhàn)。為提高包絡(luò)對(duì)齊速度,文獻(xiàn)中出現(xiàn)多種方案:基于GPU 的最 小 熵 包 絡(luò) 對(duì) 齊 法[7]、FPGA 加 多 片 單 核DSP 的ISAR 實(shí)時(shí)成像[8]、基于多核DSP的信號(hào)處理平臺(tái)減少對(duì)齊時(shí)間[9]等硬件處理手段,但是硬件優(yōu)化結(jié)構(gòu)研制和改進(jìn)周期長(zhǎng)、費(fèi)用高昂且維護(hù)不便。
針對(duì)上述問(wèn)題,考慮到CPU 計(jì)算性能飛速提升以及多核處理器的廣泛應(yīng)用,本文提出基于OpenMP(Open Multi-Processing)[10]共享存儲(chǔ)的包絡(luò)對(duì)齊優(yōu)化算法,分別將互相關(guān)法和最小熵法劃分為多個(gè)獨(dú)立任務(wù),利用OpenMP 將各任務(wù)映射到不同線程中并行執(zhí)行,充分利用多核處理器資源,提高程序運(yùn)行效率。實(shí)驗(yàn)結(jié)果顯示,并行算法加速效果明顯,加速效率最高可達(dá)98%,并且該方法無(wú)需額外硬件支持,費(fèi)用低廉,易于實(shí)現(xiàn)。
逆合成孔徑雷達(dá)成像經(jīng)典算法為距離-多普勒(R-D)成像算法,包含三個(gè)步驟:距離壓縮、運(yùn)動(dòng)補(bǔ)償和方位壓縮,運(yùn)動(dòng)補(bǔ)償又由包絡(luò)對(duì)齊和相位補(bǔ)償組成。R-D 算法如圖1所示。
Figure 1 Range-Doppler algorithm圖1 ISAR 成像距離-多普勒算法
由圖1知,包絡(luò)對(duì)齊的前提是原始回波的距離壓縮,其實(shí)質(zhì)為對(duì)每個(gè)脈沖回波進(jìn)行FFT 獲得相應(yīng)的一維距離像。而由于目標(biāo)相對(duì)于雷達(dá)的平動(dòng),距離像之間出現(xiàn)未對(duì)齊現(xiàn)象。本文包絡(luò)對(duì)齊分兩步:加矩形窗的積累互相關(guān)對(duì)齊和基于頻移因子的最小熵對(duì)齊。
加矩形窗的積累互相關(guān)算法中,參考包絡(luò)是窗長(zhǎng)的已對(duì)齊包絡(luò)的加權(quán)和產(chǎn)生的合成包絡(luò)(此處為矩形窗加權(quán),即權(quán)值都為1,窗長(zhǎng)盡可能大)。本文對(duì)參考包絡(luò)和待對(duì)齊包絡(luò)分別進(jìn)行FFT 處理,F(xiàn)FT 結(jié)果相乘,之后進(jìn)行IFFT 處理獲得粗對(duì)齊一維距離像,如圖2所示。
Figure 2 Accumulated cross correlation algorithm based on rectangular window圖2 加矩形窗的積累互相關(guān)包絡(luò)對(duì)齊法
基于頻移因子的最小熵法以積累互相關(guān)得出的每次回波的對(duì)齊偏移量τi為中心,在[τi-Δτ,τi+Δτ] 內(nèi) 求 得L個(gè) 頻 移 因 子 exp(j2πτilΔfnTs)(Δf為FFT 頻譜分辨單元,Ts為脈內(nèi)采樣周期),與該次回波si()n相乘,然后依據(jù)最小熵準(zhǔn)則調(diào)整互相關(guān)對(duì)齊精度,如圖3所示。
Figure 3 Minimum entropy range alignment algorithm based on frequency shifting property圖3 基于頻移因子的最小熵包絡(luò)對(duì)齊法
OpenMP[11]是共享存儲(chǔ)多核處理器編寫(xiě)并行程序的一套編程接口,由環(huán)境變量、編譯制導(dǎo)指令以及支持它的函數(shù)庫(kù)組成。OpenMP 并行執(zhí)行模型為分叉-合并(Fork-Join)模式(如圖4所示):程序開(kāi)始時(shí),主線程串行執(zhí)行;遇到派生點(diǎn)后,主線程創(chuàng)建并行線程隊(duì)列,執(zhí)行并行區(qū)代碼;并行代碼執(zhí)行完畢,派生線程掛起或退出,由主線程繼續(xù)執(zhí)行串行程序,直到遇到下一個(gè)派生點(diǎn)。
Figure 4 Fork-Join pattern of OpenMP圖4 OpenMP分叉-合并模型
使用OpenMP 開(kāi)發(fā)并行程序簡(jiǎn)單且通用性強(qiáng),無(wú)需關(guān)注并行化細(xì)節(jié)。在源代碼中加入合適的#pragma編譯指導(dǎo)指令,編譯器自動(dòng)并行化程序。OpenMP與編譯器無(wú)關(guān),開(kāi)發(fā)平臺(tái)不支持OpenMP時(shí),編譯器自動(dòng)忽略#pragma指令,程序轉(zhuǎn)為串行代碼順序編譯并正常運(yùn)行。
包絡(luò)對(duì)齊數(shù)據(jù)流為二維矩陣,算法以距離像包絡(luò)為單位循環(huán)執(zhí)行對(duì)齊任務(wù)。因此,本文主要是對(duì)循環(huán)部分進(jìn)行并行化設(shè)計(jì),研究帶有循環(huán)結(jié)構(gòu)的大數(shù)據(jù)量計(jì)算的并行方法時(shí),首先分析計(jì)算數(shù)據(jù)之間的相關(guān)性,然后討論計(jì)算執(zhí)行時(shí)的數(shù)據(jù)劃分方法,最后進(jìn)行必要的調(diào)整。
原始回波數(shù)據(jù)矩陣由回波個(gè)數(shù)和回波采樣點(diǎn)數(shù)組成,一般回波個(gè)數(shù)和采樣點(diǎn)數(shù)都較大。距離壓縮時(shí)各個(gè)脈沖回波相互獨(dú)立,循環(huán)對(duì)每個(gè)回波進(jìn)行FFT 處理,因此只需在循環(huán)外直接使用OpenMP指令即可有效實(shí)現(xiàn)程序并行優(yōu)化。包絡(luò)對(duì)齊基于相鄰脈沖回波的強(qiáng)相關(guān)性,當(dāng)前回波的參考信號(hào)依賴(lài)前面矩形窗長(zhǎng)的已對(duì)齊回波距離像包絡(luò),但是與矩形窗外回波相關(guān)性較小,而且脈沖回波數(shù)目遠(yuǎn)遠(yuǎn)大于矩形窗內(nèi)回波數(shù)目,因此,本文提出依據(jù)處理器核數(shù)對(duì)回波數(shù)據(jù)進(jìn)行均勻分塊,每塊回波數(shù)目遠(yuǎn)大于窗長(zhǎng),能夠大大消除數(shù)據(jù)塊間的相關(guān)性。同時(shí),為保證對(duì)齊質(zhì)量,本文提出由第一塊待對(duì)齊數(shù)據(jù)獲得的參考信號(hào)作為其它各塊待對(duì)齊回波的參考距離像。因此,本文在多核處理器上進(jìn)行數(shù)據(jù)分塊并行執(zhí)行包絡(luò)對(duì)齊任務(wù),既保證對(duì)齊質(zhì)量,又提高對(duì)齊速度。
由于原始回波數(shù)目大,各次回波循環(huán)執(zhí)行FFT,OpenMP利用函數(shù)omp_set_num_threads()設(shè)置線程數(shù)目,編譯指導(dǎo)指令#pragma omp for直接作用于循環(huán)語(yǔ)句,程序即自動(dòng)依照線程數(shù)目并行執(zhí)行循環(huán)運(yùn)算,有效減少距離壓縮時(shí)間且實(shí)現(xiàn)簡(jiǎn)單。
積累互相關(guān)包絡(luò)對(duì)齊是每個(gè)待對(duì)齊一維距離像與參考距離像進(jìn)行互相關(guān)得到粗對(duì)齊一維距離像。首先,根據(jù)處理器核數(shù)n,將待對(duì)齊數(shù)據(jù)順序均勻分成n塊,利用OpenMP 編譯指導(dǎo)指令#pragma omp section將各塊數(shù)據(jù)分配到各線程,每個(gè)線程參考包絡(luò)都使用第一塊數(shù)據(jù)獲得的參考包絡(luò)以保證對(duì)齊質(zhì)量。整個(gè)并行互相關(guān)運(yùn)算就是各塊待對(duì)齊數(shù)據(jù)分別與參考包絡(luò)在各線程中并行執(zhí)行互相關(guān),執(zhí)行結(jié)果合并即為粗對(duì)齊一維距離像,并行過(guò)程如圖5所示。
Figure 5 Parallel accumulated cross correlation algorithm圖5 積累互相關(guān)并行方法
該模塊依據(jù)處理器核數(shù)n,將粗對(duì)齊數(shù)據(jù)均勻分為n塊,第一塊數(shù)據(jù)計(jì)算得到參考距離像作為其它各塊數(shù)據(jù)的參考包絡(luò),利用OpenMP 編譯指導(dǎo)指令#pragma omp section自動(dòng)將各塊數(shù)據(jù)與參考數(shù)據(jù)分配到各線程,并行執(zhí)行基于頻移因子的最小熵運(yùn)算,并行過(guò)程如圖6所示。此時(shí),各數(shù)據(jù)塊的數(shù)據(jù)量基本相同,運(yùn)算量相當(dāng),因此各線程負(fù)載均衡,并行執(zhí)行效率高。
Figure 6 Parallel minimum entropy algorithm圖6 最小熵并行方法
為方便描述并行性能,采用傳統(tǒng)的加速比和效率性能評(píng)價(jià)標(biāo)準(zhǔn)。加速比定義為:
其中,Ts是串行算法單線程運(yùn)行時(shí)間,Tp是并行算法在多核處理器上用P個(gè)核并行處理運(yùn)行時(shí)間。
效率定義為:
其中,P為處理器核數(shù)。相同線程下加速比越大,并行效率越高,則并行程序性能越好。
本文包絡(luò)對(duì)齊并行方法為依據(jù)線程數(shù)目n對(duì)各算法輸入數(shù)據(jù)進(jìn)行分塊處理,即輸入數(shù)據(jù)分為n塊共同執(zhí)行各處理算法,故而理論上各算法并行執(zhí)行時(shí)間為串行程序耗時(shí)的1/n倍,加速比達(dá)到n,并行效率高達(dá)100%。但是,由于算法程序無(wú)法完全并行化、計(jì)算機(jī)性能的影響以及多核處理器共享內(nèi)存訪問(wèn)帶寬增大訪問(wèn)開(kāi)銷(xiāo),導(dǎo)致并行效率無(wú)法達(dá)到理論數(shù)值,后續(xù)工作應(yīng)該盡可能減少搶占內(nèi)存資源帶來(lái)的訪問(wèn)開(kāi)銷(xiāo)。
本文使用Microsoft Visual Studio 2010開(kāi)發(fā)工具,采用OpenMP 并行編程接口設(shè)計(jì)并行優(yōu)化程序。仿真實(shí)驗(yàn)平臺(tái)為八核處理器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),脈沖回波個(gè)數(shù)為1 001個(gè),數(shù)據(jù)大小為7 104KB。
實(shí)驗(yàn)分為距離壓縮和包絡(luò)對(duì)齊兩部分。為提高對(duì)齊精度,包絡(luò)對(duì)齊分兩個(gè)模塊:積累互相關(guān)對(duì)齊模塊和最小熵對(duì)齊模塊。因此,距離壓縮、互相關(guān)法和最小熵法為三個(gè)獨(dú)立模塊,包絡(luò)對(duì)齊是互相關(guān)法與最小熵法的整體執(zhí)行效果。文中用單線程以及2、4、6、8個(gè)線程分別進(jìn)行程序性能優(yōu)化處理,為了得到更直觀的視覺(jué)效果,四個(gè)模塊的執(zhí)行時(shí)間、加速比及并行效率用折線圖表示,如圖7~圖9所示。
Figure 7 Execution time of the serial and parallel algorithms圖7 各算法模塊串行、并行執(zhí)行時(shí)間(ms)
由圖7可知,包絡(luò)對(duì)齊法執(zhí)行時(shí)間略大于互相關(guān)模塊和最小熵模塊運(yùn)算時(shí)間的總和,完全符合互相關(guān)法和最小熵法共同執(zhí)行得到對(duì)齊包絡(luò)的事實(shí)。距離壓縮、互相關(guān)對(duì)齊和最小熵對(duì)齊模塊中,相同線程數(shù)目下,距離壓縮處理耗時(shí)最少,最小熵法計(jì)算量最大,且隨著線程數(shù)目增加,各模塊執(zhí)行時(shí)間逐漸減少,有效提高成像速度。
圖8顯示,隨著線程數(shù)目增加,各模塊加速比逐漸增大。相同線程數(shù)目下進(jìn)行程序優(yōu)化處理時(shí),最小熵法加速比最大,這是因?yàn)樽钚§貙?duì)齊運(yùn)算量最大,耗時(shí)最長(zhǎng),因此多線程性能優(yōu)化最好。但是,包絡(luò)對(duì)齊加速比反而小于最小熵模塊加速比,這是因?yàn)榛ハ嚓P(guān)包絡(luò)對(duì)齊法運(yùn)算復(fù)雜,多線程并行優(yōu)化性能較差,抑制包絡(luò)對(duì)齊整體優(yōu)化性能。
Figure 8 Speed-up of the four algorithms圖8 各算法模塊加速比
圖9為多線程并行優(yōu)化效率,并行線程數(shù)目較少時(shí),并行效率高達(dá)95%以上,隨著線程數(shù)目增加,優(yōu)化效率降低,甚至八線程互相關(guān)并行效率降到50%以下,綜合圖7和圖8內(nèi)容,隨著線程個(gè)數(shù)達(dá)到一定數(shù)目,程序執(zhí)行時(shí)間減小速度下降且加速比增大速度降低,這是由于OpenMP 是基于共享存儲(chǔ)的并行編程模型,多核處理器共享內(nèi)存訪問(wèn)帶寬,線程過(guò)多會(huì)搶占帶寬資源,增大內(nèi)存訪問(wèn)開(kāi)銷(xiāo)。但是,最小熵模塊的八線程并行效率依然在60%以上,而且最小熵法各線程并行效率和加速比都高于其他模塊,這是因?yàn)樽钚§靥幚碛?jì)算量大,并行性能優(yōu)化空間大,即耗時(shí)長(zhǎng)的程序比耗時(shí)短的程序優(yōu)化效果更明顯。然而,盡管互相關(guān)法加速比不高,并行效率低,但是相對(duì)于最小熵方法,其執(zhí)行時(shí)間較短,故而綜合積累互相關(guān)對(duì)齊和最小熵對(duì)齊的并行效果,包絡(luò)對(duì)齊整體優(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ò)對(duì)齊并行方法,在多核處理器上對(duì)程序進(jìn)行多線程并行優(yōu)化。從減少程序執(zhí)行時(shí)間和保證對(duì)齊質(zhì)量著手,對(duì)計(jì)算數(shù)據(jù)分塊,各塊數(shù)據(jù)并行執(zhí)行對(duì)齊任務(wù)。仿真實(shí)驗(yàn)結(jié)果表明,包絡(luò)對(duì)齊的多線程并行處理有效縮短對(duì)齊時(shí)間,提高一維距離成像速度,為ISAR 成像的實(shí)時(shí)性提供條件。
本文是在多核處理器上進(jìn)行包絡(luò)對(duì)齊并行優(yōu)化研究,在未來(lái)的工作中,針對(duì)雷達(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ò)對(duì)齊[J].電子學(xué)報(bào),2001,29(12A):1807-1811.
[5] 王琨,羅琳,保錚.應(yīng)用超分辨技術(shù)提高逆合成孔徑雷達(dá)成像包絡(luò)對(duì)齊精度[J].西安電子科技大學(xué)學(xué)報(bào),1997,24(增刊):109-115.
[6] 劉愛(ài)芳,李彧晟,朱曉華.用改進(jìn)的包絡(luò)最小熵法進(jìn)行包絡(luò)對(duì)齊[J].信號(hào)處理,2005,21(1):49-51.
[8] 楊劍,杜琳,辛玉林,等.基于多級(jí)并行處理的R-D 方法的ISAR 實(shí)時(shí)成像[J].宇航學(xué)報(bào),2010,31(5):1427-1432.
[9] 郭瑞,張?jiān)?,孫剛,等.多核DSP上的ISAR 實(shí)時(shí)成像技術(shù)研究[J].信號(hào)處理,2013,29(9):1238-1243.
[11] 蔡佳佳,李名世,鄭鋒.多核微機(jī)基于OpenMP的并行計(jì)算[J].計(jì)算機(jī)技術(shù)與發(fā)展,2007,17(10):88-91.