Запуск сценария отслеживания и запись информации о платформе, датчике и излучателе
возвращает запись, 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'
- Начальный случайный seed для записиНачальный случайный seed для записи, заданное как положительное целое число. Если задано положительное целое число, функция присваивает это число генератору случайных чисел «Twister» перед записью и сбрасывает генератор случайных чисел в конце записи.
'HasOcclusion'
- Включите окклюзию в передаче сигналаtrue
(по умолчанию) | false
Включите окклюзию в передаче сигнала, заданную как true
или false
. Если задано как true
функция учитывает эффект окклюзии при распространении радиолокационного излучения.
'RecordingFormat'
- Формат записи'Struct'
(по умолчанию) | 'Recording'
Формат записи, заданный как 'Struct'
или 'Recording'
. Если задано как 'Struct'
, а rec
выход является массивом структур. Если задано как 'Recording'
, а rec
выход a trackingScenarioRecording
объект.
'CoordinateSystem'
- Система координат для отчета о зарегистрированных положениях'Cartesian'
(по умолчанию) | 'Geodetic'
Система координат для отчета о записанных положениях, заданная как:
'Cartesian'
- Сообщить о зарегистрированных положениях с использованием Декартовых координат в координатной системе координат Earth-Centered-Earth-Fixed.
'Geodetic'
- Сообщить о зарегистрированных положениях с использованием геодезических координат (широта, долгота и высота). Сообщите о зарегистрированной ориентации, скорости и ускорении в локальных системах координат каждой платформы (по умолчанию North-East-Down), соответствующих текущей путевой точке.
Вы можете использовать этот аргумент только когда IsEarthCentered
свойство сценария отслеживания, sc
, установлено в true
.
rec
- Записи состояний платформы во время симуляцииtrackingScenarioRecording
объектЗаписи состояний платформы во время симуляции, возвращенные как M-на-1 массив структур, если RecordingFormat
задается как 'struct'
(по умолчанию), или trackingScenarioRecording
объект, если RecordingFormat
задается как 'Recording'
. M - количество временных шагов в симуляции.
Каждая запись содержит временной шаг симуляции и записанную информацию в то время. Структура записи имеет как минимум два поля: SimulationTime
и Poses
. Это может также иметь другие необязательные поля в зависимости от входа.
The 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 | a массива структур строений эмиттера для каждого эмиттера |
EmitterPlatformIDs | числовой массив идентификаторов платформ для каждого эмиттера |
Detections | массив ячеек |
SensorConfigurations | a массива структур строений датчика для каждого датчика |
SensorPlatformIDs | числовой массив идентификаторов платформ для каждого датчика |
CoverageConfig | a массива структур покрытия строений для каждого датчика или излучателя |
Каждая структура строения эмиттера содержит следующие поля:
Область | Описание |
EmitterIndex | Уникальный индекс эмиттера, возвращенный как положительное целое число. |
IsValidTime | Допустимое время излучения, возвращаемое следующим |
IsScanDone | Завершил ли эмиттер скан, возвращается следующим |
FieldOfView | Поле зрения эмиттера, возвращаемое как двухэлементный вектор [азимут; повышение] в степенях. |
MeasurementParameters | Параметры измерения Эмиттера, возвращенные как массив структур, содержащих преобразования координатной системы координат, необходимые для преобразования положений и скоростей в системе координат верхнего уровня в систему координат тока. |
Каждая структура строения датчика содержит следующие поля:
Область | Описание |
SensorIndex | Уникальный индекс датчика, возвращенный как положительное целое число. |
IsValidTime | Допустимое время обнаружения, возвращаемое как |
IsScanDone |
|
FieldOfView | Поле зрения датчика, возвращаемое как вектор 2 на 1 положительных вещественных значений, [ |
MeasurementParameters | Параметры измерения датчика, возвращенные как массив структур, содержащих преобразования координатной системы координат, необходимые для преобразования положений и скоростей в системе координат верхнего уровня в систему координат тока. |
Каждая структура строения покрытия содержит следующие поля:
Поля строений
Область | Описание |
---|---|
Index | Уникальное целое число для различения датчиков или излучателей. |
LookAngle |
Текущие углы boresight датчика или излучателя, заданные как:
|
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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.