record

Симуляция записи радарного сценария

Описание

пример

rec = record(scenario) возвращает запись, rec, из эволюции радарной симуляции сценария, scenario. Функция запускается с начала симуляции и хранит запись до конца симуляции. Симуляция сценария заканчивается когда любой StopTime из сценария достигнут, или любая платформа в сценарии закончила свою траекторию, как задано Trajectory свойство.

Примечание

record функционируйте только записывает обнаружения, сгенерированные от датчиков, содержавшихся в сценарии, и не записывает дорожки, сгенерированные от radarDataGenerator объект содержится в сценарии. radarDataGenerator генерирует обнаружения, когда вы устанавливаете его TargetReportFormat свойство к 'Detections' или 'Clustered Detections' и генерирует дорожки, когда вы устанавливаете его TargetReportFormat свойство к 'Tracks'.

rec = record(scenario,format) также задает формат возвращенной ориентации платформы.

rec = record(___,Name,Value) задает дополнительные количества записи с помощью аргументов name-value.

Примеры

свернуть все

Создайте новый радарный сценарий.

scenario = radarScenario;

Добавьте платформу, которая следует за траекторией на 25 м вдоль оси X на уровне 20 м/с.

plat = platform(scenario);
plat.Trajectory = waypointTrajectory('Waypoints',[0 0 0; 25 0 0], ...
    'TimeOfArrival',[0 25/20]);

Запустите симуляцию и запишите результаты.

r = record(scenario);

Покажите состояния платформы в начальное время.

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]

Входные параметры

свернуть все

Радарный сценарий в виде radarScenario объект.

Изложите формат ориентации в виде 'quaternion' или 'rotmat'. Когда задано как 'quaternion', Orientation поле структуры положения платформы является кватернионом. Когда задано как 'rotmat', Orientation поле является матрицей вращения.

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

Аргументы name-value

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

Пример: 'CoordinateSystem','Geodetic' отчеты записали положения с помощью геодезических координат

Позвольте записать информацию об эмиссии в виде true или false. Когда задано как true, rec выведите содержит Emissions, EmitterConfigurations, EmitterPlatformIDs, и CoverageConfig поля .

Позвольте записать информацию о датчике в виде true или false. Когда задано как true, rec выведите содержит Detections, SensorConfiguration, SensorPlatformIDs, и CoverageConfig поля .

Начальный случайный seed для записи в виде положительного целого числа. Если задано как положительное целое число, функция присваивает этот номер генератору случайных чисел "Обманщик" перед записью и сбрасывает генератор случайных чисел в конце записи.

Включите поглощение газов в передаче сигнала в виде true или false. Когда задано как true, функция составляет эффект поглощения газов в распространении радиолокационного излучения.

Формат записи в виде 'Struct' или 'Recording'. Когда задано как 'Struct', rec выход является массивом структур. Когда задано как 'Recording', rec выходом является radarScenarioRecording объект.

Система координат, чтобы сообщить о зарегистрированных положениях в виде одного из этих значений.

  • 'Cartesian' — Сообщите о зарегистрированных положениях с помощью Декартовых координат в Земле Земля В центре Фиксированная координатная система координат.

  • 'Geodetic' — Сообщите о зарегистрированных положениях с помощью геодезических координат (широта, долгота и высота). Сообщите о зарегистрированной ориентации, скорости и ускорении в системе координат локальной ссылки каждой платформы (Северо-восток вниз по умолчанию) соответствие текущему waypoint.

Задайте этот аргумент только когда IsEarthCentered свойство радарного сценария, scenario, установлен в true.

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

свернуть все

Записи платформы утверждают во время симуляции, возвращенной как M-by-1 массив структур если RecordingFormat задан как 'struct' (значение по умолчанию) или radarScenarioRecording возразите если RecordingFormat задан как 'Recording'. M является количеством временных шагов в симуляции.

Каждая запись содержит шаг времени симуляции и записанную информацию в то время. Структура записи имеет по крайней мере два поля: SimulationTime и Poses. Это может также иметь другие дополнительные поля в зависимости от значений 'IncludeEmitters'и 'IncludeSensors'аргументы name-value.

SimulationTime поле содержит время симуляции записи. Poses N-by-1 массив структур, где N является количеством платформ. Каждая структура в Poses содержит эти поля.

Поле Описание
PlatformID

Уникальный идентификатор для платформы в виде положительного целого числа. Это - обязательное поле без значения по умолчанию.

ClassID

Пользовательское целое число раньше классифицировало тип цели в виде неотрицательного целого числа. Нуль резервируется для несекретных типов платформы и является значением по умолчанию.

Position

Положение цели в сценарии координирует в виде с действительным знаком 1 3 вектор-строку.

  • Если coordinateSystem аргумент задан как 'Cartesian', затем Position трехэлементный вектор из Декартовых координат положения в метрах.

  • Если coordinateSystem аргумент задан как 'Geodetic', затем Position трехэлементный вектор из геодезических координат: широта в градусах, долгота в градусах и высота в метрах.

