exponenta event banner

отчет

Запись имитации сценария РЛС

Описание

пример

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

Примечание

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

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

rec = record(___,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 должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'CoordinateSystem','Geodetic' отчеты регистрируют позы по геодезическим координатам

Включить запись информации о выбросах, указанной как true или false. Если указано как true, rec выходные данные содержат Emissions, EmitterConfigurations, EmitterPlatformIDs, и CoverageConfig поля.

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

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

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

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

Система координат для отчета о записанных позициях, указанная как одно из этих значений.

  • 'Cartesian' - Отчет о зафиксированных позах с использованием декартовых координат в кадре координат Земля-Центр-Земля-Фиксированный.

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

Укажите этот аргумент только в том случае, если IsEarthCentered свойство сценария РЛС, scenario, имеет значение true.

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

свернуть все

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

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

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Исходное положение датчика или эмиттера, указанное как трехэлементный вектор [X, Y, Z] на осях театрального сюжета.
OrientationПреобразование поворота из сценария или глобального кадра в монтажную раму датчика или эмиттера, заданную как матрица вращения, кватернион или три угла Эйлера в последовательности ZYX.

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