exponenta event banner

спутник

Добавить спутники к спутниковому сценарию

Описание

sat = satellite(scenario,tlefile) добавляет Satellite объект из файла TLE в сценарий спутника, указанный scenario, задается как строковый скалярный или символьный вектор. Оси рыскания (z) спутников указывают на надир, а оси крена (x) спутников выравниваются с их соответствующими векторами инерционной скорости.

satellite(scenario,semimajoraxis,eccentricity,inclination,RAAN,argofperiapsis,trueanomaly) добавляет Satellite объект от кеплеровских элементов, определенных в геоцентрической небесной системе отсчета (GCRF), до спутникового сценария.

пример

satellite(scenario,positiontable) добавляет Satellite объект из данных позиции, указанных в positiontable (timetable object) к сценарию. Эта функция создает Satellite с OrbitPropagator="ephemeris".

пример

satellite(scenario,positiontable,velocitytable) добавляет Satellite объект из данных позиции, указанных в positiontable (timetable объект) и данные о скорости, указанные в velocitytable (timetable object) к сценарию. Эта функция создает Satellite с OrbitPropagator="ephemeris".

satellite(scenario,positiontimeseries) добавляет Satellite объект из данных позиции, указанных в positiontimeseries (timeseries объект). Эта функция создает Satellite с OrbitPropagator="ephemeris".

satellite(scenario,positiontimeseries,velocitytimeseries) добавляет Satellite объект для scenario из положения (в метрах) данные, указанные в positiontimeseries (timeseries объект) и данные о скорости (в метрах/секунду), указанные в velocitytimeseries (timeseries объект). Эта функция создает Satellite с OrbitPropagator="ephemeris".

satellite(___,Name,Value) указывает параметры, использующие один или несколько аргументов «имя-значение» в дополнение к любой комбинации входных аргументов из предыдущих синтаксисов. Например,('Name','satellite1') задает имя спутника как 'satellite1'. .

sat = satellite(___) возвращает вектор дескрипторов для добавленных спутников. Укажите любую комбинацию входных аргументов из предыдущих синтаксисов.

Примеры

свернуть все

Добавить четыре спутника к спутниковому сценарию из графика расположения к спутниковому сценарию и визуализировать их траектории.

Создайте объект сценария спутника по умолчанию.

sc = satelliteScenario;

Загрузите расписание эфемерид спутника, предполагая, что данные находятся в кадре координат GCRF.

load("timetableSatelliteTrajectory.mat","positionTT");

Добавьте спутники в сценарий.

sat = satellite(sc,positionTT);

Визуализация траекторий спутников.

play(sc);

Добавьте четыре спутника к сценарию спутника из графиков положения и скорости в кадре Earth Centered Earth Fixed (ECEF) и визуализируйте их траектории.

Создайте объект сценария спутника по умолчанию.

sc = satelliteScenario;

Загрузите расписание эфемерид спутника, предполагая, что данные находятся в кадре координат ECEF.

load("timetableSatelliteTrajectory.mat","positionTT","velocityTT");

Добавьте спутники в сценарий.

sat = satellite(sc,positionTT,velocityTT,"CoordinateFrame","ecef")

Визуализация траекторий спутников.

play(sc);

Создание спутникового сценария и добавление наземных станций из широт и долгот.

startTime = datetime(2020, 5, 1, 11, 36, 0);
stopTime = startTime + days(1);
sampleTime = 60;
sc = satelliteScenario(startTime, stopTime, sampleTime);
lat = [10];
lon = [-30];
gs = groundStation(sc, lat, lon);

Добавление спутников с использованием элементов Keplerian.

semiMajorAxis = 10000000;
eccentricity = 0;
inclination = 10; 
rightAscensionOfAscendingNode = 0; 
argumentOfPeriapsis = 0; 
trueAnomaly = 0; 
sat = satellite(sc, semiMajorAxis, eccentricity, inclination, ...
        rightAscensionOfAscendingNode, argumentOfPeriapsis, trueAnomaly);

Добавить анализ доступа к сценарию и получить таблицу интервалов доступа между спутником и наземной станцией.

ac = access(sat, gs);
intvls = accessIntervals(ac)
intvls=8×8 table
       Source              Target          IntervalNumber         StartTime                EndTime           Duration    StartOrbit    EndOrbit
    _____________    __________________    ______________    ____________________    ____________________    ________    __________    ________

    "Satellite 2"    "Ground station 1"          1           01-May-2020 11:36:00    01-May-2020 12:04:00      1680          1            1    
    "Satellite 2"    "Ground station 1"          2           01-May-2020 14:20:00    01-May-2020 15:11:00      3060          1            2    
    "Satellite 2"    "Ground station 1"          3           01-May-2020 17:27:00    01-May-2020 18:18:00      3060          3            3    
    "Satellite 2"    "Ground station 1"          4           01-May-2020 20:34:00    01-May-2020 21:25:00      3060          4            4    
    "Satellite 2"    "Ground station 1"          5           01-May-2020 23:41:00    02-May-2020 00:32:00      3060          5            5    
    "Satellite 2"    "Ground station 1"          6           02-May-2020 02:50:00    02-May-2020 03:39:00      2940          6            6    
    "Satellite 2"    "Ground station 1"          7           02-May-2020 05:59:00    02-May-2020 06:47:00      2880          7            7    
    "Satellite 2"    "Ground station 1"          8           02-May-2020 09:06:00    02-May-2020 09:56:00      3000          8            9    

