Minor copy edits.

This commit is contained in:
Roger Labbe committed 2015-12-10 19:31:41 -08:00
1 parent 0ca7aa1e84
commit 9ece51233b
1 file changed
+20 -15
+20 -15
View File
@@ -16,7 +16,7 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": 2,
"metadata": {
"collapsed": false
},
@@ -262,7 +262,7 @@
"<IPython.core.display.HTML object>"
]
},
"execution_count": 1,
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
@@ -286,21 +286,21 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"It has probably struck you by now that the performance of the Kalman filter is not optimal when you consider future data. For example, suppose we are tracking an aircraft, and the latest measurement deviates far from the current track, like so (I'll only consider 1 dimension for simplicity):"
"The performance of the Kalman filter is not optimal when you consider future data. For example, suppose we are tracking an aircraft, and the latest measurement deviates far from the current track, like so (I'll only consider 1 dimension for simplicity):"
]
},
{
"cell_type": "code",
"execution_count": 2,
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x720c0f0>"
"<matplotlib.figure.Figure at 0x5c5ecc0>"
]
},
"metadata": {},
@@ -312,14 +312,16 @@
"\n",
"data = [10.1, 10.2, 9.8, 10.1, 10.2, 10.3, \n",
" 10.1, 9.9, 10.2, 10.0, 9.9, 11.4]\n",
"plt.plot(data);"
"plt.plot(data)\n",
"plt.xlabel('time')\n",
"plt.ylabel('position');"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"After a long period of near steady state, we have a very large change. Assume that change is larger than the aircraft's maneuvering envelope. Nonetheless the Kalman filter incorporates that new measurement into the filter based on the current Kalman gain. It cannot reject the noise because the measurement could reflect the initiation of a turn. Granted it is unlikely that we are turning so abruptly, but it is impossible to say whether \n",
"After a period of near steady state, we have a very large change. Assume the change is past the limit of the aircraft's flight envelope. Nonetheless the Kalman filter incorporates that new measurement into the filter based on the current Kalman gain. It cannot reject the noise because the measurement could reflect the initiation of a turn. Granted it is unlikely that we are turning so abruptly, but it is impossible to say whether \n",
" \n",
"* The aircraft started a turn awhile ago, but the previous measurements were noisy and didn't show the change.\n",
" \n",
@@ -327,6 +329,8 @@
" \n",
"* The measurement is very noisy and the aircraft has not turned\n",
"\n",
"* The aircraft is turning in the opposite direction, and the measurement is extremely noisy\n",
"\n",
"\n",
"Now, suppose the following measurements are:\n",
"\n",
@@ -400,7 +404,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"## An Overview of How They Work\n",
"## An Overview of How Smoothers Work\n",
"\n",
"The Kalman filter is a *recursive* filter - it's estimate at step `k` is partially based on its estimate from step `k-1`. But this means that the estimate from step `k-1` is partially based on step `k-2`, and so on back to the first measurement. Hence, the estimate at step `k` depends on all of the previous measurements, though to varying degrees. `k-1` has the most influence, `k-2` has the next most, and so on. \n",
"\n",
@@ -415,7 +419,7 @@
"source": [
"## Types of Smoothers\n",
"\n",
"There are three broad classes of Kalman smoothers that produce better tracking in these situations.\n",
"There are three classes of Kalman smoothers that produce better tracking in these situations.\n",
"\n",
"* Fixed Interval Smoothing\n",
"\n",
@@ -695,16 +699,17 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 12,
"metadata": {
"collapsed": false
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtoAAADaCAYAAACYceUaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADBJJREFUeJzt3VuIlOUfwPHflKRuFpmBhJBhtNAWeSGpiYFlSNiBiC6i\nixSDkEoNJdgocCM6CGXWhRZoG1lRGHVTXghpymZFelXqah42D7lWmOeEbN//RX+HFqP2ML+d3fHz\nudp5Z/fdx/d5n/Hr+M5MqSiKIgAAgIq6oNoDAACAWiS0AQAggdAGAIAEQhsAABIIbQAASCC0AQAg\ngdAGAIAEQhsAABIIbQAASCC0AQAggdAGAIAEQhsAABIIbQAASCC0AQAggdAGAIAEQhsAABIIbQAA\nSCC0AQAggdAGAIAEQhsAABIIbQAASCC0AQAggdAGAIAEQhsAABIIbQAASCC0AQAggdAGAIAEQhsA\nABIIbQAASCC0AQAggdAGAIAEQhsAABIIbQAASCC0AQAggdAGAIAEQhsAABIIbQAASCC0AQAggdAG\nAIAEQhsAABIIbQAASCC0AQAggdAGAIAEQhsAABIIbQAASCC0AQAggdAGAIAEQhsAABIIbQAASCC0\nAQAggdAGAIAEQhsAABIIbQAASCC0AQAggdAGAIAEQhsAABIIbQAASCC0AQAggdAGAIAEQhsAABII\nbQAASCC0AQAggdAGAIAEQhsAABIIbQAASCC0AQAggdAGAIAEQhsAABIIbQAASCC0AQAggdAGAIAE\nQhsAABIIbQAASCC0AQAggdAGAIAEQhsAABIIbQAASCC0AQAggdAGAIAEQhsAABIIbQAASCC0AQAg\ngdAGAIAEQhsAABIIbQAASCC0AQAggdAGAIAEQhsAABIIbQAASCC0AQAggdAGAIAEQhsAABIIbQAA\nSDCo2gM4XzU1Nf3j18DAYA33b+aHrnCenMsxqaxSURRFtQdxPiqVSuWvTQEMPNZw/2Z+6Arnybkc\nk8py6QgAACQQ2gAAkEBoAwBAAqENAAAJhDYAACQQ2gAAkMDb+1XJ398+BwCgv5GIvecZbQAASCC0\nAQAggY9g7wf81wwMPD49rX8zP3SF8+RcLm2tLM9oAwBAAqENAAAJhDYAACQQ2gAAkEBoAwBAAqEN\nAAAJvL1flSxcuLDaQwB6wRru38wPXeE8OZdjUlk+gh0AABJ4RjvZ5s2b47333otSqRRtbW2xfPny\nePPNN+PIkSNx4MCBePbZZ2PMmDHVHibUBOut/zI3ZHFudZ9j1ocK0uzYsaOYM2dO+faMGTOK+vr6\n4quvviq+/PLL4oILLigWL15cxRFC7bDe+i9zQxbnVvc5Zn3LM9qJlixZEi+//HL59smTJ+Pyyy+P\niRMnxv79+2PBggUxc+bM6g0Qaoj11n+ZG7I4t7rPMetbrtFOtHfv3rjqqqvKt0eNGhWzZs2K5557\nroqjgtpkvfVf5oYszq3uc8z6lme0E/39RN62bVscPHgwbr311iqOCGpXd9bboUOH4rXXXouOjo54\n6aWX+mqI5y1zQxbnVvc5Zn3L+2j3kc8//zwuuuiimDRpUnnbnj17yl9v2rQp5s2bFytXrozZs2fH\nrl27qjFMqAn/td5GjhwZEyZMiK1bt/b6d/3222/R1NQUo0ePjnvvvbfTfQsXLowRI0bE448/Hjt3\n7uzV7zl+/Hjcf//9sW/fvl7tp9pqbW6++eabWLx4cTQ1NcW0adNiw4YNvR02PdSX55b1SJdV+yLx\nWnXq1KniySefLL777ruiKIrinnvuKcaPH1++/88//yweffTRoiiK4vTp08Xo0aOL9vb2oiiK4ttv\nvy1uuummvh80DFDdWW9nLVy4sHj99dcr8vsPHjxYNDc3FxdffHGxY8eOTvctWrToP3/+o48++tf7\nly9fXjQ1NRWlUqn48ccfezXWvlbLc3Py5MmisbGxfHvVqlVFXV1dceDAgZ4PmC6r1rllPdIdntFO\nsnr16njllVdiy5Yt0draGnv27InBgweX73/hhRfioYceioiIDRs2xLBhw2LkyJERETFu3LjYtm1b\ntLW1VWPo/N+uXbuitbU1zpw5U97W3t4era2tcezYsU7fe+zYsWhtbY329vZO28+cOROtra2xe/fu\nLu2fnunOejtr3bp1cfvtt1fk93/xxRdx3333xYMPPhivvvpqefv27dujoaHhP3/++++//9f7H374\n4QH7IRK1PDc7d+6MRYsWldf3tGnT4vfff4+NGzf2fuBJaulxrVrnlvVIdwjtJFOmTImZM2fG5s2b\no7m5Ob7++usYM2ZMzJ49O+bOnRs333xzTJgwISIi2traYsSIEeWfLZVKMXz48NiyZUu1hk9ETJ06\nNRoaGuKnn34qb2tsbIyGhob45JNPOn3vxx9/HA0NDfHUU0912r5///5oaGiIqVOndmn/9Ex31ltE\nxKlTp2Lv3r1x3XXXxWeffRZPPPFE1NXVRdHD14YfPnw4Lr300pg7d2688847cfjw4YiIWL9+fUyZ\nMqUSf8QBq5bn5sYbb4yNGzeW3294//79ERFx7bXX9mq/mWrpca3a59ZA5Jj1PS+GTDJixIhYsWJF\np21vv/32P37vr7/+GnV1dZ22DRkyJI4fP541PLqgVCpFqVT6x21d3f73+7uyf3qmO+stIqKlpSXq\n6+vj3Xffjdtuuy3uuOOOmD9/fo/no6OjIyIibrjhhpg4cWIsXbo0nnnmmTh69GgMGzasR/usFbU+\nNxMnTix//eKLL8aCBQti7Nixvd5vllp6XKv2uTUQOWZ9T2j3A5dddtk5/zo8ceJEXHHFFVUaERGd\nXxByVnNzczQ3N5+zfcaMGTFjxoxztl999dXlv+i7sn/6xtq1a2PIkCGxZs2aGD58eNx5553lV+Iv\nW7bsH/9L/Kxx48bFAw88UL69bdu2qK+vL9+eN29ePPLIIzF//vwYNOjch9iff/45lixZ0mnNt7S0\nxOnTp8u3hw0bFk8//XSv/owD1UCdmxUrVsSoUaP6/TsznM+Pa5U8t84X/3bM6KIqXh/O/61du7YY\nO3Zs+fYff/xRDB48+JwX7gCVMX78+GL79u3FDz/8UAwfPrwoiqL84qDueuONN4pTp06Vb3d0dBTX\nXHNNMWvWrKKlpaVL+2hqaurS9w3EF19110Ccm08//bR46623iqL468XtbW1tPRovuSp5bhWF9UjX\nuEa7H7jlllvil19+Kb9N0Pr16+P666/v19f5wUB19OjR2LdvX9TX18cll1wSV155ZUT89TZXPXHk\nyJEYOnRo+XapVIo5c+bEqlWrOl1WUClFDV8bORDnZv369XHo0KGYPn16tLe3x+rVq+PgwYMV2TeV\nU+lz6yzrkf/i0pF+YNCgQbFy5cp4/vnnY9KkSbFu3br48MMPqz0sqElbt26N6dOnR8Rf7xE7efLk\nWLZsWdx1113d2s+mTZti6dKlsWbNmhg6dGjMnTu3fN+sWbNi06ZNceGFF1ZkzO+//360tLREqVSK\nxsbGmDx5cjz22GMV2Xd/MtDmZvfu3XH33XfHiRMnyttKpVIcPXq01/umsip1bkVYjz05ZuczH8EO\nUGUffPDBeXn950BgboDeENoAAJDANdoAAJBAaAMAQAKhDQAACYQ2AAAkENoAAJBAaAMAQAKhDQAA\nCYQ2AAAkENoAAJBAaAMAQAKhDQAACYQ2AAAkENoAAJBAaAMAQAKhDQAACYQ2AAAkENoAAJBAaAMA\nQAKhDQAACYQ2AAAkENoAAJBAaAMAQAKhDQAACYQ2AAAkENoAAJBAaAMAQAKhDQAACYQ2AAAkENoA\nAJBAaAMAQAKhDQAACYQ2AAAkENoAAJBAaAMAQAKhDQAACYQ2AAAkENoAAJBAaAMAQAKhDQAACYQ2\nAAAkENoAAJBAaAMAQAKhDQAACYQ2AAAkENoAAJBAaAMAQAKhDQAACYQ2AAAkENoAAJBAaAMAQAKh\nDQAACYQ2AAAkENoAAJBAaAMAQAKhDQAACYQ2AAAkENoAAJBAaAMAQAKhDQAACYQ2AAAkENoAAJBA\naAMAQAKhDQAACYQ2AAAkENoAAJBAaAMAQAKhDQAACYQ2AAAkENoAAJBAaAMAQAKhDQAACYQ2AAAk\nENoAAJBAaAMAQAKhDQAACYQ2AAAkENoAAJBAaAMAQAKhDQAACYQ2AAAkENoAAJBAaAMAQAKhDQAA\nCYQ2AAAkENoAAJBAaAMAQAKhDQAACYQ2AAAk+B+WMfSSXTCODgAAAABJRU5ErkJggg==\n",
"image/png": "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\nTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x883f4e0>"
"<matplotlib.figure.Figure at 0x87fa358>"
]
},
"metadata": {},
@@ -715,7 +720,7 @@
"from book_format import figsize\n",
"\n",
"from smoothing_internal import *\n",
"with figsize(y=3.):\n",
"with figsize(y=2):\n",
" show_fixed_lag_numberline()"
]
},