Симулируйте радиолокационные обнаружения

The fusionRadarSensor объект моделирует обнаружение целей радаром. Можно использовать объект для моделирования многих свойств реальных радарных датчиков. Для примера можно

  • симулируйте реальные обнаружения с добавлением случайного шума

  • сгенерировать ложные предупреждения

  • моделировать механически сканированные антенны и электронно сканированные фазированные решетки

  • задайте угловое разрешение, диапазон и разрешение и пределы уровня области значений

Радарный датчик принимается установленным на платформе и переносится платформой при маневрировании. Платформа может нести несколько датчиков. Когда вы создаете датчик, вы задаете положения и ориентации датчика относительно системы координат тела платформы. Каждый вызов для fusionRadarSensor создает датчик. Область выхода fusionRadarSensor генерирует обнаружение, которое может использоваться как вход для многообъектных трекеров, таких как trackerGNN, или любых отслеживающих фильтров, таких как trackingKF.

Радиолокационная платформа не поддерживает никакой информации о радиолокационных датчиках, которые установлены на ней. (Сам датчик содержит свое положение и ориентацию относительно платформы, на которой он установлен, но не какая платформа). Вы должны создать ассоциацию между радарными датчиками и платформами. Способ сделать эту ассоциацию - поместить платформу и связанные с ней датчики в массив ячеек. Когда вы вызываете конкретный датчик, передайте в ориентированном на платформу целевом положении и информацию о целевом профиле. Датчик преобразует эту информацию в ориентированные на датчик положения. Целевые положения являются выходами trackingScenario методы.

Создайте радарный датчик

Можно создать радарный датчик с помощью fusionRadarSensor объект. Установите свойства радара с помощью пар "имя-значение", а затем выполните симулятор. Для примера,

radar1 = fusionRadarSensor( ...
    'SensorIndex',1,...
    'UpdateRate',10, ...           % Hz
    'ReferenceRange', 111.0e3, ...         % m
    'ReferenceRCS', 0.0, ...               % dBsm
    'FieldOfView',[70,10], ...                 % [az;el] deg
    'HasElevation',false, ...
    'HasRangeRate',false, ...
    'AzimuthResolution',1.4, ...           % deg
    'RangeResolution', 135.0)                 % m

Синтаксис удобства

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

  • sensor = fusionRadarSensor('Rotator') создает fusionRadarSensor объект, который механически сканирует 360 ° по азимуту. Настройка HasElevation на true указывает радиолокационную антенну в направлении центра поля зрения по повышению.

  • sensor = fusionRadarSensor('Sector') создает fusionRadarSensor объект, который механически сканирует сектор азимута 90 °. Настройка HasElevation на true, указывает антенну радара в направлении центра поля зрения повышения. Можно изменить ScanMode на 'Electronic' для электронного сканирования того же азимутального сектора. В этом случае антенна не наклоняется механически в электронном скане. Вместо этого лучи складываются в электронном виде, чтобы обработать всёся повышение, охватываемый пределами скана в одной скважине.

  • sensor = fusionRadarSensor('Raster') возвращает fusionRadarSensor объект, который механически сканирует растровый шаблон, охватывающий 90 ° по азимуту и 10 ° по повышению вверх от горизонта. Можно изменить ScanMode свойство к 'Electronic' для выполнения электронного растрового скана в том же объеме.

  • sensor = fusionRadarSensor('No scanning') возвращает fusionRadarSensor объект, который следит за направлением радиолокационной антенны. Механическое или электронное сканирование не выполняется.

Можно задать другие свойства радара, когда вы используете эти синтаксисы. Для примера,

sensor = fusionRadarSensor(1,'Raster','ScanMode','Electronic')

Параметры радарного датчика

Свойства, характерные для fusionRadarSensor объект перечислен здесь. Для получения более подробной информации введите

help fusionRadarSensor
в командной строке.

Параметры положения датчика.

Расположение датчика

SensorIndexУникальный идентификатор для каждого датчика.
UpdateRate

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

MountingLocation

Датчик (x, y, z), определяющий смещение источника датчика от источника его платформы. Значение по умолчанию позиционирует источник датчика в начале платформы.

MountingAngles

Рыскание, тангаж и углы крена монтажной системы координат датчика относительно системы координат платформы.

DetectionCoordinates

