13
$\begingroup$

I'm learning Kalman Filter for a week now. I just discovered that EKF (extended Kalman Filter) might be more appropriate for my case.

Le't suppose I'm applying KF/EKF for variometer (the device that tells planes and parachuters what's their vertical position and velocity). In my case I've generated some sample data: the first few seconds he (the parachuter for e.g.) is falling (the velocity is positive) then he is rising (velocity is negative).

As far as I can tell this system is linear. So should I use KF or EKF?

$\endgroup$
1
  • $\begingroup$ I want to know about the msckf in detail? I am doing a project on it? $\endgroup$ Commented Dec 15, 2015 at 5:11

3 Answers 3

16
$\begingroup$

The answer is simple: if your system is linear, then a (regular) Kalman filter will do just fine. A very brief summary of the differences between the two:

The extended Kalman filter (EKF) is an extension that can be applied to nonlinear systems. The requirement of linear equations for the measurement and state-transition models is relaxed; instead, the models can be nonlinear and need only be differentiable.

The EKF works by transforming the nonlinear models at each time step into linearized systems of equations. In a single-variable model, you would do this using the current model value and its derivative; the generalization for multiple variables and equations is the Jacobian matrix. The linearized equations are then used in a similar manner to the standard Kalman filter.

As in many cases where you approximate a nonlinear system with a linear model, there are cases where the EKF will not perform well. If you have a bad initial guess of the underlying system's state, then you could get garbage out. In contrast to the standard Kalman filter for linear systems, the EKF is not proven to be optimal in any sense; it's merely an extension of the linear-system technique to a wider class of problems.

$\endgroup$
5
  • $\begingroup$ Thank you. Could you point out one or two real life examples where one should use EKF? $\endgroup$
    – c0dehunter
    Commented Aug 16, 2012 at 12:48
  • 2
    $\begingroup$ Consider the example of a radar that tracks a target that is free to move in 3D space. The radar can measure the elevation and azimuth angles between it and the target, as well as the range to the target. This is a spherical coordinate system. However, the target's dynamics (position, velocity, acceleration) are best expressed in Cartesian coordinates, so you might express the tracking system's state as the target's Cartesian position. Thus, there is a nonlinear relationship between the measurements and the system state, which would suggest use of an extended Kalman filter. $\endgroup$
    – Jason R
    Commented Aug 16, 2012 at 19:49
  • $\begingroup$ So the KF or EKF has nothing to do with the noise right? The idea that only when the noise is normal can one apply KF is wrong, right? $\endgroup$ Commented Aug 20, 2013 at 14:03
  • $\begingroup$ @perfectionm1ng: One of the main assumptions of the entire Kalman filter framework is that the noise processes involved are Gaussian. However, if this isn't true, it could still be "good enough" for your application. The EKF vs. KF distinction is the linear versus nonlinear relationship between measurements and state as described above. $\endgroup$
    – Jason R
    Commented Aug 20, 2013 at 14:39
  • $\begingroup$ @JasonR Oh! I see. Could you please kindly help on these 2 related questions? robotics.stackexchange.com/questions/1767/… and dsp.stackexchange.com/questions/10387/… $\endgroup$ Commented Aug 20, 2013 at 14:43
6
$\begingroup$

My answer is that if it's linear system you should use KF; if it's nonlinear system with weak nonlinearity you should use EKF, if the nonlinear system with high nonlinearity you may consider the well-known UKF. I draw a graph for this, hopefully, it's useful. enter image description here

$\endgroup$
5
$\begingroup$

A quick literature survey tells me that the EKF is commonly used in GPS, location/navigation systems and also in unmanned aerial vehicles. [See for instance ``Application of Extended Kalman Filter Towards UAV Identification,'' Abhijit G. Kallapur, Shaaban S. Ali and Sreenatha G. Anavatti, Springer (2007)].

If you have reason to believe that a linear approximation to the nonlinearity in your system is not too detrimental then EKF may give better results than a KF. But there are no theoretical guarantees of optimality.

$\endgroup$
2
  • $\begingroup$ Thank you. I'm working with aeronautic systems but I wasn't presented with the actual case yet - just want to clear things up before. $\endgroup$
    – c0dehunter
    Commented Aug 17, 2012 at 6:32
  • 1
    $\begingroup$ The reason that the EKF or UKF is often used in GPS/IMU fusion is because you need to maintain the attitude (roll, pitch, yaw) of the platform as a state. Rotations, and their impact on the vehicle's equations of motion, are strongly nonlinear. In my experence the EKF will work, but a UKF, done right, has vastly faster acquisition from a cold start. $\endgroup$
    – TimWescott
    Commented Nov 5, 2022 at 22:25

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