Main Content

initctrectgmphd

Create constant turn-rate rectangular target gmphd filter

Description

phd = initctrectgmphd initializes a constant turn-rate rectangular target gmphd filter. By default, the components are empty and the data type of the filter is double.

phd = initctrectgmphd(detections) initializes a constant turn-rate rectangular target gmphd filter based on information provided in object detections, detections. The data type of the filter is the same as the data type of measurement in the detections.

The function initializes a constant turn-rate rectangular state with the same convention as ctrect and ctrectmeas, [x y s θ ω L W]. See Algorithms for the meaning of these variables.

.

Note

This initialization function is not compatible with trackerGNN, trackerJPDA, and trackerTOMHT System objects.

example

phd = initctrectgmphd(___,dataType) specifies the data type of the filter as single or double.

Examples

collapse all

Load detections generated by a rectangular target and the corresponding truth.

load ('rectangularTargetDetections','detections','truthState');

Initialize the filter using detections.

phd = initctrectgmphd(detections);

Display the estimated state and the truth state.

estState = phd.States
estState = 7×1

   -0.0688
   49.2233
         0
         0
         0
    3.3942
    0.9871

truthState
truthState = 7×1

         0
   50.0000
         0
   30.0000
         0
    4.7000
    1.8000

Input Arguments

collapse all

Object detections, specified as a cell array of objectDetection objects. You can create detections directly, or you can obtain detections from the outputs of sensor objects, such as radarSensor, monostaticRadarSensor, irSensor, and sonarSensor.

Example: detection = objectDetection(0,[1;4.5;3],'MeasurementNoise',[1.0 0 0; 0 2.0 0; 0 0 1.5])

Data type of variables used in the filter, specified as "single" for single-precision and "Double" for double-precision. When specified as "single", the initialized filter does not use any double-precision variables.

Data Types: single | double

Output Arguments

collapse all

Gaussian mixture PHD filter, returned as a gmphd object.

Algorithms

collapse all

Initialization Process

  • You can use initctrectgmphd as the FilterInitializationFcn property of trackingSensorConfiguration.

  • When detections are provided as input, the function adds one component to the density, which reflects the mean of the detections. When the function is called without any inputs, a filter is initialized with no components in the density.

  • The function uses the spread of measurements to specify the length and width of the rectangle.

  • The function configures the process noise of the filter by assuming a unit acceleration and a unit yaw-acceleration standard deviation.

  • The function specifies a maximum of 500 components in the filter.

  • The function configures the covariance of the state using a unit covariance in observed dimensions.

Rectangular Target State

The rectangular target state contains [x; y; s;θ; ω; L; W]:

VariableMeaning Unit
x

Position of the rectangle center in x direction

m
y

Position of the rectangle center in y direction

m
s

Speed in the heading direction

m/s
θ

Orientation angle of the rectangle with respect to x direction

degree
ω

Turn-rate

degree/s
L

Length of the rectangle

m
W

Width of the rectangle

m

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Version History

Introduced in R2019b

expand all