{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Kalman filtering 1.\n",
"\n",
"## Brief history\n",
"\n",
"* Rudolf Emil Kalman (1930-[2016](https://en.wikipedia.org/wiki/Rudolf_E._K%C3%A1lm%C3%A1n)) American electrical engineer and mathematician, born in Hungary, publishes his theory (1960) \n",
"* First application: unmanned Lunar mission (1963)\n",
"* Applications in navigation and engineering\n",
"* Sensor fusion (radar, laser scanner, camera, INS,…)\n",
"* Integral part of GNSS receivers, smartphones, computers, games, etc.\n",
"* Forecasting stock prices, time series analysis, approximation of functions\n",
"\n",
"The original [publication](https://www.cs.unc.edu/~welch/kalman/media/pdf/Kalman1960.pdf) received more than 30 thousand citations. Let's have a look at it:\n",
"\n",
"\n",
"## Do you understand?\n",
"\n",
"Kalman filter filter yields the exact conditional probability estimate in the special case that all errors are Gaussian. The underlying model is similar to a hidden Markov model except that the state space of the latent variables is continuous and all latent and observed variables have Gaussian distributions.\n",
"\n",
"The above definition is correct but does not make it understand for most of us **what** Kalman filter really is. To understand it, we will consider its properties one after the other:\n",
"\n",
"* recursive\n",
"* optimal\n",
"* makes estimation of indirect (hidden) state\n",
"\n",
"Finally, Kalman filter equations will be derived which may be easier to grasp from geodetic perspective and discuss a simple navigational example to show how Kalman filter works."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Recursive estimation\n",
"\n",
"A very simple example is measurement of the state $x$ (which is a scalar variable) of a system at the epochs $t_1, t_2, ... , t_n$. \n",
"\n",
"Our measrurements are $x_1, x_2, ... , x_n$.\n",
"\n",
"The best state estimate (assuming Gaussian distribution) in this case is the well-known arithmetic mean or *average*:\n",
"\n",
"$$ \\mu_n = \\frac{1}{n} \\sum_{i=1}^n x_i.$$\n",
"\n",
"Suppose we have a new measurement $x_{n+1}$, and our goal is to calculate a new state estimate by using this new measurement. This is the average based on $n+1$ measurements:\n",
"\n",
"$$ \\mu_{n+1} = \\frac{1}{n+1} \\sum_{i=1}^{n+1} x_i.$$\n",
"\n",
"A much more efficient calculation is to \"update\" our previous average $\\mu_n$ by using our new measurement:\n",
"\n",
"$$ \\mu_{n+1} = \\frac{n}{n+1} \\left( \\frac{1}{n} \\sum_{i=1}^n x_i + \\frac{1}{n} x_{n+1} \\right) = \\frac{n}{n+1}\\mu_n + \\frac{1}{n+1} x_{n+1}.$$\n",
"\n",
"Our calculator's `STAT` function works similarly: it \"updates\" the average at each step by using the input data at each step. This is a *recursive estimation*: estimation is updated after getting more data. In our example recursive state estimation can be written in a slightly different form:\n",
"\n",
"$$\\mu_{n+1} = \\frac{n}{n+1}\\mu_n + \\frac{1}{n} x_{n+1} = \\mu_n + K(x_{n+1} - \\mu_n),$$\n",
"\n",
"where \n",
"\n",
"$$K = \\frac{1}{n+1}$$\n",
"\n",
"denotes *gain*, which tells us the correction to the previous average $\\mu_n$, and\n",
"\n",
"$$x_{n+1} - \\mu_n,$$\n",
"\n",
"is *innovation* (i.e. new information), since it decides whether our previous estimate changes at all. For when the new measurement $x_{n+1}$ and the previous average $\\mu_n$ are the same, our estimate does not change at all.\n",
"\n",
"Let us have a numerical example:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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OAYfUUqxfft2NmzYQFlZmePvGUVtiIib8cTxQuB0jmNOphOpra01StoAgIjQpUsXtm7dmtD3TNSHISJuxhPHCoHTOY45lY1ujZI2BEmmLhhFbYiIm/HEsULgdI5j1rkTMWQ3RlEbIuJmPHGsRT06xzF71YnMXVrJqBkLKZv2EqNmLHRksRvi88Ybb/Duu+/6LUZSGEVtiIibKyRjLerReWWmF51IKu6VTKKhocHzexpFbcg63F4hOWloKYumjWX1jAksmja2+bo6r8z0ohNxy72yZs0a+vXrxxVXXMGAAQOYPHkyCxYsYNSoURx55JF8+OGHVFdXc9lllzF8+HCGDh3KCy+80Pzdk046iWHDhjFs2LBmZbdp0yZOPvlkhgwZwoABA3j77bcBaN++ffN9n3nmGaZMmQLAlClT+NnPfsaYMWO44YYbWLVqFWeccQbHHXccJ510EitXrmw+7+qrr2bMmDEcdthhvPnmm1x22WUcc8wxzdcCeOWVVxg5ciTDhg3jwgsvZO9ea8fAvn37cssttzBs2DAGDhzIypUrWbNmDbNmzeLuu+9myJAhvP3228yZM4cBAwYwePBgTj755JTK121M1IchKn6tkNR1ZaYXi2HcdK98/fXXzJkzhwceeIDhw4fz5JNP8s477zBv3jxuv/12+vfvz9ixY3n44Yepqqri+OOP59RTT6Vbt268+uqrFBQU8NVXX3HxxRdTUVHBk08+yfjx47nppptobGxk3759cWX48ssvWbBgAbm5uYwbN45Zs2Zx5JFH8sEHH3DNNdewcOFCAHbu3MnChQuZN28eEydOZNGiRTz44IMMHz6cZcuW0atXL2677TYWLFhAu3btuPPOO/njH//IzTffDEDXrl1ZsmQJ999/PzNnzuTBBx/kqquuon379vziF78AYODAgcyfP5/S0lKqqqpSLl83MYraYEgAtzuRaLt0p8O9UlZWxsCBAwE49thjGTduHCLCwIEDWbNmDRs2bGDevHnMnDkTsMIK161bR8+ePbn22mtZtmwZubm5fPnllwAMHz6cyy67jPr6eiZNmsSQIUPiynDhhReSm5vL3r17effdd7nwwgubP9u/f3/z64kTJzbL1r179xZyB2X9/PPPGTVqFAB1dXWMHDmy+fvnn38+AMcddxzPPfdcRFlGjRrFlClT+N73vtd8vq4YRW0waISbuUbatGnT/DonJ6f5fU5ODg0NDeTm5vLss89y9NEt7zV9+nS6d+/O8uXLaWpqoqCgAICTTz6Zt956i5deeolLLrmE66+/nh/84Actws/CV2O2a9cOgKamJoqLi1m2bFlMWUPlDJf1tNNOY/bs2TG/n5ubG9UfPmvWLD744ANeeuklhgwZwrJly+jSpUvEc/3G+KgNBo3w00c/fvx4/vSnP6GUAmDp0qUA7Nq1ix49epCTk8Pf//53GhutTmTt2rV069aNH/7wh1x++eUsWbIEgO7du7NixQqampp4/vnnI96rY8eOlJWVMWfOHMBasbd8+XLHso4YMYJFixbx9ddfA7Bv375mSz8aHTp0YM+ePc3vV61axQknnMCtt95K165dWb9+veP7e42xqA0GzfDLR//rX/+aqVOnMmjQIJRS9O3blxdffJFrrrmGCy64gDlz5jBmzJhmq/iNN97grrvuIhAI0L59ex5//HEAZsyYwdlnn03v3r0ZMGBA8yRfOE888QRXX301t912G/X19Vx00UUMHjzYkawlJSU8+uijXHzxxc0uk9tuu42jjjoq6ncmTpzId7/7XV544QX+9Kc/cffdd/PVV1+hlGLcuHGO7+0HEuw900l5ebmqqKhI+3UNhkxkxYoVHHPMMX6LYdCISHVCRBYrpcojnW9cHwaDwaA5RlEbDAaD5hhFbTAYDJoTV1GLSG8ReV1EVojIZyLyEy8EMxgMBoOFk6iPBuDnSqklItIBWCwiryqlPndZNoPBYDDgwKJWSm1SSi2xX+8BVgD6re81GAyGLCUhH7WI9AWGAh9E+OxKEakQkYpEdy8wGAz68Oijj7Jx48bm91dccQWff576AHrNmjU8+eSTze8rKir48Y9/nPJ1YzFnzhyOOeYYxowZ4+p93MaxohaR9sCzwFSl1O7wz5VSDyilypVS5SUlJemU0WAweEi4on7wwQfp379/ytcNV9Tl5eXcd999KV83Fg899BD3338/r7/+uqv3cRtHKxNFJIClpJ9QSkXOcGIwGOLz72nw7SfpveYhA+HMGTFP+cc//sF9991HXV0dJ5xwAvfffz8Al19+ORUVFYgIl112Gb1796aiooLJkydTWFjIe++9x5lnnsnMmTMpLy+nffv2/OhHP2LBggV06tSJ22+/nV/+8pesW7eOe+65h3POOYc1a9ZwySWXUF1dDcCf//xnTjzxRKZNm8aKFSsYMmQIl156KUOHDmXmzJm8+OKL7Nixg8suu4xvvvmGtm3b8sADDzBo0CCmT5/OunXr+Oabb1i3bh1Tp06NaIXPnj2b22+/HaUUEyZM4M477+TWW2/lnXfeYfXq1Zxzzjncddddzee/8cYb3HLLLXTv3p1ly5Zx/vnnM3DgQO69915qamqYO3cuhx9+OFu3buWqq65i3bp1ANxzzz2MGjWKDz/8kKlTp1JTU0NhYSGPPPIIRx99NI8++ijz5s1j3759rFq1ivPOO4/f//73qf/GSqmYf4AAjwP3xDs3+Hfccccpg8Fg8fnnnx948/INSj18Vnr/Xr4h7v3PPvtsVVdXp5RS6uqrr1aPPfaYqqioUKeeemrzeTt37lRKKXXKKaeojz76qPl46HtAvfzyy0oppSZNmqROO+00VVdXp5YtW6YGDx6slFKqurpa1dTUKKWU+vLLL1VQH7z++utqwoQJzdcNfX/ttdeq6dOnK6WUeu2115qvdcstt6iRI0eq2tpatXXrVtW5c+fm5whSWVmpevfurbZs2aLq6+vVmDFj1PPPPx/xWULvXVRUpDZu3Khqa2tVz5491c0336yUUuqee+5RP/nJT5RSSl188cXq7bffVkoptXbtWtWvXz+llFK7du1S9fX1SimlXn31VXX++ecrpZR65JFHVFlZmaqqqlI1NTWqT58+at26dRF/k3CAChVFpzqxqEcBlwCfiMgy+9j/KqVeTr2baEkyOzwbDBlFHMvXDV577TUWL17M8OHDAaipqaFbt25MnDiRb775huuuu44JEyZw+umnx71Wfn4+Z5xxBmDlc27Tpg2BQKA5VSpAfX19xLSosXjnnXd49tlnARg7dizbt29n165dAEyYMIE2bdrQpk0bunXrxubNm+nVq1fzdz/66CNGjx5N0OU6efJk3nrrLSZNmhTznsOHD6dHjx4AHH744c3PP3DgwGZXyYIFC1r453fv3s2ePXvYtWsXl156KV999RUiQn19ffM548aNo6ioCID+/fuzdu1aevfuHbcMYhFXUSul3sGyql0luAVRML1jcAsiwCjrLMd00O6ilOLSSy/ljjvuOOiz5cuXM3/+fP7yl7/w9NNP8/DDD8e8ViAQaE5jGilVKsDdd98dMS1qPBnDCd4nNM1ppLSlkb7rhHhpX8FKx/ree+9RWNgyH/h1113HmDFjeP7551mzZg2jR4+OeN1YaVYTQZuViWaH59ZJa9kj0E/GjRvHM888w5YtWwDYsWMHa9euZdu2bTQ1NXHBBRfw29/+tjlNaXg60ESJlhY11nVPPvlknnjiCcDyH3ft2pWOHTs6ut8JJ5zAm2++ybZt22hsbGT27NmccsopScsfyumnn86f//zn5vfB/Nm7du2itNQyJh599NG03CsW2ihqr3Z4NuiF6aDdp3///tx2222cfvrpDBo0iNNOO41NmzZRWVnJ6NGjGTJkCFOmTGm2uKdMmcJVV13FkCFDqKlJvP1dc801PPbYY4wYMYIvv/yyOS3qoEGDyMvLY/Dgwdx9990tvjN9+nQqKioYNGgQ06ZN47HHHnN8vx49enDHHXcwZswYBg8ezLBhwzj33HMTljsS9913X7Nc/fv3Z9asWQD88pe/5MYbb2TUqFHNHZGbaJPmdNSMhRG3ICotLmTRtLHpEs2gGWXTXiJSDRRg9YwJXovjCibNqSGcjE1z6sUOzwb9iLYXYDr2CDQYsgVtFLWfWxAZ/MN00AZDfLTaisuvLYgM/hH8vbM96kMp1WLTV0PrJRl3s1aK2tA6yfYOuqCggO3bt9OlSxejrFs5Sim2b9/uKGQxFKOoDQaX6dWrFxs2bMAkKzOA1XGHLthxglHUBoPLBAIBysrK/BbDkMFoM5loMBgMhsgYRW0wGAyaYxS1wWAwaI4rKxNFZCuwNsGvdQW2pV2Y9KCrbEauxDByJY6usmWjXIcqpSLuuuKKok4GEamItnzSb3SVzciVGEauxNFVttYml3F9GAwGg+YYRW0wGAyao5OifsBvAWKgq2xGrsQwciWOrrK1Krm08VEbDAaDITI6WdQGg8FgiIBR1AaDwaA5WihqETlDRL4Qka9FZJqPcvQWkddFZIWIfCYiP7GPTxeRShFZZv+d5YNsa0TkE/v+FfaxziLyqoh8Zf/v5LFMR4eUyTIR2S0iU/0qLxF5WES2iMinIceilpGI3GjXuS9EZLzHct0lIitF5GMReV5Eiu3jfUWkJqTsZnksV9TfzufyeipEpjUissw+7mV5RdMP7tcxpZSvf0AusAo4DMgHlgP9fZKlBzDMft0B+BLoD0wHfuFzOa0BuoYd+z0wzX49DbjT59/xW+BQv8oLOBkYBnwar4zs33U50AYos+tgrodynQ7k2a/vDJGrb+h5PpRXxN/O7/IK+/wPwM0+lFc0/eB6HdPBoj4e+Fop9Y1Sqg74J5CenSkTRCm1SSm1xH69B1gB6Jwo+VwguAvoY8Ak/0RhHLBKKZXoitS0oZR6C9gRdjhaGZ0L/FMptV8ptRr4GqsueiKXUuoVpVSD/fZ9ILG8ly7JFQNfyyuIWAm9vwfMduPesYihH1yvYzoo6lJgfcj7DWigHEWkLzAU+MA+dK09TH3YaxeDjQJeEZHFInKlfay7UmoTWJUI6OaDXEEuomXj8bu8gkQrI53q3WXAv0Pel4nIUhF5U0RO8kGeSL+dLuV1ErBZKfVVyDHPyytMP7hex3RQ1JG2vPA1ZlBE2gPPAlOVUruBvwKHA0OATVhDL68ZpZQaBpwJ/EhETvZBhoiISD5wDjDHPqRDecVDi3onIjcBDcAT9qFNQB+l1FDgZ8CTItLRQ5Gi/XZalBdwMS0NAs/LK4J+iHpqhGNJlZkOinoD0DvkfS9go0+yICIBrB/hCaXUcwBKqc1KqUalVBPwN1wa8sVCKbXR/r8FeN6WYbOI9LDl7gFs8VoumzOBJUqpzbaMvpdXCNHKyPd6JyKXAmcDk5Xt1LSHydvt14ux/JpHeSVTjN9Oh/LKA84Hngoe87q8IukHPKhjOijqj4AjRaTMtswuAub5IYjt/3oIWKGU+mPI8R4hp50HfBr+XZflaiciHYKvsSaiPsUqp0vt0y4FXvBSrhBaWDl+l1cY0cpoHnCRiLQRkTLgSOBDr4QSkTOAG4BzlFL7Qo6XiEiu/fowW65vPJQr2m/na3nZnAqsVEptCB7wsryi6Qe8qGNezJY6mE09C2sGdRVwk49yfAdraPIxsMz+Owv4O/CJfXwe0MNjuQ7Dmj1eDnwWLCOgC/Aa8JX9v7MPZdYW2A4UhRzzpbywOotNQD2WNXN5rDICbrLr3BfAmR7L9TWW/zJYz2bZ515g/8bLgSXARI/livrb+Vle9vFHgavCzvWyvKLpB9frmFlCbjAYDJqjg+vDYDAYDDEwitpgMBg0xyhqg8Fg0ByjqA0Gg0FzjKI2GAwGzTGK2mAwGDTHKGqDwWDQnP8PPQ9J63Lr5N0AAAAASUVORK5CYII=",
"text/plain": [
"