楊雅琦


摘要??? 設計一個滿足空間目標監視工程需求的系統軟件。先對軟件進行需求分析,然后進行系統總體設計,通過設計原則,給出功能結構設計以及模塊劃分與類的設計。最后針對各模塊,闡述相關理論知識,詳細說明實現細節。
【關鍵詞】空間目標監視 雷達 軌道預報 衛星過境預報
1 引言
隨著時代的進步,人類對空間的探索也在不斷推進。從國家戰略層面來說,打造完備的空間目標監視體系在軍事安全方面有重要意義??臻g目標主要包括衛星,空間碎片和宇宙飛行物,本文主要研究對象為低軌衛星。
空間目標監視即利用探測手段獲取空間目標的實時位置與運動狀態。依據其本質,設計實現空間目標監視仿真系統,依據衛星當前狀態,結合雷達探測范圍,獲取衛星過境預報信息,為空間態勢感知奠定基礎。
在設計系統時,需要對系統需求進行深入分析。再利用面向對象的軟件理論,設計一個可維護,易操作,可拓展性高的系統仿真軟件。
2 需求分析
在當下對空間進行控制的背景下,空間目標監視仿真系統是一個對近地衛星進行軌道預報,并利用雷達對衛星弧段進行分析的軟件??臻g目標監視軟件的基本需求有:
(1)設置雷達相關參數,獲得該指定仰角下的雷達覆蓋范圍,并將該范圍的詳細信息以表格形式呈現于交互界面。
(2)選擇衛星編號和具體時間范圍,通過參數進行雷達對衛星弧段的分析,并以表格形式呈現衛星穿屏時間位置。
(3)當軟件操作流程異常時應出現相關警示信息。
(4)整體系統應該具備良好的穩定性和可拓展性。
3 系統總體設計
系統總體設計是在需求分析和設計原則的基礎上,確定功能模塊劃分,并給出類的設計。
3.1 設計原則
在本系統中,軟件設計有以下幾個基本原則。
3.1.1 易用性原則充分考慮用戶的操作習慣,使用簡潔友
好的圖形界面與用戶進行交互,為用戶操作提供便利。
3.1.2 可拓展性原則
軟件設計時應當減少各模塊之間的耦合性,便于后期對軟件進行功能拓展。同時,應盡量設計的簡潔明了,避免功能重復。
3.2 模塊劃分及類的設計
結合軟件功能結構圖,本軟件劃分為三大模塊:衛星軌道預報模塊,雷達覆蓋范圍計算模塊,衛星過境預報模塊。圖1表示各模塊關系圖。
結合軟件模塊關系圖進行類的設計。本軟件中涉及到以下幾個類:工具類,衛星類,雷達類,過境預報類以及用戶顯示類。
工具類CCommonUtility主要定義了與時間相關的結構體。
衛星類Sattelite定義了衛星的軌道根數結構體OrbitRoots和衛星的預報點信息結構體PredictPntInfo。
雷達計算類RadarCovCal定義了結構體存儲雷達配置信息,同時提供判斷雷達參數合理性,計算測距損失系數,計算雷達覆蓋面積等功能函數。
過境預報類SatCrossScreen中提供TLE文件解析,衛星探測范圍計算,衛星過境預報計算等功能函數。
用戶顯示類UIDisplay繼承自QWidget,本身不設置方法,在布局中僅布局一個不包含子tab頁的QTabWidget,而將每個可與用戶進行交互操作的子tab頁單獨作為一個類,這種設計方便后期對某tab頁的修改和屏蔽。
4 軟件模塊實現
4.1 軌道預報模塊
在進行衛星軌道預報時,本系統所采用的軌道預報算法為SGP4預報算法。SGP4軌道預報算法屬于分析法的一種,其初值信息采用的是NASA公開并定時更新的TLE根數。SGP4算法的模型誤差會隨著衛星軌道高度的增加而降低。但針對低軌道衛星而言,其軌道預報誤差可控制在3km之內,并且由于SGP4算法模型計算速度快,所占內核資源少,因此滿足工程需求。
在衛星軌道預報模塊中,函數GetTLEOrbit用于解析TLE文件。為了方便對大量衛星的查找,函數輸出數據以map結構進行存儲。其中,該map的key值為各衛星的編號,而對應的value值為存儲著衛星詳細信息的結構體。
由于軌道預報模塊的功能準確性影響到后續其他模塊的計算結果,因此,利用現有的標稱軌道參數,以900衛星為例,以1s時間為步長,預報時段為2019年1月21日至2019年1月22日,利用MATLAB對模塊結果與標稱結果進行誤差計算,通過誤差曲線判斷模塊結果是否準確。誤差計算曲線如圖2所示。
由誤差曲線可得,在經緯高三個維度上,其誤差范圍均控制在正負0.5%之內。這個誤差結果是可接受的。
4.2 雷達探測威力研究模塊
雷達探測威力研究指的是從雷達方程出發,確定雷達有效覆蓋范圍。確定雷達的三維有效覆蓋范圍應從二維有效覆蓋范圍入手。本文中采取搜索逼近算法,通過從方位、俯仰、距離三個維度上設置步進,迭代計算,從而獲得雷達三維有效覆蓋范圍。
在本系統所涉及的實際工程應用中,雷達三維覆蓋范圍需要投影至地球表面,形成投影區域,以便后續進行衛星過境預報計算。在對雷達有效覆蓋范圍進行投影時,一般分兩種情況。一種情況下,不指定高度,僅限定俯仰角。此時雷達的投影區域所對應的三維立體區域中,包含了多個高度范圍,在進行衛星過境預報時,同一時段可能有多個不同高度的衛星過境。另一種情況下,限定俯仰和高度。此時是針對某一指定高度下的衛星進行過境預報分析。針對兩種情況,設計重載函數EdgeOnEarth,分別實現兩種情況下的雷達有效覆蓋范圍投影計算。
在未指定高度情況下,EdgeOnEarth函數輸入為雷達參數,指定俯仰角,函數輸出為雷達有效覆蓋范圍的投影邊界序列。指定高度下EdgeOnEarth函數輸入參數增加了指定高度。函數將調用JudgeFixRangeResult函數,針對指定方位仰角,判斷在雷達測距范圍內,其三維覆蓋范圍中是否存在高度與指定高度相等的點。JudgeFixRangeResult函數返回一個bool值。若存在指定點,則返回真值,否則返回假值。在該函數中,為了便于后續計算查找,使用map結構存儲計算結果。該map的key值為方位角,value值為該方位仰角下,高度等于指定高度的點的測距。
4.3 衛星過境預報
衛星過境預報模塊作為核心模塊之一,其模塊輸出結果即為整個軟件的最終需求。該模塊應用衛星軌道預報模塊的預報結果和雷達探測威力研究模塊的計算結果,計算出衛星過境時間和位置,為空間預警提供數據。
針對衛星是否搭載載荷,將分為兩種不同情況進行討論。衛星未搭載載荷,則將探測范圍視為一個點,稱之為星下點,過境預報即判斷星下點與雷達覆蓋范圍之間的位置關系。衛星搭載載荷,則其載荷對地球表面存在探測區域,過境預報即判斷衛星探測區域與雷達覆蓋范圍之間的重疊關系。下面將分別進行詳細闡述。
4.3.1 星下點過境預報
星下點的過境預報需要結合雷達的有效覆蓋范圍信息,依次判斷預報軌跡上衛星位置點與雷達覆蓋范圍之間的關系。通過當前點和上一點的判斷結果,可獲取衛星弧段的過境信息。
在功能函數GetPassResult中,輸入參數包括預報起始和結束時間,預報點的個數,雷達覆蓋范圍的邊界信息。輸出包括過境時間和位置。該函數首先調用軌道預報模塊,對指定衛星進行軌道預報。然后對每一個預報點進行過境判斷,用一個bool量記錄該點是否位于雷達覆蓋范圍之內,最后通過當前預報點的位置結果與上一預報點的位置結果來判斷衛星弧段的過境信息。其具體判斷準則如下:
(1)當前點判斷結果為真,上一點判斷結果為假,則當前點為過境弧段起始點。
(2)當前點判斷結果為真,上一點判斷結果為真,則當前點為過境弧段中某一點。
(3)當前點判斷結果為假,上一點判斷結果為真,則上一點為過境弧段結束點。
(4)當前點和上一點判斷結果均為假,則該點處于境外。
4.3.2 帶載荷衛星過境預報
帶載荷衛星的過境預報中,利用函數DBXGuoJingCal實現帶載荷衛星的過境預報功能。同時需要根據衛星載荷的種類,分別進行錐形載荷過境預報和矩形載荷過境預報。
針對錐形載荷和矩形載荷,其計算的邏輯基本一致。因此,以矩形載荷為例,功能函數RectRegionResult函數的輸入參數包括雷達覆蓋范圍區域信息,衛星探測范圍參數,預報時間參數。其輸出為過境預報時間位置信息。在RectRegionResult函數中,判斷雷達覆蓋范圍與衛星探測范圍是否存在重疊區域思路如下:先判斷多邊形是否相互包含,若不是,再利用點與多邊形關系,判斷兩個多邊形是否存在重疊。
4.4 軟件操作流程
空間目標監視軟件涉及多個模塊,模塊間存在數據交互。下面給出該軟件的使用操作流程圖,在軟件操作過程中,若出現操作步驟不當,軟件應當給出相關誤操作提醒。操作流程如圖3所示。
5 結語
本文結合空間目標監視系統實際需求,采取面向對象的軟件工程思想,對軟件系統進行分析設計,最終實現了一個可滿足精度需求的空間目標監視軟件。主要工作成果如下:
(1)結合實際工程需求,通過面向對象的設計理論,以工程需求為導向,對空間目標監視軟件進行總體設計。
(2)通過軟件需求分析,結合相關理論,設計出易用且滿足工程需求的軟件,完成軟件編碼實現的工作。同時結合用戶界面設計原則,為用戶設計易于操作的軟件界面。
參考文獻
[1]陳松明.基于STK的空間目標監視雷達系統設計研究[D].西安電子科技大學,2010.
[2]馮曉哲,楊瑞,王健,梁桃紅.雷達探測威力范圍與三維可視化研究[J].現代雷達,2015,37(05):74-78.