exponenta event banner

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.

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

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

ОбластиСтруктура 1Структура 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; vx; vy] в кадре сценария в сферические координаты [az; el; range; rr] в кадре датчика. Можно использовать функцию измерения.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