張 章張 磊
(1.寶雞職業(yè)技術學院機電信息學院 寶雞 721000)(2.陜西烽火通信集團有限公司產(chǎn)品研究所 寶雞 721000)
雷達成像相比于常見的光學成像,具有全天時、全天候、遠距離的成像優(yōu)勢,可以大大提高雷達的信息獲取能力,特別是戰(zhàn)場感知能力。現(xiàn)在國外對戰(zhàn)場感知要求高的雷達都配有二維成像功能,因此,SAR已成為國內(nèi)外研究的熱點。隨著對成像、InSAR和GMTI等算法問題的深入研究,要大批符合特定條件下的大場景原始回波數(shù)據(jù),這些回波數(shù)據(jù)通過實測錄得,數(shù)據(jù)量太大,不太現(xiàn)實,所以通過計算機仿真來模擬所需要的大場景回波數(shù)據(jù)是一個重要的方法。
計算機模擬回波數(shù)據(jù)時,通常需要在一個地面分辨單元內(nèi)放置多個散射點來模擬整個場景的回波數(shù)據(jù),這樣就出現(xiàn)以下兩個問題。第一,仿真過程中每一個點的回波數(shù)據(jù)是以慢時間為周期循環(huán)產(chǎn)生的,當仿真的散射點過多時,仿真時間過長。第二,每臺計算機的內(nèi)存容量都是有限的,數(shù)據(jù)量過大會導致計算機內(nèi)存溢出而無法繼續(xù)仿真。當仿真大場景回波數(shù)據(jù)時,以上兩個問題就越發(fā)突出了,通常的仿真方法在單臺PC機上很難完成。目前通常的做法是采用利用集群系統(tǒng)[1],運用BSP(Bulk Synchronous Parallel)計算模型,按照場景分解的方法進行較大場景回波仿真,但該方法基于C語言,使用了MPI并行程序設計[2],而且生成的每個子場景的回波數(shù)據(jù)需要進一步加和處理才能得到需要的整個大場景回波數(shù)據(jù),具體實現(xiàn)復雜,不易操作。
本文提出一種利用Matlab并行化運算工具[3]和場景及數(shù)據(jù)矩陣劃分相結合的仿真方法,該方法能有效地解決上述問題完成大場景回波數(shù)據(jù)的仿真,且操作簡單,成本低。最后的仿真結果驗證了本文方法的有效性和正確性。
SAR原始回波數(shù)據(jù)仿真能夠并行處理正是由其數(shù)據(jù)錄取方式?jīng)Q定的,下面先了解一下產(chǎn)生數(shù)據(jù)的基本方法,設雷達發(fā)射信號是線性調(diào)頻脈沖信號[4]:

式中,ar(·)為雷達線形調(diào)頻信號的窗函數(shù),aa(·)方位窗函數(shù)。
當場景比較復雜時,可以通過大量的點目標來描述,設條帶內(nèi)點目標的個數(shù)為M×N,合成孔徑時間為t0≤tm≤tn,所以回波信號模型為

基于回波生成原理,可以看出數(shù)據(jù)錄取在慢時間以及散射點上都是相對獨立的,所以在仿真大場景回波數(shù)據(jù)時可以將其分塊生成,這樣即避免內(nèi)存溢出,還可以利用并行運算縮短仿真時間。這里本文采用Matlab并行計算模型(Distributed Computing Toolbox&Distributed Computing Engine)來對回波進行并行仿真。Matlab并行計算模型只需若干臺PC機聯(lián)機即可,無須專門儀器設備,編程相對簡單。如果需要聯(lián)機,任務分解時,需要注意計算機與計算機之間數(shù)據(jù)交互傳輸量是有上限的。
基于信號模型,有兩種任務分解方法。
第一,基于場景的任務分解
設將場景按列分解成h塊,大小分別為N1,N2,…,Nh,N1+N2+…+Nh=N,則可分別產(chǎn)生h個大小相同的回波數(shù)據(jù)矩陣,矩陣的回波信號分別為

以上,就是整個場景的回波數(shù)據(jù)。
第二,基于慢時間的任務分解
我們知道,數(shù)據(jù)矩陣的方位向長度對應于慢時間采樣點,所以按慢時間分解任務也就是對數(shù)據(jù)矩陣做分塊處理。設將數(shù)據(jù)矩陣按列分為n塊,也就是將慢時間分為n段,即t0≤t1≤t2≤…≤tn-1≤tn,這樣,矩陣內(nèi)的回波信號為

這些矩陣可在并行計算的工作機中單獨生成,之后再按順序拼接起來,便可以得到整個場景的回波數(shù)據(jù)。
通過上面的分析,我們可以看出,第一種方法將場景分塊,不但可使主機向工作機傳輸?shù)囊淮螖?shù)據(jù)量降低,防止傳輸?shù)臄?shù)據(jù)量超過數(shù)據(jù)交互量的上限,而且還可以避免一次讀取整個場景矩陣數(shù)據(jù)量太大而造成得內(nèi)存溢出,但這樣做,增加了最后一步的求和運算,效率相對較低;為了提高效率,可以采用第二種方法,將回波數(shù)據(jù)矩陣分塊分別在工作機中生成,這樣降低了工作機將生成的數(shù)據(jù)返回主機時的數(shù)據(jù)量,同時按順序接收子回波矩陣,可以接收一塊,存儲一塊,從而有效避免了內(nèi)存不足問題,但這種方法相當于是將整個場景一次傳輸,如果場景太大超過數(shù)據(jù)交互上限時,會造成交互失敗。在仿真大場景時,其場景非常大,回波數(shù)據(jù)矩陣也非常大,以上兩種方法均不能滿足仿真需求,我們可以將兩種方法結合起來分解任務,每一個任務仿真如式(6)的回波信號,最后,將所有的任務回收、加和、拼接,得到大場景原始回波數(shù)據(jù)。

