Создайте постоянную скорость, отслеживающую объект фильтра частиц, trackingPF
, из первоначального отчета обнаружения. Отчет обнаружения сделан из начального 3-D измерения положения состояния фильтра частиц в сферических координатах. Можно получить 3-D измерение положения с помощью постоянной функции измерения скорости, cvmeas
.
Этот пример использует координаты, 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: {}
Используйте initcvpf
создать trackingPF
фильтр инициализируется в обеспеченном положении и использовании шума измерения, заданного выше.
pf =
trackingPF with properties:
State: [6⨯1 double]
StateCovariance: [6⨯6 double]
IsStateVariableCircular: [0 0 0 0 0 0]
StateTransitionFcn: @constvel
ProcessNoiseSamplingFcn: []
ProcessNoise: [3x3 double]
HasAdditiveProcessNoise: 0
MeasurementFcn: @cvmeas
MeasurementLikelihoodFcn: []
MeasurementNoise: [4x4 double]
Particles: [6x1000 double]
Weights: [1.0000e-03 1.0000e-03 1.0000e-03 ... ]
ResamplingPolicy: [1x1 trackingResamplingPolicy]
ResamplingMethod: 'multinomial'
Проверьте, что состояние фильтра производит приблизительно то же измерение как detection.Measurement
.
meas2 = 4×1
29.9188
5.0976
99.8303
4.0255