Создание объекта фильтра для отслеживания частиц с постоянным ускорением, trackingPF, из первоначального отчета об обнаружении. Отчет об обнаружении выполнен из начального измерения положения 3-D состояния фильтра частиц в сферических координатах. Измерение положения 3-D можно получить с помощью функции измерения постоянного ускорения. cameas.
В этом примере используются координаты az = 30, e1 = 5, r = 100, rr = 4 и шум измерения diag([2.5, 2.5, 0.5, 1].^2).
Используйте MeasurementParameters имущества detection объект для определения кадра. Если не определено, поля MeasurementParameters struct использует значения по умолчанию. В этом примере по умолчанию используются флаги положения датчика, скорости, ориентации, высоты и дальности.
detection =
objectDetection with properties:
Time: 0
Measurement: [4x1 double]
MeasurementNoise: [4x4 double]
SensorIndex: 1
ObjectClassID: 0
MeasurementParameters: [1x1 struct]
ObjectAttributes: {}
Использовать initcapf для создания trackingPF фильтр, инициализированный в заданном положении и использующий измерительный шум, определенный выше.
pf =
trackingPF with properties:
State: [9⨯1 double]
StateCovariance: [9⨯9 double]
IsStateVariableCircular: [0 0 0 0 0 0 0 0 0]
StateTransitionFcn: @constacc
ProcessNoiseSamplingFcn: []
ProcessNoise: [3x3 double]
HasAdditiveProcessNoise: 0
MeasurementFcn: @cameas
MeasurementLikelihoodFcn: []
MeasurementNoise: [4x4 double]
Particles: [9x1000 double]
Weights: [1x1000 double]
ResamplingPolicy: [1x1 trackingResamplingPolicy]
ResamplingMethod: 'multinomial'
Убедитесь, что состояние фильтра дает приблизительно то же измерение, что и detection.Measurement.
meas2 = 4×1
29.9188
5.0976
99.8303
4.0255