任亞鵬,石 丹,高 偉,高攸綱,陳亞洲
(1.北京郵電大學(xué) 電子工程學(xué)院,北京 100876; 2.石家莊軍械工程學(xué)院,石家莊 050003)
幾何射線追蹤法是電磁波傳播建模的重要工具,在電波傳播模擬仿真中有著重要的應(yīng)用。射線追蹤是一種被廣泛用于移動通信和個(gè)人通信環(huán)境(室外宏蜂窩、街道微蜂窩和室內(nèi)微蜂窩)中預(yù)測電波傳播特性的技術(shù)[1],其基本思想是從幾何光學(xué)法演變而來的:將入射電磁場離散成為射線管,對每條射線管的散射路徑進(jìn)行追蹤,可以對一般耦合效應(yīng)進(jìn)行合理的計(jì)算和預(yù)估。這使得幾何射線追蹤法成為處理耦合散射效應(yīng)的經(jīng)典方法[2]。然而傳統(tǒng)的幾何射線追蹤法對于發(fā)射機(jī)采用全向剖分的方法。這勢必導(dǎo)致發(fā)射射線數(shù)量很多。由于接收機(jī)位置以及接收天線方向性等問題,這樣的無目的性全向剖分導(dǎo)致大多數(shù)射線都無法達(dá)到接收機(jī),造成了多數(shù)射線的無用追蹤,從而使得整個(gè)射線追蹤算法效率低下。在電磁仿真軟件設(shè)計(jì)中,整個(gè)射線追蹤模塊往往是軟件運(yùn)行效率的瓶頸。
針對這些問題,我們在保證射線追蹤結(jié)果精度的前提下提出了針對射線追蹤發(fā)射模塊的改進(jìn)算法。將舊算法全向剖分發(fā)射射線靜態(tài)追蹤的方法,改進(jìn)為按照天線的方向圖剖分,動態(tài)追蹤的新方法。達(dá)到了在誤差允許的范圍內(nèi),大幅度提高射線追蹤算法時(shí)間的目的。
針對射線追蹤舊算法靜態(tài)全向剖分的不足,新算法在兩個(gè)方面將之前的靜態(tài)追蹤優(yōu)化為了動態(tài)追蹤。首先是發(fā)射模塊,由于全向剖分實(shí)際上是一種窮舉法,將所有可能發(fā)射的射線全部都追蹤一遍,最終按照是否能到達(dá)接受球以及功率是否衰減到閾值之下進(jìn)行篩選和舍棄。這樣的窮舉法簡單粗暴,目的性太差。而新算法則在發(fā)射階段已經(jīng)進(jìn)行了一次篩選,也就是已經(jīng)按照接收機(jī)的位置以及接收機(jī)天線的方向圖進(jìn)行了有選擇的剖分。從而按照接收機(jī)帶著強(qiáng)目的性減少了發(fā)射射線的條數(shù)。顯著減少了射線追蹤的時(shí)間。然而,單純從這一點(diǎn)改進(jìn),存在著明顯的不足。首先射線追蹤雖然按照接收機(jī)進(jìn)行了有針對性的定向剖分,但仍是一種靜態(tài)的追蹤思想,只是減少了發(fā)射射線條數(shù)。更重要的是實(shí)際應(yīng)用中會發(fā)現(xiàn),這樣設(shè)計(jì)雖然可以大幅度提高射線追蹤算法的時(shí)間,然而精度方面明顯達(dá)不到要求。
針對這些問題,提出了本文算法改進(jìn)的思想:
第一步:將靜態(tài)改成兩個(gè)動態(tài)。第一個(gè)動態(tài)是射線追蹤過程中射線的動態(tài)。在舊算法中射線追蹤條數(shù)在發(fā)射階段已然確定,只用以此進(jìn)行追蹤即可。而新算法是動態(tài)改變的,換句話說,發(fā)射模塊發(fā)射的射線只是一個(gè)初始條件,在整個(gè)射線追蹤的過程中,射線是動態(tài)變化的,然而這個(gè)變化不是隨機(jī)無序的,而是按照能否到達(dá)接收機(jī)來進(jìn)行動態(tài)的增加和舍棄。第二個(gè)動態(tài)是接收球的半徑是動態(tài)變化的,在新算法中接收球是一個(gè)半徑逐漸減小的動態(tài)球。
這兩個(gè)動態(tài)是互相緊密配合的。目的是達(dá)到在精度允許的范圍內(nèi)減少射線追蹤時(shí)間。細(xì)化過程如圖1 所示。
然而,這種動態(tài)變化也產(chǎn)生以下的問題:動態(tài)的初始條件如何設(shè)定,動態(tài)變化如何設(shè)計(jì)。如果動態(tài)初始條件設(shè)計(jì)得過于精細(xì),確實(shí)能夠保證在精度方面的準(zhǔn)確。然而過度的精細(xì)會導(dǎo)致新算法的速度下降,由于存在重復(fù)追蹤,甚至?xí)?dǎo)致新算法的速度比舊算法還要慢,這顯然和新算法的初衷背道而馳。如果初始條件設(shè)計(jì)過度粗略,這樣算法的速度會很快,但是追蹤結(jié)果的精度難以保證。
針對這些問題,要進(jìn)行算法改進(jìn)的第二步:根據(jù)接收機(jī)天線的方向圖進(jìn)行動態(tài)設(shè)計(jì)。也就是在接收機(jī)天線的主瓣方向要加大細(xì)化密度。而在其他地方適度的減小細(xì)化密度,從而達(dá)到精度和效率的最佳結(jié)合點(diǎn)。
算法的流程圖如圖2 所示。
圖中射線追蹤初始化是第一個(gè)關(guān)鍵點(diǎn),本算法采用動態(tài)改變射線初始化的方法,也就是根據(jù)不同的接收機(jī)天線的方向圖設(shè)計(jì)不同的射線剖分方法。
循環(huán)截止條件的設(shè)定是算法第二個(gè)關(guān)鍵點(diǎn)。設(shè)計(jì)循環(huán)截止條件有許多不同的思路。最容易想到的是接收球半徑作為截止條件和最小細(xì)化角作為循環(huán)截止條件。循環(huán)截止條件的設(shè)定也是難點(diǎn)所在。如果截止條件設(shè)置得過分精細(xì),很可能最終輸出射線的總功率和場強(qiáng)等參量都比實(shí)際值偏小很多,甚至有可能根本接收不到射線。而如果截止條件設(shè)置得過分寬泛,有可能收到的射線條數(shù)很多。導(dǎo)致最終結(jié)果的各個(gè)參量都比理論值大很多。
圖1 細(xì)化過程簡圖
圖2 射線追蹤改進(jìn)算法流程圖
算法的第三個(gè)關(guān)鍵點(diǎn)是射線的動態(tài)更新,要完成這項(xiàng)任務(wù)必須設(shè)計(jì)一種數(shù)據(jù)結(jié)構(gòu),里面要存有射線和接受球的動態(tài)相交情況以及產(chǎn)生新射線需要的信息。
下面簡單介紹下路徑節(jié)點(diǎn)的存儲結(jié)構(gòu):
路徑中每個(gè)節(jié)點(diǎn)包含三個(gè)部分:分別存放產(chǎn)生這條射線的兩條父射線信息,以及這條射線本身的信息。而每一條射線信息又包含四個(gè)部分:分別是這條射線的起始節(jié)點(diǎn),射線的方向向量,是否與接受球相交,以及路徑的信息。詳細(xì)節(jié)點(diǎn)組成圖如圖3 所示。
發(fā)射出的射線采用動態(tài)追蹤的方式,在每一次追蹤到的射線之間再進(jìn)行細(xì)化,產(chǎn)生新射線。追不到的射線及時(shí)進(jìn)行舍棄。避免無用的射線的重復(fù)追蹤。
動態(tài)判斷射線和接受球是否相交,并且隨著追蹤過程隨時(shí)更新節(jié)點(diǎn)和接收球的相交標(biāo)志位。一定要注意在這個(gè)過程中的兩個(gè)動態(tài):
第一:射線條數(shù)是動態(tài)的,也就是隨時(shí)在有新射線的產(chǎn)生和舊射線的舍棄。
第二:接收球半徑始終在動態(tài)地改變,在整個(gè)追蹤過程中,每次循環(huán)都要改變接受球的半徑。
圖3 新算法路徑節(jié)點(diǎn)組成圖
表1 新舊算法的執(zhí)行結(jié)果
保持單一變量的原則,也就是新舊算法的對比過程中只有射線追蹤模塊采用的算法不同而已。其他所有工程參量都一致,比如:接收機(jī)都采用半波偶極子天線,而且接收球的半徑都是12.4m。
通過計(jì)算,直射射線接收功率理論值為-28.5dBm,直射射線產(chǎn)生的場強(qiáng)理論值為0.2542V/m。
新舊算法的執(zhí)行結(jié)果如表1 所示。
從表中可以明顯看出,新算法的在允許的誤差范圍內(nèi)顯著的提高了運(yùn)行速度,得到比較滿意的預(yù)期結(jié)果。
幾何射線追蹤法作為電波傳播模擬仿真的重要工具,在數(shù)據(jù)仿真運(yùn)算中有著廣泛的應(yīng)用。而算法耗時(shí)過長,往往是整個(gè)仿真算法的瓶頸所在。研究發(fā)現(xiàn),每條射線的追蹤時(shí)間并不長,真正影響算法性能的根本原因是初始化發(fā)射射線的條數(shù)過多。在接收天線相對集中,而且具有強(qiáng)方向性時(shí),這樣全向剖分去發(fā)射射線造成了大量的浪費(fèi)。所以在這樣的背景下提出了這種動態(tài)追蹤的新算法,旨在發(fā)射階段就按照接收機(jī)具有強(qiáng)目的性的發(fā)射射線。通過結(jié)果對比可知,新算法可以較好地在誤差范圍內(nèi)減少舊射線追蹤算法的運(yùn)算時(shí)間,而且由于方向圖的引入,實(shí)驗(yàn)的精度也較舊算法全向剖分發(fā)射射線有所提高,可以較好地用在電波傳播仿真軟件的射線追蹤模塊中。
[1]劉斐,電波傳播射線追蹤法的研究[J],信息與電腦,2011,(2):160.
[2]黃沛霖,一種射線追蹤法的效率改進(jìn)算法研究[J],北京航空航天大學(xué)學(xué)報(bào),2003,29(7).