Hi, all! It's been a long time. I have translated many of my latest projects and documents. I have hidden the all Turkish content except the document about the A* algorithm. I will translate it soon. Also, there are a lot of old projects of mine are waiting to be translated.


Even though modeling reality is mostly difficult in life, approximation is possible via predictions which is updated by observations. Initial predictions which do not depend on well analogical inferences, may cause high deviations. But, these predictions may be better if their effects are measurable, follow certain patterns and the results are evaluated, properly. Deviation from reality, may become lower with the inclusion of experience.

Classical physics which looks deterministic, deviates from reality because of factors which are not considered in equation. So, predictions should be revised to avoid from increasing deviation. Equations are just models and they are not equivalent to reality. Results differ slightly from actual. But, small errors increase with the time and deviation grows.

For example, the measurements made with inertial measurement unit (IMU) of an unmanned aerial vehicle (UAV), have small errors because of limited accuracy. These small errors grow and mislead the UAV. So, Kalman filter is used for improving predictions.

Although Kalman filter is called as a filter, it is used for a prediction tool in various fields. Literally, it filters the noise and based on prediction, comparison, update and revised estimation stages.

Statistics comes into play here. In a non-deterministic, stochastic systems, it’s not possible to get 100% accurate results because of system noise and measurement noise. If the system is linear and the noise is Gaussian, Kalman filter’s approximation is better. "Gaussian", also known as “Normal distribution” is seen in this condition. Weighted average variance is calculated and when it decreases, precision increases.

For the constant  at first, the estimated value is  with   variance at .

And, the estimated value is  with   variance at .


The weighted average of these,




The new entries made in the following manner,


And the variance is updated.


As you see, these operations can be done, recursively.

Estimation is done before the observation at  again.

And correction is done depending on observation.

Kalman filter works in this way as a dynamic model.

Kalman gain is "weight" depending on    and.

These formulas are seen when we look at Kalman filter,

At first, k is index of discrete time.  is estimation value  and  is previous estimation value, is control value and  is previous noise value.

A; state transition matrix, B; control matrix, H; observation matrix. 

is measured value, is measurement noise.

These formulas are used in estimation period,

estimation value at k,  is value (before the measurement, after the estimation) is co-variance (before measurement), Q is estimated error co-variance.

In measurement update stage, these formulas are seen,

Innovation is calculated with this formula,

And then Kalman gain is calculated,

R is measurement error co-variance.

With  co-variance is updated.


1. Estimation before the measurement.

2. Estimation of the error co-variance.

3. Kalman gain is calculated.

4. Estimation update stage

5. Error co-variance is updated.

That’s it… Also, there is an extended Kalman filter for nonlinear systems, too. In short, the first method of it, transforming nonlinear to linear. Generally, formulas are the same. I’ll talk about it later.


Image Sources: Wolfram Alpha, Wikipedia