CN113283075B - 一种面向大规模卫星场景的轻量化仿真架构设计方法 - Google Patents

一种面向大规模卫星场景的轻量化仿真架构设计方法 Download PDF

Info

Publication number
CN113283075B
CN113283075B CN202110558523.8A CN202110558523A CN113283075B CN 113283075 B CN113283075 B CN 113283075B CN 202110558523 A CN202110558523 A CN 202110558523A CN 113283075 B CN113283075 B CN 113283075B
Authority
CN
China
Prior art keywords
satellite
constellation
simulation
instance
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110558523.8A
Other languages
English (en)
Other versions
CN113283075A (zh
Inventor
周海波
徐震杰
伍汉霖
刘晓宇
马婷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN202110558523.8A priority Critical patent/CN113283075B/zh
Publication of CN113283075A publication Critical patent/CN113283075A/zh
Application granted granted Critical
Publication of CN113283075B publication Critical patent/CN113283075B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • Radio Relay Systems (AREA)

Abstract

一种面向超密集大规模卫星场景的轻量化仿真架构设计方法,包括如下步骤:设计辅助管理场景实体的仿真控制抽象NodeFactory类型,使用单例模式维护唯一时间并给每个卫星节点实例分配唯一身份标识;具体为,设计最小物理单元卫星节点的抽象Node类型,作为仿真基石代表一颗仿真场景中的实际卫星,存储卫星相关参数;设计卫星节点以逻辑组合而成的单层星座抽象Constellation类型,包含星座构成参数、所属卫星链接、星座运动简化;设计面向用户的由多个星座组合而成的最终仿真场景抽象Simulation类型,封装使大规模卫星仿真便捷化的常用方法以及底层接口;根据上述抽象类型编写主脚本进行仿真。

Description

一种面向大规模卫星场景的轻量化仿真架构设计方法
技术领域
本发明属于卫星仿真领域,尤其涉及一种面向超密集大规模卫星场景的轻量化仿真架构设计方法。
背景技术
卫星技术正处于快速发展阶段,特别是低轨卫星,它们可以在实现全覆盖的同时为移动用户提供不亚于地面网络的服务质量,在长距离数据传输方面更是可以提供比任何地面光纤网络更低的传播延迟。低轨卫星星座网络的搭建对于补全地面5G网络、实现地面网络全覆盖有着重要的价值和意义,其极小的传播时延与较大的信号带宽对构建一个包裹着地球的空中高速数据传输网络有重大作用,目前已有或正在搭建的低轨卫星星座有:Teledesic、Iridium、Globalstar、Oneweb、Starlink等等,可见很长一段时间以来低轨卫星星座网络已经成了国内外共同关注的话题和热门研究对象。
但低轨卫星依靠其轨道高度获得极低传输时延一级较高数据带宽收益的同时,低轨卫星星座的搭建往往比中轨卫星星座、同步轨道卫星星座复杂很多。低轨星座由数十甚至上百颗卫星组成,近期SpaceX提出的Starlink计划在不断扩展下更是拥有超过万颗的卫星规模,这给使用传统方式模拟卫星场景带来了巨大的挑战。
传统的节点移动性模拟器在给定场景中模拟卫星节点的实际移动性模式,并生成记录所有模拟节点的移动性轨迹的跟踪文件。卫星仿真领域最常用的节点移动性模拟器是STK(***工具套件),它是由AGI公司开发用于分析和可视化航空航天领域复杂***的商用软件,拥有相当复杂的程序体系。这在使STK拥有众多特色功能的同时也导致其占用相当多计算资源,在个人电脑上使用STK进行万颗级别卫星的仿真研究是难以实现的。虽然STK提供外部扩展接口但这不能解决其内核复杂导致的运算缓慢问题,软件的实际功能与大规模移动节点仿真的实验目的不完全吻合。此外由于外部因素,在国内STK只被允许使用旧版本。
综上所述,与现有技术相比,本发明的优点如下:1、与传统卫星仿真软件完全解耦,为仿真实验个性化定制2、轻量化架构便于实现超密集大规模的卫星星座仿真3、模块化设计保证了仿真架构的灵活性与可扩展性
发明内容
针对现有技术存在的问题,本发明提供了一种面向超密集大规模卫星场景的轻量化仿真架构设计方法。该方法针对超大规模低轨Walker卫星星座,使用轻量化的仿真架构实现卫星星座的搭建、卫星运行结果的数据计算以及采集存储,可以进行万颗级别的低轨卫星星座仿真。
本发明采用的技术方案为:一种面向超密集大规模卫星场景的轻量化仿真架构设计方法,设计管理辅助管理场景实体的节点工场的抽象,使用单例模式维护仿真场景时间并给每个卫星节点实例分配唯一身份标识;包括以下步骤:步骤1,设计最小物理单元卫星节点的抽象Node类型,作为仿真基石代表一颗仿真场景中的实际卫星,存储卫星相关参数;步骤2,设计卫星节点以逻辑组合而成的单层星座抽象Constellation类型,包含星座构成参数、所属卫星链接、星座运动简化;步骤3,设计面向用户的由多个星座组合而成的最终仿真场景抽象Simulation类型,封装使大规模卫星仿真便捷化的常用方法以及底层接口;设计管理数据库读写的接口抽象DataBase类型,按照研究需求实时存储读写;根据上述抽象类型编写主脚本进行仿真。
步骤1,进行最小单元设计:最小单元设计包括设计基础物理实体单元卫星节点的抽象以及辅助管理场景实体的节点工场的抽象;所述卫星节点的抽象设计包含仿真目标需求的包括但不限于节点唯一识别编号、地心地固极坐标系三维坐标、运行轨道参数、所属星座信息、卫星名称,所述节点工场的抽象使用单例模式维护仿真场景时间并给每个卫星节点实例分配唯一身份标识;
步骤2,进行卫星场景逻辑结构搭建:设计卫星星座以及最终仿真场景的抽象;所述卫星星座抽象包含卫星星座信息、对所含所有卫星实例的链接、卫星星座初始化方法、针对简化运算设计的卫星运动算法,所述最终仿真场景抽象包含仿真场景信息、对所含卫星星座实例的链接、针对仿真场景的常用方法与底层接口;
步骤3,开始仿真并外部交互:仿真与交互包括设计数据库存储接口抽象以及仿***程序;设计数据库存储接口抽象以及仿***脚本;所述数据库接口抽象封装对数据库进行连接、读取、修改、删减、添加的所有细节并自定义数据存储方法,所述仿***脚本包含仿真场景所有数据信息;
步骤1中,所述的卫星节点的抽象设计,根据实验目的和针对性仿真需求抽取共同的、本质性特征并结合重构而成:包含有卫星物理实体的基础特征,包括但不限于节点唯一识别编号、地心地固极坐标系三维坐标、运行轨道参数、所属星座信息、卫星名称;
其中必须包含的包括以下字段:
m_id,表示该卫星实例个体的唯一识别标识,由节点工场抽象的唯一实例配置;
m_currentPosition,表示该卫星实例在特定仿真时刻的实时位置,采用LLA坐标系,所述LLA坐标系表示地心地固极坐标系,包含参数为纬度、经度、海拔高度;
m_inclination,表示该卫星实例所处轨道的倾角参数,默认情况下轨道偏心率为零,即以地心为圆心的正圆轨道;
m_uid,表示到该卫星实例所处卫星星座的链接,默认为空链接,在构成星座时配置;
m_constellationMessage是该卫星实例于所属卫星星座的信息,表示该卫星所处于星座中的逻辑位置,包含所处轨道的编号以及处于轨道内位置的编号,默认为空,在构成星座时配置;
m_name,表示该卫星实例的名字,并不具有唯一性,但可包含逻辑位置信息;用于按名字检索及数据库存储查找,具象化时设置,默认为空;
其中可以添加的包括以下字段:
m_RAAN,表示该卫星实例的升交点赤经,若轨道模型为椭圆模型需要设置,描述轨道平面与地球赤道平面的相交关系,相交点分别为升交点和降交点,升交点赤经表示升交点与春分点的向径夹角,由于忽略地球公转带来的影响且为简化处理,将春分点视为本初子午线与赤道平面交点;
m_eccentricity,表示该卫星实例的轨道的偏心率,用于描述椭圆轨道的形状;
m_perigeeAngle,表示该卫星实例所在轨道的近地点与升交点的夹角,描述椭圆轨道与地球的相对位置关系;
m_trueAnomaly,表示轨道平面内卫星所处位置与近地点的夹角,用于描述卫星处于卫星轨道内的位置;
m_antennaMessage,表示该卫星实例上装载的天线信息,包含每个天线的种类、方向、开角、频率、带宽、功率等信息,用于描述卫星间通信或卫星与地面通信的物理连接模式;
m_linkMessage,表示该卫星的星间链路连接逻辑关系,用于描述特定星座设计中星间组网的构成形式;
步骤1中,辅助管理场景实体的节点工场的抽象,使用单例模式维护仿真场景时间并给每个卫星节点实例分配唯一身份标识,其管理对象包括仿真场景时间、唯一识别标识的生成、卫星节点实例链接集合;
所述仿真场景时间,表示仿真内的当前时刻,用于记录整个在建立后随时间变化而发生物理实体运动变化的仿真场景时刻,在仿真场景描述的时刻变化时需要同步修改,是唯一的时间标志;
所述卫星节点实例链接集合,表示记录场景中所有卫星节点链接的可快速查询的数据集合;
所述唯一识别标识,表示卫星节点实例在仿真场景中的唯一性身份标识,根据唯一识别标识可以通过卫星实例链接集合快速查找该卫星实例链接,进而查询卫星数据;
所述唯一识别标识的生成,表示在卫星节点抽象的设计中,当卫星节点抽象具象化为实例时需要向节点工场实例申请唯一识别标识m_id,在此过程中节点工场实例返回未分配过的id值并将此id值与申请到此id的节点实例的链接绑定,并存储于节点实例链接集合中,此设计目的是获得一个完整的底层控制的接口;
所述节点工场抽象同时使用单例模式,全局接口的特性要求只能有且只需要一个节点工场的实例存在,因此可行的设计是将节点工场抽象的具象化方法及拷贝复制方法设为私有并在它的抽象中内置一个类型为节点工场的静态成员,以此阻止此抽象被随意具象化滥用;所述静态成员,是指属于此抽象但不属于抽象所诞生的实例的组成部分,只能在主程序外被初始化且拥有唯一性,通过节点工场抽象的静态接口与这个唯一的节点工场实例建立连接,从而保证节点工场抽象只有一个实例存在。
步骤1中,所述的基础物理实体单元卫星节点的抽象设计,由仿真场景的物理实体卫星节点映射而来:所述仿真场景,是指为模拟现实中可能出现的大量卫星环境而展开研究的假想场景;
所述物理实体,是指在仿真场景中代替现实中同名物体、拥有现实意义的仿真个体;
所述基础单元,是指构成仿真场景的可以单独操控的最小物理实体集合,此处卫星场景中指代单个卫星;
所述抽象设计,是指将现实对象针对性地抽取共同的、本质性的特征并以此结合构建的该种类现实对象的一种描述方法。
所述映射,是指以该种类物理实体的抽象产生的实例在此仿真场景中代表该物理实体;
所述实例,是指将根据种类特征设计的抽象通过具体数据完成具象化处理,即一个实例只代表类型属于该抽象的一个特定个体;
所述现实节点到虚拟实例的仿真转变包含以下逻辑过程:
物理现实经过现实调研、目标设定、实验设计转变为仿真场景,其中的现实节点转变为物理实体;
仿真场景经过按类型抽取共同的、本质性的特征并结合重构的过程转换变为多种抽象,其中的某个物理实体的特征由某一种抽象描述;
抽象经过实际参数设置具象化为一个特定个体的实例,其中的某种抽象描述最终具象化为一个虚拟实例。
所述步骤2中卫星星座抽象设计,包含卫星星座信息、对所含所有卫星实例的链接、卫星星座初始化方法、针对简化运算设计的卫星运动算法,即包含以下字段:
m_orbitNumber,表示此星座实例的倾斜轨道数,即P;
m_satPerOrbit,表示此星座实例每条轨道的卫星个数,即T/P;
m_phase,表示此星座实例的相位因子,即F;
m_satList,表示此星座实例包含的所有卫星实例的链接数据集合;
m_TAANOPCS,表示此星座实例所含的所有卫星实例的升点角,用于存储描述卫星处于倾斜轨道平面内的位置,方便大规模运算;
m_inclination,表示星座的轨道倾角;
m_altitude,表示星座的轨道高度;
m_seedRAAN,表示种子卫星的升交点赤经;
升交点赤经指种子卫星所处轨道与赤道平面夹角相交所构成的升交点向径与春分点向径的夹角;
升点角,指卫星倾斜轨道平面内,延卫星运行方向,升交点向径与卫星位置向径的夹角,向径指与地心连线,此处考虑的是正圆轨道,因此没有轨道近地点,故以升交点作为卫星轨道的基准点;所述种子卫星是指为Walker-δ星座构建提供包括轨道高度、轨道倾角、升交点赤经、升点角等数据的卫星节点实例,这些数据可以由种子卫星实例解析获取也可以直接从外部输入给星座实例;
所述对所含所有卫星实例的链接,是指记录此星座中所有卫星节点链接的可快速查询的数据集合;所述卫星星座初始化方法,是指根据种子卫星数据及星座数据计算卫星星座中所有卫星的数据,并使用这些数据进行卫星节点类型抽象的具现化,即构造此星座的所有卫星节点实例并记录链接;
所述卫星星座信息,包含星座种类信息并据此分类,卫星星座初始化方法,默认星座种类为Walker-δ星座,Walker-δ星座模型所含的参数为T、P、F、h、θ,T表示星座中总卫星个数,P表示星座中轨道平面个数,θ表示星座轨道倾角,h表示星座海拔高度,F表示轨道分布的相位因子,取值范围为1到T/P-1的整数;所述相位因子F含义为,Walker-δ星座内,当轨道内某颗卫星到达升交点时,其右侧相邻轨道上的同轨道内编号卫星的升点角为F·2Π/T;
步骤2中Walker-δ星座初始化方法,其输入参数为种子卫星轨道的升交点赤经seedRAAN、种子卫星的升点角seedTAAN、种子卫星轨道的高度h、种子卫星轨道的倾角θ、星座的倾斜轨道数P、星座每条轨道的卫星数T/P、星座的相位因子F;
初始化方法分为两个大步骤:
步骤2-a:计算所有卫星的升点角并记录:
步骤2-a-1:根据相位因子F的定义,当轨道内某颗卫星到达升交点时,其右侧相邻轨道上的一颗卫星距升交点的纬度辐角即升点角为F·2Π/T,有以下公式:
其中TAANi指第i条轨道编号为1的卫星的升点角;
步骤2-a-2:Walker-δ星座在轨道内均匀分布,平分2π的弧度,因此有以下公式:
其中TAANij指第i条轨道内编号为j的卫星的升点角;
步骤2-a-3:将所有TAANij按照顺序存储在m_TAANOPCS,OPCS指轨道平面极坐标系;
步骤2-b:根据升点角和其它参数单独计算每颗卫星在地心地固坐标系及地心地固极坐标系中的位置:
步骤2-b-1,卫星实例坐标从OPCS坐标系转变为轨道平面直角坐标系公式为:
其中x′、y′、z′表示轨道平面直角坐标系三维坐标,r表示轨道半径,取种子卫星轨道海拔高度加地球平均半径,u表示这个卫星的升点角,所述轨道平面直角坐标系以升交点径向为x轴,y轴与升点角90°的径向重合,z轴与轨道平面垂直并与x、y轴构成右手直角坐标系;
步骤2-b-2,卫星实例坐标从轨道平面直角坐标系转变为地心地固直角坐标系(ECEF)公式为:
其中x、y、z为ECEF坐标系三维坐标,所述坐标系坐标原点位于地心;X轴指向参考子午面与地球赤道的交点;Z轴与地球自转轴重合并指向地球北极;Y轴位于赤道平面内,与X轴垂直,且与X、Z轴构成右手直角坐标系;
其中θ为轨道倾角,Ω为此卫星实例所处轨道的升交点赤经,Ω公式如下:
其中Ωi表示第i条轨道的升交点赤经,Ωseed表示种子卫星所在轨道,即第1条轨道的升交点赤经;
步骤2-b-3,卫星实例坐标从ECEF坐标系转变为地心地固极坐标系(LLA)公式为:
其中lon、lat、alt分别表示LLA坐标系中的经度、纬度、海拔高度,R表示地球平均半径;
步骤2-b-4,根据计算的经度、纬度、海拔高度数据对卫星节点抽象进行具象化,产生卫星节点实例,将其逻辑位置与实例链接绑定,并记录在m_satList中。
步骤2中Walker-δ星座的运行方法需要在星座初始化后才能使用,需要输入的参数为存储所有卫星升点角的数据及m_TAANOPCS、运行时间time,所述运行时间表示仿真场景推进的总时间,可以额外输入的参数为分辨率accuracy,所述分辨率表示时间推进的步长,默认与time相同;
运行方法主要分为三大步骤:
步骤2-c:计算所有卫星升点角并更新;
步骤2-c-1:假设地球为标准球体,在不考虑地球公转、大气摄动等因素的干扰下,卫星轨道可以近似为圆形轨道,根据开普勒第三定律可以得到:
其中G为引力常量,M为地球质量,单位为千克,Rs为卫星轨道的半径,单位为米,ω为卫星运行角速度,单位为rad/s;
步骤2-c-2:可以对所有卫星的升点角进行如下公式的运算:
TAANij′=TAANij+t·ω(mod2Π)
其中TAANij′表示编号为(i,j)的卫星在经过时间t后变化而成的结果;
步骤2-d:由于地球自转的影响升交点赤经会发生变化,计算种子卫星新的升交点赤经:
其中Ωseed′表示经过时间t变化后的种子卫星的升交点赤经,表示地球自转角速度;
步骤2-e:根据升点角和其它参数单独计算每颗卫星在地心地固坐标系及地心地固极坐标系中的位置,此步骤与2-b完全相同,复用2-b程序。
步骤2中,最终仿真场景的抽象包含对所含所有星座实例的链接以及运行方法接口;
所述对所含所有星座实例的链接,是指记录此仿真场景中所有星座实例链接的可快速查询的数据集合;
所述运行方法接口,是指为方便用户统一管理仿真场景中所有星座而给出的统一调用星座实例的运行方法的接口;
进一步,所述步骤2中仿真场景抽象设计,包含对所含所有星座实例的链接以及运行方法接口,即以下字段:
所述仿真场景抽象包含以下字段:
m_simulationScenes,表示此仿真场景实例包含的所有星座实例链接的数据集合。
步骤3中,数据库存储接口抽象包含数据库连接方法、数据库***方法、数据库查询方法、数据库删除方法;
所述数据库连接方法,是指封装后的可以通过主机地址、用户名、密码、端口等参数直接与本地或远程主机建立连接的方法,是调用后续所有数据库方法的必须步骤;
所述数据库***方法,是指封装后的可以将数据按照既定结构存储到数据库中的方法;
所述数据库查询方法,是指封装后的根据索引可以在数据库中查找相应信息的方法;
所述数据库删除方法,是指封装后的根据索引删除数据库中相应信息的方法;
所述数据库,结构设计包含以下部分:
Id,表示此条数据所存储的卫星节点的唯一识别标识;
Longtitude,表示此条数据所存储的卫星节点的经度;
Latitude,表示此条数据所存储的卫星节点的纬度;
Altitude,表示此条数据所存储的卫星节点的海拔高度;
Time,表示此条数据所存储的卫星节点所处的仿真时刻;
Constellation,表示此条数据所存储的卫星节点所属的卫星星座名称。
所有星座实例的链接,即记录此仿真场景中所有星座实例链接的可快速查询的数据集合;
运行方法接口,是指为方便用户统一管理仿真场景中所有星座而给出的统一调用星座实例的运行方法的接口。
步骤3中数据库存储抽象设计,包含数据结构设计、数据库连接方法、数据库***方法、数据库查询方法、数据库删除方法,即包含以下部分:
数据库连接方法,是经过封装的可以通过主机地址、用户名、密码、端口等参数直接与本地或远程主机建立连接的方法,也是调用后续所有数据库方法的必须步骤;
所述数据库***方法,是指经过封装的可以将数据按照既定结构存储到数据库中的方法;
所述数据库查询方法,是指经过封装的根据索引可以在数据库中查找相应信息的方法;
所述数据库删除方法,是指经过封装的根据索引可以删除数据库中相应信息的方法;
数据结构设计包含以下字段:
Id,表示此条数据所存储的卫星节点的唯一识别标识;
Longtitude,表示此条数据所存储的卫星节点的经度;
Latitude,表示此条数据所存储的卫星节点的纬度;
Altitude,表示此条数据所存储的卫星节点的海拔高度;
Time,表示此条数据所存储的卫星节点所处的仿真时刻;
Constellation,表示此条数据所存储的卫星节点所属的卫星星座名称。
进一步,步骤3中,仿***程序包含模块搭载、仿真场景搭建、数据库连接、仿真运行的组成成分;
所述模块搭载,是指通过预编译命令与之前所有抽象类型建立连接,将仿真架构的各个组成成分融合到一起;
所述仿真场景搭建,是指使用卫星节点抽象、卫星星座抽象以及仿真场景抽象构建实例,搭建并初始化实验所需要的卫星仿真场景;
所述数据库连接,是指使用主机地址、用户名、密码、端口等参数连接数据库并进行数据录入安排;
所述仿真运行,是指通过仿真场景实例的接口调用仿真运行方法,改变仿真场景的仿真时间,采集卫星节点实例随仿真时间变化而变化的数据。
有益效果:本发明方法提供了可以基于个人计算机设备用于模拟超密集大规模卫星场景的轻量化程序架构设计。与主流仿真软件的完全解耦使本发明不依赖外部程序,可针对实验对象进行定制化的自由改动;轻量化设计使本发明模拟卫星节点所需要的开销大大减少,使万颗级别的卫星星座仿真便于实现;符合现实逻辑、结构清晰的模块化设计使本发明拥有足够的可扩展性并且便于实现。相比现有的大规模场景软件仿真方案,本设计架构方法完全与现有主流商用仿真软件解耦,轻量化设计使超大规模仿真场景能够得以实现,模块化架构使其功能满足个性化定制需求且更便于增删修正的后续工作。
附图说明
图1是本发明实施例所采用的超大规模低轨卫星星座场景图;
图2是本发明所采用的轻量化仿真架构设计方法的实现流程图;
图3是本发明所采用的以简化运算为目的的Walker-δ星座初始化构造方法以及仿真运行方法示意图;
图4是本发明实施例根据本发明仿真架构设计方法所搭建的抽象类型间的主要交互关系;
图5是本发明使用一个随机的唯一识别标识查询数据库可以得到的反馈。
图6是本发明提出的超密集大规模卫星场景轻量化仿真架构设计方法进行的以Starlink低轨卫星星座11927颗卫星为对象的仿真模拟结构。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当理解,此处所描述的具体实例仅仅用以解释本发明,但本发明的保护范围不限于下述的实施例。
本实施例采用了图1所示的仿照Starlink完整星座为对象的万颗级别低轨卫星星座仿真场景。首先介绍本场景中低轨卫星的相关情况:
依照Starlink数据,仿真场景中共部署11927颗卫星,分为8个Walker星座轨道平面,轨道海拔在350至1350千米之间。
图2是本发明实例面向超密集大规模卫星场景的轻量化仿真架构设计方法的流程图。其中包含3个步骤。
步骤1:进行最小单元设计。最小单元设计包括设计基础物理实体单元卫星节点的抽象以及辅助管理场景实体的仿真控制抽象NodeFactory类型。
步骤2:进行卫星场景逻辑结构搭建。卫星场景逻辑结构搭建包括设计卫星星座以及最终仿真场景的抽象。
步骤3:开始仿真并外部交互。仿真与交互包括设计数据库存储接口抽象以及仿***程序。包括设计面向用户的由多个星座组合而成的最终仿真场景抽象Simulation类型,封装使大规模卫星仿真便捷化的常用方法以及底层接口;设计管理数据库读写的接口抽象DataBase类型,按照研究需求实时存储读写;根据上述抽象类型编写主脚本进行仿真。
步骤1中的卫星节点的抽象设计,是由对真实卫星按照实验目的针对性抽取共同的、本质性特征并结合重构而成,根据此仿真场景实例的特殊性,选择包含以下字段:
m_id,表示该卫星实例个体的唯一识别标识,由节点工场抽象的唯一实例配置;
m_currentPosition,表示该卫星实例在特定仿真时刻的实时位置,采用LLA坐标系,所述LLA坐标系表示地心地固极坐标系,包含参数为纬度、经度、海拔高度;
m_inclination,表示该卫星实例所处轨道的倾角参数,默认情况下轨道偏心率为零,即以地心为圆心的正圆轨道;
m_uid,表示到该卫星实例所处卫星星座的链接,默认为空链接,在构成星座时配置;
m_constellationMessage是该卫星实例于所属卫星星座的信息,表示该卫星所处于星座中的逻辑位置,包含所处轨道的编号以及处于轨道内位置的编号,默认为空,在构成星座时配置;
m_name,表示该卫星实例的名字,并不具有唯一性,但可包含逻辑位置信息。
步骤1中的节点工场抽象设计,使用单例模式维护仿真场景时间并给每个卫星节点实例分配唯一身份标识,根据此仿真场景实例的特殊性,其管理对象包括仿真场景时间、卫星节点实例链接集合、唯一识别标识的生成:
仿真场景时间用于记录整个在建立后随时间变化而发生物理实体运动变化的仿真场景时刻,在仿真场景描述的时刻变化时需要同步修改,是唯一的时间标志;
唯一识别标识表示卫星节点实例在仿真场景中的唯一性身份标识,根据唯一识别标识可以通过卫星实例链接集合快速查找该卫星实例链接,进而查询卫星数据;
唯一识别标识的生成表示在卫星节点抽象的设计中,当卫星节点抽象具象化为实例时需要向节点工场实例申请唯一识别标识m_id,在此过程中节点工场实例返回未分配过的id值并将此id值与申请到此id的节点实例的链接绑定,并存储于节点实例链接集合中,此设计目的是获得一个完整的底层控制的接口;
节点工场抽象需要使用单例模式,全局接口的特性要求只能有且只需要一个节点工场的实例存在,因此可行的设计是将节点工场抽象的具象化方法及拷贝复制方法设为私有并在它的抽象中内置一个类型为节点工场的静态成员,以此阻止此抽象被随意具象化滥用。
步骤2中卫星星座抽象设计,根据此仿真场景实例的特殊性,包含卫星星座信息、对所含所有卫星实例的链接、卫星星座初始化方法、针对简化运算设计的卫星运动算法,即以下字段:
m_name,表示此星座实例的名字,非唯一性,用于按名字检索及数据库存储查找,具象化时设置,默认为空;
m_orbitNumber,表示此星座实例的倾斜轨道数;
m_satPerOrbit,表示此星座实例每条轨道的卫星个数;
m_phase,表示此星座实例的相位因子;
m_satList,表示此星座实例包含的所有卫星实例的链接数据集合;
m_TAANOPCS,表示此星座实例所含的所有卫星实例的升点角,用于存储描述卫星处于倾斜轨道平面内的位置,方便大规模运算;
m_inclination,表示星座的轨道倾角;
m_altitude,表示星座的轨道高度;
m_seedRAAN,表示种子卫星的升交点赤经。
所述卫星星座初始化方法,默认星座种类为Walker-δ星座,Walker-δ星座模型所含的参数为T/P/F:h:θ,T表示星座中总卫星个数,P表示星座中轨道轨道平面个数,θ表示星座轨道倾角,h表示星座海拔高度,F表示轨道分布的相位因子,取值范围为1到T/P-1的整数;
图3是本发明实例面向超密集大规模卫星场景的轻量化仿真架构设计方法的Walker-δ星座初始化构造方法以及仿真运行方法示意,具体步骤如下:
步骤2-a:计算所有卫星的升点角并记录:
步骤2-a-1:根据相位因子F的定义,当轨道内某颗卫星到达升交点时,其右侧相邻轨道上的一颗卫星距升交点的纬度辐角即升点角为F·2Π/T,有以下公式:
其中指第i条轨道编号为1的卫星的升点角;
步骤2-a-2:Walker-δ星座在轨道内均匀分布,平分2π的弧度,因此有以下公式:
其中TAANij指第i条轨道内编号为j的卫星的升点角;
步骤2-a-3:将所有按照顺序存储在m_TAANOPCS,OPCS指轨道平面极坐标系;
步骤2-b:根据升点角和其它参数单独计算每颗卫星在地心地固坐标系及地心地固极坐标系中的位置:
步骤2-b-1,卫星实例坐标从OPCS坐标系转变为轨道平面直角坐标系公式为:
步骤2-b-2,卫星实例坐标从轨道平面直角坐标系转变为地心地固直角坐标系(ECEF)公式为:
其中θ为轨道倾角,Ω为此卫星实例所处轨道的升交点赤经,Ω公式如下:
其中表示第i条轨道的升交点赤经,表示种子卫星所在轨道,即第1条轨道的升交点赤经;
步骤2-b-3,卫星实例坐标从ECEF坐标系转变为地心地固极坐标系(LLA)公式为:
其中lon、lat、alt分别表示LLA坐标系中的经度、纬度、海拔高度,R表示地球平均半径;
步骤2-b-4,根据计算的经度、纬度、海拔高度数据对卫星节点抽象进行具象化,产生卫星节点实例,将其逻辑位置与实例链接绑定,并记录在m_satList中。
所述卫星运动算法分为三大步骤:
步骤2-c:计算所有卫星升点角并更新;
步骤2-c-1:假设地球为标准球体,在不考虑地球公转、大气摄动等因素的干扰下,卫星轨道可以近似为圆形轨道,根据开普勒第三定律可以得到:
其中G为引力常量,M为地球质量,单位为千克,Rs为卫星轨道的半径,单位为米,ω为卫星运行角速度,单位为rad/s;
步骤2-c-2:可以对所有卫星的升点角进行如下公式的运算:
TAANij′=TAANij+t·ω(mod2Π)
其中TAANij′表示编号为(i,j)的卫星在经过时间t后变化而成的结果;
步骤2-d:由于地球自转的影响升交点赤经会发生变化,计算种子卫星新的升交点赤经:
其中Ωseed′表示经过时间t变化后的种子卫星的升交点赤经,表示地球自转角速度;
步骤2-e:根据升点角和其它参数单独计算每颗卫星在地心地固坐标系及地心地固极坐标系中的位置,此步骤与2-b完全相同,复用2-b程序。
步骤2中仿真场景抽象设计,根据此仿真场景实例的特殊性,包含对所含所有星座实例的链接以及运行方法接口,即以下字段:
m_simulationScenes,表示此仿真场景实例包含的所有星座实例链接的数据集合;
所有星座实例的链接,即记录此仿真场景中所有星座实例链接的可快速查询的数据集合;
运行方法接口,是指为方便用户统一管理仿真场景中所有星座而给出的统一调用星座实例的运行方法的接口。
步骤3中数据库存储抽象设计,根据此仿真场景实例的特殊性,包含数据结构设计、数据库连接方法、数据库***方法、数据库查询方法,即包含以下部分:
数据库连接方法,是经过封装的可以通过主机地址、用户名、密码、端口等参数直接与本地或远程主机建立连接的方法,也是调用后续所有数据库方法的必须步骤;
所述数据库***方法,是指经过封装的可以将数据按照既定结构存储到数据库中的方法;
所述数据库查询方法,是指经过封装的根据索引可以在数据库中查找相应信息的方法;
所述数据库删除方法,是指经过封装的根据索引可以删除数据库中相应信息的方法;
数据结构设计包含以下字段:
Id,表示此条数据所存储的卫星节点的唯一识别标识;
Longtitude,表示此条数据所存储的卫星节点的经度;
Latitude,表示此条数据所存储的卫星节点的纬度;
Altitude,表示此条数据所存储的卫星节点的海拔高度;
Time,表示此条数据所存储的卫星节点所处的仿真时刻;
Constellation,表示此条数据所存储的卫星节点所属的卫星星座名称。
步骤3中仿***程序,包含模块搭载、仿真场景搭建、数据库连接、仿真运行的组成成分;
模块搭载是通过预编译命令与之前所有抽象类型建立连接,将仿真架构的各个组成模块融合到一起;
仿真场景搭建是使用卫星节点抽象、卫星星座抽象以及仿真场景抽象构建卫星星座实例,搭建并初始化仿真实验所需要的卫星仿真场景;
数据库连接是通过键入主机地址、用户名、密码、端口等参数连接数据库并进行数据录入安排;
仿真运行是通过仿真场景实例的接口调用仿真运行方法,改变仿真场景的仿真时间,采集卫星节点实例随仿真时间变化而变化的数据。
图4是本发明实例根据上述仿真架构设计方法搭建的抽象类型间的主要交互关系,表示了仿真架构的运转方式,保持简洁的轻量化架构同时满足进行超密集大规模卫星场景仿真的设计需求。
针对此实例所研究的Starlink星座对象,为进行万颗级别超密集大规模卫星场景的轨迹仿真及数据存储,在仿***程序中通过进行以下接口方法调用实现仿真目标:
步骤1:使用模块加载功能加载NodeFactory类型、Node类型、Constellation类型、Simulation类型、DataBase类型。
步骤2:创建DataBase类型实例,调用数据库连接方法,通过主机地址、用户名、密码、端口参数完成数据库连接。
步骤2:调用Constellation类型的快速构建方法实现卫星网络逻辑结构的快速搭建,安照Starlink星座参数快速构建8个Constellation实例。在构建过程中已调用卫星星座初始化方法生成了构成星座的代表卫星节点的众多Node类型实例,Node类型实例在构成的过程中已访问NodeFactory类型的唯一实例获取自身唯一标识。
步骤3:创建Simulation类型实例,通过内置的星座添加方法接口将8个Constellation实例添加到Simulation类型实例中。
步骤4:调用Simulation类型实例的仿真运行方法,使用参数7,代表仿真场景运行了10秒。在调用Simulation类型实例的仿真运行方法时,会触发该实例下所有Constellation实例的仿真运行方法,进而每个卫星星座实例单独计算其下所有卫星节点实例的新坐标位置,并更新其下所有卫星节点实例包含的m_currentPosition信息。在更新信息的同时位置更新方法会调用DataBase类型实例的数据库***方法,将卫星实例的唯一识别标识m_id、坐标位置信息m_currentPosition、仿真场景时间以及所属于Constellation实例的名字m_name写入数据库中。
步骤5:重复步骤4但仿真运行方法的参数变为10,进行此操作6次。
步骤6:调用Simulation类型实例的资源释放方法接口,结束仿真。
使用一个随机的唯一识别标识查询数据库可以得到如图5所示反馈,证明数据准确存储于数据库中。
如图5所示,本实例中选择连接的数据库为一个MySQL数据库,MySQL数据库是一个成熟的关系型数据库管理***,将数据保存在不同表中。根据需要保存数据结构的组成,在MySQL数据库中创建名为satellite的表,此表由6个分区组成,分别为id、longtitude、latitude、height、time、Constellations,存储类型分别为int、double、double、double、int、int,分别代表此条存储数据所代表的卫星实例的唯一识别标识(即卫星实例的m_id)、该实例在此仿真时间所处坐标(大地坐标系)的经度值、纬度值、海拔高度(单位千米)(即m_currentPosition的内容)、仿真场景时间(单位秒)、该卫星实例所属于卫星星座的名称(即星座实例的m_name)。通过DataBase类型的数据库连接方法,使用主机地址、用户名、密码、端口参数可以在轻量化仿真程序内部与数据库进行连接,在使用仿真运行方法时会自动调用数据库***方法将在所有卫星实例更新位置坐标时将新的坐标信息和相关数据按照数据库中所创建的表的结构进行存储。
用户可以直接在主仿真脚本中使用数据库读取方法通过连接查找相关信息,也可在数据库端直接使用数据库操作方法进行查询。在登录数据库后,使用如图5的指令select*fromsatellitewhereid=213即可在名为satellite的表中查找所有id分区数值等于213的数据并显示,也可使用其它多种查询方式。由此得到图5所示结果,结果与主脚本运行逻辑相符,共6条数据表示唯一识别标识为213的卫星实例在仿真时间7、17、27、37、47、57的时刻所处位置坐标,它所属的星座实例名称为1。
抽取数据库中仿真时间为7的所有数据,将这些数据导入到Matlab数学分析软件中在3维坐标系里可以得到可视化图形,如图6所示,符合所仿真的超密集多层低轨卫星星座特征。
在仿***脚本中使用数据库读取方法,读取仿真时间为7(即time分区数值等于7)的所有数据,将数据的位置坐标抽取并存储到一个文本文件中,再使用Matlab进行读取。使用Matlab的原因是本设计为实现轻量化仿真架构,并未搭载实时可视化模块。在Matlab中将地球质心固定在(0,0,0)的坐标点,地球半径使用6371千米,将基于大地坐标系的经度、纬度、海拔高度数据换算到三位直角坐标系,即采用步骤2-b-3的逆过程。最后使用Matlab的plot3指令,以换算后的x、y、z数据为参数,绘制出如图6所示的三维场景结果。
可见x、y、z数据在三个坐标轴方向的分布在-8000到8000左右,从数值看这是一个完美的球体。图中球形由11927个点构成,图中看似圆形曲线的部分也是由密集的点所组成。图6是本发明提出的超密集大规模卫星场景轻量化仿真架构设计方法进行的以Starlink低轨卫星星座11927颗卫星为对象的仿真模拟,在某一仿真时间该仿真场景中所有卫星实例的坐标信息的三维可视化展示,符合该星座***特征。
本发明提供了一种面向超密集大规模卫星场景的轻量化仿真架构设计方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (4)

1.一种面向超密集大规模卫星场景的轻量化仿真架构设计方法,其特征在于,包括如下步骤:设计辅助管理场景实体的仿真控制抽象NodeFactory类型,使用单例模式维护唯一时间并给每个卫星节点实例分配唯一身份标识;包括以下步骤:
步骤1,设计最小物理单元卫星节点的抽象Node类型,作为仿真基石代表一颗仿真场景中的实际卫星,存储卫星相关参数;
步骤2,设计卫星节点以逻辑组合而成的单层星座抽象Constellation类型,包含星座构成参数、所属卫星链接、星座运动简化;
步骤3,设计面向用户的由多个星座组合而成的最终仿真场景抽象Simulation类型,封装使大规模卫星仿真便捷化的常用方法以及底层接口;设计管理数据库读写的接口抽象DataBase类型,按照研究需求实时存储读写;根据上述仿真场景抽象Simulation类型和接口抽象DataBase类型编写主脚本进行仿真;
所述步骤2中卫星星座抽象设计,包含卫星星座信息、对所含所有卫星实例的链接、卫星星座初始化方法、针对简化运算设计的卫星运动算法,即包含以下字段:
m_orbitNumber,表示此星座实例的倾斜轨道数,即P;
m_satPerOrbit,表示此星座实例每条轨道的卫星个数,即T/P;
m_phase,表示此星座实例的相位因子,即F;
m_satList,表示此星座实例包含的所有卫星实例的链接数据集合;
m_TAANOPCS,表示此星座实例所含的所有卫星实例的升点角,用于存储描述卫星处于倾斜轨道平面内的位置,方便大规模运算;
m_inclination,表示星座的轨道倾角;
m_altitude,表示星座的轨道高度;
m_seedRAAN,表示种子卫星的升交点赤经;
所述升交点赤经指种子卫星所处轨道与赤道平面夹角相交所构成的升交点向径与春分点向径的夹角;
所述升点角,指卫星倾斜轨道平面内,延卫星运行方向,升交点向径与卫星位置向径的夹角,向径指与地心连线,此处考虑的是正圆轨道,因此没有轨道近地点,故以升交点作为卫星轨道的基准点;
所述种子卫星是指为Walker-δ星座构建提供包括轨道高度、轨道倾角、升交点赤经、升点角数据的卫星节点实例,这些数据可以由种子卫星实例解析获取也可以直接从外部输入给星座实例;
所述对所含所有卫星实例的链接,是指记录此星座中所有卫星节点链接的能快速查询的数据集合;
所述卫星星座初始化方法,是指根据种子卫星数据及星座数据计算卫星星座中所有卫星的数据,并使用这些数据进行卫星节点类型抽象的具现化,即构造此星座的所有卫星节点实例并记录链接;
所述卫星星座信息,包含星座种类信息并据此分类,卫星星座初始化方法,默认星座种类为Walker-δ星座,Walker-δ星座模型所含的参数为T、P、F、h、θ,T表示星座中总卫星个数,P表示星座中轨道平面个数,θ表示星座轨道倾角,h表示星座海拔高度,F表示轨道分布的相位因子,取值范围为1到T/P-1的整数;所述相位因子F含义为,Walker-δ星座内,当轨道内某颗卫星到达升交点时,其右侧相邻轨道上的同轨道内编号卫星的升点角为F·2Π/T;
步骤2中Walker-δ星座初始化方法,其输入参数为种子卫星轨道的升交点赤经seedRAAN、种子卫星的升点角seedTAAN、种子卫星轨道的高度h、种子卫星轨道的倾角θ、星座的倾斜轨道数P、星座每条轨道的卫星数T/P、星座的相位因子F;
初始化方法分为两个大步骤:
步骤2-a:计算所有卫星的升点角并记录:
步骤2-a-1:根据相位因子F的定义,当轨道内某颗卫星到达升交点时,其右侧相邻轨道上的一颗卫星距升交点的纬度辐角即升点角为F·2Π/T,有以下公式:
其中TAANi指第i条轨道编号为1的卫星的升点角;
步骤2-a-2:Walker-δ星座在轨道内均匀分布,平分2π的弧度,因此有以下公式:
其中TAANij指第i条轨道内编号为j的卫星的升点角;
步骤2-a-3:将所有TAANij按照顺序存储在m_TAANOPCS,OPCS指轨道平面极坐标系;
步骤2-b:根据升点角和其它参数单独计算每颗卫星在地心地固坐标系及地心地固极坐标系中的位置:
步骤2-b-1,卫星实例坐标从OPCS坐标系转变为轨道平面直角坐标系公式为:
其中x′、y′、z′表示轨道平面直角坐标系三维坐标,r表示轨道半径,取种子卫星轨道海拔高度加地球平均半径,u表示这个卫星的升点角,所述轨道平面直角坐标系以升交点径向为x轴,y轴与升点角90°的径向重合,z轴与轨道平面垂直并与x、y轴构成右手直角坐标系;
步骤2-b-2,卫星实例坐标从轨道平面直角坐标系转变为地心地固直角坐标系(ECEF)公式为:
其中x、y、z为ECEF坐标系三维坐标,所述坐标系坐标原点位于地心;X轴指向参考子午面与地球赤道的交点;Z轴与地球自转轴重合并指向地球北极;Y轴位于赤道平面内,与X轴垂直,且与X、Z轴构成右手直角坐标系;
其中θ为轨道倾角,Ω为此卫星实例所处轨道的升交点赤经,Ω公式如下:
其中Ωi表示第i条轨道的升交点赤经,Ωseed表示种子卫星所在轨道,即第1条轨道的升交点赤经;
步骤2-b-3,卫星实例坐标从ECEF坐标系转变为地心地固极坐标系(LLA)公式为:
其中lon、lat、alt分别表示LLA坐标系中的经度、纬度、海拔高度,R表示地球平均半径;
步骤2-b-4,根据计算的经度、纬度、海拔高度数据对卫星节点抽象进行具象化,产生卫星节点实例,将其逻辑位置与实例链接绑定,并记录在m_satList中;
步骤2中Walker-δ星座的运行方法需要在星座初始化后才能使用,需要输入的参数为存储所有卫星升点角的数据及m_TAANOPCS、运行时间time,所述运行时间表示仿真场景推进的总时间,可以额外输入的参数为分辨率accuracy,所述分辨率表示时间推进的步长,默认与time相同;
运行方法主要分为三大步骤:
步骤2-c:计算所有卫星升点角并更新;
步骤2-c-1:假设地球为标准球体,在不考虑地球公转、大气摄动的干扰下,卫星轨道可以近似为圆形轨道,根据开普勒第三定律得到:
其中G为引力常量,M为地球质量,单位为千克,Rs为卫星轨道的半径,单位为米,ω为卫星运行角速度,单位为rad/s;
步骤2-c-2:对所有卫星的升点角进行如下公式的运算:
TAANij′=TAANij+t·ω(mod 2Π)
其中TAANij′表示编号为(i,j)的卫星在经过时间t后变化而成的结果;
步骤2-d:由于地球自转的影响升交点赤经会发生变化,计算种子卫星新的升交点赤经:
其中Ωseed′表示经过时间t变化后的种子卫星的升交点赤经,表示地球自转角速度;
步骤2-e:根据升点角和其它参数单独计算每颗卫星在地心地固坐标系及地心地固极坐标系中的位置,此步骤与2-b完全相同,复用2-b程序;
步骤2中,最终仿真场景的抽象包含对所含所有星座实例的链接以及运行方法接口;
所述对所含所有星座实例的链接,是指记录此仿真场景中所有星座实例链接的可快速查询的数据集合;
所述运行方法接口,是指为方便用户统一管理仿真场景中所有星座而给出的统一调用星座实例的运行方法的接口;
所述步骤2中仿真场景抽象设计,包含对所含所有星座实例的链接以及运行方法接口,即以下字段:
所述仿真场景抽象包含以下字段:
m_simulationScenes,表示此仿真场景实例包含的所有星座实例链接的数据集合。
2.根据权利要求1所述的方法,其特征在于,具体步骤如下,步骤1,进行最小单元设计:最小单元设计包括设计基础物理实体单元卫星节点的抽象以及辅助管理场景实体的节点工场的抽象;所述卫星节点的抽象设计包含仿真目标需求的包括但不限于节点唯一识别编号、地心地固极坐标系三维坐标、运行轨道参数、所属星座信息、卫星名称,所述节点工场的抽象使用单例模式维护仿真场景时间并给每个卫星节点实例分配唯一身份标识;
步骤2,进行卫星场景逻辑结构搭建:设计卫星星座抽象以及最终仿真场景的抽象;所述卫星星座抽象包含卫星星座信息、对所含所有卫星实例的链接、卫星星座初始化方法、针对简化运算设计的卫星运动算法,所述最终仿真场景抽象包含仿真场景信息、对所含卫星星座实例的链接、针对仿真场景的常用方法与底层接口;
步骤3,开始仿真并外部交互:仿真与交互包括设计数据库存储接口抽象以及仿***程序;设计数据库存储接口抽象以及仿***脚本;所述数据库接口抽象封装对数据库进行连接、读取、修改、删减、添加的所有细节并自定义数据存储方法,所述仿***脚本包含仿真场景所有数据信息;
步骤1中,所述的卫星节点的抽象设计,根据实验目的和针对性仿真需求抽取共同的、本质性特征并结合重构而成:包含有卫星物理实体的基础特征,包括但不限于节点唯一识别编号、地心地固极坐标系三维坐标、运行轨道参数、所属星座信息、卫星名称;
其中必须包含的包括以下字段:
m_id,表示该卫星实例个体的唯一识别标识,由节点工场抽象的唯一实例配置;
m_currentPosition,表示该卫星实例在特定仿真时刻的实时位置,采用LLA坐标系,所述LLA坐标系表示地心地固极坐标系,包含参数为纬度、经度、海拔高度;
m_inclination,表示该卫星实例所处轨道的倾角参数,默认情况下轨道偏心率为零,即以地心为圆心的正圆轨道;
m_uid,表示到该卫星实例所处卫星星座的链接,默认为空链接,在构成星座时配置;
m_constellationMessage是该卫星实例于所属卫星星座的信息,表示该卫星所处于星座中的逻辑位置,包含所处轨道的编号以及处于轨道内位置的编号,默认为空,在构成星座时配置;
m_name,表示该卫星实例的名字,并不具有唯一性,但可包含逻辑位置信息;用于按名字检索及数据库存储查找,具象化时设置,默认为空;
步骤1中,辅助管理场景实体的节点工场的抽象,使用单例模式维护仿真场景时间并给每个卫星节点实例分配唯一身份标识,其管理对象包括仿真场景时间、唯一识别标识的生成、卫星节点实例链接集合;
所述仿真场景时间,表示仿真内的当前时刻,用于记录整个在建立后随时间变化而发生物理实体运动变化的仿真场景时刻,在仿真场景描述的时刻变化时需要同步修改,是唯一的时间标志;
所述唯一识别标识,表示卫星节点实例在仿真场景中的唯一性身份标识,根据唯一识别标识可以通过卫星实例链接集合快速查找该卫星实例链接,进而查询卫星数据;
所述卫星节点实例链接集合,表示记录场景中所有卫星节点链接的可快速查询的数据集合;
所述唯一识别标识的生成,表示在卫星节点抽象的设计中,当卫星节点抽象具象化为实例时需要向节点工场实例申请唯一识别标识m_id,在此过程中节点工场实例返回未分配过的id值并将此id值与申请到此id的节点实例的链接绑定,并存储于节点实例链接集合中,此设计目的是获得一个完整的底层控制的接口;
所述节点工场抽象同时使用单例模式,全局接口的特性要求只能有且只需要一个节点工场的实例存在,因此可行的设计是将节点工场抽象的具象化方法及拷贝复制方法设为私有并在它的抽象中内置一个类型为节点工场的静态成员,以此阻止此抽象被随意具象化滥用;所述静态成员,是指属于此抽象但不属于抽象所诞生的实例的组成部分,只能在主程序外被初始化且拥有唯一性,通过节点工场抽象的静态接口与这个唯一的节点工场实例建立连接,从而保证节点工场抽象只有一个实例存在;
步骤1中,所述的基础物理实体单元卫星节点的抽象设计,由仿真场景的物理实体卫星节点映射而来:
所述仿真场景,是指为模拟现实中可能出现的大量卫星环境而展开研究的假想场景;
物理实体,是指在仿真场景中代替现实中同名物体、拥有现实意义的仿真个体;
所述基础物理实体单元,是指构成仿真场景的能单独操控的最小物理实体集合,此处卫星场景中指代单个卫星;
所述抽象设计,是指将现实对象针对性地抽取共同的、本质性的特征并以此结合构建的该现实对象的一种描述方法;
映射是指以该物理实体的抽象产生的实例在此仿真场景中代表该物理实体;
实例是指将根据种类特征设计的抽象通过具体数据完成具象化处理,即一个实例只代表类型属于该抽象的一个特定个体;
现实节点到虚拟实例的仿真转变包含以下逻辑过程:
物理现实经过现实调研、目标设定、实验设计转变为仿真场景,其中的现实节点转变为物理实体;
仿真场景经过按类型抽取共同的、本质性的特征并结合重构的过程转换变为多种抽象,其中的某个物理实体的特征由某一种抽象描述;
抽象经过实际参数设置具象化为一个特定个体的实例,其中的某种抽象描述最终具象化为一个虚拟实例。
3.根据权利要求1所述的方法,其特征在于,步骤3中,数据库存储接口抽象包含数据库连接方法、数据库***方法、数据库查询方法、数据库删除方法;
所述数据库连接方法,是指封装后的可以通过主机地址、用户名、密码、端口直接与本地或远程主机建立连接的方法,是调用后续所有数据库方法的必须步骤;
所述数据库***方法,是指封装后的可以将数据按照既定结构存储到数据库中的方法;
所述数据库查询方法,是指封装后的根据索引可以在数据库中查找相应信息的方法;
所述数据库删除方法,是指封装后的根据索引删除数据库中相应信息的方法;
所述数据库,结构设计包含以下部分:
Id,表示此条数据所存储的卫星节点的唯一识别标识;
Longtitude,表示此条数据所存储的卫星节点的经度;
Latitude,表示此条数据所存储的卫星节点的纬度;
Altitude,表示此条数据所存储的卫星节点的海拔高度;
Time,表示此条数据所存储的卫星节点所处的仿真时刻;
Constellation,表示此条数据所存储的卫星节点所属的卫星星座名称;
所有星座实例的链接,即记录此仿真场景中所有星座实例链接的可快速查询的数据集合;
运行方法接口,是指为方便用户统一管理仿真场景中所有星座而给出的统一调用星座实例的运行方法的接口;
步骤3中数据库存储抽象设计,包含数据结构设计、数据库连接方法、数据库***方法、数据库查询方法、数据库删除方法,即包含以下部分:
数据库连接方法,是经过封装的可以通过主机地址、用户名、密码、端口直接与本地或远程主机建立连接的方法,也是调用后续所有数据库方法的必须步骤;
所述数据库***方法,是指经过封装的可以将数据按照既定结构存储到数据库中的方法;
所述数据库查询方法,是指经过封装的根据索引可以在数据库中查找相应信息的方法;
所述数据库删除方法,是指经过封装的根据索引可以删除数据库中相应信息的方法;
数据结构设计包含以下字段:
Id,表示此条数据所存储的卫星节点的唯一识别标识;
Longtitude,表示此条数据所存储的卫星节点的经度;
Latitude,表示此条数据所存储的卫星节点的纬度;
Altitude,表示此条数据所存储的卫星节点的海拔高度;
Time,表示此条数据所存储的卫星节点所处的仿真时刻;
Constellation,表示此条数据所存储的卫星节点所属的卫星星座名称;
步骤3中,仿***程序包含模块搭载、仿真场景搭建、数据库连接、仿真运行的组成成分;
所述模块搭载,是指通过预编译命令与之前所有抽象类型建立连接,将仿真架构的各个组成成分融合到一起;
所述仿真场景搭建,是指使用卫星节点抽象、卫星星座抽象以及仿真场景抽象构建实例,搭建并初始化实验所需要的卫星仿真场景;
所述数据库连接,是指使用主机地址、用户名、密码、端口连接数据库并进行数据录入安排;
所述仿真运行,是指通过仿真场景实例的接口调用仿真运行方法,改变仿真场景的仿真时间,采集卫星节点实例随仿真时间变化而变化的数据。
4.根据权利要求1所述的方法,其特征在于,仿真时添加以下字段:
m_RAAN,表示该卫星实例的升交点赤经,若轨道模型为椭圆模型需要设置,描述轨道平面与地球赤道平面的相交关系,相交点分别为升交点和降交点,升交点赤经表示升交点与春分点的向径夹角,由于忽略地球公转带来的影响且为简化处理,将春分点视为本初子午线与赤道平面交点;
m_eccentricity,表示该卫星实例的轨道的偏心率,用于描述椭圆轨道的形状;
m_perigeeAngle,表示该卫星实例所在轨道的近地点与升交点的夹角,描述椭圆轨道与地球的相对位置关系;
m_trueAnomaly,表示轨道平面内卫星所处位置与近地点的夹角,用于描述卫星处于卫星轨道内的位置;
m_antennaMessage,表示该卫星实例上装载的天线信息,包含每个天线的种类、方向、开角、频率、带宽、功率,用于描述卫星间通信或卫星与地面通信的物理连接模式;
m_linkMessage,表示该卫星的星间链路连接逻辑关系,用于描述特定星座设计中星间组网的构成形式。
CN202110558523.8A 2021-05-21 2021-05-21 一种面向大规模卫星场景的轻量化仿真架构设计方法 Active CN113283075B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110558523.8A CN113283075B (zh) 2021-05-21 2021-05-21 一种面向大规模卫星场景的轻量化仿真架构设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110558523.8A CN113283075B (zh) 2021-05-21 2021-05-21 一种面向大规模卫星场景的轻量化仿真架构设计方法

Publications (2)

Publication Number Publication Date
CN113283075A CN113283075A (zh) 2021-08-20
CN113283075B true CN113283075B (zh) 2023-11-03

Family

ID=77280635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110558523.8A Active CN113283075B (zh) 2021-05-21 2021-05-21 一种面向大规模卫星场景的轻量化仿真架构设计方法

Country Status (1)

Country Link
CN (1) CN113283075B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113703484A (zh) * 2021-09-01 2021-11-26 北京理工大学 一种有卫星失效后的混合编队卫星星座失效重构方法
CN115378491B (zh) * 2022-08-17 2023-10-13 南京大学 一种面向超密leo巨星座的轻量化网络仿真方法
CN117170632B (zh) * 2023-11-02 2024-02-09 浙江大学 基于Vue的SysML模型仿真的用户界面开发***
CN117831246B (zh) * 2024-03-04 2024-05-10 银河航天(北京)网络技术有限公司 低轨通信卫星通信方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446333A (zh) * 2016-08-19 2017-02-22 航天东方红卫星有限公司 一种小规模卫星星座构型优化设计方法
CN108337036A (zh) * 2018-02-06 2018-07-27 西安四方星途测控技术有限公司 一种基于导航卫星星座的星间链路仿真***
CN108536964A (zh) * 2018-04-11 2018-09-14 上海微小卫星工程中心 存储介质、卫星星座覆盖性能仿真分析方法及其***
CN109959388A (zh) * 2019-04-09 2019-07-02 南京大学 一种基于栅格扩展模型的智能交通精细化路径规划方法
CN112468207A (zh) * 2020-10-21 2021-03-09 北京大学 一种多层低地球轨道卫星星座部署方法及***

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446333A (zh) * 2016-08-19 2017-02-22 航天东方红卫星有限公司 一种小规模卫星星座构型优化设计方法
CN108337036A (zh) * 2018-02-06 2018-07-27 西安四方星途测控技术有限公司 一种基于导航卫星星座的星间链路仿真***
CN108536964A (zh) * 2018-04-11 2018-09-14 上海微小卫星工程中心 存储介质、卫星星座覆盖性能仿真分析方法及其***
CN109959388A (zh) * 2019-04-09 2019-07-02 南京大学 一种基于栅格扩展模型的智能交通精细化路径规划方法
CN112468207A (zh) * 2020-10-21 2021-03-09 北京大学 一种多层低地球轨道卫星星座部署方法及***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Optimization design and simulation analysis of earth reconnaissance satellite constellation;Wei Juan等;《 Journal of Xidian University》;138-141, 147 *
卫星磁测数据处理与地磁场模型反演理论与方法研;常宜峰等;《中国博士学位论文全文数据库》(第7期);1-167 *

Also Published As

Publication number Publication date
CN113283075A (zh) 2021-08-20

Similar Documents

Publication Publication Date Title
CN113283075B (zh) 一种面向大规模卫星场景的轻量化仿真架构设计方法
Piekarski et al. An object-oriented software architecture for 3D mixed reality applications
CN102841966A (zh) Vpp-STK卫星仿真开发与运行平台***
US12040993B2 (en) Software engine virtualization and dynamic resource and task distribution across edge and cloud
CN103258084B (zh) 一种基于时间同步的分布式航天任务视景仿真***
CN108038249A (zh) 一种全球一张图数据存储组织方法及调用方法
CN106296818A (zh) 一种基于移动平台的近地空间场景仿真方法及***
CN107885546A (zh) 一种面向全空间信息***的坐标系转换方法
CN114529602A (zh) 一种空间多目标态势监视方法及装置
Zeng et al. Pan-location mapping and localization for the in-situ science exploration of Zhurong Mars rover
Diston Computational modelling and simulation of aircraft and the environment, volume 1: Platform kinematics and synthetic environment
Sikorski et al. A glasses-based holographic tabletop for collaborative monitoring of aerial missions
Wan et al. Virtual geographical environment
Lee et al. Virtual mission operation framework
Zeng et al. Design of UAV 3D visual simulation system based on X-plane
Srimathveeravalli et al. A scenario generation tool for DDF simulation testbeds
Xing et al. Wide Area Beidou Foundation Enhanced Grid Space-Time Interlinked Science and Education Collaborative Experimental Service: A Science and Education Cooperative Experiment Demonstration Platform for the Wide-Area and Grid Enhanced China Beidou Satellite System
Hansen et al. Real-time synthetic vision cockpit display for general aviation
CN117993168A (zh) 一种基于Cesium框架的地月轨道可视化方法
Revilla Bouso Design of an attitude control system and flight schedule for CubeSats with NASA 42 Simulator
Cruellas Ibarz et al. Design and implementation of modules for a Distributed Satellite Systems simulator
López Fernández Virtual Satellite Network Simulator (VSNeS)-A novel engine to evaluate satellite networks over virtual infrastructure and networks
He et al. Real Scene 3D Technology Applied to Statistics and Updates Spring Festival Couplets for Entire Villages
Li et al. Research on Agile Satellite Imaging Simulation Technology Based on STKX
Lucas et al. NASA Operational Simulator for SmallSats (NOS3): Design Reference Mission

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant