石 習(xí),馮占林,趙會(huì)朋,秦曉珊
(中國(guó)電子科技集團(tuán)公司 電子科學(xué)研究院,北京 100026)
低軌衛(wèi)星憑借重量小、成本低、通信時(shí)延低等優(yōu)勢(shì),逐漸成為各國(guó)空間領(lǐng)域研究的熱潮。成百上千顆的衛(wèi)星按照預(yù)先設(shè)定的構(gòu)型,以組網(wǎng)的形式分布在不同軌道平面以及相位上,協(xié)同完成通信、導(dǎo)航、偵察遙感等任務(wù)。其中最具代表性的當(dāng)屬“星鏈”低軌衛(wèi)星星座?!靶擎湣毙l(wèi)星軌道高度低、周期短、重訪率高,攜帶傳感器后可對(duì)全球主要地區(qū)進(jìn)行24小時(shí)偵察監(jiān)視。軌道高度為550 km的“星鏈”衛(wèi)星能夠以最大44.85°的半張角對(duì)地探測(cè),覆蓋半徑可達(dá)573.5 km。覆蓋分析是評(píng)估衛(wèi)星對(duì)地偵察監(jiān)視能力的基礎(chǔ),計(jì)算方法主要有網(wǎng)格點(diǎn)法和基于幾何運(yùn)算的方法。
常用來(lái)分析衛(wèi)星覆蓋性能的指標(biāo)主要有:覆蓋時(shí)間、重訪時(shí)間、覆蓋面積以及N重覆蓋等等。覆蓋分析的經(jīng)典算法網(wǎng)格點(diǎn)法由Morrison,J.J于1973年首次提出[1]。該方法基于特定的規(guī)則將目標(biāo)區(qū)域劃分為一系列網(wǎng)格,通過(guò)對(duì)網(wǎng)格點(diǎn)的覆蓋性能統(tǒng)計(jì)表述衛(wèi)星對(duì)區(qū)域的覆蓋性能。劃分規(guī)則決定著計(jì)算結(jié)果精度和計(jì)算量。文獻(xiàn)[2-4]分別對(duì)網(wǎng)格點(diǎn)法做出了改進(jìn)?;趲缀芜\(yùn)算的方法就是在經(jīng)緯度平面上利用多邊形交、并運(yùn)算來(lái)計(jì)算覆蓋性能[5]。文獻(xiàn)[6-7]也通過(guò)多邊形計(jì)算覆蓋相關(guān)性能。
本文關(guān)注衛(wèi)星對(duì)地覆蓋性能中的覆蓋時(shí)間這一指標(biāo),也即衛(wèi)星對(duì)地面目標(biāo)的可見(jiàn)時(shí)間窗口,需要計(jì)算衛(wèi)星在未來(lái)特定時(shí)間內(nèi)對(duì)于該目標(biāo)的入境、出境時(shí)間。傳統(tǒng)的時(shí)間窗口計(jì)算方法主要是跟蹤傳播模型,該模型需要對(duì)衛(wèi)星位置連續(xù)采樣,即對(duì)衛(wèi)星進(jìn)行軌道預(yù)報(bào),并判斷當(dāng)前位置衛(wèi)星與地面目標(biāo)的可見(jiàn)關(guān)系,如果可見(jiàn)則記錄當(dāng)前時(shí)刻,最后形成的可見(jiàn)時(shí)間段即為衛(wèi)星對(duì)地可見(jiàn)時(shí)間窗口。該模型采取固定步長(zhǎng)的方式,當(dāng)預(yù)報(bào)周期增加,此方法耗時(shí)嚴(yán)重。
針對(duì)覆蓋時(shí)間窗口傳統(tǒng)模型計(jì)算量大、所耗時(shí)間長(zhǎng)的問(wèn)題,解決方法大致可分以下幾種:
1)通過(guò)軌道過(guò)濾、數(shù)學(xué)模型簡(jiǎn)化等近似方法。I.Ali等利用球面幾何計(jì)算了圓形低地球軌道衛(wèi)星對(duì)地面終端的可見(jiàn)性時(shí)間函數(shù),其迭代計(jì)算方法速度快,但算法精度較低且只能針對(duì)點(diǎn)目標(biāo)區(qū)域[8]。李冬等通過(guò)大圓近似星下點(diǎn)軌跡,通過(guò)求解關(guān)于偏近點(diǎn)角的超越方程從而計(jì)算時(shí)間窗口[9]。該方法誤差主要來(lái)自于歲差,章動(dòng)以及地球形狀等。Feuerstein P等首先過(guò)濾掉不可見(jiàn)的軌道周期,減少了星地鏈路可見(jiàn)性時(shí)間窗口的計(jì)算量[10]。宋志明等首先在不考慮地球自轉(zhuǎn)的情況下計(jì)算衛(wèi)星對(duì)地可見(jiàn)時(shí)間窗口,然后根據(jù)地球自轉(zhuǎn)特征迭代修正,從而得到整個(gè)周期內(nèi)的時(shí)間窗口[11]。該模型未加入地球非球形引力等其他攝動(dòng)因素,且無(wú)法對(duì)區(qū)域目標(biāo)進(jìn)行計(jì)算。
2)通過(guò)分布式,實(shí)時(shí)服務(wù)、查詢方法。張瑋等將區(qū)域目標(biāo)時(shí)間窗口計(jì)算分離成提前計(jì)算并編碼的預(yù)存儲(chǔ)階段和遍歷查詢的檢索獲取階段[12]。盧萬(wàn)杰等提出了星地可見(jiàn)時(shí)間窗口計(jì)算的實(shí)時(shí)服務(wù)方法[13],首先通過(guò)地面目標(biāo)區(qū)域與星下點(diǎn)的空間關(guān)系,從而決定是否計(jì)算當(dāng)前時(shí)刻覆蓋。在此基礎(chǔ)上構(gòu)建時(shí)間窗口計(jì)算流程,根據(jù)系統(tǒng)CPU核數(shù)設(shè)置計(jì)算并行的任務(wù)數(shù),并基于Storm實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)處理,保證了計(jì)算與服務(wù)的實(shí)時(shí)性。
3)通過(guò)動(dòng)態(tài)設(shè)置步長(zhǎng)的方法,即通過(guò)由粗略到精細(xì)的搜索方式。張眾等通過(guò)空間幾何關(guān)系把區(qū)域目標(biāo)的邊界描述為圓弧,判定邊界是否相交;針對(duì)衛(wèi)星視場(chǎng)得出可見(jiàn)性的解析判斷條件,最后用二分搜索方法計(jì)算衛(wèi)星對(duì)區(qū)域目標(biāo)可見(jiàn)窗口[14]。鄂智博等首先使用較大的步長(zhǎng),得到衛(wèi)星對(duì)地面點(diǎn)目標(biāo)的低精度可見(jiàn)時(shí)間窗口,然后使用二分搜索方法得到精確窗口計(jì)算結(jié)果。對(duì)于區(qū)域目標(biāo)而言,則通過(guò)統(tǒng)計(jì)邊界點(diǎn)的可見(jiàn)時(shí)間窗口的上下界得到[15]。汪榮峰等定義“預(yù)測(cè)距離”的概念[16],分別將衛(wèi)星與地下點(diǎn)距離和距離的一半作為預(yù)測(cè)距離,計(jì)算動(dòng)態(tài)步長(zhǎng)下衛(wèi)星對(duì)點(diǎn)目標(biāo)區(qū)域的可見(jiàn)時(shí)間窗口,大大減少了采樣點(diǎn)數(shù)目,提高了效率。最后針對(duì)地面區(qū)域目標(biāo),給出預(yù)測(cè)距離的計(jì)算方法。
本文提出了一種基于經(jīng)緯度平面上多邊形距離的覆蓋時(shí)間窗口快速計(jì)算方法。算法流程是:以觀測(cè)矢量和地球的位置情況(包括相交、相切、不相交三種情況)計(jì)算衛(wèi)星對(duì)地球覆蓋邊界坐標(biāo),將其轉(zhuǎn)化為二維平面內(nèi)的點(diǎn)或多邊形,通過(guò)與目標(biāo)區(qū)域多邊形位置關(guān)系判斷從而計(jì)算衛(wèi)星對(duì)目標(biāo)區(qū)域的出、入境時(shí)間。在此基礎(chǔ)上,重新定義“預(yù)測(cè)距離”的概念,將多邊形的距離作為動(dòng)態(tài)調(diào)整算法步長(zhǎng)的依據(jù),避免了傳統(tǒng)跟蹤傳播模型采樣點(diǎn)多、計(jì)算慢的問(wèn)題,實(shí)現(xiàn)了對(duì)地覆蓋時(shí)間窗口的快速計(jì)算。
衛(wèi)星攜帶傳感器后會(huì)對(duì)地形成一個(gè)探測(cè)區(qū)域,如圖1所示。傳統(tǒng)的基于球面三角形的覆蓋模型是一種探測(cè)區(qū)域的近似求解方法。如果要考慮傳感器的形狀、姿態(tài)以及半張角等因素,則可以使用觀測(cè)矢量模型[17]。使用觀測(cè)矢量模型進(jìn)行覆蓋范圍邊界計(jì)算的步驟是:首先根據(jù)傳感器形狀設(shè)置傳感器邊界點(diǎn)個(gè)數(shù),建立衛(wèi)星對(duì)地觀測(cè)矢量,在地心固定坐標(biāo)系下聯(lián)立觀測(cè)矢量和地球橢球方程,求解觀測(cè)矢量在地球表面的映射位置,從而實(shí)現(xiàn)覆蓋邊界計(jì)算。
圖1 衛(wèi)星對(duì)地覆蓋示意圖
對(duì)于觀測(cè)矢量和地球不相交的情況,需要計(jì)算相切時(shí)的觀測(cè)矢量和地球的交點(diǎn)位置,作為不相交情況下的衛(wèi)星對(duì)地覆蓋邊界,具體推導(dǎo)參考文獻(xiàn)[18]。在衛(wèi)星工具軟件STK中生成一顆衛(wèi)星,設(shè)置傳感器半張角、姿態(tài)角等參數(shù)后生成會(huì)對(duì)地球表面的覆蓋區(qū)域。利用衛(wèi)星對(duì)地覆蓋模型計(jì)算出的邊界點(diǎn)坐標(biāo)生成STK中的AreaTarget對(duì)象(記作MyAreaTarget),從圖2中可以看出,兩區(qū)域幾乎重合。
圖2 對(duì)地覆蓋仿真二維圖
圖3 射線法示意圖
如果模型中傳感器邊界點(diǎn)個(gè)數(shù)較大,那么生成的覆蓋區(qū)域邊界點(diǎn)數(shù)目也會(huì)較多,手動(dòng)添加邊界點(diǎn)經(jīng)緯度坐標(biāo)至STK中的步驟就會(huì)愈加繁瑣。為了避免這種重復(fù)性軟件設(shè)置操作,接下來(lái)介紹將覆蓋模型得到的一系列點(diǎn)坐標(biāo)生成STK中AreaTarget對(duì)象的簡(jiǎn)單方法,具體通過(guò)STK提供的MATLAB接口發(fā)出控制指令實(shí)現(xiàn)。具體代碼如下。
代碼1:建立衛(wèi)星覆蓋區(qū)域
ui=actxGetRunningServer(‘STK11.application’);
root = ui.Personality2;
sc = root.CurrentScenario;
a=sc.Children.New(‘eAreaTarget’,‘MyAreaTarget’);
root.BeginUpdate();
boundary = {26.58 124.26
28.63 126.34
... ...
26.29 128.01
24.18 126.67;}
a.CommonTasks.SetAreaTypePattern(boundary);
root.EndUpdate();
求解空間目標(biāo)在一定周期內(nèi)對(duì)目標(biāo)區(qū)域覆蓋時(shí)間窗口的集合,是地面目標(biāo)預(yù)警和干預(yù)的基礎(chǔ)。預(yù)報(bào)結(jié)果基于衛(wèi)星對(duì)地覆蓋范圍求解結(jié)果,計(jì)算衛(wèi)星對(duì)地面目標(biāo)區(qū)域的可見(jiàn)性弧段,求解衛(wèi)星在一定時(shí)間內(nèi)經(jīng)過(guò)目標(biāo)區(qū)域的時(shí)間,可以為空間預(yù)警和航天偵察規(guī)避提供數(shù)據(jù)信息。
衛(wèi)星是否攜帶傳感器以及傳感器的形狀和參數(shù)都會(huì)直接影響時(shí)間窗口的計(jì)算結(jié)果。計(jì)算過(guò)程中,對(duì)未攜帶傳感器或傳感器半張角為0的情況,衛(wèi)星對(duì)地的覆蓋為星下點(diǎn),衛(wèi)星是否經(jīng)過(guò)目標(biāo)區(qū)域,可以理解為經(jīng)緯度平面上星下點(diǎn)是否在目標(biāo)區(qū)域之內(nèi),即判斷點(diǎn)和多邊形的平面位置關(guān)系。其他情況下,衛(wèi)星對(duì)地球表面形成一個(gè)覆蓋區(qū)域,此時(shí)需要判斷其與目標(biāo)區(qū)域之間是否存在重疊。
2.1.1 點(diǎn)和多邊形位置關(guān)系判斷
點(diǎn)與多邊形的位置關(guān)系判斷有多種方法,本文使用射線法。
射線法的核心思想是:沿目標(biāo)點(diǎn)任意方向做一條射線,通過(guò)射線與多邊形邊的交點(diǎn)數(shù)量判斷點(diǎn)是否包含在多邊形內(nèi)部。交點(diǎn)數(shù)量為奇數(shù)表示在多邊形內(nèi),偶數(shù)表示不在多邊形內(nèi)部。對(duì)于幾種特殊情況的規(guī)定與處理,可以參考文獻(xiàn)[19]。這里為簡(jiǎn)化計(jì)算,取射線方向?yàn)閅軸負(fù)方向,此時(shí)射線法示意圖如下。
本文將多邊形邊界點(diǎn)作為內(nèi)部點(diǎn)處理。
此時(shí)的計(jì)算流程如圖4所示。
圖4 射線法計(jì)算流程圖
2.1.2 多邊形位置關(guān)系判斷
若覆蓋區(qū)域和目標(biāo)區(qū)域有重合部分,則認(rèn)為衛(wèi)星對(duì)目標(biāo)區(qū)域進(jìn)行了覆蓋,重合的情況應(yīng)該包括相交和包含關(guān)系。對(duì)于相交情況,可以通過(guò)MATLAB的POLYXPOLY函數(shù)實(shí)現(xiàn),該函數(shù)返回平面笛卡爾坐標(biāo)系中兩個(gè)多邊形的交點(diǎn)(注意這里的多邊形也可以是線段,說(shuō)明可以滿足線陣式傳感器的情況)。這里利用該函數(shù)返回值是否為空作為兩個(gè)多邊形是否有交點(diǎn)的判斷依據(jù)。
將衛(wèi)星覆蓋區(qū)域抽象為二維坐標(biāo)系下多邊形時(shí),需要對(duì)以下兩種特殊情況進(jìn)行處理:
當(dāng)衛(wèi)星對(duì)地覆蓋區(qū)域包含極點(diǎn)時(shí),需要添加極點(diǎn)作為多邊形頂點(diǎn)輔助生成覆蓋區(qū)域多邊形;當(dāng)衛(wèi)星對(duì)地覆蓋區(qū)域穿過(guò)180°經(jīng)線時(shí),需要添加180°經(jīng)線上的一系列點(diǎn)將覆蓋區(qū)域劃分為兩塊,分別生成兩個(gè)多邊形。此時(shí)需要分別對(duì)這兩個(gè)多邊形與目標(biāo)區(qū)域多邊形進(jìn)行位置關(guān)系判斷,可參考文獻(xiàn)[20]。
依據(jù)衛(wèi)星軌道預(yù)報(bào)結(jié)果和傳感器對(duì)地覆蓋計(jì)算結(jié)果,可以實(shí)現(xiàn)對(duì)衛(wèi)星是否經(jīng)過(guò)目標(biāo)區(qū)域的出、入境時(shí)間。算法流程如圖5所示。
圖5 時(shí)間窗口計(jì)算流程圖
分析模型的誤差主要來(lái)自于衛(wèi)星對(duì)地覆蓋模型的計(jì)算結(jié)果,對(duì)于簡(jiǎn)單圓錐形傳感器而言,由于實(shí)際覆蓋區(qū)域是一個(gè)圓形區(qū)域,因此可以通過(guò)增加多邊形的頂點(diǎn)數(shù)來(lái)減小覆蓋區(qū)域?qū)嶋H區(qū)域的誤差,從而降低最后算法時(shí)間窗口結(jié)果的誤差。
由觀測(cè)矢量模型可知,多邊形的頂點(diǎn)可以通過(guò)傳感器邊界點(diǎn)的個(gè)數(shù)進(jìn)行修改。將模型中傳感器圓邊界點(diǎn)個(gè)數(shù)增加,此時(shí)對(duì)覆蓋區(qū)域的擬合效果更好,算法計(jì)算的時(shí)間窗口精度越高,但算法耗時(shí)也隨之增加。同時(shí),固定步長(zhǎng)1 s下,對(duì)衛(wèi)星位置的采樣點(diǎn)數(shù)目與計(jì)算周期成正比,算法時(shí)間耗時(shí)也隨之增加。因此,需要對(duì)計(jì)算時(shí)間進(jìn)行優(yōu)化。
跟蹤傳播模型以一定步長(zhǎng)連續(xù)計(jì)算預(yù)報(bào)周期內(nèi)衛(wèi)星對(duì)地覆蓋區(qū)域邊界點(diǎn)。當(dāng)步長(zhǎng)過(guò)大,衛(wèi)星位置采樣數(shù)量減少,相鄰采樣點(diǎn)對(duì)應(yīng)覆蓋多邊形間隔越大,可能導(dǎo)致錯(cuò)過(guò)某些時(shí)刻對(duì)于衛(wèi)星是否過(guò)境的判斷,造成衛(wèi)星過(guò)境預(yù)報(bào)的“漏警”,計(jì)算得到的出入境時(shí)間精度越低。當(dāng)步長(zhǎng)過(guò)小,容易造成整個(gè)預(yù)報(bào)周期內(nèi)很多“無(wú)意義”的計(jì)算和判斷。例如,一天內(nèi)“星鏈”對(duì)烏克蘭地區(qū)的單個(gè)覆蓋時(shí)間窗口通常在幾分鐘內(nèi),其他大部分時(shí)間內(nèi),衛(wèi)星覆蓋區(qū)域與目標(biāo)區(qū)域沒(méi)有重合,甚至相距較遠(yuǎn)。對(duì)一天時(shí)間的預(yù)報(bào)周期,如果按以1秒為步長(zhǎng)的采樣方法,無(wú)疑會(huì)進(jìn)行多次不必要的操作,導(dǎo)致算法計(jì)算量大、效率低。
衛(wèi)星對(duì)地時(shí)間窗口算法耗時(shí)與衛(wèi)星采樣點(diǎn)的個(gè)數(shù)呈正相關(guān)。因此,實(shí)際有意義的計(jì)算只發(fā)生在相交時(shí)間及相交邊界的領(lǐng)域。如何避免無(wú)意義的計(jì)算,使采樣時(shí)間盡快“收斂”到相交時(shí)刻附近,是本文研究的重點(diǎn)。
以編號(hào)為44238的“星鏈”衛(wèi)星為例,下載該衛(wèi)星某天的TLE數(shù)據(jù),解析出衛(wèi)星歷元時(shí)刻為7 Oct 2021 11:40:04.473(UTC),計(jì)算一天內(nèi)該衛(wèi)星對(duì)地面某目標(biāo)區(qū)域的可見(jiàn)時(shí)間窗口。
將一段時(shí)間內(nèi)衛(wèi)星對(duì)地覆蓋區(qū)域的多邊形投影到二維平面上,截取部分時(shí)刻的覆蓋區(qū)域和目標(biāo)區(qū)域多邊形位置關(guān)系如圖6和圖7。當(dāng)覆蓋區(qū)域接近目標(biāo)區(qū)域或者覆蓋區(qū)域與目標(biāo)區(qū)域相交時(shí),此時(shí)步長(zhǎng)應(yīng)該設(shè)置較小,避免漏掉其他相交時(shí)刻的判斷,導(dǎo)致過(guò)境時(shí)間精度低。
圖6 覆蓋區(qū)域與目標(biāo)區(qū)域位置圖
圖7 覆蓋區(qū)域與目標(biāo)區(qū)域位置圖(相距較遠(yuǎn))
某時(shí)刻衛(wèi)星覆蓋區(qū)域和目標(biāo)區(qū)域相距較遠(yuǎn),位置關(guān)系如圖7所示。此時(shí)步長(zhǎng)應(yīng)該設(shè)置較大,避免很多不必要的計(jì)算與判斷,導(dǎo)致計(jì)算耗時(shí)嚴(yán)重。
至此,本文定義二維平面內(nèi)覆蓋區(qū)域和目標(biāo)區(qū)域的預(yù)測(cè)距離為動(dòng)態(tài)選取步長(zhǎng)的因素,并做出如下定義:當(dāng)兩區(qū)域有重合時(shí),預(yù)測(cè)距離為0;當(dāng)兩區(qū)域沒(méi)有重合時(shí),預(yù)測(cè)距離為平面內(nèi)兩多邊形的最短距離。計(jì)算二維平面內(nèi)覆蓋區(qū)域和目標(biāo)區(qū)域的瞬時(shí)預(yù)測(cè)距離的函數(shù)如下:
算法:多邊形預(yù)測(cè)距離
輸入:二維平面內(nèi)覆蓋多邊形、目標(biāo)區(qū)域多邊形
輸出:覆蓋區(qū)域和目標(biāo)區(qū)域的瞬時(shí)預(yù)測(cè)距離Pd
if(X與Y相交)
Pd=0
else
對(duì)X的第i條邊,計(jì)算各頂點(diǎn)Yj與該邊的最小距離Dj
對(duì)Y的第j條邊,計(jì)算X各頂點(diǎn)Xi與該邊的最小距離DjPd=min(Di,Dj)
end
計(jì)算上文兩種不相交情況下的多邊形預(yù)測(cè)距離,最短距離如圖8和圖9所示。
圖8 不相交情況最小距離示意圖(一)
圖9 不相交情況最小距離示意圖(二)
按照定義,此時(shí)預(yù)測(cè)距離分別為0.168 0和6.488 7。
選取預(yù)報(bào)周期內(nèi)一段時(shí)間(包含覆蓋時(shí)間),計(jì)算預(yù)測(cè)距離隨時(shí)間變化,結(jié)果如圖10所示,其中橫坐標(biāo)表示距離預(yù)報(bào)起始時(shí)間(衛(wèi)星歷元時(shí)刻)過(guò)去的秒數(shù)。
圖10 預(yù)測(cè)距離隨時(shí)間變化圖(部分)
在該時(shí)間段內(nèi),隨著衛(wèi)星位置的變化,預(yù)測(cè)距離先由70下降至0后再次上升。由前文預(yù)測(cè)距離的定義可知,預(yù)測(cè)距離為0即表示覆蓋區(qū)域多邊形和目標(biāo)區(qū)域多邊形有重合,也即衛(wèi)星對(duì)目標(biāo)區(qū)域可見(jiàn)。
于是,計(jì)算衛(wèi)星出入境時(shí)間的問(wèn)題轉(zhuǎn)化為預(yù)測(cè)距離的函數(shù)等于最小值的優(yōu)化問(wèn)題。
由圖可見(jiàn),在選取的這段時(shí)間內(nèi),預(yù)測(cè)距離下降呈現(xiàn)一定的規(guī)律性,梯度較為平穩(wěn)。
依據(jù)預(yù)測(cè)距離的變化率動(dòng)態(tài)設(shè)置步長(zhǎng),其中步長(zhǎng)最小取1秒,即當(dāng)預(yù)測(cè)距離接近0時(shí),衛(wèi)星采樣步長(zhǎng)為1秒;預(yù)測(cè)距離較大時(shí),衛(wèi)星采樣步長(zhǎng)可達(dá)幾至幾十分鐘。
計(jì)算預(yù)報(bào)周期內(nèi)衛(wèi)星對(duì)地可見(jiàn)時(shí)間窗口,對(duì)比固定步長(zhǎng)為1秒的算法,結(jié)果如表1所示。
表1 兩種方法計(jì)算結(jié)果對(duì)比
對(duì)比結(jié)果可知,兩種方法計(jì)算衛(wèi)星對(duì)地可見(jiàn)性時(shí)間窗口完全一致,動(dòng)態(tài)設(shè)置步長(zhǎng)后,參與覆蓋邊界計(jì)算、與目標(biāo)區(qū)域相交判斷的采樣點(diǎn)數(shù)目由86 500個(gè)減少為457個(gè)。算法耗時(shí)與采樣點(diǎn)數(shù)目成正比,故動(dòng)態(tài)設(shè)置步長(zhǎng)后,相比于固定步長(zhǎng)方法效率提升約99.5%。
衛(wèi)星對(duì)地可見(jiàn)時(shí)間窗口結(jié)果同時(shí)取決于衛(wèi)星軌道、傳感器參數(shù)和目標(biāo)區(qū)域位置等因素。選取“星鏈”衛(wèi)星中軌道傾角更高的極地軌道衛(wèi)星,編號(hào)48 879,計(jì)算固定步長(zhǎng)和動(dòng)態(tài)設(shè)置步長(zhǎng)兩種方法下衛(wèi)星對(duì)目標(biāo)區(qū)域的可見(jiàn)時(shí)間窗口相關(guān)結(jié)果如表2所示。
表2 兩種方法計(jì)算結(jié)果對(duì)比(44 879)
對(duì)于極地軌道衛(wèi)星48 879而言,預(yù)報(bào)周期內(nèi)對(duì)地覆蓋時(shí)間較短,動(dòng)態(tài)設(shè)置步長(zhǎng)方法所采樣點(diǎn)數(shù)目更少,算法效率提升更高。
STK是個(gè)功能強(qiáng)大的仿真分析軟件,而且兼具場(chǎng)景、模型逼真的特點(diǎn)、在衛(wèi)星、導(dǎo)彈等領(lǐng)域應(yīng)用廣泛。但軟件邏輯能力較差,無(wú)法通過(guò)編程實(shí)現(xiàn)循環(huán)計(jì)算、嵌套等復(fù)雜過(guò)程。通常情況下,航天應(yīng)用場(chǎng)景規(guī)模龐大,需要進(jìn)行手動(dòng)重復(fù)性操作時(shí)便不再方便。為此,STK提供了編程接口便于其他應(yīng)用程序調(diào)用STK,借助接口可以編程實(shí)現(xiàn)復(fù)雜任務(wù)的自動(dòng)化實(shí)現(xiàn)。
為了驗(yàn)證算法的準(zhǔn)確性,可以和STK結(jié)果對(duì)比。利用STK創(chuàng)建仿真場(chǎng)景,導(dǎo)入100 顆“星鏈”衛(wèi)星的TLE數(shù)據(jù),并設(shè)置仿真周期為一天。
衛(wèi)星對(duì)地時(shí)間窗口算法的相關(guān)參數(shù)設(shè)置如下:傳感器邊界點(diǎn)數(shù)目設(shè)置為100,半錐角為44.85°,姿態(tài)角均為0。在STK中需要對(duì)每顆衛(wèi)星添加和算法相同參數(shù)的傳感器,這里依然使用STK提供的MATLAB接口編程實(shí)現(xiàn)。
本文在向STK導(dǎo)入衛(wèi)星對(duì)象時(shí)獲取添加路徑,通過(guò)創(chuàng)建constellation集合(記作MyConst)存放所有的傳感器,利用衛(wèi)星路徑和集合元素的簡(jiǎn)單映射關(guān)系,循環(huán)為每個(gè)衛(wèi)星添加傳感器。以下是MATLAB實(shí)現(xiàn)的關(guān)鍵代碼。
代碼2:自動(dòng)為衛(wèi)星添加傳感器
cs=root.CurrentScenario.Children.New(‘eConstellation’,‘MyConst’);
%創(chuàng)建星座集合
%循環(huán)給衛(wèi)星添加傳感器
for i=1:count
sat=root.GetObjectFromPath(char(satPaths(i)));%獲取衛(wèi)星路徑
Sen=sat.Children.New(‘eSensor’,‘Sen’);
Sen.CommonTasks.SetPatternSimpleConic(44.85,0.1);
cs.Objects.Add(Sensor.Path);%添加傳感器路徑
end
分析“星鏈”星座對(duì)區(qū)域的覆蓋性能需要使用STK的覆蓋模塊(STK/Coverage),分析對(duì)象主要是Coverage Definition,利用該模塊可以設(shè)置“覆蓋資源”(比如衛(wèi)星或者傳感器)、覆蓋區(qū)域(指定經(jīng)緯度區(qū)域或者全球)、覆蓋網(wǎng)格(Grid)以及各種約束條件。
覆蓋對(duì)象設(shè)置具體步驟如下:(1)在場(chǎng)景中添加Coverage Definition對(duì)象covDef;(2)設(shè)置Grid:本文使用Custom Regions自定義區(qū)域類型,關(guān)聯(lián)場(chǎng)景中建立好的AreaTarget,并設(shè)定Point Granularity(網(wǎng)格點(diǎn)間隔)為L(zhǎng)at/Lon=0.5°;(3)設(shè)置Assets(覆蓋資源):選擇預(yù)先建立的MyConst星座,添加至覆蓋資源。以下是MATLAB設(shè)置覆蓋對(duì)象的部分代碼。
代碼3:覆蓋對(duì)象設(shè)置
covDef=sc.Children.New(‘eCoverageDefinition’,‘CovDef’);
covDef.Grid.BoundsType=‘eBoundsCustomRegions’;
covGrid=covDef.Grid;
bounds=covGrid.Bounds;
bounds.AreaTargets.Add(‘AreaTarget/’MyAreaTarget);
Res=covGrid.Resolution;
Res.LatLon=.5;%網(wǎng)格點(diǎn)經(jīng)緯度大小
covDef.AssetList.Add(constellation.Path);
至此,100顆攜帶傳感器的“星鏈”衛(wèi)星覆蓋場(chǎng)景建立完畢。為了驗(yàn)證本文衛(wèi)星對(duì)地時(shí)間窗口算法的準(zhǔn)確性,將STK分析結(jié)果中的覆蓋起始時(shí)間和結(jié)束時(shí)間與算法結(jié)果中的入境時(shí)間和出境時(shí)間取差的絕對(duì)值作為誤差,如果某顆衛(wèi)星對(duì)目標(biāo)區(qū)域不止有一個(gè)覆蓋時(shí)間窗口,則取多個(gè)窗口誤差的均值作為最終誤差,入境時(shí)間和出境時(shí)間的誤差結(jié)果如圖11和圖12所示。
圖11 入境時(shí)間誤差圖
圖12 出境時(shí)間誤差圖
從計(jì)算結(jié)果和誤差比較圖可以看出,本文算法獲得的時(shí)間窗口準(zhǔn)確性較高,結(jié)果與STK仿真結(jié)果之間的誤差多在1 s以內(nèi)。
本章首先構(gòu)建了衛(wèi)星對(duì)地覆蓋模型,借助該模型可精確求解衛(wèi)星對(duì)地瞬時(shí)覆蓋區(qū)域的邊界點(diǎn),并利用STK軟件驗(yàn)證了模型的正確性。本文模型考慮了傳感器形狀、視場(chǎng)角和姿態(tài)角因素,適用于觀測(cè)矢量與地球表面相交、相切、不相交三種情況。
衛(wèi)星對(duì)地覆蓋模型計(jì)算衛(wèi)星當(dāng)前位置下,傳感器對(duì)地球表面探測(cè)區(qū)域的覆蓋邊界點(diǎn)坐標(biāo)。計(jì)算一段時(shí)間內(nèi)的覆蓋區(qū)域和衛(wèi)星對(duì)地可見(jiàn)時(shí)間窗口,需要對(duì)衛(wèi)星位置進(jìn)行軌道預(yù)報(bào),且最后結(jié)果誤差受軌道預(yù)報(bào)誤差的影響?!靶擎湣毙l(wèi)星軌道周期低于225分鐘,屬于低軌目標(biāo),與其TLE數(shù)據(jù)相適應(yīng)的軌道預(yù)報(bào)模型是SGP4模型。對(duì)于不同軌道特征的衛(wèi)星應(yīng)選擇相適應(yīng)的軌道預(yù)報(bào)模型。對(duì)不同軌道高度衛(wèi)星的軌道預(yù)報(bào)模型以及模型誤差分析是本文后續(xù)計(jì)劃開(kāi)展的工作。
其次,提出了一套計(jì)算衛(wèi)星對(duì)地目標(biāo)區(qū)域可見(jiàn)性分析的方法,可以求解衛(wèi)星對(duì)目標(biāo)區(qū)域的過(guò)境時(shí)間窗口,結(jié)果基于二維平面上點(diǎn)與多邊形或者多邊形與多邊形之間的位置關(guān)系,并且可通過(guò)改變傳感器邊界點(diǎn)的個(gè)數(shù)得到了不同精度的時(shí)間窗口計(jì)算結(jié)果。隨著預(yù)報(bào)時(shí)間的增長(zhǎng),按一定步長(zhǎng)逐步采樣計(jì)算的方法耗時(shí)嚴(yán)重。最后,本文在相關(guān)研究的基礎(chǔ)上,將平面內(nèi)多邊形之間的距離作為對(duì)步長(zhǎng)動(dòng)態(tài)設(shè)置的依據(jù),在保證計(jì)算精度的同時(shí)提升了衛(wèi)星對(duì)地可見(jiàn)時(shí)間窗口算法的效率。對(duì)于步長(zhǎng)設(shè)置過(guò)程的優(yōu)化方法,也是后續(xù)研究的方向和重點(diǎn)。