Запуск сценария отслеживания и запись информации о платформе, датчике и эмиттере
возвращает запись, rec = record(sc)rec, эволюции моделирования сценария слежения, sc. Функция начинается с начала моделирования и сохраняет запись до конца моделирования. Моделирование сценария заканчивается, когда сценарий StopTime достигнута или любая платформа в сценарии завершила свою траекторию, указанную Trajectory собственность.
указывает дополнительные количества записи с использованием пар «имя-значение». Заключить каждый rec = record(___,Name,Value)Name в кавычках.
Примечание
record функция записывает только обнаружения, сгенерированные датчиками, содержащимися в сценарии, и не записывает дорожки, сгенерированные из fusionRadarSensor объект, содержащийся в сценарии. fusionRadarSensor генерирует обнаружения при установке его TargetReportFormat свойство для 'Detetions' или 'Clustered Detections' и генерирует дорожки при установке ее TargetReportFormat свойство для 'Tracks'.
sc - Сценарий отслеживанияtrackingScenario объектСценарий отслеживания, указанный как trackingScenario объект.
format - Формат ориентации позы'quaternion' (по умолчанию) | 'rotmat'Формат ориентации позы, указанный как 'quaternion' или 'rotmat'. Если указано как 'quaternion', Orientation поле структуры позы платформы представляет собой кватернион. Если указано как 'rotmat', Orientation поле является матрицей ротации.
Пример: 'rotmat'
Типы данных: char
Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.
'IncludeEmitters' - Включение регистрации информации о выбросахfalse (по умолчанию) | trueВключить запись информации о выбросах, указанной как true или false. Если указано как true, rec выходные данные содержат Emissions, EmitterConfigurations, EmitterPlatformIDs, и CoverageConfig поля.
'IncludeSensors' - Включить запись информации о датчикеfalse (по умолчанию) | trueВключить запись информации датчика, указанного как true или false. Если указано как true, rec выходные данные содержат Detections, SensorConfiguration, SensorPlatformIDs, и CoverageConfig поля.
'InitialSeed' - Начальное случайное начальное число для записиНачальное случайное начальное число для записи, указанное как положительное целое число. Если указано положительное целое число, функция присваивает это число генератору случайных чисел «Twister» перед записью и сбрасывает генератор случайных чисел в конце записи.
'HasOcclusion' - Включение окклюзии при передаче сигналаtrue (по умолчанию) | falseВключение окклюзии при передаче сигнала, указанное как true или false. Если указано как trueфункция учитывает эффект окклюзии при распространении радиолокационного излучения.
'RecordingFormat' - Формат записи'Struct' (по умолчанию) | 'Recording'Формат записи, указанный как 'Struct' или 'Recording'. Если указано как 'Struct', rec output представляет собой массив структур. Если указано как 'Recording', rec выходные данные представляют собой trackingScenarioRecording объект.
'CoordinateSystem' - Система координат для сообщения о зарегистрированных позах'Cartesian' (по умолчанию) | 'Geodetic'Система координат для отчета о зафиксированных позициях, заданная как:
'Cartesian' - Отчет о зафиксированных позах с использованием декартовых координат в кадре координат Земля-Центр-Земля-Фиксированный.
'Geodetic' - Сообщать о зафиксированных позициях по геодезическим координатам (широта, долгота и высота). Сообщите о зафиксированной ориентации, скорости и ускорении в локальной системе координат каждой платформы (по умолчанию - North-East-Down), соответствующей текущему ППМ.
Этот аргумент можно использовать только в том случае, если IsEarthCentered свойство сценария отслеживания,sc, имеет значение true.
rec - Записи состояний платформы при моделированииtrackingScenarioRecording объектЗаписи состояний платформы во время моделирования, возвращаемые как M-by-1 массив структур, если RecordingFormat указывается как 'struct' (по умолчанию) или trackingScenarioRecording объект, если RecordingFormat указывается как 'Recording'. M - количество временных шагов в моделировании.
Каждая запись содержит временной шаг моделирования и записанную в это время информацию. Структура записи имеет по крайней мере два поля: SimulationTime и Poses. Он также может иметь другие необязательные поля в зависимости от ввода.
SimulationTime содержит время моделирования записи. Poses - N-by-1 массив структур, где N - количество платформ. Каждый Poses структура содержит следующие поля:
| Область | Описание |
|---|---|
PlatformID | Уникальный идентификатор платформы, указанный как положительное целое число. Это обязательное поле без значения по умолчанию. |
ClassID | Определяемое пользователем целое число, используемое для классификации типа целевого объекта, указанного как неотрицательное целое число. Ноль зарезервирован для неклассифицированных типов платформ и является значением по умолчанию. |
Position | Положение цели в координатах сценария, определяемое как действительный вектор строки 1 на 3.
|
Velocity | Скорость платформы в координатах сценария, заданная как действительный вектор строки 1 на 3. единицы измерения - метры в секунду. Значение по умолчанию: |
Acceleration | Ускорение платформы в координатах сценария, задаваемое как вектор ряда 1 на 3 в метрах в секунду в квадрате. Значение по умолчанию: |
Orientation | Ориентация платформы по отношению к навигационному кадру локального сценария, заданному как скалярный кватернион или матрица вращения 3 на 3. Ориентация определяет поворот рамки от локальной навигационной системы координат к текущей системе координат тела платформы. Единицы измерения безразмерны. Значение по умолчанию: |
AngularVelocity | Угловая скорость платформы в координатах сценария, заданная как действительный вектор 1 на 3. Величина вектора определяет угловую скорость. Направление определяет ось вращения по часовой стрелке. единицы - градусы в секунду. Значение по умолчанию: |
Необязательные поля в rec выходные данные:
| Область | Описание |
|---|---|
Emissions | массив ячеек выбросов (например, |
EmitterConfigurations | структурный массив конфигураций эмиттеров для каждого эмиттера |
EmitterPlatformIDs | числовой массив идентификаторов платформ для каждого эмиттера |
Detections | массив ячеек |
SensorConfigurations | структурный массив конфигураций датчиков для каждого датчика |
SensorPlatformIDs | числовой массив идентификаторов платформ для каждого датчика |
CoverageConfig | структурный массив конфигураций покрытия для каждого датчика или эмиттера |
Каждая структура конфигурации эмиттера содержит следующие поля:
| Область | Описание |
EmitterIndex | Уникальный индекс эмиттера, возвращаемый как положительное целое число. |
IsValidTime | Допустимое время выброса, возвращенное как |
IsScanDone | Завершил ли эмиттер сканирование, возвращается как |
FieldOfView | Поле зрения излучателя, возвращаемое как двухэлементный вектор [азимут; отметка] в градусах. |
MeasurementParameters | Параметры измерения эмиттера, возвращаемые в виде массива структур, содержащих преобразования координатного кадра, необходимые для преобразования положений и скоростей в кадре верхнего уровня в текущий кадр эмиттера. |
Каждая структура конфигурации датчика содержит следующие поля:
| Область | Описание |
SensorIndex | Уникальный индекс датчика, возвращаемый как положительное целое число. |
IsValidTime | Допустимое время обнаружения, возвращено как |
IsScanDone |
|
FieldOfView | Поле зрения датчика, возвращаемое как вектор 2 на 1 положительных вещественных значений, [ |
MeasurementParameters | Параметры измерения датчика, возвращаемые в виде массива структур, содержащих преобразования координатного кадра, необходимые для преобразования положений и скоростей в кадре верхнего уровня в текущий кадр датчика. |
Каждая структура конфигурации покрытия содержит следующие поля:
Поля конфигураций
| Область | Описание |
|---|---|
Index | Уникальное целое число для различения датчиков или излучателей. |
LookAngle |
Текущие углы визирования датчика или излучателя, указанные как:
|
FieldOfView | Поле зрения датчика или эмиттера, указанное как двухэлементный вектор [azimuth; elevation] в градусах. |
ScanLimits |
Минимальный и максимальный углы, которые датчик или излучатель может сканировать со своего
|
Range | Диапазон луча и зона покрытия датчика или излучателя в метрах. |
Position | Исходное положение датчика или эмиттера, указанное как трехэлементный вектор [X, Y, Z] на топорах театрального сюжета. |
Orientation | Преобразование поворота из сценария или глобального кадра в монтажную раму датчика или эмиттера, заданную как матрица вращения, кватернион или три угла Эйлера в последовательности ZYX. |
Создайте новый сценарий и добавьте платформу.
scene = trackingScenario; plat = platform(scene);
Укажите траекторию платформы. Расстояние траектории - 25 метров. Траекторная скорость составляет 20 м/с в направлении х.
plat.Trajectory = waypointTrajectory('Waypoints',[0 0 0; 25 0 0], ... 'TimeOfArrival', [0 25/20]);
Выполните моделирование и запишите результаты.
r = record(scene)
r=13×1 struct array with fields:
SimulationTime
Poses
Отображение записи в исходное время.
r(1)
ans = struct with fields:
SimulationTime: 0
Poses: [1x1 struct]
r(1).Poses
ans = struct with fields:
PlatformID: 1
ClassID: 0
Position: [0 0 0]
Velocity: [20 0 0]
Acceleration: [0 0 0]
Orientation: [1x1 quaternion]
AngularVelocity: [0 0 0]
Показать запись в последний раз.
r(end)
ans = struct with fields:
SimulationTime: 1.2000
Poses: [1x1 struct]
r(end).Poses
ans = struct with fields:
PlatformID: 1
ClassID: 0
Position: [24 0 0]
Velocity: [20 0 0]
Acceleration: [0 0 0]
Orientation: [1x1 quaternion]
AngularVelocity: [0 0 0]
Загрузить сценарий слежения за воздушным движением.
load ATCScenario scenario
Выполните моделирование и запишите результаты.
r = record(scenario, 'quaternion', 'IncludeEmitters', true,... 'IncludeSensors', true, 'InitialSeed', 2019)
r=3215×1 struct array with fields:
SimulationTime
Poses
Emissions
EmitterConfigurations
EmitterPlatformIDs
Detections
PointClouds
PointCloudClusters
SensorConfigurations
SensorPlatformIDs
CoverageConfig
Отображение записи в исходное время.
r(1)
ans = struct with fields:
SimulationTime: 0
Poses: [4x1 struct]
Emissions: {0x1 cell}
EmitterConfigurations: [0x1 struct]
EmitterPlatformIDs: [0x1 double]
Detections: {0x1 cell}
PointClouds: {0x1 cell}
PointCloudClusters: {0x1 cell}
SensorConfigurations: [1x1 struct]
SensorPlatformIDs: 1
CoverageConfig: [1x1 struct]
Показать запись в последний раз.
r(end)
ans = struct with fields:
SimulationTime: 59.9947
Poses: [4x1 struct]
Emissions: {0x1 cell}
EmitterConfigurations: [0x1 struct]
EmitterPlatformIDs: [0x1 double]
Detections: {0x1 cell}
PointClouds: {0x1 cell}
PointCloudClusters: {0x1 cell}
SensorConfigurations: [1x1 struct]
SensorPlatformIDs: 1
CoverageConfig: [1x1 struct]
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.