Добавьте конический датчик в спутниковый сценарий
conicalSensor( добавляет parent)ConicalSensor по умолчанию возразите против parent который может быть satellite, groundStation или gimbal.
conicalSensor( задает опции с помощью одних или нескольких аргументов name-value. Например, parent,Name,Value)'MaxViewAngle',90 задает угол поля зрения 90 градусов.
возвращает указатель на добавленный конический датчик. Задайте любую комбинацию входных аргументов от предыдущих синтаксисов.S = conicalSensor(___)
Создайте спутниковый сценарий со временем начала от 15 июня 2021 8:55:00 UTC и время остановки пять дней спустя. Установите шаг расчета симуляции на 60 секунды.
startTime = datetime(2021,6,21,8,55,0);
stopTime = startTime + days(5);
sampleTime = 60; % seconds
sc = satelliteScenario(startTime,stopTime,sampleTime)sc =
satelliteScenario with properties:
StartTime: 21-Jun-2021 08:55:00
StopTime: 26-Jun-2021 08:55:00
SampleTime: 60
Viewers: [0x0 matlabshared.satellitescenario.Viewer]
Satellites: [1x0 matlabshared.satellitescenario.Satellite]
GroundStations: [1x0 matlabshared.satellitescenario.GroundStation]
AutoShow: 1
Добавьте спутник в сценарий с помощью Кеплеровских орбитальных элементов.
semiMajorAxis = 7878137; % meters eccentricity = 0; inclination = 50; % degrees rightAscensionOfAscendingNode = 0; % degrees argumentOfPeriapsis = 0; % degrees trueAnomaly = 50; % degrees sat = satellite(sc,semiMajorAxis,eccentricity,inclination,rightAscensionOfAscendingNode, ... argumentOfPeriapsis,trueAnomaly)
sat =
Satellite with properties:
Name: Satellite 1
ID: 1
ConicalSensors: [1x0 matlabshared.satellitescenario.ConicalSensor]
Gimbals: [1x0 matlabshared.satellitescenario.Gimbal]
Transmitters: [1x0 satcom.satellitescenario.Transmitter]
Receivers: [1x0 satcom.satellitescenario.Receiver]
Accesses: [1x0 matlabshared.satellitescenario.Access]
GroundTrack: [1x1 matlabshared.satellitescenario.GroundTrack]
Orbit: [1x1 matlabshared.satellitescenario.Orbit]
OrbitPropagator: sgp4
MarkerColor: [1 0 0]
MarkerSize: 10
ShowLabel: true
LabelFontColor: [1 0 0]
LabelFontSize: 15
Добавьте наземную станцию, которая представляет местоположение, которое будет сфотографировано к сценарию.
gs = groundStation(sc,"Name","Location To Photograph", ... "Latitude",42.3001,"Longitude",-71.3504) % degrees
gs =
GroundStation with properties:
Name: Location To Photograph
ID: 2
Latitude: 42.3 degrees
Longitude: -71.35 degrees
Altitude: 0 meters
MinElevationAngle: 0 degrees
ConicalSensors: [1x0 matlabshared.satellitescenario.ConicalSensor]
Gimbals: [1x0 matlabshared.satellitescenario.Gimbal]
Transmitters: [1x0 satcom.satellitescenario.Transmitter]
Receivers: [1x0 satcom.satellitescenario.Receiver]
Accesses: [1x0 matlabshared.satellitescenario.Access]
MarkerColor: [0 1 1]
MarkerSize: 10
ShowLabel: true
LabelFontColor: [0 1 1]
LabelFontSize: 15
Добавьте карданов подвес в спутник. Можно регулировать этот карданов подвес независимо от спутника.
g = gimbal(sat)
g =
Gimbal with properties:
Name: Gimbal 3
ID: 3
MountingLocation: [0; 0; 0] meters
MountingAngles: [0; 0; 0] degrees
ConicalSensors: [1x0 matlabshared.satellitescenario.ConicalSensor]
Transmitters: [1x0 satcom.satellitescenario.Transmitter]
Receivers: [1x0 satcom.satellitescenario.Receiver]
Отследите местоположение, которое будет сфотографировано с помощью карданова подвеса.
pointAt(g,gs);
Добавьте конический датчик в карданов подвес. Этот датчик представляет камеру. Установите поле зрения на 60 градусов.
camSensor = conicalSensor(g,"MaxViewAngle",60)camSensor =
ConicalSensor with properties:
Name: Conical sensor 4
ID: 4
MountingLocation: [0; 0; 0] meters
MountingAngles: [0; 0; 0] degrees
MaxViewAngle: 60 degrees
Accesses: [1x0 matlabshared.satellitescenario.Access]
FieldOfView: [0x0 matlabshared.satellitescenario.FieldOfView]
Добавьте анализ доступа между камерой и местоположением, которое будет сфотографировано. Доступ добавляется к коническому датчику.
ac = access(camSensor,gs)
ac =
Access with properties:
Sequence: [4 2]
LineWidth: 1
LineColor: [0.5 0 1]
Визуализируйте поле зрения камеры при помощи Спутникового Средства просмотра Сценария.
v = satelliteScenarioViewer(sc); fieldOfView(camSensor);

