王俊江,許利軍,柳 文,焦培南
(1.中國電波傳播研究所,山東 青島 266071;2.電波環(huán)境特性及?;夹g(shù)國家重點(diǎn)驗(yàn)室,山東 青島 266071;3.新鄉(xiāng)學(xué)院,河南 新鄉(xiāng) 453003)
短波射線追蹤技術(shù)能夠比較真實(shí)地反應(yīng)無線電波在電離層中的傳播軌跡,是研究電離層電波傳播效應(yīng)的有效工具,能夠計算無線電波經(jīng)過電離層到達(dá)目標(biāo)的群路徑、相路徑、方位角、地面距離、反射高度、入射仰角和電離層傳播模式等電波傳播參數(shù),在電離圖反演、電離圖合成等方面越來越受到不同學(xué)者的青睞[1~5]。數(shù)值射線追蹤可以得到相當(dāng)精確的計算結(jié)果,但計算量一般很大,很難應(yīng)用到工程中。為了在精度和時間上取得一個均衡,人們研究了多種方法,但一般都是二維射線追蹤并且做某種程度的簡化,在文獻(xiàn)[5,6]中給出了三維射線追蹤的快速計算方法,但沒有考慮在多CPU多核情況下的并行計算,經(jīng)過檢索尚未發(fā)現(xiàn)把并行化計算引入三維短波射線追蹤的文獻(xiàn)。
OpenMP并行計算技術(shù)是針對共享內(nèi)存多處理器體系結(jié)構(gòu)的可移植并行編程模型,能夠支持并行計算時對線程和變量的靈活設(shè)計和控制。對比操作系統(tǒng)平臺上的多線程編程步驟,應(yīng)用OpenMP的過程更為簡便[7,8]。近年來隨著多核 CPU的不斷發(fā)展,OpenMP已受到越來越多的重視。
從Hasgrove方程出發(fā),實(shí)現(xiàn)了考慮地磁場情況下的三維射線追蹤,利用多核處理器的計算機(jī)開展了短波三維射線追蹤的OpenMP并行算法研究,并以準(zhǔn)拋物電離層模型為例進(jìn)行仿真計算。仿真結(jié)果證明了該算法的有效性,展示了該算法的應(yīng)用前景。
在球坐標(biāo)系中,以電波傳播群路徑P'為參數(shù)的射線方程可描述為
式中,P'為群路徑;r、θ、φ是射線路徑上的點(diǎn)在球坐標(biāo)系中的坐標(biāo);kr、kθ、kφ是波矢量在球坐標(biāo)系中的三個分量;c為光速。式(1)~(6)用于計算射線路徑上點(diǎn)的坐標(biāo)及在該點(diǎn)處的波矢量,式(7)計算時變介質(zhì)中電磁波的頻率漂移。由電離層的時變性造成的頻率漂移量很小,在計算射線參數(shù)時可以忽略不計,因此,無需在射線追蹤的每一步對頻率進(jìn)行調(diào)整。
H為哈密頓算符,Haselgrove引入的哈密頓算符與波矢量、相折射指數(shù)的關(guān)系為
式中,n為相折射指數(shù),在考慮磁場和碰撞的情況下,折射指數(shù)為
利用常微分方程組的數(shù)值解法求解上述射線微分方程組,群路徑每變化一個步長,便可得到射線路徑上不同點(diǎn)處的波矢量及坐標(biāo)矢量,最終形成完整的射線描跡,得到傳播路徑的主要參數(shù),如群路徑、地面距離和方位偏差等。
本文采用了標(biāo)準(zhǔn)的龍格-庫塔(Runge-Kutta)方法進(jìn)行計算。
在使用龍格-庫塔法進(jìn)行三維射線追蹤時,由于每計算一步都需要上一步的計算結(jié)果,因此每一條射線只能串行求解。在使用射線追蹤時,頻率和仰角按一定的步進(jìn)掃描進(jìn)行,此時可以采用OpenMP指令以增加并行性。
OpenMP是基于派生/連接(fork/join)的編程模型。一個OpenMP程序從單個線程開始執(zhí)行,在程序的某些點(diǎn)需要并行執(zhí)行時,程序派生出額外的線程,組成一個線程組。這些線程在一個稱為并行區(qū)域的代碼區(qū)中并行執(zhí)行。線程到達(dá)并行區(qū)域的末尾時等待,直到整個線程組都到達(dá),然后它們連接在一起,只有初始或者主線程繼續(xù)執(zhí)行,直到下一個并行區(qū)域(或者程序結(jié)束)OpenMP并行處理流程,如圖1所示。
圖1 OpenMP并行處理流程
OpenMP具有兩個特性:串行等價性和遞增并行性。當(dāng)一個程序無論是使用一個線程運(yùn)行還是使用多個線程運(yùn)行時,它能夠產(chǎn)生相同的結(jié)果,則該程序具有串行等價性。在大多數(shù)情形中,具有串行等價性的程序更易于維護(hù)和理解。遞增并行性是指一種并行的編程類型,其中一個程序從一個串行程序演化為一個并行程序。處理器從一個串行程序開始,一塊接著一塊的尋找值得并行執(zhí)行的代碼段。這樣,并行性被逐漸添加。在這個過程的每個階段,存在一個可以被驗(yàn)證的程序,這極大地增加了項(xiàng)目的成功機(jī)率。
在并行設(shè)計的過程中,尤其要分析程序的串行等價性,注意全局變量、在多個地方更改的類的成員變量和類的指針成員變量等。
通過在短波射線追蹤算法中增加OpenMP編譯指令實(shí)現(xiàn)算法的并行化。射線追蹤的一般過程為
循環(huán)變量為私有變量,在一次射線追蹤中,數(shù)值算法的變量、計算返回的結(jié)果等,都為私有變量。
以下為計算多個頻率多個仰角做射線追蹤的例子代碼。
其中CRaytrace為射線追蹤類,里面封裝了數(shù)值計算,各種電離層模型、地磁場模型和碰撞模型的計算等。在并行化計算中,必須把該類的對象定義為私有。
為了檢測短波射線追蹤并行程序的正確性和效率,采用在同等條件下(同一機(jī)型和同一模型)并行程序和串行程序進(jìn)行對比計算的方法。如果并行程序和串行程序計算結(jié)果完全相同或者滿足精度要求,則可確認(rèn)并行程序是正確的。對于并行效果,一般用并行加速比來度量。通常并行加速比可以定義為串行執(zhí)行時間與并行執(zhí)行時間之比,即
目前,準(zhǔn)拋物電離層電子濃度模型[9,10]得到了廣泛的應(yīng)用,其等離子體頻率fN隨高度的分布可描述為如下的函數(shù)形式
式中,rm為從地心算起的最大電子濃度對應(yīng)的高度,單位為km;rb為從地心算起的電離層底高,單位為km;ym=rm-rb為電離層半厚,單位為km;fc為電離層的臨界頻率,單位為MHz。
以準(zhǔn)拋物模型返回散射電離圖合成為例進(jìn)行了對比分析。其中單層準(zhǔn)拋物模型參數(shù)為fcF2=6 MHz、rbF2=100 km、rmF2=200 km;兩層準(zhǔn)拋物模型的參數(shù)為 fcE=3 MHz、rbE=85 km、rmE=100 km、fcF2=6 MHz、rbF2=150 km、rmF2=250 km;三層準(zhǔn)拋物模型的參數(shù)為fcE=3 MHz、rbE=85 km、rmE=100 km、fcF1=5 MHz、rbF1=120 km、rmF1=150 km、fcF2=8 MHz、rbF2=170 km、rmF2=250 km。運(yùn)算平臺為4核Intel酷睿2CPU,4 G內(nèi)存。
在此兩種參數(shù)下分別運(yùn)行串行和并行實(shí)例,得到的運(yùn)行結(jié)果完全一致,計算結(jié)果如圖2、圖3和圖4所示。計算運(yùn)行的時間見表1,由該表可以看出在4核的計算機(jī)上,加速比大于3,計算效率約80%,運(yùn)行速度得到大幅度提高。
圖2 單層準(zhǔn)拋物模型返回散射電離圖合成
表1 并行程序與串行程序的運(yùn)行效率比較
多核架構(gòu)的計算機(jī)及多核并行計算技術(shù)的快速發(fā)展為短波射線追蹤的大規(guī)模工程應(yīng)用打下了基礎(chǔ)。通用利用OpenMP的并行計算技術(shù),使運(yùn)行速度得到了大幅度的提高,展示出在工程應(yīng)用中的廣闊前景。
[1]CROFT T A.Exact Ray Calculations in a Quasi-parabolic Ionosphere with No Magnetic Field[J].Radio Sci.,1968,3(1):69-74.
[2]NORMAN R J.A Two-dimensional Analytic Ray Tracing Technique Accommodating Horizontal Gradients[J].Radio Sci.,1997,32(2):387-396.
[3]DAVIES K,RUSH C M.High-frequency Ray Paths in I-onospheric Layers with Horizontal Gradients[J].Radio Sci.,1985,20(1):95-110.
[4]KELSO J M.Ray Tracing in the Ionosphere[J].Radio Sci.,1968,3(1):1-12.
[5]柳文,焦培南,王世凱,等.電離層短波三維射線追蹤及其研究[J].電波科學(xué)學(xué)報,2008,23(1):41-48.
[6]柳文,王俊江,焦培南,等.電離層三維射線追蹤的快速計算方法[J].電波科學(xué)學(xué)報,2009,24(1):55-59.
[7]OpenMP Application Program Interface[J/OL].http://www.openmp.org/mpdocuments/spec30.pdf,(2008-06-02).
[8]張林波,遲學(xué)斌,莫則堯,等.并行計算導(dǎo)論[M].北京:清華大學(xué)出版社,2006.
[9]HASELGROVE J.Ray Theory and a New Method for Ray Tracing[C]//Physics in the Ionosphere.London:Proc.Phys.Soc.,1955:355-360.
[10]JONES R M.A Three-dimensional Ray-tracing Computer Program[J].Radio Sci.,1968,3(1):93-94.
[11]索玉成.電離層短波射線追蹤[J].空間科學(xué)學(xué)報,1993,13(4):306-312.
[12]李妮,陳錚,龔光紅,等.多核并行計算技術(shù)在景象匹配仿真中的應(yīng)用[J].系統(tǒng)電子工程與電子技術(shù),2010,32(2):428-432.