?

利用GPU實現SAR圖像的并行處理

2011-09-30 01:37張曉東孔祥輝張歡陽
火控雷達技術 2011年4期
關鍵詞:方位校正處理器

張曉東 孔祥輝 張歡陽

(西安電子工程研究所 西安 710100)

1 引言

合成孔徑雷達因具有全天候、全天時、遠距離成像等特點,可以大大提高雷達的捕獲信息能力,因而成為雷達技術的熱門研究領域,在戰場感知和災情監測等方面有著不可替代的作用[1]。隨著SAR成像技術的發展,對回波數據實現實時處理的要求也越來越迫切。這就意味著信號處理器能夠滿足SAR信號處理過程中大運算量的快速運算等處理能力的要求,由于SAR成像算法本身的復雜度和雷達數據的高速率,實時處理面對很大的挑戰性,使用單處理器或處理芯片幾乎難以實現,為了在不影響成像精度的前提下獲得更好的實時性,并行處理成為解決這一問題的關鍵技術。

2 GPU 技術簡介[2]

受到游戲市場和軍事實景仿真的要求,圖形處理器(Graphics Processing Unit)性能提高速度很快,大大超過了摩爾定律,支持越來越復雜的運算,其編程性和功能都大大擴展了。GPU通用計算性能的提高為高效SAR成像算法提供了具有發展前景的新型運算平臺。GPU在處理能力和存儲帶寬上相對CPU有明顯的優勢,在成本和功耗上也不需要付出太大代價,從而為SAR實時成像提供了新的解決方案。

當前的NIVIDA GPU中有1~60個包含完整前端的流多處理器(SM),每個流多處理器可以看作一個包含8個1D流處理器的SIMD處理器。顯卡就是利用多個流多處理器間的粗粒度任務級或數據級并行,以及流多處理器內的細粒度數據并行。盡管GPU的運行頻率比一般的CPU低,但是更多的執行單元數量還是使GPU能夠在浮點處理能力上獲得優勢。DUDA(Compute Unified Device Architecture)是NIVIDA公司推出的一種不需借助圖形學API就可以使用類C語言進行通用計算的開發環境和軟件體系。采用C語言作為編程語言,進行了適度的擴展,提供大量的高性能計算指令開發能力,使開發者能夠在GPU強大計算能力的基礎上建立起一種效率更高的密集數據計算解決方案。CUDA對圖形硬件和API進行封裝,讓開發人員把GPU看成一個具有多核多線程的處理器,并在類似于CPU的編程環境下對GPU進行編程,開發GPU通用程序,降低了軟件開發時間和成本。

3 RD算法簡介及其在GPU上的實現

本文采用最常用的RD算法。RD算法首先對距離進行脈沖壓縮,然后進行距離徙動校正,運動補償,然后進行方位向壓縮,具體算法參考文獻[1]。RD算法的本質是將SAR成像的二維處理分解為兩個一維處理過程,分別為距離向處理和方位向處理。RD算法的并行化程度成為獲取高加速比的關鍵。距離脈壓和方位脈壓通常使用頻域匹配濾波的實現方式,主要涉及的算法是FFT、點乘和IFFT。GPU開發軟件CUDA有自身的FFT庫可以實現快速的并行FFT變換,對于點乘運算,由于距離向和方位向壓縮和距離徙動校正和運動補償都是點乘,所以可以將其中的部分運算合并以減少運算次數提高計算速度。

利用GPU實現的基于RD算法的SAR成像算法實現的流程如下:

第一、把原始數據從通過CPU傳輸到GPU,計算徙動補償所要的參數。

第二、距離向的壓縮和走動校正。具體描述為:首先將原始數據沿距離向做FFT,然后乘以通過內核函數生成的距離向匹配函數和走動校正函數完成距離向包絡移動,再利用距離向IFFT完成距離向壓縮。然后再進行一次相位校正。

第三、將做完走動校正的數據進行轉置。

第四、利用慣性導航系統數據通過內核函數生成運動補償函數,對數據進行運動補償。

第五、通過內核函數生成方位向匹配函數并進行FFT,對數據進行FFT然后點乘,在進行IFFT,完成方位向的脈沖壓縮

第六、將方位向脈壓完的數據即圖像傳回主機。

圖1 GPU SAR成像算法流程

4 實驗與結果

為了測試本文所提出的SAR成像方法的有效性,本部分介紹實驗及其結果。本試驗采用的計算機為普通商用計算機CPU為E8400,顯卡為NIVIDA公司的9500GT,板載顯存為1G字節,運算能力為1.1,其SM數量只有4個,運算精度為單精度;軟件使用的是Windows XP下的CUDA3.0。數據來源為某機載雷達的真實回波,PRF為1KHz,采用慣性導航單元進行運動補償,圖像分辨率為1m,一次成像所需的數據長度為8192×8192復數。由于顯卡上的存儲器容量有限,所以在處理的數據較大時不能完全將數據一次性放入顯卡上的存儲器,要將數據分成幾部分處理,本文在進行距離壓縮時分成4個部分,在進行方位壓縮時分成8個部分進行。成像所需時間為4.21s,成像各個部分的運算時間分布如表1所示,這其中還包含了由于顯卡現存不足,轉置的過程中在內存和顯存之間緩沖數據的時間0.35s,在PRF=1KHz時,采集一幅圖像數據時間為8s,所以本系統可以達到實時成像的要求,成像結果如圖2所示。

表1 SAR成像時間統計(單位:s)

圖2 利用GPU實現的RD成像結果

由測試結果可知,本文提出的利用CUDA實現的基于GPU的RD成像算法具有極高的效率,相比傳統的基于CPU的SAR成像算法,效率得了顯著的提升,達到了實時處理的速度。并且成像效果并未受到多大的影響,完全可以滿足下一步處理的需求。

5 結束語

本文提出了利用GPU實現RD成像算法。該成像算法利用GPU通用計算的編程模型,極大地發揮出了GPU并行計算的優勢。通過實驗表明:本文提出的基于GPU的SAR成像方案實現了實時RD成像的要求,具有較好的成像效果。為了使當前的研究結果更加完善,在將來可以利用CPU和GPU進行協同合作,并開發更加完善的并行算法,提高并行度,進一步提高運算速度。

[1]保錚,邢孟道,王彤.雷達成像技術[M].北京:電子工業出版社,2005.

[2]張舒,褚艷利.CPU高性能運算之CUDA[M].中國水利水電出版社,2009.

[3]NVIDIA.NVIDIA CUDA Programming Guide Version 3.0[Z].2010.

[4]肖江,胡柯良,鄧元勇.基于CUDA的矩陣乘法和FFT性能測試[J].計算機工程,2009.

猜你喜歡
方位校正處理器
認方位
劉光第《南旋記》校正
建立在校正系統上的強大實力Sonance所能士i12
在Lightroom中校正鏡頭與透視畸變
機內校正
基于TMS320C6678的SAR方位向預濾波器的并行實現
Word Fun
ADI推出新一代SigmaDSP處理器
火線熱訊
電子設計應用(2004年7期)2004-09-02
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合