Определите интервалы, во время которых камера видит географический сайт.
t = accessIntervals(ac)
t=35×8 table
Source Target IntervalNumber StartTime EndTime Duration StartOrbit EndOrbit
__________________ ________________________ ______________ ____________________ ____________________ ________ __________ ________
"Conical sensor 4" "Location To Photograph" 1 21-Jun-2021 10:38:00 21-Jun-2021 10:55:00 1020 1 2
"Conical sensor 4" "Location To Photograph" 2 21-Jun-2021 12:36:00 21-Jun-2021 12:58:00 1320 2 3
"Conical sensor 4" "Location To Photograph" 3 21-Jun-2021 14:37:00 21-Jun-2021 15:01:00 1440 3 4
"Conical sensor 4" "Location To Photograph" 4 21-Jun-2021 16:41:00 21-Jun-2021 17:04:00 1380 5 5
"Conical sensor 4" "Location To Photograph" 5 21-Jun-2021 18:44:00 21-Jun-2021 19:07:00 1380 6 6
"Conical sensor 4" "Location To Photograph" 6 21-Jun-2021 20:46:00 21-Jun-2021 21:08:00 1320 7 7
"Conical sensor 4" "Location To Photograph" 7 21-Jun-2021 22:50:00 21-Jun-2021 23:04:00 840 8 8
"Conical sensor 4" "Location To Photograph" 8 22-Jun-2021 09:51:00 22-Jun-2021 10:02:00 660 13 13
"Conical sensor 4" "Location To Photograph" 9 22-Jun-2021 11:46:00 22-Jun-2021 12:07:00 1260 14 15
"Conical sensor 4" "Location To Photograph" 10 22-Jun-2021 13:46:00 22-Jun-2021 14:10:00 1440 15 16
"Conical sensor 4" "Location To Photograph" 11 22-Jun-2021 15:50:00 22-Jun-2021 16:13:00 1380 16 17
"Conical sensor 4" "Location To Photograph" 12 22-Jun-2021 17:53:00 22-Jun-2021 18:16:00 1380 18 18
"Conical sensor 4" "Location To Photograph" 13 22-Jun-2021 19:55:00 22-Jun-2021 20:18:00 1380 19 19
"Conical sensor 4" "Location To Photograph" 14 22-Jun-2021 21:58:00 22-Jun-2021 22:16:00 1080 20 20
"Conical sensor 4" "Location To Photograph" 15 23-Jun-2021 10:56:00 23-Jun-2021 11:16:00 1200 26 27
"Conical sensor 4" "Location To Photograph" 16 23-Jun-2021 12:56:00 23-Jun-2021 13:19:00 1380 27 28
⋮
Вычислите максимум пересматривают время в часах.
startTimes = t.StartTime;
endTimes = t.EndTime;
revisitTimes = hours(startTimes(2:end) - endTimes(1:end-1));
maxRevisitTime = max(revisitTimes) % hoursmaxRevisitTime = 12.6667
Визуализируйте пересмотреть времена, который фотографирует местоположение.
play(sc);

parent — Элемент сценария, к которому добавляется conicalSensorSatellite возразите | GroundStation возразите | Gimbal объектЭлемент сценария, к которому conicalSensor добавляется в виде Satellite, GroundStation, или Gimbal объект.
Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
'MountingAngle',[20; 35; 10] устанавливает рыскание, тангаж и крен конического датчика к 20, 35, и 10 градусов, соответственно.Name — имя conicalSensor"conicalSensor idx" (значение по умолчанию) | строковый скаляр | представляет вектор в виде строки | вектор символов | массив ячеек из символьных векторовМожно установить это свойство только при вызове conicalSensor. После того, как вы вызовете conicalSensor, это свойство только для чтения.
conicalSensor называют в виде разделенной запятой пары, состоящей из 'Name' и строковый скаляр, представьте в виде строки вектор, вектор символов или массив ячеек из символьных векторов.
Если только один conicalSensor добавляется, задайте Name как строковый скаляр или вектор символов.
Если несколько conicalSensors добавляются, задают Name как вектор строки или массив ячеек из символьных векторов. Число элементов в векторном массиве строки или массиве ячеек должно быть равно количеству добавляемых спутников.
В значении по умолчанию idx является количеством conicalSensor, добавленного conicalSensor объектная функция. Если другой conicalSensor того же имени существует, суффиксный _idx2 добавляется, где idx2 является целым числом, которое постепенно увеличивается 1 запуском от 1, пока дублирование имени не разрешено.
Типы данных: char | string
MountingLocation — Монтирование местоположения относительно родительского элемента (значение по умолчанию) | трехэлементный вектор-строка из положительных чиселМонтирование местоположения относительно родительского объекта в виде трехэлементного вектора-строки из положительных чисел в метрах. Радиус-вектор задан в системе координат тела входа parent.
MountingAngles — Монтирование ориентации относительно родительского объекта (значение по умолчанию) | трехэлементный вектор-строка из положительных чиселМонтирование ориентации относительно родительского объекта в виде трехэлементного вектора-строки из положительных чисел в градусах. Элементы вектора соответствуют рысканию, тангажу, и сыплют тот порядок. Отклоняйтесь от курса, сделайте подачу, и крен является положительными вращениями вокруг z родительского элемента - осью, промежуточным y - осью и промежуточным x - ось родительского элемента.
Пример: [0; 30; 60]
MaxViewAngle — Угол поля зрения (значение по умолчанию) | скаляр в области значений [0, 180]Угол поля зрения в виде скаляра в области значений [0, 180]. Модули в градусах.
S — Конический датчикConicalSensor объектКонический датчик присоединяется к parent, возвращенный как ConicalSensor объект.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.