initcvkf

Создайте линейный фильтр Калмана с постоянной скоростью из отчета об обнаружении

Описание

пример

filter = initcvkf(detection) создает и инициализирует линейный метод Калмана с постоянной скоростью filter из информации, содержащейся в detection отчет. Для получения дополнительной информации о линейном фильтре Калмана смотрите trackingKF.

Функция инициализирует состояние постоянной скорости с тем же соглашением, что и constvel и cvmeas, [x; <reservedrangesplaceholder7> <reservedrangesplaceholder6>; y; <reservedrangesplaceholder4> <reservedrangesplaceholder3>; z; <reservedrangesplaceholder1> <reservedrangesplaceholder0>].

Примеры

свернуть все

Создайте и инициализируйте 2-D линейный объект фильтра Калмана из отчета о первоначальном обнаружении.

Создайте отчет об обнаружении из начального 2-D измерения (10,20) положения объекта.

detection = objectDetection(0,[10;20],'MeasurementNoise',[1 0.2; 0.2 2], ...
    'SensorIndex',1,'ObjectClassID',1,'ObjectAttributes',{'Yellow Car',5});

Создайте новую дорожку из отчета об обнаружении.

filter = initcvkf(detection)
filter = 
  trackingKF with properties:

               State: [4x1 double]
     StateCovariance: [4x4 double]

         MotionModel: '2D Constant Velocity'
        ControlModel: []
        ProcessNoise: [4x4 double]

    MeasurementModel: [2x4 double]
    MeasurementNoise: [2x2 double]

     EnableSmoothing: 0

Показать состояние.

filter.State
ans = 4×1

    10
     0
    20
     0

Покажите модель перехода состояния.

filter.StateTransitionModel
ans = 4×4

     1     1     0     0
     0     1     0     0
     0     0     1     1
     0     0     0     1

Создайте и инициализируйте 3-D линейный объект фильтра Калмана из отчета о первоначальном обнаружении.

Создайте отчет об обнаружении из начального 3-D измерения (10,20,−5) положения объекта.

detection = objectDetection(0,[10;20;-5],'MeasurementNoise',eye(3), ...
    'SensorIndex', 1,'ObjectClassID',1,'ObjectAttributes',{'Green Car', 5});

Создайте новый фильтр из отчета об обнаружении и отобразите его свойства.

filter = initcvkf(detection)
filter = 
  trackingKF with properties:

               State: [6x1 double]
     StateCovariance: [6x6 double]

         MotionModel: '3D Constant Velocity'
        ControlModel: []
        ProcessNoise: [6x6 double]

    MeasurementModel: [3x6 double]
    MeasurementNoise: [3x3 double]

     EnableSmoothing: 0

Показать состояние.

filter.State
ans = 6×1

    10
     0
    20
     0
    -5
     0

Покажите модель перехода состояния.

filter.StateTransitionModel
ans = 6×6

     1     1     0     0     0     0
     0     1     0     0     0     0
     0     0     1     1     0     0
     0     0     0     1     0     0
     0     0     0     0     1     1
     0     0     0     0     0     1

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

свернуть все

Отчет об обнаружении, заданный как objectDetection объект.

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

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

свернуть все

Линейный фильтр Калмана, возвращенный как trackingKF объект.

Алгоритмы

  • Функция вычисляет матрицу шума процесса, принимая за одну секунду временной шаг и стандартное отклонение ускорения 1 м/с2.

  • Вы можете использовать эту функцию как FilterInitializationFcn свойство trackerGNN или trackerTOMHT объект.

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

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

.
Введенный в R2018b