exponenta event banner

irSensor

Создание инфракрасных обнаружений для сценария отслеживания

Описание

irSensor Система object™ создает статистическую модель для генерации обнаружений с помощью инфракрасных датчиков. Вы можете использовать irSensor объект в сценарии, моделирующем движущиеся и стационарные платформы с использованием trackingScenario. Датчик может моделировать реальные обнаружения с добавлением случайного шума, а также генерировать ложные сигналы тревоги. Кроме того, этот объект можно использовать для создания входных данных для трекеров, таких как trackerGNN, trackerJPDA, или trackerTOMHT.

Этот объект позволяет настроить датчик механического сканирования. Инфракрасный сканирующий датчик изменяет угол обзора между обновлениями, изменяя механическое положение луча с приращениями углового диапазона, указанного в FieldOfView собственность. Инфракрасный датчик сканирует общую область по азимуту и отметке, определенной MechanicalScanLimits собственность. Если для пределов сканирования по азимуту или отметке установлено значение [0 0], для этого режима сканирования сканирование по этому размеру не выполняется. Кроме того, если максимальная скорость сканирования для азимута или отметки равна нулю, сканирование по этому размеру не выполняется.

Для генерации инфракрасных обнаружений:

  1. Создать irSensor и задайте его свойства.

  2. Вызовите объект с аргументами, как если бы это была функция.

Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.

Создание

Описание

sensor = irSensor(SensorIndex) создает объект генератора инфракрасного обнаружения с заданным индексом датчика, SensorIndexи значения свойств по умолчанию.

sensor = irSensor(SensorIndex,'No scanning') является удобным синтаксисом, который создает irSensor который смотрит вдоль направления визирования датчика. Механическое сканирование не выполняется. Этот синтаксис задает ScanMode свойство для 'No scanning'.

sensor = irSensor(SensorIndex,'Raster') является удобным синтаксисом, который создает irSensor объект, который механически сканирует растровый массив. Растровый пролет 90 ° по азимуту от -45 ° до + 45 ° и по отметке от горизонта до 10 ° над горизонтом. Свойства, задаваемые этим синтаксисом, см. в разделе Синтаксис удобства.

sensor = irSensor(SensorIndex,'Rotator') является удобным синтаксисом, который создает irSensor объект, который механически сканирует на 360 ° по азимуту путем электронного вращения датчика с постоянной скоростью. При установкеHasElevation кому trueинфракрасный датчик механически указывает к центру поля зрения возвышения. Свойства, задаваемые этим синтаксисом, см. в разделе Синтаксис удобства.

sensor = irSensor(SensorIndex,'Sector') является удобным синтаксисом для создания irSensor объект, механически сканирующий сектор азимута 90 ° от -45 ° до + 45 °. НастройкаHasElevation кому true, указывает инфракрасный датчик в сторону центра поля зрения отметки. Балки складываются механически, чтобы обработать всю отметку, охватываемую пределами сканирования, в одном положении. Свойства, задаваемые этим синтаксисом, см. в разделе Синтаксис удобства.

sensor = irSensor(___,Name,Value) устанавливает свойства, используя одну или несколько пар имя-значение после всех других входных аргументов. Заключите каждое имя свойства в кавычки. Например, irSensor(1,'UpdateRate',1,'CutoffFrequency',20e3) создает инфракрасный датчик, который сообщает об обнаружениях с частотой обновления 1 Гц и частотой отсечения 20 кГц. При указании индекса датчика с помощью SensorIndex свойство, вы можете опустить SensorIndex вход.

Свойства

развернуть все

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

Если свойство настраивается, его значение можно изменить в любое время.

Дополнительные сведения об изменении значений свойств см. в разделе Проектирование системы в MATLAB с использованием системных объектов.

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

Пример: 2

Типы данных: double

Частота обновления сенсора, заданная как положительный скаляр. Этот интервал должен быть целым кратным интервалу времени моделирования, определенному trackingScenario. trackingScenario объект вызывает инфракрасный датчик через интервалы времени моделирования. Датчик генерирует новые обнаружения с интервалами, определяемыми возвратно-поступательным движением UpdateRate собственность. Любое обновление, запрошенное для датчика между интервалами обновления, не содержит обнаружений. Единицы измерения в герцах.

Пример: 5

Типы данных: double

