irSensor

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

Описание

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

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

Сгенерировать инфракрасные обнаружения:

  1. Создайте irSensor объект и набор его свойства.

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

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты? MATLAB.

Создание

Описание

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 Используя Системные объекты (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

Положение GPS-приемника в локальной системе координат NED, заданной как с действительным знаком 1 3 вектор. Модули исчисляются в метрах.

Velocity

Скорость GPS-приемника в локальной системе координат NED, заданной как с действительным знаком 1 3 вектор. Модули исчисляются в метрах в секунду.

Orientation

Ориентация INS относительно локальной системы координат NED, заданной как скалярный кватернион или 3х3 ортонормированная матрица вращения системы координат с действительным знаком. Задает вращение системы координат от локальной системы координат NED до текущей системы координат тела INS. Это также упоминается как "родительский элемент к дочернему" вращению.

Зависимости

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

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

Вмешательство или затор сигнала, заданного как структура.

Зависимости

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

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

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

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

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

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

Measurement и MeasurementNoise сообщаются в системе координат, заданной DetectionCoordinates свойство.

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

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

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

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

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

Поле Описание
SensorIndex

Уникальный индекс датчика

IsValidTime

Допустимое время обнаружения, возвращенное как 0 или 1. IsValidTime 0 когда обновления обнаружения время от времени требуют, которые являются между интервалами обновления, заданными UpdateInterval.

IsScanDone

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

FieldOfView

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

MeasurementParameters

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

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

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

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

release(obj)

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

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