initcagmphd

Создайте постоянные gmphd ускорения фильтр

Описание

phd = initcagmphd инициализирует постоянное ускорение gmphd фильтр с нулем компонентов в фильтре.

пример

phd = initcagmphd(detections) инициализирует постоянное ускорение gmphd фильтр на основе информации, предоставляемой в обнаружениях объектов, detections. Функция инициализирует постоянное состояние ускорения с тем же соглашением, что и constacc и cameas, [x; <reservedrangesplaceholder13> <reservedrangesplaceholder12>; <reservedrangesplaceholder11> <reservedrangesplaceholder10>; y; <reservedrangesplaceholder8> <reservedrangesplaceholder7>; <reservedrangesplaceholder6> <reservedrangesplaceholder5>; z; <reservedrangesplaceholder3> <reservedrangesplaceholder2>; <reservedrangesplaceholder1> <reservedrangesplaceholder0>].

Примечание

Эта функция инициализации не совместима с trackerGNN, trackerJPDA, и trackerTOMHT Системные объекты.

Примеры

свернуть все

Рассмотрим цель точки, расположенную в [1;2;3]. Создайте обнаружение для цели, используя objectDetection.

detection = objectDetection(0,[1;2;3]);

Инициализируйте постоянное gmphd ускорения фильтровать, используя initcagmphd.

phd = initcagmphd(detection);

Проиллюстрировать начальное состояние и настройку экстента фильтра phd.

state = phd.States
state = 9×1

     1
     0
     0
     2
     0
     0
     3
     0
     0

extent = phd.HasExtent
extent = logical
   0

Рассмотрим расширенный объект, расположенный в [1; 2; 3]. Обнаружения объекта равномерно распределены в x-, y- и z-направлениях с размерностями 1,2, 2,3 и 3,5 соответственно. Сгенерируйте 20 случайным образом распределенных обнаружений для объекта, используя objectDetection.

detections = cell(20,1);
location = [1;2;3];
dimensions = [1.2;2.3;3.5];
rng(2019);
measurements = location + dimensions.*(-1 + 2*rand(3,20));
for i = 1:20
    detections{i} = objectDetection(0,measurements(:,i)); 
end

Инициализируйте постоянное gmphd ускорения фильтровать, используя initcagmphd.

phd = initcagmphd(detections);

Начальное состояние фильтра совпадает со средним значением измерений.

state = phd.States
state = 9×1

    1.1034
         0
         0
    2.5597
         0
         0
    2.4861
         0
         0

mean_measure = mean(measurements,2)
mean_measure = 3×1

    1.1034
    2.5597
    2.4861

По умолчанию функция устанавливает HasExtent свойство true, если количество измерений больше 1.

extent = phd.HasExtent
extent = logical
   1

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

свернуть все

Обнаружения объектов, заданное как массив ячеек objectDetection объекты. Можно создавать detections непосредственно, или вы можете получить detections от выходов объектов, таких как radarSensor, monostaticRadarSensor, irSensor, и sonarSensor.

Пример: detection = objectDetection(0,[1;4.5;3],'MeasurementNoise',[1.0 0 0; 0 2.0 0; 0 0 1.5])

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

свернуть все

Гауссов фильтр PHD смеси, возвращенный как gmphd объект.

Алгоритмы

  • Вы можете использовать initcagmphd как FilterInitializationFcn свойство trackingSensorConfiguration.

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

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

  • Функция конфигурирует шум процесса фильтра, принимая стандартное отклонение модуля для скорости изменения ускорения.

  • Функция задает в фильтре максимум 500 компонентов.

  • Функция устанавливает HasExtent свойство фильтра, чтобы true если количество обнаружений входа больше единицы.

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

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

.

См. также

| | |

Введенный в R2019b