exponenta event banner

Моделирование радиолокационных обнаружений

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. Система координат может быть одной из следующих:

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

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

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

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

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

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

DetectionProbability

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

FalseAlarmRate

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

ReferenceRange

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

ReferenceRCS

Сечение РЛС цели в дБ, при котором цель обнаруживается на дальности, заданной 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

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

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

PlatformID
ClassID
RCSPattern
RCSAzimuthAngles
RCSElevationAngles

Системы координат радиолокационных датчиков

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

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

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

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

Если платформа оснащена датчиком ИНС, то можно определить местоположение и ориентацию платформы относительно кадра верхнего уровня. Эта информация 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'

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

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

MeasurementParameters поле состоит из массива structs, описывающие последовательность преобразований координат из дочернего кадра в родительский кадр или обратные преобразования (см. Поворот кадра). Наиболее длительная последовательность преобразований: Sensor → Platform → Scription. Например, если об обнаружениях сообщается в сферических координатах датчика и HasINS устанавливается в значение false, то последовательность состоит из одного преобразования из датчика в платформу. Если HasINS верно, последовательность преобразований состоит из двух преобразований - сначала в координаты платформы, затем в координаты сценария. Тривиально, если об обнаружениях сообщается в прямоугольных координатах платформы и 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

Определение отношения сигнал/шум в дБ.