Задает систему координат для обнаружений, сообщаемых в выходных struct Detections. Система координат может быть одной из следующих:

  • 'Scenario' - обнаружения сообщаются в координатной системе координат сценария в прямоугольных координатах. Эта опция может быть выбрана только тогда, когда датчик HasINS для свойства задано значение true.

  • 'Body' - обнаружения регистрируются в каркасе кузова сенсорной платформы в прямоугольных координатах.

  • 'Sensor rectangular' - обнаружения регистрируются в координатной системе координат радиолокационного датчика в прямоугольных координатах, выровненных по осям системы координат датчика.

  • 'Sensor spherical' - обнаружения сообщаются в координатной системе координат радиолокационного датчика в сферических координатах на основе осей системы координат датчика.

Параметры чувствительности.

Параметры чувствительности

DetectionProbability

Вероятность обнаружения цели с радарным сечением, ReferenceRCS, в области значений ReferenceRange.

FalseAlarmRate

Вероятность ложного обнаружения в каждой камере разрешения радара. Камеры разрешения определяются из AzimuthResolution и RangeResolution свойства и при включении ElevationResolution и RangeRateResolution свойства.

ReferenceRange

Область значений, при котором цель с радарным сечением, ReferenceRCS, обнаруживается с вероятностью, указанной в DetectionProbability.

ReferenceRCS

Радиолокационное сечение (RCS) цели в дБ, при котором цель обнаруживается в области значений, заданной ReferenceRange с вероятностью обнаружения, заданной DetectionProbability.

Разрешение датчика и параметры смещения.

Параметры разрешения

AzimuthResolution

Радарное азимутальное разрешение задает минимальное разделение угла азимута, при котором радар может различать две цели.

ElevationResolution

Разрешение повышения радара определяет минимальное разделение в угол возвышения, при котором радар может различать две цели. Это свойство применяется только тогда, когда HasElevation для свойства задано значение true.

RangeResolution

Разрешение радиолокационной области задает минимальное разделение в области значений, при которой радар может различать две цели.

RangeRateResolution

Разрешение скорости радиолокационной области задает минимальное разделение в скорости области значений, при которой радар может различать две цели. Это свойство применяется только тогда, когда HasRangeRate для свойства задано значение true.

AzimuthBiasFraction

Это свойство определяет азимутальный компонент смещения радара как долю радиолокационного азимутального разрешения, заданную AzimuthResolution свойство. Это свойство устанавливает нижнюю границу азимутальной точности радара.

ElevationBiasFraction

Это свойство определяет компонент смещения по повышению радара как долю разрешения по повышению радара, заданного ElevationResolution свойство. Это свойство устанавливает нижнюю границу точности по повышению радара. Это свойство применяется только тогда, когда HasElevation для свойства задано значение true.

RangeBiasFraction

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

RangeRateBiasFraction

Это свойство определяет компонент смещения скорости области значений радара как долю разрешения радиолокационной области значений, заданного RangeRateResolution свойство. Это свойство устанавливает нижнюю границу точности уровня области значений радара. Это свойство применяется только при установке HasRangeRate свойство к true.

Включение параметров.

Включение параметров

HasElevation

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

HasRangeRate

Это свойство позволяет радарному датчику оценить скорость области значений.

HasFalseAlarms

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

HasRangeAmbiguities

Когда true, радар не решает неоднозначности области значений. Когда радарный датчик не может разрешить неоднозначности области значений, цели в диапазонах за MaxUnambiguousRange значение свойства переносится в интервал [0 MaxUnambiguousRange]. Когда false, целевые объекты сообщаются в своем неразвёрнутой области значений.

HasRangeRateAmbiguites

Когда true, радар не разрешает неоднозначности уровня области значений. Когда радарный датчик не может разрешить неоднозначности скорости области значений, цели на скоростях области значений выше MaxUnambiguousRadialSpeed значение свойства переносится в интервал [0 MaxUnambiguousRadialSpeed]. Когда false, целевые значения сообщаются со скоростью развёрнутой области значений. Это свойство применяется только тогда, когда HasRangeRate для свойства задано значение true.

HasNoise

Определяет, добавляется ли шум к измерениям датчика. Установите это свойство на true для сообщения измерений с шумом. Установите это свойство на false для сообщения измерений без шума. Матрица ковариации шума измерения, содержащаяся в выходе objectDetection struct всегда вычисляется независимо от настройки этого свойства.

