irSensor

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

Описание

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

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

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

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

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

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

Создание

Синтаксис

sensor = irSensor(SensorIndex)
sensor = irSensor(SensorIndex,'No scanning')
sensor = irSensor(SensorIndex,'Raster')
sensor = irSensor(SensorIndex,'Rotator')
sensor = irSensor(SensorIndex,'Sector')
sensor = irSensor(___,Name,Value)

Описание

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 = sensor(targets,ins,simTime)
[dets,numDets,config] = sensor(___)

Описание

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 =

  1×1 cell array

    {1×1 objectDetection}


numDets =

     1


config = 

  struct with fields:

              SensorIndex: 1
              IsValidTime: 1
               IsScanDone: 0
              FieldOfView: [64.0108 64.0108]
    MeasurementParameters: [1×1 struct]

Больше о

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

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

Смотрите также

Классы

Функции

Системные объекты

Введенный в R2018b