Режим сканирования инфракрасного датчика, указанный как 'Mechanical' или 'No scanning'. Если установлено значение 'Mechanical', датчик сканирует механически по азимуту и отметкам, указанным MechanicalScanLimits собственность. Положение сканирования по полю обзора датчика между задержками. Если установлено значение 'No scanning', сканирование датчиком не выполняется.

Пример: 'No scanning'

Типы данных: char

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

Пример: [.2 0.1 0]

Типы данных: double

Ориентация датчика относительно платформы, определяемая как трехэлементный действительный вектор. Каждый элемент вектора соответствует внутреннему повороту Эйлера, который переносит оси корпуса платформы к осям датчика. Три элемента последовательно описывают вращения вокруг осей z, y и x. Единицы измерения в градусах.

Пример: [10 20 -15]

Типы данных: double

Это свойство доступно только для чтения.

Поля зрения датчика, заданные как вектор 2 на 1 положительных вещественных значений, [азфов; эльфов]. Поле зрения определяет общую угловую протяженность, охватываемую датчиком. Каждый компонент должен находиться в интервале (0,180]. Цели вне поля зрения датчика не будут обнаружены. Единицы измерения в градусах.

Пример: [14;70]

Типы данных: double

Максимальная механическая скорость сканирования, заданная как неотрицательный скалярный или действительный вектор 2 на 1 с неотрицательными элементами.

При значении параметра «HasElevation» true, укажите скорость сканирования в виде вектора столбца 2 на 1 неотрицательных записей [maxAzRate; maxElRate]. maxAzRate - максимальная скорость сканирования по азимуту, maxElRate - максимальная скорость сканирования по высоте.

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

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

Пример: [5;10]

Зависимости

Чтобы включить это свойство, установите значение ScanMode свойству «Mechanical».

Типы данных: double

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

Когда HasElevation является true, пределы сканирования принимают вид [minAz maxAz; minEl maxEl]. minAz и maxAz представляют собой минимальный и максимальный пределы обзора азимутального угла. minEl и maxEl представляют собой минимальный и максимальный пределы сканирования угла места. Когда HasElevation является false, пределы сканирования принимают вид [minAz maxAz]. Если ограничения сканирования указаны как матрица 2 на 2, но заданы HasElevation кому falseвторая строка матрицы игнорируется.

Пределы азимутального обзора не могут превышать 360 °, а пределы высотного обзора должны находиться в пределах замкнутого интервала [-90 ° 90 °]. Единицы измерения в градусах.

Пример: [10 90;0 85]

Зависимости

Чтобы включить это свойство, установите значение ScanMode свойство для 'Mechanical'.

Типы данных: double

Это свойство доступно только для чтения.

Текущий угол механического сканирования, возвращаемый в виде скалярного или вещественного вектора 2 на 1. При значении параметра «HasElevation» trueугол сканирования принимает вид [Az; Эль]. Az и El представляют азимутальные и высотные углы обзора соответственно относительно угла установки датчика на платформе. Когда HasElevation является false, угол сканирования является скаляром, представляющим азимутальный угол сканирования.

Типы данных: double

Это свойство доступно только для чтения.

Угол взгляда датчика, заданный как скалярный или вещественно-значимый вектор 2 на 1. Угол взгляда зависит от механического угла, заданного в ScanMode собственность.

ScanModeLookAngle
'Mechanical'MechanicalAngle
'No scanning'0

При значении параметра «HasElevation» true, угол взгляда принимает вид [Az; El]. Az и El представляют азимутальные и высотные углы соответственно. КогдаHasElevation является false, угол взгляда является скаляром, представляющим азимутальный угол взгляда.

Диаметр линзы, заданный как положительный скаляр. Единицы в метрах.

Пример: 0.1

Типы данных: double

Фокусное расстояние круговой линзы датчика, определяемое как скаляр. Фокусное расстояние в пикселях равно f = F s, где F - фокусное расстояние в миллиметрах, а s - число пикселей на миллиметр.

Пример: 500

Типы данных: double

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

Пример: [500 750]

Типы данных: double

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

Пример: 30.5e3

Зависимости

Чтобы включить это свойство, установите значение ScanMode свойство для 'Mechanical'.

Типы данных: double

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

Пример: 3.0e-5

Типы данных: double

