Validate Online Parameter Estimation Results in Simulink
Use the following approaches to validate an online estimation performed using the Recursive Least Squares Estimator or Recursive Polynomial Model Estimator block:
Examine the estimation error (residuals), which is the difference between the measured and estimated outputs. The estimation error can be large at the beginning of the estimation or when there are large parameter variations. The error should get smaller as the parameter estimates converge. Small errors with respect to the size of the outputs give confidence in the estimated values.
You can also analyze the residuals using techniques such as the whiteness test and the independence test. For such analysis, use the measured data and estimation error collected after the parameter values have settled to approximately constant values. For more information regarding these tests, see What Is Residual Analysis?
To obtain the estimation error, in the Algorithm and Block Options tab, select the Output estimation error check box. The software adds an Error outport to the block, which you can monitor using a Scope block. This outport provides the one-step-ahead estimation error, e(t) = y(t)–yest(t). For the time step, t, y and yest are the measured and estimated outputs, respectively.
The parameter covariance is a measure of estimated uncertainty in the parameters, and is calculated when the forgetting factor or Kalman filter estimation algorithms are used.
Parameter covariance is computed assuming that the residuals are white noise, and the variance of these residuals is 1. To obtain the parameter covariance, in the Algorithm and Block Options tab of the online estimation block parameters, select the Output parameter covariance matrix check box. The software adds a Covariance outport to the block, which you can monitor using a Display block. This outport provides the parameter covariance matrix,
P
.The estimated parameters can be considered as random variables with variance equal to the corresponding diagonal of the parameter covariance matrix, scaled by the variance of the residuals (
residualVariance
) at each time step. You use prior knowledge, or calculateresidualVariance
from the residuals,e
. Where,e
is the vector of estimation errors, e(t).residualVariance = var(e);
Scale the parameter covariance to calculate the variance of the estimated parameters.
paramVariance = diag(P)*residualVariance;
A smaller variance value gives confidence in the estimated values.
Simulate the estimated model and compare the simulated and measured outputs. To do so, feed the measured input into a model that uses the estimated time-varying parameter values. Then, compare the model output with the measured output. The simulated output closely matching the measured output gives confidence in the estimated values.
For examples of such validation, see Online Recursive Least Squares Estimation and Online ARMAX Polynomial Model Estimation.
If the validation indicates low confidence in the estimation, then refer to the Troubleshooting topics on the Online Estimation page.
See Also
Recursive Least Squares Estimator | Recursive Polynomial Model Estimator | Kalman Filter