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

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 сообщить об измерениях без шума. Ковариационная матрица шума измерения, о которой сообщают, содержится в выходе objectDetection struct всегда вычисляется независимо от установки этого свойства.

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

Установите это свойство на true, чтобы позволить дополнительному входному параметру передать текущую оценку положения платформы датчика к датчику. Эта информация о положении добавляется к 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 поле состоит из массива structs описание последовательности координатных преобразований от дочерней системы координат до родительской системы координат или обратных преобразований (см. Вращение Системы координат). Самая длинная последовательность преобразований: Датчик → Платформа → Сценарий. Например, если об обнаружениях сообщают в сферических координатах датчика и 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

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