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 | Задает систему координат для обнаружений, сообщаемых в выходных
|
Параметры чувствительности.
Параметры чувствительности
DetectionProbability | Вероятность обнаружения цели с радарным сечением, |
FalseAlarmRate | Вероятность ложного обнаружения в каждой камере разрешения радара. Камеры разрешения определяются из |
ReferenceRange | Область значений, при котором цель с радарным сечением, |
ReferenceRCS | Радиолокационное сечение (RCS) цели в дБ, при котором цель обнаруживается в области значений, заданной |
Разрешение датчика и параметры смещения.
Параметры разрешения
AzimuthResolution | Радарное азимутальное разрешение задает минимальное разделение угла азимута, при котором радар может различать две цели. |
ElevationResolution | Разрешение повышения радара определяет минимальное разделение в угол возвышения, при котором радар может различать две цели. Это свойство применяется только тогда, когда |
RangeResolution | Разрешение радиолокационной области задает минимальное разделение в области значений, при которой радар может различать две цели. |
RangeRateResolution | Разрешение скорости радиолокационной области задает минимальное разделение в скорости области значений, при которой радар может различать две цели. Это свойство применяется только тогда, когда |
AzimuthBiasFraction | Это свойство определяет азимутальный компонент смещения радара как долю радиолокационного азимутального разрешения, заданную |
ElevationBiasFraction | Это свойство определяет компонент смещения по повышению радара как долю разрешения по повышению радара, заданного |
RangeBiasFraction | Это свойство определяет компонент смещения области значений радара как долю разрешения радиолокационной области значений, заданных |
RangeRateBiasFraction | Это свойство определяет компонент смещения скорости области значений радара как долю разрешения радиолокационной области значений, заданного |
Включение параметров.
Включение параметров
HasElevation | Это свойство позволяет радарному датчику сканировать по повышению и оценивать повышение от обнаружений целей. |
HasRangeRate | Это свойство позволяет радарному датчику оценить скорость области значений. |
HasFalseAlarms | Это свойство позволяет радарному датчику генерировать отчеты об обнаружении ложных предупреждений. |
HasRangeAmbiguities | Когда true, радар не решает неоднозначности области значений. Когда радарный датчик не может разрешить неоднозначности области значений, цели в диапазонах за |
HasRangeRateAmbiguites | Когда true, радар не разрешает неоднозначности уровня области значений. Когда радарный датчик не может разрешить неоднозначности скорости области значений, цели на скоростях области значений выше |
HasNoise | Определяет, добавляется ли шум к измерениям датчика. Установите это свойство на |
HasOcclusion | Включите окклюзию от расширенных объектов, заданную как true или false . Установите это свойство на true для моделирования окклюзии из расширенных объектов. Обратите внимание, что и расширенные объекты, и точку цели могут быть окклюдированы расширенными объектами, но точка цель не может окклюзировать другую точку цель или расширенный объект. Установите это свойство на false отключение окклюзии расширенных объектов. |
HasINS | Установите это свойство равным true, чтобы позволить необязательному входному параметру передать текущую оценку положения платформы датчика к датчику. Эта информация о положении добавляется к |
Диапазон и параметры уровня области значений.
Параметры диапазона и скорости диапазона
MaxUnambiguousRange | Это свойство задает область значений, при которой радар может однозначно разрешить области значений цели. Цели, обнаруженные в дальностях, выходящих за пределы однозначной области значений, заворачиваются в интервал области значений Это свойство также определяет максимальную область значений, в котором генерируются ложные предупреждения. Это свойство применяется только к ложным целевым обнаружениям, когда вы задаете |
MaxUnambiguousRadialSpeed | Это свойство задает максимальное значение величины радиальной скорости, при которой радар может однозначно разрешить скорость области значений цели. Цели, обнаруженные в скоростях области значений, величина больше максимальной однозначной радиальной скорости, оборачиваются в интервал скорости области значений Это свойство также определяет интервал уровня области значений, в течение которого генерируются ложные обнаружения целевых объектов. Это свойство применяется только к ложным целевым обнаружениям, когда вы задаете оба |
Каждый датчик, созданный fusionRadarSensor
принимает как вход массив целевых структур. Эта структура служит интерфейсом между trackingScenario
и датчики. Вы создаете целевую struct
из целевых положений и информации о профиле, получаемой trackingScenario
или эквивалентное программное обеспечение.
Структура содержит эти поля.
Область | Описание |
---|---|
PlatformID | Уникальный идентификатор для платформы, заданный как положительное целое число. Это обязательное поле без значения по умолчанию. |
ClassID | Пользовательское целое число, используемое для классификации типа целевого значения, заданное как неотрицательное целое число. |
Position | Положение цели в координатах платформы, заданное как реальный вектор 1 на 3. Это обязательное поле без значения по умолчанию. Модули измерения указаны в метрах. |
Velocity | Скорость цели в координатах платформы, заданная как реальный вектор 1 на 3. Модули указаны в метрах в секунду. Значение по умолчанию является |
Acceleration | Ускорение цели в координатах платформы, заданное как вектор-строка 1 на 3. Модули указаны в метрах на секунду. Значение по умолчанию является |
Orientation | Ориентация цели относительно координат платформы, заданная как скалярный кватернион или матрица вращения 3 на 3. Ориентация определяет поворот системы координат платформы к текущей целевой системе координат тела. Модули безразмерны. Значение по умолчанию является |
AngularVelocity | Скорость вращения цели в координатах платформы, заданная как действительный вектор 1 на 3. Величина вектора задает угловую скорость. Направление задает ось поворота по часовой стрелке. Модули указаны в степенях в секунду. Значение по умолчанию является |
Можно создать структуру целевого положения путем слияния информации из информации о платформе, выводимой из 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 может использоваться радаром для ссылки всех обнаружений на координаты сценария.
Когда вы задаете HasINS
как true, вы должны пройти в INS struct
в step
способ. Эта структура состоит из положения, скорости и ориентации платформы в координатах сценария. Эти параметры позволяют вам выразить целевые положения в координатах сценария путем установки DetectionCoordinates
свойство.
Обнаружения радарного датчика возвращаются как массив ячеек objectDetection
объекты. Обнаружение содержит эти свойства.
Структура objectDetection
Область | Определение |
---|---|
Time | Время измерения |
Measurement | Измерения |
MeasurementNoise | Матрица ковариации шума измерения |
SensorIndex | Уникальный идентификатор датчика |
ObjectClassID | Классификация объектов |
MeasurementParameters | Параметры, используемые функциями инициализации любых нелинейных фильтров отслеживания Калмана |
ObjectAttributes | Трекеру передана дополнительная информация |
Measurement
и MeasurementNoise
сообщаются в системе координат, заданной DetectionCoordinates
свойство fusionRadarSensor
сообщаются в Декартовых координатах датчика.
Координаты измерения
DetectionCoordinates | Координаты шума измерений и измерений | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
'Scenario' |
Координатная зависимость от
| |||||||||||||||
'Body' | ||||||||||||||||
'Sensor rectangular' | ||||||||||||||||
'Sensor spherical' |
Зависимость координат от HasRangeRate и HasElevation
|
The MeasurementParameters
поле состоит из массива struct
s, описывающий последовательность преобразований координат из дочерней системы координат в родительскую систему координат или обратные преобразования (см. Вращение системы координат). Самая длинная возможная последовательность преобразований: Sensor → Platform → Scenario. Для примера, если обнаружения сообщаются в сферических координатах и HasINS
датчика устанавливается на false, затем последовательность состоит из одного преобразования от датчика к платформе. Если
HasINS
true, последовательность преобразований состоит из двух преобразований - сначала в координаты платформы, затем в координаты сценария. Тривиально, если обнаружения сообщаются в прямоугольных координатах и HasINS
платформы задано значение false, преобразование состоит только из тождеств.
Каждый struct
принимает форму:
MeasurementParameters
Параметр | Определение |
---|---|
Frame | Перечисленный тип, указывающий на систему координат, используемую для сообщения измерений. Когда о обнаружениях сообщают с помощью прямоугольной системы координат, |
OriginPosition | Смещение положения источника систем координат (k) от источника системы координат (k + 1), представленное как вектор 3 на 1. |
OriginVelocity | Смещение скорости источника системы координат (k) от источника системы координат (k + 1), представленное как вектор 3 на 1. |
Orientation | Матрица поворота 3 на 3 действительных ортонормальных кадров, которая вращает оси системы координат (k + 1) в выравнивание с осями системы координат (k). |
IsParentToChild | Логический скаляр, указывающий, |
HasElevation | Логический скаляр, указывающий, имеет ли систему координат трехмерное положение. Установите значение false только для первого |
HasVelocity | Логический скаляр, указывающий, включают ли сообщенные обнаружения измерения скорости. |
ObjectAttributes
Признак | Определение |
---|---|
TargetIndex | Идентификатор платформы, |
SNR | Отношение сигнала обнаружения к шуму в дБ. |