Удельная детективность материала детектора, указанная как положительный скаляр. Единицы измерения - cm-sqrt (Гц )/W.

Пример: .9e10

Типы данных: double

Эквивалентная шуму полоса пропускания датчика, заданная как положительный скаляр. Единицы измерения в Гц.

Пример: 100

Типы данных: double

Частота появления ложных аварийных сигналов в каждой ячейке разрешения, определяемая как положительный скаляр в диапазоне [10-7,10-3]. Единицы измерения безразмерны. Ячейки разрешения определяются по свойству AzimingResolution и дополнительно включенному свойству EvationResolution.

Пример: 1e-5

Типы данных: double

Это свойство доступно только для чтения.

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

Типы данных: double

Это свойство доступно только для чтения.

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

Зависимости

Чтобы включить это свойство, установите значение HasElevation свойство для true.

Типы данных: double

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

Типы данных: double

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

Зависимости

Чтобы включить это свойство, установите значение HasElevation свойство для true.

Типы данных: double

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

Типы данных: logical

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

Типы данных: logical

Включить дополнительный входной аргумент, передающий текущую оценку позы платформы датчика датчику, указанный как false или true. Когда true, информация о позе добавляется в MeasurementParameters структура сообщенных обнаружений. Информация о позе позволяет алгоритмам слежения и слияния оценивать состояние обнаружения цели в кадре «северо-восток вниз» (NED).

Типы данных: logical

Включение добавления шума к измерениям датчика, указанного как true или false. Установить для этого свойства значение true для добавления шума к измерениям. В противном случае измерения не имеют шума. Следует отметить, что ковариация измеренного шума не зависит от этого свойства и всегда представляет шум, который будет добавлен при HasNoise имеет значение true.

Типы данных: logical

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

Типы данных: logical

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

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

Типы данных: logical

Минимальный размер изображения для классификации, заданный как положительное целое число. MinClassificationArea указывает минимальную площадь (в квадратных пикселях), используемую для определения того, распознает ли датчик обнаружение как классифицированный объект. irSensor пытается окружить обнаружение протяженности с помощью минимальной прямоугольной ограничивающей рамки (по азимуту и направлению отметки) в плоскости изображения датчика. Если площадь минимальной ограничивающей рамки меньше значения, заданного параметром MinClassificationArea свойство, затем сообщенное ClassID равно нулю в возвращенном objectDetection для этого обнаружения. В противном случае, сообщенные ClassID получен из ClassID соответствующего целевого входа.

Типы данных: double

Максимально допустимая окклюзия, заданная как действительный скаляр на интервале [0,1). Свойство определяет отношение окклюдированной области к общей площади ограничивающей рамки целевого объекта. Если коэффициент площади закрытия больше значения, заданного MaxAllowedOccusion свойство, закупоренная цель не будет обнаружена.

Типы данных: double

Источник максимального количества обнаружений, сообщаемых датчиком, указанный как 'Auto' или 'Property'. Если для этого свойства установлено значение 'Auto', датчик сообщает обо всех обнаружениях. Если для этого свойства установлено значение 'Property', датчик сообщает об обнаружениях до числа, указанного MaxNumDetections собственность.

Типы данных: char

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

Зависимости

Чтобы включить это свойство, установите значение MaxNumDetectionsSource свойство для 'Property'.

Типы данных: double

Использование

Описание

dets = sensor(targets,simTime) создает инфракрасные детекторы, dets, по результатам измерений датчиков targets в текущее время моделирования, simTime. Датчик может генерировать обнаружения для нескольких целей одновременно.

пример

dets = sensor(targets,ins,simTime) также определяет оценочную информацию о позе INS, ins, для платформы датчика. Информация ИНС используется алгоритмами сопровождения и слияния для оценки положения цели в кадре NED.

Чтобы включить этот синтаксис, установите HasINS свойство для true.

[dets,numDets,config] = sensor(___) также возвращает количество зарегистрированных действительных обнаружений, numValidDetsи конфигурацию датчика, config, в текущее время моделирования.

Входные аргументы

развернуть все

Цель сценария слежения представляет собой структуру или массив структур. Каждая структура соответствует цели. Эту структуру можно создать с помощью targetPoses СПОСОБ ПЛАТФОРМЫ. Такую структуру можно также создать вручную. В таблице представлены требуемые поля структуры:

