# The Extended Kalman Filter: An Interactive Tutorial for Non-Experts

### Part 3: Putting it Together

So now we have two equations describing the state of our airplane:
**
***altitude*_{current_time} = * *altitude*_{previous_time}

**
***observed_altitude*_{current_time} =
*altitude*_{current_time} + *noise*_{current_time}

These equations are pretty easy to understand, but they aren't general enough to deal with systems other than
our airplane-altitude example. To make the equations more general, engineers adopt the familiar mathematical
convention of using names like $x$, $y$, and $z$
for variables and $a$ and $b$ for constants, and the subscript $k$
to represent time.^{[3]} So our equations become:
\[
\begin{aligned}
x_k & = a x_{k-1} \\
z_k & = x_k + v_k \\
\end{aligned}
\]
where $x$ is the current state of our system, $x_{k-1}$ is its previous state, $a$
is some constant (0.98 in our example), $z_k$ is our current observation of the system, and $v_k$
is the current noise measurement. One reason the Kalman filter is so popular is
that it allows us to get a very good estimation of the actual current state $x_k$
given the observation $z_k$, the constant $a$, and the overall amount of measurement noise $v$.

To complete the picture, we should also consider that that actual altitude of the airplane may not describe a
perfectly smooth path. As anyone who has ever flown can tell you, airplanes typically experience a certain
amount of turbulence as they descend for a landing. This turbulence is by definition noisy, and so can
be treated as another noise signal:

**
***altitude*_{current_time} = 0.98 * *altitude*_{previous_time} +
*turbulence*_{current_time}

More generally:
\[ x_k = a x_{k-1} + w_k \]
where $w_k$ is called the *process noise*, because, like turbulence, it is an inherent part of the process,
and not an artifact of observation or measurement. We will ignore process noise for a while in order to focus on
other topics, but we'll return to it in the section on Sensor Fusion.^{[4]}

###

Previous: Dealing with Noise
Next: State Estimation

[3] Why not *t* for time? Probably because time is being treated as a sequence
of discrete steps, for which an index variable like *k* is conventional.

[4] I have also ignored the control-signal component of the state equation, because
it is tangential to most of the Kalman Filter equations and can be easily added when needed.