下面我們定量的分析一下這樣做的優(yōu)點,設Nr為距離向采樣點數(shù),其中Na為距離向采樣點數(shù)Namp_r為場景在距離向的點數(shù),Namp_a為場景在方位向上的點數(shù),Dt為一個浮點數(shù)占用的字節(jié)數(shù),Cf為一個目標點的計算量,所以對一臺計算機而言在數(shù)據(jù)量方面按場景劃分為2Dt Na Nr,按慢時間劃分為 2Dt Na Nr/Nmatrix,本文的方法為2Dt Na Nr/Nmatrix,在計算量方面按場景劃分為Namp_a Namp_r Cf/Namp,按慢時間劃分為Namp_a Namp_r Cf,本文的方法為Namp_a Namp_r Cf/Namp,其中,Nmatrix、Namp分別為回波矩陣分塊數(shù)以及場景分塊數(shù)。從上面可以看出在數(shù)據(jù)量,計算量方面,本位的方法都是最優(yōu)的,可以大幅減少單機的數(shù)據(jù)量、計算量,從而加快仿真速度,避免內(nèi)存不足,使大場景仿真成為可能。具體仿真流程如下。
在仿真真實場景回波數(shù)據(jù)時,采用已有的實測數(shù)據(jù)圖像作為所產(chǎn)生回波的地面散射點,并在其中加入高程信息,在每個散射點上加入距離向及方位向上的隨機偏移量,使其更接近真實地面的散射點分布。如流程圖1所示,首先對慢時間分塊,在一段慢時間內(nèi),再對場景分塊,將一段慢時間內(nèi)一塊場景要產(chǎn)生的回波劃分為并行工作的一個任務,分配給一個工作機產(chǎn)生回波數(shù)據(jù),這里對于整個任務劃分有一個排序問題,本文是按慢時間塊為大體順序,場景塊為內(nèi)部順序排列的,也就是說第一個任務為第一塊慢時間的第一個子場景,第二個任務為第一塊慢時間的第二個子場景,當所有子場景都遍歷一遍后開始對第二段慢時間分配任務。這樣做可避免回收數(shù)據(jù)時主機由于數(shù)據(jù)量過大而引起的內(nèi)存溢出。依據(jù)上述方法分配任務,回波數(shù)據(jù)也按此順序生成,這樣主機也即可按順序先回收第一段慢時間上所有場景的回波數(shù)據(jù),將回波數(shù)據(jù)矩陣加和后(此即為此段慢時間內(nèi)的仿真數(shù)據(jù))保存在硬盤中,并清空內(nèi)存(clear),再產(chǎn)生下一個慢時間塊的數(shù)據(jù)直至回波數(shù)據(jù)全部產(chǎn)生保存,這樣就生成了大場景的原始回波數(shù)據(jù)。
從以上流程可以看出,任務劃分解決了仿真大場景時PC機內(nèi)存不足的問題,并行計算解決了大場景回波仿真時間過長的問題,從而使大場景SAR原始回波數(shù)據(jù)仿真成為可能。
實驗系統(tǒng)采用7臺普通計算機,一臺作為主機,收發(fā)保存數(shù)據(jù),6臺作為工作機,并行計算回波數(shù)據(jù),配置為Pentium(R)4 CPU 3.0GHz,1GB內(nèi)存,計算機之間通過百兆以太網(wǎng)連接,場景大小為800×5000個點目標,雷達脈沖重復頻率為2000Hz。
場景分塊個數(shù)為Namp=(Namp_r×Namp_a)/Ntra_max,Ntra_max為主機與工作機之間的傳輸上限。回波矩陣分塊個數(shù)為Nmatrix=(Nr×Na×Nantenna)/Ntra_max,Nantenna為一發(fā)多收時接收天線的個數(shù)。通過計算可知實驗系統(tǒng)Namp=12,Nmatrix=9。
圖2是用上述方法得到的大場景SAR回波數(shù)據(jù)仿真結果,每一塊子矩陣為整個場景在這一段慢時間內(nèi)產(chǎn)生的回波數(shù)據(jù),通過這9塊數(shù)據(jù)可以大體看出這塊場景的回波形狀。圖3為不同工作計算機數(shù)目下產(chǎn)生回波所用時間的曲線,在任務劃分方式不變(即Namp=12,Nmatrix=9)的情況下,一臺計算機用時220.4h,三臺計算機用時75.6h,六臺計算機用時38.9h,基本符合Tn=T1/n這一原則,這里Tn為n臺計算機所用時間。而對于內(nèi)存使用,取決于場景與回波矩陣的分塊數(shù)量,數(shù)量越多內(nèi)存占用率越少,但這里注意如果分塊數(shù)量太多會使計算機之間的數(shù)據(jù)傳輸花費很長的時間,嚴重影響數(shù)據(jù)產(chǎn)生的效率,所以在保證內(nèi)存不溢出的情況下合理的分配任務,才能實現(xiàn)較高的數(shù)據(jù),產(chǎn)生效率。

圖3 工作計算機臺數(shù)與仿真時間關系

圖4 仿真回波數(shù)據(jù)成像結果
通過仿真可知,利用場景劃分和并行化運算相結合的方法產(chǎn)生大場景SAR原始回波數(shù)據(jù),可以充分解決由于PC機內(nèi)存不足引起的無法仿真問題以及仿真時間過長問題。
本文基于場景劃分和并行化運算尋找到一種在普通計算機上進行大場景SAR原始回波數(shù)據(jù)仿真的方法,仿真實驗證明本方法可大大縮短仿真時間,降低內(nèi)存使用量,且成本低實現(xiàn)簡單,易操作,是可行的、高效的。