ОбластьОписание
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].

Значения Position, Velocity, и Orientation поля определяются относительно системы координат платформы.

Текущее время моделирования, указанное как положительный скаляр. trackingScenario объект вызывает инфракрасный датчик через регулярные интервалы времени. Датчик генерирует новые сигналы обнаружения через интервалы, определенные UpdateInterval собственность. Значение UpdateInterval свойство должно быть целым числом, кратным интервалу времени моделирования. Обновления, запрошенные от датчика между интервалами обновления, не содержат обнаружений. Единицы измерения в секундах.

Пример: 10.5

Типы данных: double

Поза платформы датчика, полученная от ИНС, определяемая как конструкция.

Информация о позе платформы от инерциальной навигационной системы (ИНС) представляет собой структуру со следующими полями:

ОбластьОпределение
Position

Положение в навигационной рамке, определяемое как действительный вектор 1 на 3. Единицы в метрах.

Velocity

Скорость в навигационном кадре, заданная как действительный вектор 1 на 3. Единицы измерения в метрах в секунду.

Orientation

Ориентация относительно навигационного кадра, указанного как quaternion или матрица поворота с действительным значением 3 на 3. Поворот осуществляется от навигационного кадра к текущему корпусу INS. Это также называется ротацией «родитель-ребенок».

Зависимости

Чтобы включить этот аргумент, установите HasINS свойство для true.

Типы данных: struct

Сигнал помехи или помехи, определяемый как структура.

Зависимости

Чтобы включить этот аргумент, установите HasInterference свойство для true.

Типы данных: double
Поддержка комплексного номера: Да

Выходные аргументы

развернуть все

Обнаружения датчиков, возвращаемые в виде массива ячеек objectDetection объекты. Каждый объект имеет следующие свойства:

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

Measurement и MeasurementNoise сообщаются в сферическом координатном кадре датчика.

Число обнаружений, возвращенных как неотрицательное целое число.

  • Когда MaxNumDetectionsSource свойство имеет значение 'Auto', numDets устанавливается в длину dets.

  • Когда MaxNumDetectionsSource свойство имеет значение 'Property', dets - массив ячеек с длиной, определяемой MaxNumDetections собственность. Не более MaxNumDetections возвращается количество обнаружений. Если число обнаружений меньше MaxNumDetections, первый numDets элементы dets задержать допустимые обнаружения. Остальные элементы dets имеют значение по умолчанию.

Типы данных: double

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

ОбластьОписание
SensorIndex

Уникальный индекс датчика, возвращаемый как положительное целое число.

IsValidTime

Допустимое время обнаружения, возвращено как true или false. IsValidTime является false при запросе обновлений обнаружения между интервалами обновления, заданными частотой обновления.

IsScanDone

IsScanDone является true после завершения сканирования датчика.

FieldOfView

Поле зрения датчика, возвращаемое как вектор 2 на 1 положительных вещественных значений, [azfov;elfov]. azfov и elfov представляют поле обзора по азимуту и отметке соответственно.

MeasurementParameters

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

Типы данных: struct

Функции объекта

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

release(obj)

развернуть все

coverageConfigКонфигурация покрытия датчика и эмиттера
perturbationsВозмущение, определенное для объекта
perturbПрименение возмущений к объекту
stepЗапустить алгоритм объекта System
releaseДеблокирование ресурсов и разрешение изменений значений свойств объекта системы и входных признаков
resetСброс внутренних состояний объекта System

Примеры

свернуть все

Обнаружение цели с помощью инфракрасного датчика.

Сначала создайте целевую структуру.

tgt = struct( ...
    'PlatformID',1, ...
    'Position',[10e3 0 0], ...
    'Speed',900*1e3/3600);

Затем создайте ИК-датчик.

sensor = irSensor(1);

Создать обнаружение из цели.

time = 0;
[dets,numDets,config] = sensor(tgt,time)
dets = 1x1 cell array
    {1x1 objectDetection}

numDets = 1
config = struct with fields:
              SensorIndex: 1
              IsValidTime: 1
               IsScanDone: 0
              FieldOfView: [64.0108 64.0108]
    MeasurementParameters: [1x1 struct]

Подробнее

развернуть все

Расширенные возможности

.

См. также

Объекты

Функции

Представлен в R2018b