I've seen this question, which asks about determining the process noise for an EKF. I don't see anything there about pre-recorded data sets.

My thought on how to determine the noise parameters, assuming ground truth is available, would be to run the data several times with the EKF and minimize the mean square error, while varying the noise parameters.

Is this an acceptable way to determine noise for a pre recorded data set? Are there better (or just other) ways from determining the optimal noise values based just on the data set?


1 Answer 1


Yes, such a method can give you a reasonable estimates of noise. Note that it is susceptible to systematic error. For instance if you are flying a quadrotor in the presence of a fan. This would show up in your findings which is generally undesirable.

With that said you could improve your estimates by using the forward-backward algorithm. This algorithm is named from the fact that it consists of a forward pass and a backward pass. The forward pass is basically just an application of a Kalman-Filter, which as you may already realize, only includes data available up until the time step for which the state is being estimated. The backward pass then improves these estimates by including data available after the time in question.

I have only used the forward-backward algorithm with a KF (i.e. not an EKF). As such I don't know the precise implementation details when using an EKF. However there does appear to be some literature on the topic.

Edit: As I think about this further it occurs to me that you can use expectation maximization (EM) and coordinate descent (CD) to automatically determine the noise parameters. The process would treat the covariance matrices for the process model (call it P) and observation models (call it O) as EM parameters and proceeds as follows:

  1. Start with your best guess for one of the matrices. Say P for the sake of an example. Then use EM to identify O.
  2. Use the O found in step 1 with EM to improve the estimate of P.
  3. Repeat steps 1 and 2 until the log-likelihood of using O and P reaches some stopping criterion (e.g. stops varying, varies very little, or is minimized).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.