plotFilterErrors
Plot tracking filter errors
Syntax
Description
plotFilterErrors(
plots the position and
velocity estimate errors on the x-, y-, and
z-axes. The function also plots the 3-sigma covariance envelopes, which
ideally contain roughly 99.7% of the state estimate errors for a consistent filter.tuner
)
Note
Use the tune
object
function before calling the plotFilterErrors
function if you have
changed any of these properties of the tuner
:
FilterInitializationFcn
TunablePropertiesSource
CustomTunableProperties
Examples
Tune trackingEKF
Using Tracking Filter Tuner
Load the tuning data containing the truth and detection data. The truth data has the position and velocity of one target for a duration of 9.5 seconds. The detection data has object detections of ten Monte-Carlo runs for the same period.
load("filterTuningData.mat","truth","detlog");
Create a trackingFilterTuner
object.
tuner = trackingFilterTuner;
By default, the FiliterInitialization
property of the tuner returns an initialization function that initializes a trackingEKF
object.
initFcn = tuner.FilterInitializationFcn
initFcn = "initcvekf"
Initialize the trackingEKF
object and display the untuned process noise.
filter = feval(tuner.FilterInitializationFcn,detlog{1}); disp(filter.ProcessNoise);
1 0 0 0 1 0 0 0 1
Specify the SolverOptions
property so that the tuner displays the tuning progress for every iteration and set the maximum number of iterations to 30.
tuner.SolverOptions = optimoptions("fmincon",Display ="iter", ... MaxIterations=30);
Using the tune
object function, tune the filter with the detection log and the truth data. Return the tuned properties.
tunedProps = tune(tuner,detlog,truth);
Your initial point x0 is not between bounds lb and ub; FMINCON shifted x0 to strictly satisfy the bounds. First-order Norm of Iter F-count f(x) Feasibility optimality step 0 7 9.294119e+00 0.000e+00 3.977e-02 1 14 9.274890e+00 0.000e+00 3.653e-02 1.313e-01 2 21 9.182690e+00 0.000e+00 3.089e-02 6.852e-01 3 28 9.077721e+00 0.000e+00 4.671e-02 1.166e+00 4 35 9.073360e+00 0.000e+00 4.441e-02 9.369e-02 5 42 9.054802e+00 0.000e+00 4.320e-02 2.909e-01 6 49 9.047225e+00 0.000e+00 2.914e-02 2.754e-01 7 56 9.047721e+00 0.000e+00 1.084e-02 3.484e-02 8 63 9.047374e+00 0.000e+00 4.113e-03 5.013e-02 9 70 9.047364e+00 0.000e+00 2.893e-03 1.480e-02 10 77 9.047318e+00 0.000e+00 1.734e-03 1.414e-02 11 84 9.047302e+00 0.000e+00 9.999e-04 7.210e-03 12 91 9.045889e+00 0.000e+00 1.152e-03 6.212e-02 13 98 9.045539e+00 0.000e+00 8.820e-04 2.369e-02 14 105 9.045480e+00 0.000e+00 8.302e-04 5.352e-03 15 112 9.045468e+00 0.000e+00 6.217e-04 2.099e-03 16 119 9.045470e+00 0.000e+00 2.000e-04 1.936e-03 17 126 9.045223e+00 0.000e+00 1.153e-03 2.499e-02 18 133 9.045106e+00 0.000e+00 3.033e-04 1.772e-02 19 140 9.045095e+00 0.000e+00 1.018e-04 2.418e-03 20 147 9.045095e+00 0.000e+00 1.007e-04 5.276e-04 21 154 9.045095e+00 0.000e+00 9.443e-05 9.549e-04 22 161 9.045095e+00 0.000e+00 8.803e-05 7.331e-04 23 168 9.045095e+00 0.000e+00 7.113e-05 1.197e-03 24 175 9.045094e+00 0.000e+00 1.094e-04 7.076e-04 25 182 9.045094e+00 0.000e+00 1.111e-04 6.153e-04 26 189 9.045094e+00 0.000e+00 7.520e-05 2.503e-04 27 196 9.045094e+00 0.000e+00 4.000e-05 1.866e-04 28 203 9.045034e+00 0.000e+00 3.476e-04 1.553e-02 29 210 9.045015e+00 0.000e+00 3.322e-05 7.214e-03 30 217 9.045013e+00 0.000e+00 1.526e-05 1.220e-03 Solver stopped prematurely. fmincon stopped because it exceeded the iteration limit, options.MaxIterations = 3.000000e+01.
Set the filter tunable properties by using the setTunedProperty
object function of the filter. Display the tuned process noise.
setTunedProperties(filter,tunedProps); disp(filter.ProcessNoise);
0.0000 0.0001 0.0000 0.0001 0.0149 0.0007 0.0000 0.0007 0.0002
Plot the filter estimation error after tuning by using the plotFilterErrors
object function.
plotFilterErrors(tuner)
Input Arguments
tuner
— Tracking filter tuner
trackingFilterTuner
object
Tracking filter tuner, specified as a trackingFilterTuner
object.
Version History
Introduced in R2022b
See Also
Ouvrir l'exemple
Vous possédez une version modifiée de cet exemple. Souhaitez-vous ouvrir cet exemple avec vos modifications ?
Commande MATLAB
Vous avez cliqué sur un lien qui correspond à cette commande MATLAB :
Pour exécuter la commande, saisissez-la dans la fenêtre de commande de MATLAB. Les navigateurs web ne supportent pas les commandes MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)