trackingSensorConfiguration

Представляйте настройку датчика для отслеживания

Описание

trackingSensorConfiguration объект создает настройку для датчика, используемого с trackerPHD Система object™. Это позволяет вам задавать параметры датчика, такие как плотность помехи, пределы датчика, разрешение датчика. Можно также задать, как средство отслеживания чувствует обнаружения из свойств использования датчика, таких как FilterInitializationFcn, SensorTransformFcn, и SensorTransformParameters. Смотрите Создают Настройку Датчика Отслеживания для получения дополнительной информации. trackingSensorConfiguration объект позволяет средству отслеживания выполнить три основных стандартных операции:

  • Оцените вероятность обнаружения в точках в пространстве состояний.

  • Инициируйте компоненты в плотности гипотезы вероятности.

  • Получите плотность помехи датчика.

Создание

Описание

config = trackingSensorConfiguration(SensorIndex) создает trackingSensorConfiguration объект с заданным индексом датчика, SensorIndex, и значения свойств по умолчанию.

пример

config = trackingSensorConfiguration(SensorIndex,Name,Value) позволяет вам устанавливать свойства с помощью одной или нескольких пар "имя-значение".

Свойства

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

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

Пример 2

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

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

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

Отфильтруйте функцию инициализации в виде указателя на функцию или как вектор символов, содержащий имя допустимой функции инициализации фильтра. Функция инициализирует фильтр PHD, используемый trackerPHD. Функция должна поддержать следующие синтаксисы:

filter = filterInitializationFcn()
filter = filterInitializationFcn(detections)
filter допустимый фильтр PHD с компонентами для новорожденных целей и detections массив ячеек objectDetection объекты. Первый синтаксис позволяет вам задавать прогнозирующую плотность рождения в фильтре PHD, не используя обнаружения. Второй синтаксис позволяет фильтру инициализировать адаптивную плотность рождения с помощью информации об обнаружении. Смотрите свойство BirthRate trackerPHD для получения дополнительной информации. Если вы создаете свой собственный FilterInitilizationFcn, необходимо также предоставить функции преобразования использование SensorTransformFcn свойство. Кроме функции инициализации фильтра по умолчанию initcvggiwphd, Sensor Fusion and Tracking Toolbox™ также обеспечивает другие функции инициализации, такой как initctrectgmphd, initctgmphd, initcvgmphd, initcagmphd, initctggiwphd и initcaggiwphd.

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

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

detStates = SensorTransformFcn(trackStates,params)
params параметры, сохраненные в SensorTransformParameters свойство. Заметьте, что подпись функции похожа на функцию измерения. Поэтому можно использовать функцию измерения (такой как cvmeas, ctmeas, или cameas) как SensorTransformFcn.

В зависимости от типа фильтра и целевого типа, выхода, detStates, потребности возвратиться по-другому.

  • Когда используется с gmphd для нерасширенных целей или с ggiwphd, detStates N-by-M матрица, где N является количеством строк в SensorLimits свойство и M являются количеством состояний ввода в trackStates. Для gmphd, нерасширенные цели относятся, чтобы указать цели и расширенные цели чей MeasurementOrigin 'center'.

  • Когда используется с gmphd для расширенных целей, SensorTransformFcn позволяет вам задавать несколько detStates на trackState. В этом случае, detStates N-by-M-by-S матрица, где S является количеством обнаруживаемых источников на расширенной цели. Например, если цель описана прямоугольным состоянием, обнаруживаемые источники могут быть углами прямоугольника.

    Если какой-либо источник падает в SensorLimits, цель объявляется обнаруживаемая. Функции используют распространение (максимум координируют − минимальную координату) каждого detStates и отношение между распространением и разрешением датчика по каждому пределу датчика, чтобы вычислить ожидаемое количество обнаружений от каждой расширенной цели. Можно заменить эту настройку по умолчанию путем обеспечения дополнительного выхода в SensorTransformFcn как:

    [..., Nexp] = SensorTransformFcn(trackStates, params)
    где Nexp ожидаемое количество обнаружений от каждого расширенного состояния дорожки.

Обратите внимание на то, что SensorTransformFcn по умолчанию датчик, преобразовывают функцию фильтра, возвращенного FilterInitilizationFcn. Например, initicvggiwphd функция возвращает значение по умолчанию cvmeas, тогда как initictggiwphd и initicaggiwphd функции возвращаются ctmeas и cameas, соответственно.

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

Параметры для датчика преобразовывают функцию, возвращенную как структура или массив структур. Если только необходимо преобразовать состояние однажды, задайте его как структуру. Если необходимо преобразовать времена n состояния, задайте его как n-by-1 массив структур. Например, чтобы преобразовать состояние из сценария структурируют к системе координат датчика, обычно необходимо сначала преобразовывать состояние из сценария прямоугольная система координат на платформу прямоугольная система координат, и затем преобразовывать состояние с платформы прямоугольная система координат к датчику сферическая система координат. Поля структуры:

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

Система координат координаты нижестоящего элемента вводит в виде 'Rectangular' или 'Spherical'.

OriginPosition

Дочерняя позиция системы координат выражена в Родительской системе координат в виде вектора 3 на 1.

OriginVelocity

Дочерняя скорость системы координат описывается в родительской системе координат в виде вектора 3 на 1.

Orientation

Относительная ориентация между системами координат в виде 3х3 матрицы вращения. Если IsParentToChild свойство установлено в false, затем задайте Orientation как вращение от дочерней системы координат до родительской системы координат. Если IsParentToChild свойство установлено в true, затем задайте Orientation как вращение от родительской системы координат до дочерней системы координат.

