Main Content

tunableProperties

Get tunable properties of filter

Since R2022b

Description

tps = tunableProperties(filter) returns and displays the tunable properties of the filter.

example

tps = tunableProperties(filter,AsParameterizedFilter=asParameterized) specifies if the tracking filters of the trackingGSF object are parameterized.

Note

Use this syntax only when the filter input is a trackingGSF object.

example

Examples

collapse all

Create a trackingEKF object.

filter = trackingEKF;

Obtain the tunable properties using the tunableProperties object function.

tps = tunableProperties(filter)
tps = 
Tunable properties for object of type: trackingEKF

Property:      ProcessNoise
   PropertyValue:   [1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]
   TunedQuantity:   Square root
   IsTuned:         true
       TunedQuantityValue:  [1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]
       TunableElements:     [1 5 6 9 10 11 13 14 15 16]
       LowerBound:          [0 0 0 0 0 0 0 0 0 0]
       UpperBound:          [10 10 10 10 10 10 10 10 10 10]
Property:      StateCovariance
   PropertyValue:   [1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]
   TunedQuantity:   Square root of initial value
   IsTuned:         false

Create a trackingUKF object.

filter = trackingUKF;

Obtain the tunable properties using the tunableProperties object function.

tps = tunableProperties(filter)
tps = 
Tunable properties for object of type: trackingUKF

Property:      ProcessNoise
   PropertyValue:   [1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]
   TunedQuantity:   Square root
   IsTuned:         true
       TunedQuantityValue:  [1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]
       TunableElements:     [1 5 6 9 10 11 13 14 15 16]
       LowerBound:          [0 0 0 0 0 0 0 0 0 0]
       UpperBound:          [10 10 10 10 10 10 10 10 10 10]
Property:      StateCovariance
   PropertyValue:   [1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]
   TunedQuantity:   Square root of initial value
   IsTuned:         false
Property:      Alpha
   PropertyValue:   0.001
   TunedQuantity:   Value
   IsTuned:         true
       TunedQuantityValue:  0.001
       TunableElements:     1
       LowerBound:          1e-05
       UpperBound:          1
Property:      Beta
   PropertyValue:   2
   TunedQuantity:   Value
   IsTuned:         false
Property:      Kappa
   PropertyValue:   0
   TunedQuantity:   Value
   IsTuned:         false

Create a trackingIMM object.

filter = trackingIMM;

Obtain the tunable properties using the tunableProperties object function. You can click the links (active in live script) in the display to display the tunable properties of the tracking filters used in the trackingIMM object.

tps = tunableProperties(filter)
tps = 
Tunable properties for object of type: trackingIMM

Property:      TransitionProbabilities
   PropertyValue:   [0.9 0.05 0.05;0.05 0.9 0.05;0.05 0.05 0.9]
   TunedQuantity:   Rows sum to one
   IsTuned:         true
       TunedQuantityValue:  [0.9 0.05 0.05;0.05 0.9 0.05;0.05 0.05 0.9]
       TunableElements:     [1 2 3 4 5 6 7 8 9]
       LowerBound:          [0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001 0.001]
       UpperBound:          [1 1 1 1 1 1 1 1 1]
Property:      ModelProbabilities
   PropertyValue:   [0.333333333333333;0.333333333333333;0.333333333333333]
   TunedQuantity:   Columns sum to one
   IsTuned:         true
       TunedQuantityValue:  [0.333333333333333;0.333333333333333;0.333333333333333]
       TunableElements:     [1 2 3]
       LowerBound:          [0.001 0.001 0.001]
       UpperBound:          [1 1 1]

The filter contains 3 tracking filters
   Show tunable properties for filter 1
   Show tunable properties for filter 2
   Show tunable properties for filter 3

Create a trackingGSF object.

filter = trackingGSF
filter = 
  trackingGSF with properties:

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

           TrackingFilters: {2x1 cell}
    HasMeasurementWrapping: [0 0]
        ModelProbabilities: [2x1 double]

          MeasurementNoise: [3x3 double]

Obtain the tunable properties using the tunableProperties object function. By default, the function assumes the tracking filters of the trackingGSF object are parameterized and share the same models and process noise. Therefore, only the ProcessNoise property is tunable.

tps1 = tunableProperties(filter)
tps1 = 
Tunable properties for object of type: trackingGSF

Property:      ProcessNoise
   PropertyValue:   [1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]
   TunedQuantity:   Square root
   IsTuned:         true
       TunedQuantityValue:  [1 0 0 0;0 1 0 0;0 0 1 0;0 0 0 1]
       TunableElements:     [1 5 6 9 10 11 13 14 15 16]
       LowerBound:          [0 0 0 0 0 0 0 0 0 0]
       UpperBound:          [10 10 10 10 10 10 10 10 10 10]

Set the AsParameterizedFilter argument to false, which allows the tuner to tune each tracking filter individually.

tps2 = tunableProperties(filter,AsParameterizedFilter=false)
tps2 = 
Tunable properties for object of type: trackingGSF

Property:      ModelProbabilities
   PropertyValue:   [0.5;0.5]
   TunedQuantity:   Columns sum to one
   IsTuned:         true
       TunedQuantityValue:  [0.5;0.5]
       TunableElements:     [1 2]
       LowerBound:          [0.001 0.001]
       UpperBound:          [1 1]

The filter contains 2 tracking filters
   Show tunable properties for filter 1
   Show tunable properties for filter 2

Input Arguments

collapse all

Tracking filter, specified as one of these objects:

Indicate if the tracking filters of the trackingGSF object are parameterized, specified as true or false.

  • true (default) — The trackingFilterTuner object treats the tracking filters in the TrackingFilters property of the trackingGSF object as a set of parameterized filters and assumes that these tracking filters have the same target process model. Therefore, the tuner assumes these tracking filters share the same process noise matrix and only tunes this matrix.

  • false — The trackingFilterTuner object tunes each tracking filter in the TrackingFilters property of the trackingGSF object individually. In this case, the tuner tunes the ModelProbabilities property of the trackingGSF object and the tunable properties of each tracking filter.

Tip

You can use the setPropertyTunability object function of the tunableFilterProperties object to further custom the tunable properties and tunable elements.

Output Arguments

collapse all

Tunable properties, returned as a tunableFilterProperties object.

Version History

Introduced in R2022b