卫星星座区域覆盖问题的快速仿真算法*
2014-08-11宋志明戴光明王茂才
宋志明 戴光明 王茂才 彭 雷
中国地质大学计算机学院,武汉 430074
卫星星座区域覆盖问题的快速仿真算法*
宋志明 戴光明 王茂才 彭 雷
中国地质大学计算机学院,武汉 430074
针对卫星星座对地面区域的覆盖性问题,提出一种快速求解方法—经度条带法。首先将全球划分为若干个经度条带,并得到一个地面区域所在的纬度区间,然后根据球面几何关系和卫星覆盖与几何形状计算卫星对每个条带的覆盖情况,最后再综合统计得到覆盖率。基于此方法,推导了星座瞬时性覆盖和时段总覆盖的计算公式。数值仿真实验表明,该算法计算结果精确,具有较好的稳定性,计算效率较高。
卫星星座; 区域目标;覆盖计算; 经度条带法;网格点法
随着卫星技术的发展,由多颗卫星组成的卫星星座系统得到广泛应用。卫星星座对地面区域的覆盖问题作为卫星星座系统的一个基本问题而得到广泛的关注[1]。
卫星星座对地覆盖问题的求解方法一般有解析法和数值法两大类。由于卫星对地覆盖情况受很多因素影响[2],而且几何特征复杂,同时还涉及摄动与岁差章动等影响,使得采用解析法在解决此类问题时比较困难。
传统的解决方案一般采用数值方法,常用的数值方法主要是网格点法。网格点法由Morrison[3]在1973年研究圆轨道与椭圆轨道星座的多重覆盖时提出,该方法是将区域按照某种规则划分为若干个网格点,通过卫星对网格点的覆盖情况表示对整个网格的覆盖情况,从而计算对整个区域的覆盖情况。网格点法按照划分规则的不同,一般可分为按经纬度划分网格点、按距离划分网格点和按面积划分网格点[4-5]。该算法的主要缺点是计算效率较低,空间复杂度较高。当区域面积很大,算法精度要求较高,仿真时间较长时,该算法计算时间会变得很长,甚至无法计算。除此之外,还有其它方法来解决区域覆盖问题,如采用区域内覆盖圆弧段进行区间交并运算[6]或者对覆盖区域进行解析等[7],但这些算法不是精度较低,就是算法只适用于特殊情况,致使在实际应用中受限。
本文提出一种新的算法,经度条带法。相比现有算法,该算法效率较高,算法结果精确,同时可以针对任何区域覆盖情况,算法普适性高。
1 基本概念和假设
首先阐述本文中用到的一些基本定义。
定义1:经度条带。中央经度为θ的经度条带是指在地球表面上的一个区域范围,假设其条带宽度为dθ,则它表示经度范围为[θ-dθ/2,θ+dθ/2],纬度范围为[-π/2,π/2]之间的区域。即由2条经线(θ-dθ/2)和(θ+dθ/2)围成的图形。
定义2:纬度区间。一条经度条带的纬度范围是[-π/2,π/2],经度条带上的纬度区间是指该经度条带上的该纬度范围的一个子区间,中心经度为θ的经度条带上的纬度区间为[φL,φU],表示的是地球表面上经度范围为[θ-dθ/2,θ+dθ/2],纬度范围为[φL,φU]的一块区域。
定义3:区域纬度区间。区域纬度区间是一个纬度区间,该纬度区间的边界是由经度条带的中央经线与区域目标边界相交而成,它表示的范围是该经度条带与区域目标的交集。
定义4:覆盖纬度区间。覆盖纬度区间是一个纬度区间,该纬度区间的边界是由经度条带的中央经线与卫星覆盖区域相交而成,它表示的范围是该经度条带与卫星覆盖区域的交集。多颗卫星对某经度条带的覆盖纬度区间的并集也称为该经度条带的覆盖纬度区间。
定义5:区域覆盖纬度区间。某条经度条带的区域覆盖纬度区间,就是该经度条带的区域纬度区间与覆盖纬度区间的交集。
本文主要研究卫星星座对地面区域的空间覆盖特性。按照覆盖的持续时间不同,覆盖问题可以分为瞬时覆盖和时段性覆盖。瞬时覆盖是指在某时刻下卫星星座对目标区域的覆盖,时段性覆盖是指在某个时间范围内卫星星座对目标区域的覆盖。
文中的公式推导是将地球作为标准球体、卫星视场为简单圆锥视场来进行计算,但该经度条带算法本身并没有此种限制,可以扩展到标准椭球体上计算,但相应的公式需要进行相应的修改。
对于本文提出的经度条带法,它对区域目标的形状没有要求,可计算任何形状的区域目标。
2 算法的思路与基本流程
用解析方法来处理区域覆盖率计算问题的难点在于多颗卫星相互交并与区域范围交并运算的复杂,尤其以上运算是在球面或者椭球面上进行,会导致计算困难,甚至不可运算。
经度条带法的基本思路是:将地球表面化为一个个很狭窄的经度条带,如图1所示,然后以每个小的经度条带作为分析对象,分析星座在一个计算时段内对该经度条带的覆盖情况,当经度条带宽度dθ足够小时,经度条带同一纬度内沿经度方向变化很小,可以认为只有一个方向的变化情况。因此将复杂的交并问题变成了一个一维区间的交并问题,而使分析比较简单。然后对所有条带情况进行综合,就可以得到该区域覆盖率计算结果。
图1 经度条带划分示意图
具体计算步骤如下:
1) 选择一个未计算的区域;
2) 获取该区域所在的经度范围,并计算星座对该区域的时间窗口;
3) 根据精度要求选择经度条带的宽度dθ,然后将该区域按照宽度dθ划分为若干个经度条带;
4) 根据区域的边界,计算该区域每个经度条带的区域纬度区间;
5) 选择一个未处理的时间窗口;
6) 对该区域的每个经度条带,计算该时间窗口下对应的区域覆盖纬度区间;
7) 如果该区域所有时间窗口都处理完成,跳转至步骤8),否则,跳转至步骤5);
8) 通过该区域所有经度条带的区域覆盖纬度区间,计算星座在该计算时段内对该区域的覆盖率;
9) 如果没有计算完所有的区域,则跳至步骤1),否则,算法结束。
该算法与网格点仿真法有某些相似之处,但2种方法在核心思想上有本质差别。网格点仿真法是一种基于概率论抽样的思想为理论基础的算法,而经度条带法是一种基于微积分中“微元”的思想及理论基础的方法。在计算过程中,将一条经度条带作为一个对象来进行统一考虑,使该方法不再是一种数值计算方法,而是一种半解析方法,对覆盖计算问题进行一定的解析。同时,当条带宽度足够小,使得一条经度条带就是球面上的一维流形,星座对区域的覆盖问题转换为球面上2个流形之间相互关系的计算问题,因此微分几何中的很多结论可以引入覆盖计算问题中。
3 单颗卫星区域覆盖纬度区间计算
3.1 瞬时覆盖下区域覆盖纬度区间计算
如果时刻t下卫星对该经度条带没有覆盖,则对该卫星区域覆盖纬度区间为空。
图2 卫星对经度条带的瞬时覆盖示意图
如果该时刻卫星S对该经度条带有覆盖,卫星与经度条带几何关系如图2所示,卫星的星下点为O,星下点经纬度为(θ0,φ0),AB是经度为θ的经线,U,L为卫星覆盖圆与经线的交点。卫星对地面上经纬度为(θ,φ)的点有覆盖,则需要满足
cosφcosφ0cos(θ-θ0)+sinφsinφ0>cosα
(1)
则当θ满足下式
(2)
时,式(1)在实数域内有解,即卫星与该经线相交。
当卫星与经线相交时,计算相交的纬度范围。令
(3)
(4)
(5)
(6)
3.2 时段性覆盖下区域覆盖纬度区间计算
在卫星调度、灾害预警或军事应用等问题中,往往需要对一段时间内星座对一个区域的覆盖总和进行要求。这种需求往往对某一时刻卫星对地覆盖情况不感兴趣,而对一段时间星座对目标区域的覆盖总和感兴趣。这类问题称之为时段性覆盖问题。
时段性覆盖问题是计算在一个时间段[tS,tE]内卫星对区域覆盖范围的总和,即对区域内某点X,如果存在某个时刻t∈[tS,tE],卫星可覆盖点X,则认为在时间段[tS,tE]内卫星S可覆盖点X。
图3 卫星对经度条带连续覆盖示意图
如图3所示,AB是中央经度为θ的一条经度条带,P到Q为卫星星下点轨迹的一段。M和N为同一卫星在2个不同时刻的位置,当卫星星下点在M点时能覆盖该经度条带上最小的纬度点L,当卫星星下点在N点时能覆盖该经度条带上最小的纬度点U。由于卫星的位置是一个随时间连续变化的过程,则在一个时间窗口内卫星对一个经度条带的覆盖纬度区间是一个连续区间。要计算一个经度条带的覆盖纬度区间,只需要计算覆盖的边界值,即U,L即可。该经度条带上U,L之间的点是必然可以被覆盖的。
对一个卫星周期内一条特定的经度条带,选择对该经度条带有覆盖的一段卫星的星下点区间,对每个卫星的位置,都可以得到该位置下卫星对经度条带的覆盖纬度区间的覆盖上界和下界,则覆盖上界和下界可以视作卫星位置的函数,且易知,在对该经度条带有覆盖的星下点区间边界上,覆盖上界和覆盖下界是重合的,则2个函数在定义域范围内是合拢成一个环的。
通过式(5)得到的覆盖纬度区间的上界与下界,对一条特定的经度条带,覆盖纬度区间的上界与下界可以看做是在某个小的定义域对于低轨卫星,有以下结论:在一个时间窗口下,覆盖纬度区间上界和下界对时间而言是一个单峰函数。证明如下:从经度条带上选择一点,以卫星对地覆盖圆半径为半径作球面圆,则该球面圆与卫星的星下点轨迹可能有0个,1个或者2个交点(低轨卫星,覆盖圆曲率半径小于星下点轨迹上点的曲率半径),如图4所示,从经度条带上取一点K,以卫星的覆盖圆半径为半径作球面圆与卫星的星下点轨迹相交于A,B两点。则可知,当卫星在A,B两点时可恰好覆盖K点,即卫星在A,B两点时K点为卫星的覆盖上界或者下界。而卫星星下点不在A,B两点时,覆盖上界或者下界都不能为K点。即每个纬度值(因变量)最多可以反解出2个卫星位置(自变量)的值,同时,由于覆盖上界函数和下界函数合拢为一个环,则命题得证。
图4 经度条带上一点作圆与星下点轨迹的交点
图5 对经度条带有覆盖的纬度范围随纬度幅角的变化
(7)
(8)
4 区域覆盖纬度区间与覆盖率计算
对每颗卫星,都可以计算其区域覆盖纬度区间,则卫星星座的区域覆盖纬度区间即为所有卫星区域覆盖纬度区间之并。
(9)
经度条带的宽度为dθ,纬度区间为[φ1,φ2]。则该纬度区间对应的面积为
S[φ1,φ2]=R2(sinφ2-sinφ1)dθ
(10)
Sθ=∑S[φ1,φ2]
(11)
该星座在该时刻或者时段内对该区域总覆盖面积为:
(12)
要计算覆盖率,还需要计算区域面积,区域总面积为:
(13)
则该仿真时段内星座对区域目标的覆盖率
(14)
5 数值仿真实验
由于在时段性覆盖计算过程中实际采用了瞬时覆盖的结论,因此只要验证时段性覆盖结果的正确性即可以保证对瞬时覆盖结果的正确性,在本数值仿真实验中只验证时段性覆盖结果的正确性。
设计一组实验,星座中包含2颗卫星,卫星及传感器相关参数如表1所示,2颗卫星共同完成覆盖任务。要覆盖的区域总共有3个,区域的顶点数据如表2所示。本文中经度条带法与经典网格点法进行对比,网格点法参照文献[8],按照等面积取点方式计算。仿真起始时刻为2013年1月1日00:00:00(UTCG),仿真时常为6h。
表1 卫星轨道根数
表2 区域目标顶点经纬度(°)
定义计算精度为在赤道上1km的宽度内包含的经度条带的数目,或者赤道上1km的宽度内包含的网格点的列数,默认一个网格点的经度方向的间隔与纬度方向的间隔是相等的。
图6~8是卫星星座对3个区域在仿真时段内的覆盖率随计算精度的变化图,x轴表示计算精度,由于计算精度范围跨度较大,因此采用对数坐标,y轴表示卫星星座在仿真时段内对区域的覆盖率。可以知道,随计算精度的提高,经度条带法的计算结果与网格点法的计算结果趋于一致,由此可以证明经度条带法的正确性。同时,由图6~8可知,在计算精度较低的时候,网格点法计算偏离实际值较大,而经度条带法计算结果与实际值有偏离,但偏离较小,因此,相比网格点法,经度条带法算法具有较好的稳定性。
图6 星座对区域1的覆盖率随计算精度的变化
图7 星座对区域2的覆盖率随计算精度的变化
图8 星座对区域3的覆盖率随计算精度的变化
图 9是星座对3个区域在仿真时段内的覆盖率的计算时间随计算精度的变化关系图,x轴表示计算精度,采用对数坐标,y轴表示区域覆盖率的计算时间,采用对数坐标。由图 9可知,网格点法计算时间随着计算精度增加而迅速增加,而对经度条带法,当计算精度增加时,计算时间增加比较缓慢。因此在计算时间上,经度条带法计算效率较高。
图9 区域的覆盖率计算时间随计算精度的变化
6 结论
提出一种新的高效求解卫星星座区域覆盖问题的新方法:经度条带法。该方法以微积分中“微元”思想为核心,同时,经度条带法将一条经度条带作为一个计算对象统一考虑,在球面上引入了一个一维的流形,卫星覆盖范围与经度条带的相交性计算相当于2个具有一定流形结构的几何对象之间的运算,使得计算方法不再是完全的数值方法,而是一种半解析方法,从而使得该方法具有能够解决更多问题的潜力。
采用经度条带法对卫星的瞬时性覆盖与时段总覆盖进行求解,由算法分析及数值仿真实验可知,经度条带法对覆盖率计算结果在精度上达到计算要求,但计算性能远优于网格点法,大大降低了算法的复杂度。
文中仅对简单圆锥体传感器进行分析,同时将地球作为标准球体考虑。但由于经度条带法引入一维流形,使得对这些问题都是可以求解的。经度条带法如何应用于其它类型传感器,以及考虑地球扁率和摄动下的求解算法,是下一步要进行的工作。
[1] Rainer S, Klaus B, Marco D E. Small Satellites for Global Coverage: Potential and Limits[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2010,65(6):492-504.
[2] Leila M, Nader M, Adel H. Determination of the Best Coverage Area for Receiver Stations of LEO Remote Sensing Satellites[J]. ICTTA, 2008.
[3] Morrison J J.A System of Sixteen Synchronous Satellites for Worldwide Navigation and Surveillance[M]. Defense Technical Information Center, 1973.
[4] 何勇军,戴金海.多卫星非规则覆盖区域的通用求解算法[J].计算机仿真,2005,22(12):24-27. (He Yongjun, Dai Jinhai. General Algorithms for Searching the Irregular Earth Coverage Regions of Multi-Satellite Systems[J]. Computer Simulation, 2005, 22(12): 24-27.)
[5] 简平,邹鹏,熊伟,等.改进的低轨凝视传感器覆盖性能网格分析方法[J].空军工程大学学报 (自然科学版), 2012, 13(3): 35-39. (Jian Ping, Zou Peng, Xiong Wei, et al. Improved Grid Method for Analysis on Coverage Performance of Staring Sensors Based LEO[J]. Journal of Air Force Engineering University(Natural Science), 2012, 13(3): 35-39.)
[6] 闫野,任萱,陈磊.卫星对地球覆盖情况的判据及算法探讨[J].宇航学报, 1999, 20(2):55-60. (YAN Ye, REN Xuan, CHEN Lei. Criterion and Algorithm of Satellites Coverage Situation[J]. Journal of Astronautics, 1999, 20(2): 55-60.)
[7] Ulybyshev Y. Satellite Constellation Design for Complex Coverage[J]. Journal of Spacecraft and Rockets, 2008, 45(4): 843-849.
[8] 邓勇,王春明,张中兆.红外低轨星座凝视传感器的空间覆盖性能分析[J].宇航学报, 2011,32(1):123-128. (DENG Yong, WANG Chunming, ZHANG Zhongzhao. Analysis on Coverage Performance of Staring Sensors Infrared LEO Constellation[J]. Journal of Astronautics, 2011, 32(1): 123-128.)
TheFastSimulationAlgorithmforSolvingeAreaCoverageProblemofSatelliteConstellation
SONG Zhiming DAI Guangming WANG Maocai PENG Lei
Computer College, China University of Geosciences, Wuhan, Hubei 430074, China
Aimingatcalculatingthecoverageproblembetweensatelliteconstellationandthegroundregions,anefficientmethodwhichnamedlongitudestripemethodisimplemented.Firstly,theglobalisdividedintomanylongitudestripes,andthenthecoverstateofeachlongitudestripeiscalculatedbymeansofthesphericalgeometryrelationship.Finally,thecomprehensivestatisticsismadetogetthecoveragerate.Basedonthismethod,theinstantcoverageformulaandtimerangecoverageformulaarederived.Thesimulationresultsshowthatthecalculationresultisaccurateandthisalgorithmhasagoodstabilityandhighefficiency.
Satelliteconstellation;Areatarget;Coveragecalculation;Longitudestripemethod;Net-pointmethod
*十二五民用航天预先研究基金;国家自然科学基金(61103144);中国博士后科学基金 (2012T50681;2011M501260)
2014-02-25
宋志明(1986-),男,山东人,博士研究生,主要研究方向为卫星星座设计分析;戴光明(1964-),男,安徽人,教授,博士生导师,主要研究领域为优化算法;王茂才(1974-),男,湖北人,博士后,副教授,主要研究领域为卫星调度;彭雷(1980-),男,湖北人,博士,讲师,主要从事轨道设计与优化研究。
V474
: A
1006-3242(2014)05-0065-06