Воспроизвести сценарий для визуализации наземных станций.

play(sc)

Создайте спутниковый сценарий со временем начала 02-June-2020 8:23:00 UTC и временем остановки, установленным на один день позже. Установите время образца моделирования равным 60 секундам.

startTime = datetime(2020,6,02,8,23,0);
stopTime = startTime + days(1);
sampleTime = 60;
sc = satelliteScenario(startTime,stopTime,sampleTime);

Добавьте два спутника в сценарий, используя их кеплеровские элементы.

semiMajorAxis = [10000000; 15000000];
eccentricity = [0.01; 0.02];
inclination = [0; 10];
rightAscensionOfAscendingNode = [0; 15];
argumentOfPeriapsis = [0; 30];
trueAnomaly = [0; 20];

sat = satellite(sc, semiMajorAxis, eccentricity, inclination, ...
    rightAscensionOfAscendingNode, argumentOfPeriapsis, trueAnomaly)
sat = 
  1×2 Satellite array with properties:

    Name
    ID
    ConicalSensors
    Gimbals
    Transmitters
    Receivers
    Accesses
    GroundTrack
    Orbit
    OrbitPropagator
    MarkerColor
    MarkerSize
    ShowLabel
    LabelFontSize
    LabelFontColor

Просмотрите спутники на орбите и наземные трассы в течение одного часа.

show(sat)
groundTrack(sat,'LeadTime',3600)
ans=1×2 object
  1×2 GroundTrack array with properties:

    LeadTime
    TrailTime
    LineWidth
    TrailLineColor
    LeadLineColor
    VisibilityMode

play(sc)

Входные аргументы

свернуть все

Сценарий спутника, указанный как satelliteScenario объект.

Имя файла TLE, заданного как вектор символов или строковый скаляр. Файл TLE должен существовать в текущем каталоге, существовать в каталоге по пути MATLAB ® или содержать полный или относительный путь к файлу .

Дополнительные сведения о файлах TLE см. в разделе Файлы двухстрочных элементов (TLE).

Типы данных: char | string

Элементы Keplerian, определенные в GCRF, указаны как список векторов, разделенных запятыми. Кеплеровскими элементами являются:

  • semimajoraxis - этот вектор определяет большую полуось орбиты спутника. Каждое значение равно половине самого длинного диаметра орбиты.

  • eccentricity - этот вектор определяет форму орбиты спутника.

  • inclination - этот вектор определяет угол между орбитальной плоскостью и плоскостью xy GCRF для каждого спутника.

  • RAAN (правое восхождение восходящего узла) - этот элемент определяет угол между плоскостью xy GCRF и направлением восходящего узла, как видно из центра масс Земли для каждого спутника. Восходящий узел - это местоположение, в котором орбита пересекает плоскость xy GCRF и проходит над плоскостью.

  • argofperiapsis (аргумент периапсиса) - этот вектор определяет угол между направлением восходящего узла и периапсисом, как видно из центра масс Земли. Периапсис - это местоположение на орбите, наиболее близкое к центру масс Земли для каждого спутника.

  • trueanomaly - этот вектор определяет угол между направлением периапсиса и текущим расположением спутника, как видно из центра масс Земли для каждого спутника.

Дополнительные сведения об элементах Keplerian см. в разделе Орбитальные элементы.

Данные о положении в счетчиках, указанные как расписание, созданное с помощью timetable функция. positiontable имеет ровно один монотонно увеличивающийся столбец rowTimes (datetime или duration значения) и один или несколько столбцов переменных, где каждый столбец содержит индивидуальную позицию спутника во времени.

Если значения rowTimes имеют тип duration, значения времени измеряются относительно текущего сценария StartTime собственность. Расписание VariableNames используются по умолчанию, если в качестве входных данных не указаны имена. Предполагается, что состояния спутников находятся в GCRF, если CoordinateFrame указан аргумент «имя-значение». Состояния поддерживаются постоянными в GCRF для временных интервалов сценариев за пределами временного диапазона positiontable.

Типы данных: table | timetable

Данные о скорости в метрах/с, указанные как расписание, созданное с помощью timetable функция. velocitytable имеет ровно один монотонно увеличивающийся столбец rowTimes (datetime или duration значения) и один или несколько столбцов переменных, где каждый столбец содержит индивидуальную позицию спутника во времени.

