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 поле состоит из массива structs, описывающий последовательность преобразований координат из дочерней системы координат в родительскую систему координат или обратные преобразования (см. Вращение системы координат). Самая длинная возможная последовательность преобразований: 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 | Отношение сигнала обнаружения к шуму в дБ. |