Моделируйте радарные обнаружения

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

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

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

  • моделируйте механически отсканированные антенны, и электронно отсканировал поэтапно осуществленные массивы

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

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

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

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

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

radar1 = monostaticRadarSensor( ...
    'UpdateRate',updaterate, ...           % Hz
    'ReferenceRange', 111.0e3, ...         % m
    'ReferenceRCS', 0.0, ...               % dBsm
    'HasMechanicalScan',true, ...
    'MaxMechanicalScanRate',scanrate, ...  % deg/s
    'HasElectronicScan',false, ...
    'FieldOfView',fov, ...                 % [az;el] deg
    'HasElevation',false, ...
    'HasRangeRate',false, ...
    'AzimuthResolution',1.4, ...           % deg
    'RangeResolution', 135.0)                 % m
dets = radar1(targets,simtime);

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

Существует несколько синтаксисов monostaticRadarSensor, которые облегчают задавать свойства обычно реализовываемых радарных режимов сканирования. Эти синтаксисы устанавливают комбинации этих свойств: ScanMode, FieldOfView, MaxMechanicalScanRate, MechanicalScanLimits и ElectronicScanLimits.

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

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

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

  • sensor = monostaticRadarSensor('No scanning') возвращает объект monostaticRadarSensor, который смотрит вдоль радарного направления опорного направления антенны. Никакое механическое устройство или электронное сканирование не выполняются.

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

sensor = monostaticRadarSensor('Raster','ScanMode','Electronic')

Радарные параметры датчика

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

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

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

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

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

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

MountingLocation

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

Yaw

Угол, задающий вращение вокруг оси z платформы, чтобы выровнять систему координат платформы с системой координат датчика. Положительные углы отклонения от курса соответствуют по часовой стрелке вращение при взгляде вдоль положительного направления оси z системы координат платформы. Вращения применяются с помощью соглашения ZYX.

Pitch

Угол, задающий вращение вокруг оси Y платформы, чтобы выровнять систему координат платформы с системой координат датчика. Положительные углы подачи соответствуют по часовой стрелке вращение при взгляде вдоль положительного направления оси Y системы координат платформы. Вращения применяются с помощью соглашения ZYX.

Roll

Угол, задающий вращение вокруг оси X платформы, чтобы выровнять систему координат платформы с системой координат датчика. Положительные углы подачи соответствуют по часовой стрелке вращение при взгляде вдоль положительного направления оси X системы координат платформы. Вращения применяются с помощью соглашения ZYX.

DetectionCoordinates

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

  • '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

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

HasRangeRateAmbiguites

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

HasNoise

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

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

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

Отсканируйте параметры.

Отсканируйте параметры

  
ScanMode

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

  • 'No scanning' – радар не сканирует. Радарный луч указывает вдоль опорного направления антенны.

  • 'Mechanical' – радар механически сканирует между азимутом и пределами повышения, заданными свойством MechanicalScanLimits.

  • 'Electronic' – радар электронно сканирует между азимутом и пределами повышения, заданными свойством ElectronicScanLimits.

  • 'Mechanical and electronic' – радар механически сканирует опорное направление антенны между механическими пределами сканирования и электронно сканирует лучи относительно опорного направления антенны между электронными пределами сканирования. Общее поле отношения, отсканированного в этом режиме, является комбинацией механических и электронных пределов сканирования.

Во всех режимах сканирования кроме 'No scanning' сканирование продолжает в угловых интервалах, заданных радарным полем зрения, заданным в FieldOfView.

MaxMechanicalScanRate

Это наборы свойств значение максимальной механической частоты развертки радара. Когда HasElevation является true, частота развертки является вектором, состоящим из азимутальных отдельных и частоты развертки повышения. Когда HasElevation является false, частота развертки является скаляром, представляющим азимутальную частоту развертки. Радар устанавливает свою частоту развертки продвигаться радарный угол механического устройства радарным полем отношения. Когда необходимая частота развертки превышает максимальную частоту развертки, максимальная частота развертки используется.

MechanicalScanLimits

Это свойство задает механические пределы сканирования радара относительно его смонтированной ориентации. Когда HasElevation является true, пределы заданы минимальным и максимальным азимутом и минимальным и максимальным повышением. Когда HasElevation является false, пределы заданы минимальным и максимальным азимутом. Азимутальные пределы сканирования не могут охватить больше чем 360 градусов, и пределы сканирования повышения должны лечь в закрытом интервале [-90 90].

ElectronicScanLimits

Это свойство задает электронные пределы сканирования радара относительно текущего механического угла. Когда HasElevation является true, пределы заданы минимальным и максимальным азимутом и минимальным и максимальным повышением. Когда HasElevation является false, пределы заданы минимальным и максимальным азимутом. И азимутальный и пределы сканирования повышения должен лечь в закрытом интервале [-90 90].

FieldOfView

Это свойство задает азимутальный датчик и поля зрения повышения. Поле зрения задает общую угловую степень, наблюдаемую датчиком во время обновления датчика. Поле зрения должно лечь в интервале (0,180]. Цели за пределами датчика угловое поле зрения во время обновления датчика не обнаруживаются.

Расположитесь и расположитесь параметры уровня.

Расположитесь и расположитесь параметры уровня

MaxUnambiguousRange

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

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

MaxUnambiguousRadialSpeed

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

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

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

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

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

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

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

ClassID

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

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

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

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

PlatformID
ClassID
RCSPattern
RCSAzimuthAngles
RCSElevationAngles

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

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

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

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

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

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

INS

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

Обнаружения

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

Структура objectDetection

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

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

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

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]

Поле MeasurementParameters состоит из массива struct s описание последовательности координатных преобразований от дочернего кадра до родительского кадра или обратных преобразований (см. Вращение Кадра). Самая длинная последовательность преобразований: Датчик → Платформа → Сценарий. Например, если об обнаружениях сообщают в сферических координатах датчика, и HasINS установлен в ложь, то последовательность состоит из одного преобразования от датчика до платформы. Если HasINS верен, последовательность преобразований состоит из двух преобразований – сначала к координатам платформы затем к координатам сценария. Тривиально, если об обнаружениях сообщают в прямоугольных координатах платформы, и HasINS установлен в ложь, преобразование состоит только из идентичности.

Каждый 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 вращение кадра от кадра координаты вышестоящего элемента до кадра координаты нижестоящего элемента. Если ложь, Orientation выполняет вращение кадра от координатного кадра дочернего элемента до координатного кадра родительского элемента.

HasElevation

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

HasVelocity

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

ObjectAttributes

АтрибутОпределение
TargetIndex

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

SNR

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