HasOcclusionВключите окклюзию от расширенных объектов, заданную как true или false. Установите это свойство на true для моделирования окклюзии из расширенных объектов. Обратите внимание, что и расширенные объекты, и точку цели могут быть окклюдированы расширенными объектами, но точка цель не может окклюзировать другую точку цель или расширенный объект. Установите это свойство на false отключение окклюзии расширенных объектов.
HasINS

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

Диапазон и параметры уровня области значений.

Параметры диапазона и скорости диапазона

MaxUnambiguousRange

Это свойство задает область значений, при которой радар может однозначно разрешить области значений цели. Цели, обнаруженные в дальностях, выходящих за пределы однозначной области значений, заворачиваются в интервал области значений [0 MaxUnambiguousRange]. Это свойство применяется только к истинным целевым обнаружениям, когда вы задаете HasRangeAmbiguities свойство к true.

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

MaxUnambiguousRadialSpeed

Это свойство задает максимальное значение величины радиальной скорости, при которой радар может однозначно разрешить скорость области значений цели. Цели, обнаруженные в скоростях области значений, величина больше максимальной однозначной радиальной скорости, оборачиваются в интервал скорости области значений [-MaxUnambiguousRadialSpeed MaxUnambiguousRadialSpeed]. Это свойство применяется только к истинным целевым обнаружениям, когда вы задаете оба HasRangeRate и HasRangeRateAmbiguities свойства для true.

Это свойство также определяет интервал уровня области значений, в течение которого генерируются ложные обнаружения целевых объектов. Это свойство применяется только к ложным целевым обнаружениям, когда вы задаете оба HasFalseAlarms и HasRangeRate свойства для true.

Вход детектора

Каждый датчик, созданный fusionRadarSensor принимает как вход массив целевых структур. Эта структура служит интерфейсом между trackingScenario и датчики. Вы создаете целевую struct из целевых положений и информации о профиле, получаемой trackingScenario или эквивалентное программное обеспечение.

Структура содержит эти поля.

ОбластьОписание
PlatformID

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

ClassID

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

Position

Положение цели в координатах платформы, заданное как реальный вектор 1 на 3. Это обязательное поле без значения по умолчанию. Модули измерения указаны в метрах.

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].

Можно создать структуру целевого положения путем слияния информации из информации о платформе, выводимой из targetProfiles метод trackingScenario и информация о целевом положении, выводимая из targetPoses способ на платформе, несущей датчики. Можно объединить их путем извлечения для каждого PlatformID в целевом массиве положений информация о профиле в массиве профилей платформ для того же PlatformID.

Платформа targetPoses метод возвращает эту структуру для каждого целевого объекта, кроме платформы.

Целевые положения

platformID
ClassID
Position
Velocity
Yaw
Pitch
Roll
AngularVelocity

The platformProfiles метод возвращает эту структуру для всех платформ в сценарии.

Профили платформ

PlatformID
ClassID
RCSPattern
RCSAzimuthAngles
RCSElevationAngles

Радиолокационные системы координат датчика

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

В симуляции радара всегда существует глобальная система координат верхнего уровня, которая обычно является Декартовой системой координат Северо-Востока-Дауна (NED), заданной тангенциальной плоскостью в любой точке поверхности Земли. The trackingScenario объект моделирует движение платформ в глобальной системе координат. Когда вы создаете платформу, вы задаете ее расположение и ориентацию относительно глобальной системы координат. Эти величины определяют оси тела платформы. Каждый радарный датчик установлен на корпусе платформы. Когда вы создаете датчик, вы задаете его расположение и ориентацию относительно координат тела платформы. Эти величины определяют оси датчика. Тело и радиолокационные оси могут изменяться с течением времени, однако глобальные оси не изменяются.

Могут потребоваться дополнительные системы координат. Для примера часто дорожки не поддерживаются в координатах NED (или ENU), так как эта координатная система координат изменяется на основе широты и долготы, где она задана. Для сценариев, которые охватывают большие площади (более 100 километров в каждой размерности), earth-centred earth-fixed (ECEF) может быть более подходящей глобальной системой координат для использования.

Радарный датчик генерирует измерения в сферических координатах относительно его системы координат. Однако местоположения объектов в радиолокационном сценарии сохраняются в системе координат верхнего уровня. Радарный датчик установлен на платформе и по умолчанию будет знать только о его положении и ориентации относительно платформы, на которой он установлен. Другими словами, радар ожидает, что все целевые объекты будут сообщены относительно осей тела платформы. Радар сообщает о необходимых преобразованиях (положении и ориентации), чтобы связать сообщенные обнаружения с осями тела платформы. Эти преобразования используются потребителями радиолокационных обнаружений (например, трекерами) для поддержания путей в осях тела платформы. Поддержание путей в осях тела платформы позволяет объединить информацию о измерениях или отслеживать через несколько датчиков, установленных на одной платформе.

