主要内容

卫星

向卫星场景中添加卫星

描述

例子

卫星(场景文件增加了卫星对象从文件指定的卫星场景场景.偏航(z)卫星的轴指向最低点和滚动(x)卫星的轴与各自的惯性速度矢量对齐。

卫星(场景RINEXdata增加了卫星对象从RINEXdata指定的卫星场景场景

卫星(场景semimajoraxis偏心倾向RAANargofperiapsistrueanomaly添加一个卫星中定义的开普勒元素的地心天体参考系(GCRF)卫星的情况。

例子

卫星(场景positiontable添加一个卫星中指定的位置数据positiontable时间表对象)对应于场景。此函数创建一个卫星OrbitPropagator = "星历表"

例子

卫星(场景positiontablevelocitytable添加一个卫星中指定的位置数据positiontable时间表中指定的速度数据)和velocitytable时间表对象)对应于场景。此函数创建一个卫星OrbitPropagator = "星历表"

卫星(场景positiontimeseries添加一个卫星中指定的位置数据positiontimeseries场景.此函数创建一个卫星OrbitPropagator = "星历表"

卫星(场景positiontimeseriesvelocitytimeseries添加一个卫星对象的场景中指定的位置(米)数据positiontimeseriestimeseries中指定的对象)和速度(米/秒)数据velocitytimeseriestimeseries对象)。此函数创建一个卫星OrbitPropagator = "星历表"

卫星(___名称,值指定选项,使用一个或多个名称-值参数以及来自以前语法的任何输入参数组合。

=卫星(___返回添加的卫星的句柄向量。指定来自以前语法的任何输入参数组合。

请注意

AutoSimulate财产的satelliteScenario,您可以修改卫星只有当SimulationStatusNotStarted.您可以使用重新启动函数重置SimulationStatusNotStarted,但这样做会擦除模拟数据。

例子

全部折叠

创建一个附属场景对象。

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)

设置卫星场景。

开始时间= datetime(2021、8、5);stopTime = startTime + days(1);sampleTime = 60;%秒sc = satelliteScenario(开始时间、stopTime sampleTime);

从SEM年鉴文件向场景中添加卫星。

坐=卫星(sc,“gpsAlmanac.txt”“OrbitPropagator”“全球定位系统”);

可视化GPS星座。

v = satelliteScenarioViewer (sc);

输入参数

全部折叠

卫星场景,指定为satelliteScenario对象。

TLE或SEM年鉴文件,指定为字符向量或字符串标量。该文件必须存在于当前文件夹中,在MATLAB的文件夹中®路径,或者它必须包含文件的完整路径或相对路径。

有关TLE文件的更多信息,请参见两个线元素(TLE)文件

数据类型:字符|字符串

RINEX导航消息的输出rinexread(导航工具箱),指定为一个结构。导航消息必须属于GPS或伽利略星座。

如果RINEXdata包含同一卫星和的多个条目开始时间场景正在使用默认值,则使用与最早时间对应的条目。如果开始时间是显式指定的,最接近开始时间使用。

数据类型:结构体

请注意

此参数需要导航工具箱™。

GCRF中定义的开普勒元素,指定为用逗号分隔的向量列表。开普勒元素是:

  • semimajoraxis-这个矢量定义了卫星轨道的半长轴。每个值都等于轨道最长直径的一半。

  • 偏心-这个矢量定义了卫星轨道的形状。

  • 倾向-这个矢量定义了轨道平面和xy范围[0,180]内每颗卫星的GCRF的-平面。

  • RAAN(上升节点的右扬程)-此元素定义了xyGCRF的-平面和上升节点的方向,从地球质心看,范围[0360)内的每颗卫星。上升节点是轨道穿过的位置xyGCRF的-平面,并在平面之上。

  • argofperiapsis这个向量定义了上升节点的方向和近拱点,从地球质心在[0,360]范围内看。近日点是每颗卫星在轨道上最接近地球质心的位置。

  • trueanomaly-这个向量定义了周围点方向和卫星当前位置之间的角度,从地球质心看,范围[0,360]内的每颗卫星。

请注意

所有在指定范围外定义的角度都自动转换为可接受范围内的相应值。

有关开普勒元素的更多信息,请参见轨道要素

位置数据(以米为单位),指定为使用时间表函数或表格函数。的positiontable是否有一列是单调递增的rowTimesdatetime持续时间):

  • 变量的一列或多列,其中每列包含一颗卫星随时间变化的数据。

  • 二维数据的一列,其中一个维度的长度必须等于3,其余维度定义星历表中的卫星数量。

  • 三维数据的一列,其中一个维度的长度必须等于3,其中一个维度是单维度,其余维度定义星历表中的卫星数量。

如果rowTimes值的类型为持续时间,时间值是相对于当前场景测量的开始时间财产。的时间表VariableNames属性在没有提供名称作为输入时默认使用。卫星状态被假定在GCRF中,除非aCoordinateFrame提供了名称-值参数。的时间范围之外的场景时间步骤,在GCRF中保持状态不变positiontable

数据类型:表格|时间表

速度数据(以米/秒为单位),指定为使用时间表函数或表格函数。的velocitytable是否有一列是单调递增的rowTimesdatetime持续时间),:

  • 变量的一列或多列,其中每列包含一颗卫星随时间变化的数据。

  • 二维数据的一列,其中一个维度的长度必须等于3,其余维度定义星历表中的卫星数量。

  • 三维数据的一列,其中一个维度的长度必须等于3,其中一个维度是单维度,其余维度定义星历表中的卫星数量。

如果rowTimes值的类型为持续时间,时间值是相对于当前场景测量的开始时间财产。的时间表VariableNames如果没有提供名称作为输入,则默认使用。卫星状态被假定在GCRF中,除非aCoordinateFrame提供了名称-值参数。的时间范围之外的场景时间步骤,在GCRF中保持状态不变velocitytable

数据类型:表格|时间表

位置数据,以米为单位,用a表示timeseries对象或一个tscollection对象。

  • 如果数据财产的timeseriestscollection对象有两个维度,一个维度必须等于3,另一个维度必须与时间向量的方向一致。

  • 如果数据财产的timeseriestscollection有三个维度,其中一个维度必须等于3,其中第一个或最后一个维度必须与时间矢量的方向一致,其余维度定义星历表中的卫星数量。

    timeseries.TimeInfo.StartDate是否为空,相对于当前场景测量时间值开始时间财产。timeseries的的名字属性(如果已定义)在没有提供名称作为输入时默认使用。卫星状态被假定在GCRF中,除非aCoordinateFrame提供了名称-值对。的时间范围之外的场景时间步骤,在GCRF中保持状态不变positiontimeseries

数据类型:timeseries|tscollection

速度数据,单位为米/秒,用a表示timeseries对象或一个tscollection对象。

  • 如果数据财产的timeseriestscollection对象有两个维度,一个维度必须等于3,另一个维度必须与时间向量的方向一致。

  • 如果数据财产的timeseriestscollection有三个维度,其中一个维度必须等于3,其中第一个或最后一个维度必须与时间矢量的方向一致,其余维度定义星历表中的卫星数量。

    timeseries.TimeInfo.StartDate是否为空,相对于当前场景测量时间值开始时间财产。timeseries的的名字属性(如果已定义)在没有提供名称作为输入时默认使用。卫星状态被假定在GCRF中,除非aCoordinateFrame提供了名称-值对。的时间范围之外的场景时间步骤,在GCRF中保持状态不变velocitytimeseries

数据类型:timeseries|tscollection

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

例子:Name = ' MySatellite '设置卫星名称为“MySatellite”

卫星状态坐标系,指定为逗号分隔的一对,由“CoordinateFrame”其中一个价值观是:

  • “惯性”——对timeseries时间表数据,指定这个值接受GCRF帧中的位置和速度。

  • “ecef”——对timeseries时间表数据,指定这个值接受ECEF帧中的位置和速度。

  • “地理”——对timeseries时间表数据,指定此值接受位置[纬度高度),纬度而且纬度和经度的单位是度和高度为世界大地测量系统84 (WGS 84)椭球的高度,单位为米。

    速度在局域内坐标系中。

依赖关系

要启用此name - value参数,蜉蝣数据输入(时间表timeseries).

数据类型:字符串|字符

GPS周纪元,指定为日期字符串,格式为"dd- mm-yyyy"或"dd- mm-yyyy"。GPS周号指定了该函数在计算SEM年鉴文件中定义的周数时使用的引用日期。如果不指定GPSweekepoch,该函数使用开始时间之前最新的GPS周号滚动日期。

此参数仅适用于使用SEM年鉴文件的情况。如果您指定GPSweekepoch如果你没有使用SEM almanac文件,函数会忽略参数值。

数据类型:字符串|字符

的标量、向量或数组指定的卫星场景查看器satelliteScenarioViewer对象。如果AutoSimulate场景的属性为,在该场景中添加一个卫星将禁用以前可用的任何时间轴和播放小部件。

方法时才能设置此属性卫星函数。后你叫卫星函数,此属性是只读的。

卫星名称,指定为逗号分隔的一对,由“名字”字符串标量,字符串向量,字符向量或者字符向量的单元格数组。

  • 如果只添加一个卫星,则指定的名字作为字符串标量或字符向量。

  • 如果添加了多个卫星,则指定的名字作为字符串标量、字符向量、字符串向量或字符向量的单元格数组。所有作为字符串标量或字符向量添加的卫星都被分配相同的指定名称。字符串向量或字符向量的单元格数组中的元素数量必须等于被添加的卫星数。每个卫星都从向量或单元格数组中分配相应的名称。

将satellite添加到卫星场景使用时的默认值

  • 开普勒轨道元素,TLE文件,时间序列,或时间表-“卫星ID”,其中ID由卫星场景分配。

  • SEM年历文件或RINEX GPS导航数据- "PRN:prnValue",其中prnValue是一个整数,表示在SEM年历文件中指定的卫星伪随机噪声码。

  • RINEX伽利略导航数据- "GAL Sat IF: id",其中"id"是在RINEX导航数据中定义的伽利略卫星的卫星id。

数据类型:字符串

您可以将此属性设置为开启卫星对象创建,然后此属性变为只读。

用于传播卫星位置和速度的轨道传播器的名称,指定为“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).在这些情况下,卫星自动选择“星历表”轨道传播算子。

输出参数

全部折叠

场景中的卫星,返回为卫星对象指定的附属场景场景

您可以修改卫星对象的属性值。

版本历史

介绍了R2021a

全部展开

Baidu
map