Если значения rowTimes имеют тип duration, значения времени измеряются относительно текущего сценария StartTime собственность. Расписание VariableNames используются по умолчанию, если в качестве входных данных не указаны имена. Предполагается, что состояния спутников находятся в GCRF, если CoordinateFrame указан аргумент «имя-значение». Состояния поддерживаются постоянными в GCRF для временных интервалов сценариев за пределами временного диапазона velocitytable.

Типы данных: table | timetable

Данные о положении в метрах, указанные как timeseries объект или tscollection объект.

  • Если Data имущества timeseries или tscollection объект имеет два размера, один размер должен быть равен 3, а другой размер должен быть выровнен с ориентацией вектора времени.

  • Если Data имущества timeseries или tscollection имеет три измерения, одно измерение должно быть равно 3, первое или последнее измерение должно быть выровнено с ориентацией вектора времени, а оставшееся измерение определяет количество спутников в эфемериде.

    Когда timeseries.TimeInfo.StartDate пусто, значения времени измеряются относительно текущего сценария StartTime собственность. timeseries Name свойство (если определено) используется по умолчанию, если в качестве входных данных не указаны имена. Предполагается, что состояния спутников находятся в GCRF, если CoordinateFrame предусмотрена пара имя-значение. Состояния поддерживаются постоянными в GCRF для временных интервалов сценариев за пределами временного диапазона positiontimeseries.

Типы данных: timeseries | tscollection

Данные о скорости в метрах/с, указанные как timeseries объект или tscollection объект.

  • Если Data имущества timeseries или tscollection объект имеет два размера, один размер должен быть равен 3, а другой размер должен быть выровнен с ориентацией вектора времени.

  • Если Data имущества timeseries или tscollection имеет три измерения, одно измерение должно быть равно 3, первое или последнее измерение должно быть выровнено с ориентацией вектора времени, а оставшееся измерение определяет количество спутников в эфемериде.

    Когда timeseries.TimeInfo.StartDate пусто, значения времени измеряются относительно текущего сценария StartTime собственность. timeseries Name свойство (если определено) используется по умолчанию, если в качестве входных данных не указаны имена. Предполагается, что состояния спутников находятся в GCRF, если CoordinateFrame предусмотрена пара имя-значение. Состояния поддерживаются постоянными в GCRF для временных интервалов сценариев за пределами временного диапазона velocitytimeseries.

Типы данных: timeseries | tscollection

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'Name','MySatellite' задает для имени спутника значение 'MySatellite'.

Просмотр спутниковых сценариев, указанный как вектор строки satelliteScenarioViewer объекты.

Типы данных: char | string

Это свойство можно задать только при вызове спутника. После вызова спутника это свойство доступно только для чтения.

имя спутника, указанное как пара, разделенная запятыми, состоящая из 'Name' и строковый скаляр, строковый вектор, символьный вектор или клеточный массив символьных векторов.

  • Если добавлен только один спутник, укажите Name в виде строкового скаляра или символьного вектора.

  • При добавлении нескольких спутников укажите Name в виде строкового вектора или массива ячеек символьных векторов. Число элементов в строковом векторе или массиве ячеек должно быть равно числу добавляемых спутников.

В значении по умолчанию idx - это число спутников, добавленных satellite объектная функция. Если существует другой спутник с таким же именем, добавляется суффикс _idx2, где idx2 - целое число, которое увеличивается на 1, начиная с 1 до разрешения дублирования имен.

Типы данных: char | string

Это свойство можно задать при вызове satellite только. После звонка satellite, это свойство доступно только для чтения.

Имя распространителя орбиты, используемого для распространения положения и скорости спутника, указанное как разделенная запятыми пара, состоящая из 'OrbitPropagator' и либо "two-body-keplerian", "sgp4", "sdp4", или "ephemeris".

Зависимости

OrbitPropagator недоступен для ввода данных эфемерид (timetable или timeseries). В этих случаях satellite игнорирует эту пару имя-значение.

Типы данных: string | char

Кадр координат состояния спутника, указанный как разделенная запятыми пара, состоящая из 'CoordinateFrame' и одно из этих значений:

  • "inertial" - Для timeseries или timetable данные, указывающие это значение, принимают положение и скорость в кадре GCRF.

  • "ecef" - Для timeseries или timetable , указывая это значение, принимает положение и скорость в кадре ECEF.

  • "geographic" - Для timeseries или timetable данные, указывая это значение принимает положение [лат, лон, высота], где лат и лон - широта и долгота в градусах, а высота - высота над эллипсоидом Всемирной геодезической системы 84 (WGS 84) в метрах.

    Скорость находится в локальном кадре NED.

Зависимости

Чтобы включить этот аргумент значения имени, введите данные ephemeris (timetable или timeseries).

Типы данных: string | char

Выходные аргументы

свернуть все

Спутник в сценарии, возвращенный как Satellite объект, принадлежащий спутниковому сценарию, указанному scenario.

Вы можете изменить Satellite путем изменения значений свойств объекта.

Представлен в R2021a