Если платформа оборудована датчиком инерционной навигационной системы (INS), то можно определить местоположение и ориентацию платформы относительно системы координат верхнего уровня. Эта информация INS может использоваться радаром для ссылки всех обнаружений на координаты сценария.

INS

Когда вы задаете HasINS как true, вы должны пройти в INS struct в step способ. Эта структура состоит из положения, скорости и ориентации платформы в координатах сценария. Эти параметры позволяют вам выразить целевые положения в координатах сценария путем установки DetectionCoordinates свойство.

Обнаружения

Обнаружения радарного датчика возвращаются как массив ячеек objectDetection объекты. Обнаружение содержит эти свойства.

Структура objectDetection

ОбластьОпределение
TimeВремя измерения
MeasurementИзмерения
MeasurementNoiseМатрица ковариации шума измерения
SensorIndexУникальный идентификатор датчика
ObjectClassIDКлассификация объектов
MeasurementParametersПараметры, используемые функциями инициализации любых нелинейных фильтров отслеживания Калмана
ObjectAttributesТрекеру передана дополнительная информация

Measurement и MeasurementNoise сообщаются в системе координат, заданной DetectionCoordinates свойство fusionRadarSensor сообщаются в Декартовых координатах датчика.

Координаты измерения

DetectionCoordinatesКоординаты шума измерений и измерений
'Scenario'

Координатная зависимость от HasRangeRate

HasRangeRateCoordinates
true[x;y;z;vx;vy;vz]
false[x;y;z]
'Body'
'Sensor rectangular'
'Sensor spherical'

Зависимость координат от HasRangeRate и HasElevation

HasRangeRateHasElevationCoordinates
truetrue[az;el;rng;rr]
truefalse[az;rng;rr]
falsetrue[az;el;rng]
falsefalse[az;rng]

The MeasurementParameters поле состоит из массива structs, описывающий последовательность преобразований координат из дочерней системы координат в родительскую систему координат или обратные преобразования (см. Вращение системы координат). Самая длинная возможная последовательность преобразований: Sensor → Platform → Scenario. Для примера, если обнаружения сообщаются в сферических координатах и HasINS датчика устанавливается на false, затем последовательность состоит из одного преобразования от датчика к платформе. Если HasINS true, последовательность преобразований состоит из двух преобразований - сначала в координаты платформы, затем в координаты сценария. Тривиально, если обнаружения сообщаются в прямоугольных координатах и HasINS платформы задано значение false, преобразование состоит только из тождеств.

Каждый struct принимает форму:

MeasurementParameters

ПараметрОпределение
Frame

Перечисленный тип, указывающий на систему координат, используемую для сообщения измерений. Когда о обнаружениях сообщают с помощью прямоугольной системы координат, Frame установлено в 'rectangular'. Когда обнаружения сообщаются в сферических координатах, Frame задан 'spherical' для первого struct.

OriginPosition

Смещение положения источника систем координат (k) от источника системы координат (k + 1), представленное как вектор 3 на 1.

OriginVelocity

Смещение скорости источника системы координат (k) от источника системы координат (k + 1), представленное как вектор 3 на 1.

Orientation

Матрица поворота 3 на 3 действительных ортонормальных кадров, которая вращает оси системы координат (k + 1) в выравнивание с осями системы координат (k).

IsParentToChild

Логический скаляр, указывающий, Orientation выполняет вращение системы координат от родительской системы координат к дочерней системе координат. Если false, Orientation выполняет вращение системы координат дочернего элемента в координатную систему координат родительского элемента.

HasElevation

Логический скаляр, указывающий, имеет ли систему координат трехмерное положение. Установите значение false только для первого struct когда обнаружения сообщаются в сферических координатах и HasElevation является falseв противном случае это true.

HasVelocity

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

ObjectAttributes

ПризнакОпределение
TargetIndex

Идентификатор платформы, PlatformID, который сгенерировал обнаружение. Для ложных предупреждений это значение отрицательно.

SNR

Отношение сигнала обнаружения к шуму в дБ.