IsParentToChild

Отметьте, чтобы указать на направление вращения между родительской и дочерней системой координат в виде true или false. Значением по умолчанию является false. См. описание Orientation поле для деталей.

HasAzimuth

Указывает, содержат ли выходные параметры компоненты азимута в виде true или false.

HasElevation

Указывает, содержат ли выходные параметры компоненты вертикального изменения в виде true или false.

HasRange

Указывает, содержат ли выходные параметры компоненты области значений в виде true или false.

HasVelocity

Указывает, содержат ли выходные параметры скоростные компоненты в виде true или false.

Обратите внимание на то, что здесь система координат сценария является родительской системой координат системы координат платформы, и система координат платформы является родительской системой координат системы координат датчика.

Значения по умолчанию для SensorTransformParameters 2 1 массив структур как:

Поля Struct 1Struct 2
Система координат'Spherical''Rectangular'
OriginPosition[0;0;0][0;0;0]
OriginVelocity[0;0;0][0;0;0]
Ориентацияeye(3)eye(3)
IsParentToChildfalsefalse
HasAzimuthtruetrue
HasElevationtruetrue
HasRangetruetrue
HasVelocityfalsetrue

В этой таблице Struct 2 составляет преобразование из сценария прямоугольная система координат на платформу прямоугольная система координат, и Struct 1 составляет преобразование с платформы прямоугольная система координат к датчику сферическая система координат, учитывая isParentToChild свойство установлено в false.

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

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

Если вы используете cvmeas, cameas, или ctmeas как датчик преобразовывают функцию, затем необходимо обеспечить пределы датчика в порядке как:

SensorLimits = [minAzmaxAzminElmaxElminRngmaxRngminRrmaxRr]

Описание этих пределов и их значений по умолчанию дано в следующей таблице. Обратите внимание на то, что значения по умолчанию для SensorLimits 3-на-2 матрица включая лучшие шесть элементов в таблице. Кроме того, если вы используете эти три функции, можно задать матрицу, чтобы быть в других размерах (1 2, 2 на 2, или 3 на 4), но необходимо задать эти пределы в последовательности, показанной в матрице SensorLimits.

ПределыОписаниеЗначения по умолчанию
minAz

Минимальный обнаруживаемый азимут в градусах.

-10
maxAz

Максимальный обнаруживаемый азимут в градусах.

10
minEl

Минимальное обнаруживаемое вертикальное изменение в градусах.

-2.5
maxEl

Максимальное обнаруживаемое вертикальное изменение в градусах.

2.5
minRng

Минимальная обнаруживаемая область значений в метрах.

0
maxRng

Максимальная обнаруживаемая область значений в метрах.

1000
minRr

Минимальный обнаруживаемый уровень области значений в метрах в секунду.

Нет данных
maxRr

Максимальный обнаруживаемый уровень области значений в метрах в секунду.

Нет данных

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

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

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

Максимальное количество обнаружений датчик может сообщить на объект в виде положительного целого числа.

Пример 3

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

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

Пример: 2e-3

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

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

Пример: 0.03

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

Примеры

свернуть все

Рассмотрите радар со следующими пределами датчика и разрешением датчика.

  azLimits = [-10 10];
  elLimits = [-2.5 2.5];
  rangeLimits = [0 500];
  rangeRateLimits = [-50 50];
  sensorLimits = [azLimits;elLimits;rangeLimits;rangeRateLimits];
  sensorResolution = [5 2 10 3];

Определение датчика преобразовывает функцию, которая преобразовывает Декартовы координаты [x; y;; vy] в сценарии структурируют к сферическим координатам [азимут; el; область значений;] в системе координат датчика. Можно использовать функцию измерения cvmeas как датчик преобразовывают функцию.

  transformFcn = @cvmeas;

Задавать параметры, требуемые для cvmeas, используйте SensorTransformParameters свойство. Здесь, вы принимаете, что датчик смонтирован в центре платформы и платформы, расположенной в [100; 30; 20] перемещается со скоростью [-5; 4; 2] модули в секунду в системе координат сценария.

Первая структура задает местоположение датчика, скорость и ориентацию в системе координат платформы.

  params(1) = struct('Frame','Spherical','OriginPosition',[0;0;0],...
                   'OriginVelocity',[0;0;0],'Orientation',eye(3),'HasRange',true,...
                   'HasVelocity',true);

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

  params(2) = struct('Frame','Rectangular','OriginPosition',[100;30;20],...
                    'OriginVelocity',[-5;4;2],'Orientation',eye(3),'HasRange',true,...
                    'HasVelocity',true);

Создайте настройку.

  config = trackingSensorConfiguration('SensorIndex',3,'SensorLimits',sensorLimits,...
                                       'SensorResolution',sensorResolution,...
                                       'SensorTransformParameters',params,...
                                       'SensorTransformFcn',@cvmeas,...
                                       'FilterInitializationFcn',@initcvggiwphd)
config = 
  trackingSensorConfiguration with properties:

                  SensorIndex: 3
                  IsValidTime: 0

                 SensorLimits: [4x2 double]
             SensorResolution: [4x1 double]
           SensorTransformFcn: @cvmeas
    SensorTransformParameters: [1x2 struct]

      FilterInitializationFcn: @initcvggiwphd
          MaxNumDetsPerObject: Inf

               ClutterDensity: 1.0000e-03
         DetectionProbability: 0.9000
      MinDetectionProbability: 0.0500

Больше о

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

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

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

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

| | | |

Введенный в R2019a