Velocity

Скорость платформы в сценарии координирует в виде с действительным знаком 1 3 вектор-строку. Модули являются метрами в секунду. Значением по умолчанию является [0 0 0].

Acceleration

Ускорение платформы в координатах сценария в виде 1 3 вектора-строки в метрах в секунду придало квадратную форму. Значением по умолчанию является [0 0 0].

Orientation

Ориентация платформы относительно локальной навигации сценария структурирует в виде скалярного кватерниона или 3х3 матрицы вращения. Ориентация задает вращение системы координат от локальной системы координат навигации до текущей системы координат тела платформы. Модули являются безразмерными. Значением по умолчанию является quaternion(1,0,0,0).

AngularVelocity

Скорость вращения платформы в сценарии координирует в виде с действительным знаком 1 3 вектор. Величина вектора задает угловую скорость. Направление задает ось по часовой стрелке вращения. Модули являются степенями в секунду. Значением по умолчанию является [0 0 0].

rec выведите содержит эти дополнительные поля.

Поле Описание
Emissions

Массив ячеек эмиссии (такой как radarEmission объекты) в сценарии

EmitterConfigurations

Массив структур эмиттерных настроек для каждого эмиттера

EmitterPlatformIDs

Числовой массив идентификаторов платформы для каждого эмиттера

Detections

Массив ячеек objectDetection объекты сгенерированы датчиками в сценарии

SensorConfigurations

Массив структур настроек датчика для каждого датчика

SensorPlatformIDs

Числовой массив идентификаторов платформы для каждого датчика

CoverageConfig

Массив структур настроек покрытия для каждого датчика или эмиттера

Каждая эмиттерная конфигурационная структура содержит эти поля.

Поле Описание
EmitterIndex

Уникальный эмиттерный индекс, возвращенный как положительное целое число.

IsValidTime

Допустимое время эмиссии, возвращенное как 0 или 1. IsValidTime 0 когда эмиттерные обновления время от времени требуют, которые являются между интервалами обновления, заданными UpdateInterval свойство.

IsScanDone

Завершил ли эмиттер скан, возвращенный как true или false.

FieldOfView

Поле зрения эмиттера, возвращенного как двухэлементный вектор [азимут; вертикальное изменение] в градусах.

MeasurementParameters

Эмиттерные параметры измерения, возвращенные как массив структур, содержащих координатную систему координат, преобразовывают, должен был преобразовать положения и скорости в системе координат верхнего уровня к текущей эмиттерной системе координат.

Каждая конфигурационная структура датчика содержит эти поля.

Поле Описание
SensorIndex

Уникальный индекс датчика, возвращенный как положительное целое число.

IsValidTime

Допустимое время обнаружения, возвращенное как true или false. IsValidTime false когда обновления обнаружения требуют между интервалами обновления, заданными частотой обновления.

IsScanDone

IsScanDone true когда датчик завершил скан.

FieldOfView

Поле зрения датчика, возвращенного как 2 1 вектор из положительных вещественных значений, [azfov; elfov]. azfov и elfov представляйте поле зрения в азимуте и вертикальном изменении, соответственно.

MeasurementParameters

Параметры измерения датчика, возвращенные как массив структур, содержащих координатную систему координат, преобразовывают, должен был преобразовать положения и скорости в системе координат верхнего уровня к системе координат датчика тока.

Каждая конфигурационная структура покрытия содержит эти поля.

Поле Описание
IndexУникальное целое число, чтобы отличить датчики или эмиттеры. На практике можно использовать SensorIndex или EmitterIndex свойство датчика или эмиттерных объектов, соответственно.
LookAngle

Текущие пеленги датчика или эмиттера в виде одного из этих значений:

  • Скаляр в градусах при сканировании только в направлении азимута.

  • Двухэлементный вектор [azimuth; elevation] в градусах при сканировании и в азимуте и в направлениях вертикального изменения.

FieldOfViewПоле зрения датчика или эмиттера в виде двухэлементного вектора [azimuth; elevation] в градусах.
ScanLimits

Минимальные и максимальные углы датчик или эмиттер могут отсканировать от его Orientation.

  • Если датчик или эмиттер могут отсканировать только в направлении азимута, то задайте пределы как вектор 1 на 2 строки [minAz, maxAz] в градусах.

  • Если датчик или эмиттер могут также отсканировать в направлении вертикального изменения, то задайте пределы как матрицу 2 на 2 [minAz, maxAz; minEl, maxEl] в градусах.

RangeОбласть значений луча и зона охвата датчика или эмиттера в метрах.
PositionПоложение источника датчика или эмиттера в виде трехэлементного вектора [XYZ] на осях театрального графика.
OrientationПреобразование вращения из сценария или глобальной переменной структурирует к датчику или системе координат монтирования эмиттера в виде матрицы вращения, кватерниона или трех Углов Эйлера в последовательности ZYX.

Введенный в R2021a