周明,胡士強,張軍
(上海交通大學 航空航天學院,上海 200240)
當前,我國民用航空業(yè)正以迅猛勢頭發(fā)展,在帶來巨大經(jīng)濟和社會效益的同時,也對航空安全提出了越來越高的要求。根據(jù)國際民航事故報告顯示,在世界航空業(yè)務中,死亡人數(shù)事故率總的趨勢在減少,但因氣象原因造成的飛行事故已經(jīng)上升到總事故的三分之一[1]。大型民用客機需要安裝具有氣象、湍流、低空風切變探測等功能的機載氣象雷達。雷達仿真系統(tǒng)具有經(jīng)濟,靈活等特點,可以解決外場試驗成本高,受天氣影響等問題,滿足雷達系統(tǒng)研發(fā)的需要,因此開發(fā)一套機載氣象雷達仿真系統(tǒng)對于雷達研制,生產(chǎn)都具有非常重要的意義。
目前國外雷達模擬技術已較為成熟,功能全面而深入。如美國Camber公司的Radar Toolkit雷達模擬器,它提供了陸地環(huán)境、氣象環(huán)境、敵我識別等多種模塊。可以模擬雷達高度/姿態(tài)、折射與地球球面影響、表面反射/折射等多種雷達效果。國內(nèi)關于雷達仿真系統(tǒng)的公開研究報道相對較少。文獻[2]設計了一款機載雷達探測及其資料處理仿真軟件,通過輸入雷達探測頻率,大氣狀態(tài)參數(shù)以及水成物相態(tài)、分布、含量或混合比,便可以模擬出水成物的雷達回波,并且可以對回波進行衰減訂正。文獻[3]設計了一個機載氣象雷達回波信號仿真系統(tǒng),可用于高保真雷達回波信號的生成與演示。
由于現(xiàn)有機載氣象雷達仿真系統(tǒng)存在計算強度大、非實時性仿真和飛行范圍小等局限性,且過于依賴工作站級的高性能計算機作為硬件設備,本文提出了一種機載氣象雷達回波仿真系統(tǒng)的總體框架和實現(xiàn)方法,詳細介紹了各個模塊的算法與工作流程,并針對雷達仿真系統(tǒng)數(shù)據(jù)處理量大,以及雷達掃描過程中并行化特點提出了CPU+GPU異構并行的解決方案,仿真結果表明,該方法在仿真系統(tǒng)系統(tǒng)的實時性等方面取得了良好的效果。
圖1 機載氣象雷達仿真系統(tǒng)流程圖
機載氣象雷達仿真系統(tǒng)流程如圖1所示。
具體工作流程如下:
(1)讀取環(huán)境激勵模塊生成的氣象數(shù)據(jù)。
(2)對雷達參數(shù)、載機參數(shù),波束參數(shù)等進行初始化,同時加載飛行航跡。
(3)判斷每個天線波束有效照射體內(nèi)的散射點數(shù),計算每個點的回波強度并累加得到該天線波束的雷達回波強度。
(4)更新載機位置,氣象數(shù)據(jù)和天線掃描角度。
(5)判斷掃描是否完成,若完成,繪制雷達回波;若未完成,返回步驟(3),繼續(xù)進行。
氣象雷達通過探測載機前方氣象目標的回波強度來判斷前方的氣象情況,由于真實的氣象數(shù)據(jù)難以獲取,因此本文采用基于衛(wèi)星圖像的三維云重建的方法來構建氣象雷達環(huán)境激勵模塊。如圖2所示的衛(wèi)星云圖中,大地、海洋和云層分別呈現(xiàn)綠色、藍色和白色,通過顏色差法[4]即可提取出其中的云層區(qū)域,圖3為通過該算法提取出的云層區(qū)域,從圖中可以看出,云層區(qū)域被很好的提取出來了。由于得到的云層數(shù)據(jù)是二維的,而我們需要三維的云場體數(shù)據(jù),所以還需要二維到三維的重建過程,本文采用馬爾科夫鏈隨機場算法。
圖2 原始衛(wèi)星圖像
圖3 提取的云層區(qū)域
馬爾科夫鏈是在數(shù)學領域中具有馬爾科夫性質(zhì)的離散時間隨機過程,常用在基于觀察數(shù)據(jù)的二維到三維離散變量的隨機模擬。利用馬爾科夫鏈思想,認為云層中任何一點的數(shù)據(jù)都是它周圍27個點(包括自身)強度的平均值,通過N次逐層遍歷計算每個點,我們可以得到重建后的三維云場體數(shù)據(jù),如圖4所示。
圖4 三維云場體數(shù)據(jù)
氣象雷達探測云和降水等氣象目標時,回波強度是云和降水粒子群散射的總和。由于雷達發(fā)出的探測脈沖具有一定的持續(xù)時間,即脈沖寬度τ,所以在空間的電磁波列就有一定的長度,即脈沖長度h=τc,如圖5所示,其中c為電磁波在真空中的傳播速度。位于雷達波束和探測脈沖長度范圍內(nèi)的所有大氣粒子都可以同時被雷達波所照射。如果雷達發(fā)射的圓錐形波束,其水平波瓣寬度θ和垂直波瓣寬度φ近似相等,則距離雷達天線R處波束的橫截面積近似為π(R(θ/2))2,于是雷達有效照射體積可以近似地表示為式(1)[5]:
氣象目標屬于體分布彌散目標,在整個云場范圍內(nèi)由大量微粒子組成。每個散射點的雷達回波由幅度和相位組成,由雷達知識[6]可知,對于云場中處于雷達照射范圍內(nèi)的第k個粒子,雷達回波可表示為式(2):
圖5 天線波束有效照射體積示意圖
其中Ak(t)表示該微?;夭ǖ姆?,φk(t)表示該微?;夭ǖ南辔弧⒂行д丈潴w積內(nèi)所有散射粒子的回波強度累加,即可得到該有效照射體的雷達回波數(shù)據(jù),如式(3)所示:
雷達仿真系統(tǒng)在計算回波強度數(shù)據(jù)時,需要大規(guī)模的數(shù)據(jù)計算。在當前主要以PC機為主要仿真平臺的情況下,當云場數(shù)據(jù)增大以及掃描精度提高時,系統(tǒng)很難滿足實時性要求。依靠圖形處理器靈活的可編程特性以及強大的并行化處理能力,可以擺脫單靠提高CPU性能來提升系統(tǒng)性能的方式,極大的降低了系統(tǒng)的負擔和成本。
NVIDIA公司于2007年正式發(fā)布的CUDA(Compute Unified Device Architecture,計算統(tǒng)一架構設備)是一種全新的基于GPU流處理器的通用并行計算編程模型[7],通過采用 CPU+GPU異構并行模式,即由CPU負責執(zhí)行復雜的邏輯處理和事務管理等不適合數(shù)據(jù)并行的計算,由GPU負責大規(guī)模密集型的數(shù)據(jù)并行計算,來發(fā)掘計算機潛在的性能,在成本和性價比方面都有顯著的優(yōu)勢。
如圖6所示,為CPU+GPU并行化解決方案的流程圖。
圖6 CPU+GPU異構并行解決方案流程圖
首先,在CPU端加載云場數(shù)據(jù),并將其拷貝到GPU的紋理存儲器中。紋理存儲器是一種只讀存儲器,位 于GPU顯存中,可以通過紋理緩存加速讀取。其次,設置雷達參數(shù)并更新雷達掃描面,將更新的載機位置數(shù)據(jù)拷貝到GPU的共享存儲器中,GPU中的每一個線程根據(jù)不同的位置數(shù)據(jù)來計算當前有效照射體積內(nèi)的雷達回波強度,并將計算得到的回波強度數(shù)據(jù)傳回CPU端。最后,系統(tǒng)判斷掃描是否完成,若完成,則顯示雷達回波。
仿真在 Intel Core2 E7400 2.8 GHz CPU,4G 內(nèi)存,GeForce GTX 550Ti顯卡,Visual Studio 2008平臺上進行,設置雷達天線的掃描方位角范圍為-90 deg~90 deg,俯仰角掃描范圍為0 deg~4 deg。
圖7中實線表示飛機的飛行路徑,此時飛機正要穿越密集的云層區(qū)域,圖8顯示的是雷達探測到前方航路的回波圖,通過不同的顏色表示回波強度的大小。
在仿真中,通過設置不同大小的雷達掃描網(wǎng)格,并分別采用CPU和CPU+GPU異構并行的方式運行系統(tǒng),可以得到如表1所示的結果。
圖7 載機飛行軌跡
由表1數(shù)據(jù)可以看出,并行算法明顯優(yōu)于串行算法。并且隨著掃描網(wǎng)格大小的不斷增大,加速比也不斷增加,這充分說明了基于CUDA的并行計算在處理大規(guī)模并行化數(shù)據(jù)的優(yōu)勢。基于CPU+GPU異構并行的雷達仿真系統(tǒng)在實時性方面取得了良好的效果。
圖8 雷達回波顯示
表1 仿真結果對比
本文詳細介紹了一款機載氣象雷達仿真系統(tǒng)的設計過程,針對系統(tǒng)實時性差的特點,提出了GPU加速處理的解決方案,取得了良好的效果。由于雷達系統(tǒng)仿真與建模是一項復雜的研究,本文所做的工作只是初步的試探,還需要進一步的完善。
[1]胡家美,李萍.國際航空氣象預報的發(fā)展趨勢[J].廣東氣象,2009,36(8):11-13.
[2]紀雷,王振會,滕煦,等.機載雷達探測及其資料處理仿真軟件平臺設計與實現(xiàn)[C].第27屆中國氣象學會年會雷達技術開發(fā)與應用分會場論文集,2010.
[3]吳仁彪,胡鵬舉,盧曉光.機載氣象雷達回波信號仿真系統(tǒng)[J].中國民航大學學報,2012,30(2):1 -5.
[4]Somporn Chuai-Aree,Willi Jager,Hans Georg Bock.3D Cloud and Storm Reconstruction from Satellite Image[C].Modeling,Simulation and Optimization of Complex Processes,2008:187 -206.
[5]胡明寶.天氣雷達探測與應用[M].北京:氣象出版社,2007.
[6]Cheong B L,Palmer R D,Xue M.A Time Series Weather Radar Simulator Based on High - Resolution Atmospheric Models[J].Journal of Atmospheric and Oceanic Technology,2008,25(2):230 -243.
[7]NICKOLLS J.Scalable Parallel Programming with CUDA [J].ACM Queue.2008,6(2):40-53.