卫星
向卫星场景中添加卫星
语法
描述
卫星(
添加一个场景
,semimajoraxis
,偏心
,倾向
,RAAN
,argofperiapsis
,trueanomaly
)卫星
中定义的开普勒元素的地心天体参考系(GCRF)卫星的情况。
卫星(
添加一个场景
,positiontable
)卫星
中指定的位置数据positiontable
(时间表
对象)对应于场景。此函数创建一个卫星
与OrbitPropagator = "星历表"
.
卫星(
添加一个场景
,positiontable
,velocitytable
)卫星
中指定的位置数据positiontable
(时间表
中指定的速度数据)和velocitytable
(时间表
对象)对应于场景。此函数创建一个卫星
与OrbitPropagator = "星历表"
.
卫星(
添加一个场景
,positiontimeseries
)卫星
中指定的位置数据positiontimeseries
到场景
.此函数创建一个卫星
与OrbitPropagator = "星历表"
.
卫星(
添加一个场景
,positiontimeseries
,velocitytimeseries
)卫星
对象的场景
中指定的位置(米)数据positiontimeseries
(timeseries
中指定的对象)和速度(米/秒)数据velocitytimeseries
(timeseries
对象)。此函数创建一个卫星
与OrbitPropagator = "星历表"
.
卫星(___,
指定选项,使用一个或多个名称-值参数以及来自以前语法的任何输入参数组合。名称,值
)
返回添加的卫星的句柄向量。指定来自以前语法的任何输入参数组合。坐
=卫星(___)
请注意
当AutoSimulate
财产的satelliteScenario
是假
,您可以修改卫星
只有当SimulationStatus
是NotStarted
.您可以使用重新启动
函数重置SimulationStatus
来NotStarted
,但这样做会擦除模拟数据。
例子
可视化卫星轨迹
创建一个附属场景对象。
sc = satelliteScenario;
将卫星星历表加载到地球中心地球固定(ECEF)坐标框架中。
负载(“timetableSatelliteTrajectory.mat”,“positionTT”,“velocityTT”);
在这个场景中添加四颗卫星。
坐=卫星(sc、positionTT velocityTT,“CoordinateFrame”,“ecef”);
想象卫星的轨迹。
玩(sc);
添加地面站到场景和可视化访问间隔
创建一个卫星场景,并从经纬度添加地面站。
开始时间= datetime(2020 5 1, 11日,36岁,0);stopTime = startTime + days(1);sampleTime = 60;sc = satelliteScenario(开始时间、stopTime sampleTime);lat = 10;朗= -30;gs = groundStation (sc、纬度、经度);
使用开普勒元素添加卫星。
semiMajorAxis = 10000000;离心率= 0;倾向= 10;rightAscensionOfAscendingNode = 0;argumentOfPeriapsis = 0;trueAnomaly = 0;坐=卫星(sc、semiMajorAxis怪癖,倾向,...rightAscensionOfAscendingNode、argumentOfPeriapsis trueAnomaly);
在场景中增加访问分析,得到卫星与地面站的访问间隔表。
ac =访问(坐,gs);intvls = accessIntervals (ac)
intvls =8×8表源目标IntervalNumber开始时间EndTime时间StartOrbit EndOrbit _____________ __________________ ______________ ____________________ ____________________ ________ __________ ________ " 卫星2”“地面站1“1 01 - 2020年5月——11:36:00 01 - 1680年5月- 2020年12:04:00 1 1”卫星2”“地面站1“2 01 - 2020年5月——14:20:00 01 - 3060年5月- 2020年15:11:00 1 2”卫星2”“地面站1”3 01 - 2020年5月——17:27:00 01 - 3060年5月- 2020年18:18:00 3 3”2”“卫星地面站1”4 01 - 5 - 202020:34:00 01-五月-2020 21:25:00 3060 4 4“二号卫星”“地面站1”5 01-五月-2020 23:41:00 02-五月-2020 00:32:00 3060 5 5“二号卫星”“地面站1”6 02-五月-2020 02:50:00 02-五月-2020 03:39:00 2940 6 6“二号卫星”“地面站1”7 02-五月-2020 05:59:00 02-五月-2020 06:47:00 2880 7 7“二号卫星”“地面站1”8 02-五月-2020 09:06:00 02-五月-2020 09:56:00 3000 8 9
播放场景以可视化地面站。
玩(sc)
使用开普勒元素将卫星添加到场景中
创建一个卫星场景,开始时间为02-June-2020 UTC 8:23:00 AM,停止时间设置为一天之后。将模拟采样时间设置为60秒。
开始时间= datetime(2020 6, 02年、8,23岁,0);stopTime = startTime + days(1);sampleTime = 60;sc = satelliteScenario(开始时间、stopTime sampleTime);
将两颗卫星添加到使用其开普勒元素的场景中。
semiMajorAxis = (10000000; 10000000);离心率= (0.01,0.02);倾向= (0;10);rightAscensionOfAscendingNode = [15] 0;;argumentOfPeriapsis = [0; 30];trueAnomaly = (0; 20);坐=卫星(sc、semiMajorAxis怪癖,倾向,...rightAscensionOfAscendingNode、argumentOfPeriapsis trueAnomaly)
sat = 1x2卫星阵列,具有以下属性:名称ID ConicalSensors Gimbals发射器接收机访问地面轨道轨道轨道传播标记颜色标记大小ShowLabel LabelFontColor LabelFontSize
查看一小时内在轨卫星和地面轨迹。
显示(坐)groundTrack(坐下,超前时间= 3600)
ans =1×2对象1×2 GroundTrack数组的属性:LeadTime TrailTime LineWidth LeadLineColor TrailLineColor visableitymode
播放场景并将模拟的动画速度设置为40。
玩(sc PlaybackSpeedMultiplier = 40)
可视化GPS星座
设置卫星场景。
开始时间= datetime(2021、8、5);stopTime = startTime + days(1);sampleTime = 60;%秒sc = satelliteScenario(开始时间、stopTime sampleTime);
从SEM年鉴文件向场景中添加卫星。
坐=卫星(sc,“gpsAlmanac.txt”,“OrbitPropagator”,“全球定位系统”);
可视化GPS星座。
v = satelliteScenarioViewer (sc);
输入参数
场景
- - - - - -卫星的场景
satelliteScenario
对象
卫星场景,指定为satelliteScenario
对象。
文件
- - - - - -TLE或SEM年鉴文件
特征向量|字符串标量
TLE或SEM年鉴文件,指定为字符向量或字符串标量。该文件必须存在于当前文件夹中,在MATLAB的文件夹中®路径,或者它必须包含文件的完整路径或相对路径。
有关TLE文件的更多信息,请参见两个线元素(TLE)文件.
数据类型:字符
|字符串
请注意
此参数需要导航工具箱™。
semimajoraxis
,偏心
,倾向
,RAAN
,argofperiapsis
,trueanomaly
- - - - - -GCRF中定义的开普勒元素
用逗号分隔的向量列表
GCRF中定义的开普勒元素,指定为用逗号分隔的向量列表。开普勒元素是:
semimajoraxis
-这个矢量定义了卫星轨道的半长轴。每个值都等于轨道最长直径的一半。偏心
-这个矢量定义了卫星轨道的形状。倾向
-这个矢量定义了轨道平面和xy范围[0,180]内每颗卫星的GCRF的-平面。RAAN
(上升节点的右扬程)-此元素定义了xyGCRF的-平面和上升节点的方向,从地球质心看,范围[0360)内的每颗卫星。上升节点是轨道穿过的位置xyGCRF的-平面,并在平面之上。argofperiapsis
这个向量定义了上升节点的方向和近拱点,从地球质心在[0,360]范围内看。近日点是每颗卫星在轨道上最接近地球质心的位置。trueanomaly
-这个向量定义了周围点方向和卫星当前位置之间的角度,从地球质心看,范围[0,360]内的每颗卫星。
请注意
所有在指定范围外定义的角度都自动转换为可接受范围内的相应值。
有关开普勒元素的更多信息,请参见轨道要素.
positiontable
- - - - - -位置数据
时间表|表格
位置数据(以米为单位),指定为使用时间表
函数或表格
函数。的positiontable
是否有一列是单调递增的rowTimes(datetime
或持续时间
):
变量的一列或多列,其中每列包含一颗卫星随时间变化的数据。
二维数据的一列,其中一个维度的长度必须等于3,其余维度定义星历表中的卫星数量。
三维数据的一列,其中一个维度的长度必须等于3,其中一个维度是单维度,其余维度定义星历表中的卫星数量。
如果rowTimes值的类型为持续时间
,时间值是相对于当前场景测量的开始时间
财产。的时间表VariableNames
属性在没有提供名称作为输入时默认使用。卫星状态被假定在GCRF中,除非aCoordinateFrame
提供了名称-值参数。的时间范围之外的场景时间步骤,在GCRF中保持状态不变positiontable
.
数据类型:表格
|时间表
velocitytable
- - - - - -速度数据
时间表|表格
速度数据(以米/秒为单位),指定为使用时间表
函数或表格
函数。的velocitytable
是否有一列是单调递增的rowTimes(datetime
或持续时间
),:
变量的一列或多列,其中每列包含一颗卫星随时间变化的数据。
二维数据的一列,其中一个维度的长度必须等于3,其余维度定义星历表中的卫星数量。
三维数据的一列,其中一个维度的长度必须等于3,其中一个维度是单维度,其余维度定义星历表中的卫星数量。
如果rowTimes值的类型为持续时间
,时间值是相对于当前场景测量的开始时间
财产。的时间表VariableNames
如果没有提供名称作为输入,则默认使用。卫星状态被假定在GCRF中,除非aCoordinateFrame
提供了名称-值参数。的时间范围之外的场景时间步骤,在GCRF中保持状态不变velocitytable
.
数据类型:表格
|时间表
positiontimeseries
- - - - - -位置数据
timeseries
对象|tscollection
对象
位置数据,以米为单位,用a表示timeseries
对象或一个tscollection
对象。
如果
数据
财产的timeseries
或tscollection
对象有两个维度,一个维度必须等于3,另一个维度必须与时间向量的方向一致。如果
数据
财产的timeseries
或tscollection
有三个维度,其中一个维度必须等于3,其中第一个或最后一个维度必须与时间矢量的方向一致,其余维度定义星历表中的卫星数量。当
timeseries.TimeInfo.StartDate
是否为空,相对于当前场景测量时间值开始时间
财产。timeseries的的名字
属性(如果已定义)在没有提供名称作为输入时默认使用。卫星状态被假定在GCRF中,除非aCoordinateFrame
提供了名称-值对。的时间范围之外的场景时间步骤,在GCRF中保持状态不变positiontimeseries
.
数据类型:timeseries
|tscollection
velocitytimeseries
- - - - - -速度数据
timeseries
对象|tscollection
对象
速度数据,单位为米/秒,用a表示timeseries
对象或一个tscollection
对象。
如果
数据
财产的timeseries
或tscollection
对象有两个维度,一个维度必须等于3,另一个维度必须与时间向量的方向一致。如果
数据
财产的timeseries
或tscollection
有三个维度,其中一个维度必须等于3,其中第一个或最后一个维度必须与时间矢量的方向一致,其余维度定义星历表中的卫星数量。当
timeseries.TimeInfo.StartDate
是否为空,相对于当前场景测量时间值开始时间
财产。timeseries的的名字
属性(如果已定义)在没有提供名称作为输入时默认使用。卫星状态被假定在GCRF中,除非aCoordinateFrame
提供了名称-值对。的时间范围之外的场景时间步骤,在GCRF中保持状态不变velocitytimeseries
.
数据类型:timeseries
|tscollection
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
例子:Name = ' MySatellite '
设置卫星名称为“MySatellite”
.
CoordinateFrame
- - - - - -卫星状态坐标系
“惯性”
(默认)|“ecef”
|“地理”
卫星状态坐标系,指定为逗号分隔的一对,由“CoordinateFrame”
其中一个价值观是:
“惯性”
——对timeseries
或时间表
数据,指定这个值接受GCRF帧中的位置和速度。“ecef”
——对timeseries
或时间表
数据,指定这个值接受ECEF帧中的位置和速度。“地理”
——对timeseries
或时间表
数据,指定此值接受位置[纬度,朗,高度),纬度而且朗纬度和经度的单位是度和高度为世界大地测量系统84 (WGS 84)椭球的高度,单位为米。速度在局域内坐标系中。
依赖关系
要启用此name - value参数,蜉蝣数据输入(时间表
或timeseries
).
数据类型:字符串
|字符
GPSweekepoch
- - - - - -GPS周时代
日期字符串
GPS周纪元,指定为日期字符串,格式为"dd- mm-yyyy"或"dd- mm-yyyy"。GPS周号指定了该函数在计算SEM年鉴文件中定义的周数时使用的引用日期。如果不指定GPSweekepoch
,该函数使用开始时间之前最新的GPS周号滚动日期。
此参数仅适用于使用SEM年鉴文件的情况。如果您指定GPSweekepoch
如果你没有使用SEM almanac文件,函数会忽略参数值。
数据类型:字符串
|字符
查看器
- - - - - -卫星场景查看器
向量的satelliteScenarioViewer
对象(默认)|标量satelliteScenarioViewer
对象|的数组satelliteScenarioViewer
对象
的标量、向量或数组指定的卫星场景查看器satelliteScenarioViewer
对象。如果AutoSimulate
场景的属性为假
,在该场景中添加一个卫星将禁用以前可用的任何时间轴和播放小部件。
的名字
- - - - - -卫星的名字
字符串标量|字符串向量|特征向量|字符向量的单元格数组
方法时才能设置此属性卫星
函数。后你叫卫星
函数,此属性是只读的。
卫星名称,指定为逗号分隔的一对,由“名字”
字符串标量,字符串向量,字符向量或者字符向量的单元格数组。
如果只添加一个卫星,则指定
的名字
作为字符串标量或字符向量。如果添加了多个卫星,则指定
的名字
作为字符串标量、字符向量、字符串向量或字符向量的单元格数组。所有作为字符串标量或字符向量添加的卫星都被分配相同的指定名称。字符串向量或字符向量的单元格数组中的元素数量必须等于被添加的卫星数。每个卫星都从向量或单元格数组中分配相应的名称。
将satellite添加到卫星场景使用时的默认值
开普勒轨道元素,TLE文件,时间序列,或时间表-“卫星ID”,其中
ID
由卫星场景分配。SEM年历文件或RINEX GPS导航数据- "PRN:prnValue",其中prnValue是一个整数,表示在SEM年历文件中指定的卫星伪随机噪声码。
RINEX伽利略导航数据- "GAL Sat IF: id",其中"id"是在RINEX导航数据中定义的伽利略卫星的卫星id。
数据类型:字符串
OrbitPropagator
- - - - - -轨道传播器名称
“sgp4”
|“sdp4”
|“two-body-keplerian”
|“星历表”
|“全球定位系统”
|“伽利略”
您可以将此属性设置为开启卫星
对象创建,然后此属性变为只读。
用于传播卫星位置和速度的轨道传播器的名称,指定为“sgp4”
,“sdp4”
,“two-body-keplerian”
,“星历表”
,“全球定位系统”
,或“伽利略”
.该值取决于您如何指定卫星。
时间表、表
timeseries
,或tscollection
- - - - - -OrbitPropagator
是“星历表”
.包含GPS导航信息的SEM年鉴文件或RINEX数据
OrbitPropagator
可以是除“星历表”
而且“伽利略”
.方法执行初始化“全球定位系统”
轨道传播算子。包含伽利略导航信息的RINEX数据-
OrbitPropagator
是“伽利略”
和可以是除“星历表”
而且“全球定位系统”
方法执行初始化“伽利略”
轨道传播算子。框架文件-
OrbitPropagator
可以“two-body-keplerian”
,“sgp4”
,或“sdp4”
.如果轨道周期小于225分钟,初始化使用“sgp4”
.否则,将使用“sdp4”
.开普勒定律的
元素,OrbitPropagator
可以“two-body-keplerian”
,“sgp4”
,或“sdp4”
.
如果使用时间表、表、timeseries
对象,或tscollection
对象时,默认传播器为“星历表”
.如果使用SEM年鉴文件执行初始化,则默认传播程序为“全球定位系统”
.如果使用RINEX数据执行初始化,则默认传播器为“全球定位系统”
,以及“伽利略”
伽利略卫星。否则,如果轨道周期小于225分钟,默认传播器为“sgp4”
,否则“sdp4”
.
如果RINEX数据同时定义有效的GPS和Galileo导航消息,OrbitPropagator
不能指定为“全球定位系统”
或“伽利略”
名称参数值。但是,它仍然可以指定为“two-body-keplerian”
,“sgp4”
,或“sdp4”
.默认传播器为“全球定位系统”
,以及“伽利略”
伽利略卫星。
OrbitPropagator
对于星历表数据输入不可用(时间表
或timeseries
).在这些情况下,卫星
自动选择“星历表”
轨道传播算子。
版本历史
介绍了R2021aR2022b:将RINEXdata参数添加到函数中
方法可以通过RINEX导航数据向场景添加卫星RINEXdata
输入参数。
R2022a:添加到文件参数的SEM年鉴文件
您现在可以通过SEM年鉴文件将卫星添加到场景中文件
输入参数。
另请参阅
对象
功能
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。