The Extended Kalman Filter: An Interactive Tutorial for Non-Experts
Part 18: Computing the Derivative
If you've made it this far, you are in a very good position to understand the Extended Kalman Filter.
There are just two more things to consider:
- How to compute the first derivative from an actual signal, without knowing its underlying function.
- How to generalize our single-valued nonlinear state/observation model to the multi-valued systems we've been
considering.
To answer the first question, we note that the first derivative of a function
is defined as the limit of the difference between successive values of that function,
divided by the timestep, as the timestep approaches zero:
\[ f'(x) = \lim_{\Delta x \to 0} \frac{f(x+\Delta x) - f(x)}{\Delta x} \]
If you don't understand that equation, don't worry: just think about
subtracting successive differences of a signal $y$ to approximate its first
derivative:
\[ \frac{(y_{k+1} - y_k)} {timestep} \]
Indeed, as the demo below shows,
this finite difference formula is often a very good approximation to the first derivative.
The demo allows you to choose among the same three functions as on the previous page (shown in the
interval [0,1]), but this time you can select between the derivative and finite difference:
|
If one signal (like sensor value $z_k$) is a function of another
signal (like state $x_k$), we can divide successive differences of the first signal
by successive differences of the second signal:
\[ \frac{z_{k+1} - z_k}{x_{k+1}-x_k} \]
Previous: A Nonlinear Kalman Filter
Next: The Jacobian