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 вектора из положительных действительных значений, [azfov; elfov]. Поле зрения задает общую угловую степень, заполненную датчиком. Каждый компонент должен лечь в интервале (0,180]. Цели за пределами поля зрения датчика не будут обнаружены. Модули в градусах.

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

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

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

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

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

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

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

Зависимости

Чтобы включить это свойство, установите ScanMode свойство к 'Механическому устройству'.

Типы данных: 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, угол сканирования принимает форму [Азимут; El]. Az и El представляют азимут и углы сканирования вертикального изменения, соответственно, относительно смонтированного угла датчика на платформе. Когда HasElevation false, угол сканирования является скаляром, представляющим угол сканирования азимута.

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

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

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

ScanModeLookAngle
'Mechanical'MechanicalAngle
'No scanning'0

Когда HasElevation является true, угол взгляда принимает форму [Азимут; 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]. Модули являются безразмерными. Ячейки разрешения определяются из свойства AzimuthResolution и опционально активированного свойства ElevationResolution.

Пример: 1e-5

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

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

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

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

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

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

Зависимости

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

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

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

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

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

Зависимости

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

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

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

Типы данных: логический

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

Типы данных: логический

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

Типы данных: логический

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

Типы данных: логический

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

Типы данных: логический

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

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

Типы данных: логический

Минимальный размер изображения для классификации в виде положительного целого числа. 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, для платформы датчика. Информация о INS используется путем отслеживания и алгоритмы сплава, чтобы оценить целевые положения в системе координат NED.

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

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

Входные параметры

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

Отслеживание сценария предназначается для положений в виде структуры или массива структур. Каждая структура соответствует цели. Можно сгенерировать эту структуру с помощью targetPoses метод платформы. Можно также создать такую структуру вручную. Таблица показывает обязательные поля структуры:

Поле Описание
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].

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

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

Пример: 10.5

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

Положение платформы датчика получено из инерционной системы навигации (INS) в виде структуры.

Информацией о положении платформы от инерционной системы навигации (INS) является структура с этими полями:

Поле Определение
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

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

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

release(obj)

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

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

Примеры

свернуть все

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

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

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

Затем создайте датчик IR.

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