More P,Q,R cleanup.
Added units to all values, corrected some descriptions, chose values to better illustrate my points by causing either better or worse filter convergence.
This commit is contained in:
1 parent
66f20b745e
commit
3e5248f7fa
1 file changed
+197
-126
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"metadata": {
|
||||
"name": "",
|
||||
"signature": "sha256:63839e6625440fe53d29a11aae661a9ece51c55f09e88a3f11289b2e5eaab027"
|
||||
"signature": "sha256:6e3b37083d6fb9d75e40fba793a10326eda5518090b914a921ad681fffa80013"
|
||||
},
|
||||
"nbformat": 3,
|
||||
"nbformat_minor": 0,
|
||||
@@ -261,7 +261,7 @@
|
||||
"output_type": "pyout",
|
||||
"prompt_number": 1,
|
||||
"text": [
|
||||
"<IPython.core.display.HTML at 0x7f4afaa955c0>"
|
||||
"<IPython.core.display.HTML at 0x7f740a92ed68>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -275,15 +275,6 @@
|
||||
"Introduction"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"collapsed": false,
|
||||
"input": [],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 1
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
@@ -404,7 +395,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAqsAAAFdCAYAAAAkOCRoAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XeYZGWV+PHve1PFzt2TAzkPGQYHERFYRAwormta07qr\nrq6uuLqiIqi7BlaXXTGsCoiIYf2ZEMFVRwTJeWBgmMAwsbtnuqdzd6Wbfn/UVE+HSt1d1RX6fJ7H\nR7rurVtv3alw6tzznldt2bLFRwghhBBCiCqkVXoAQgghhBBC5CLBqhBCCCGEqFoSrAohhBBCiKol\nwaoQQgghhKhaEqwKIYQQQoiqJcGqEEIIIYSoWka+jdFodL7GIYQQQgghFrDR0dGst0tmVQghhBBC\nVC0JVoUQQgghRNWSYFUIIYQQQlQtCVaFEEIIIUTVkmBVCCGEEEJULQlWhRBCCCFE1ZJgVQghhBBC\nVC0JVoUQQgghRNWSYFUIIYQQQlQtCVaFEEIIIUTVkmBVCCGEEEJULQlWhRBCCCFE1ZJgVQghhBBC\nVC0JVoUQQgghRNWSYFUIIYQQQlQtCVaFEEIIIUTVkmBVCCGEEEJULQlWhRBCCCFE1ZJgVQghhBBC\nVC0JVoUQQgghRNWSYFUIMW+UUpUeghBCiBpjVHoAQoj6pmna+P8cx8H3/UoPSQghRA2RYFUIUXJK\nKXRdR9O0abcLIYQQMyHBqhCiZDIBqqZpkkEVQghREhKsCiHmRNM0dF2flDWdGqj6vo/neXieN9/D\nE0IIUeMkWBVCzNjEOtRcfN8fD1InBq+5SgEkEyuEECIbCVaFEEXJVYc6Ua4ANXN/pRSu6+Y8fj4S\nzAohxMIkwaoQIq9CdaiZ27Jd5ldKoWnaeKCarwygUDCaL5iVQFYIIeqXBKtCiGnmWoeaCW5LOftf\nglkhhFiYJFgVQgBzv8w/MYNaiRZVEswKIUR9kmBViAUsE1jmmyxVqA51YpBazfIFpPNdL6uUkgBZ\nCCGKJMGqEAtQJoPq+z6u6+J53rRgNddl/okB7kwD1GoNaOeSlS3m/kIIIWZPglUhFohqrEOtFRLM\nCiFE5UiwKkQdK6YOFdLBlOM4VVeHWitmE8zm+9EghBDiEAlWhagzM50oNfG2zP1rpQ61VmSr9S1m\noYRc9xdCiIVEglUh6kQmQC00610u81cfKTMQQojcJFgVooZlq0OdauJM/lwZvkw2VlQnCWaFEAuZ\nBKtC1JhSLHs6MYOarVZV1BbpMSuEqGcSrApRA2YSoE6tRc3cP1sdqgQqC0MtBLPSe1YIkYsEq0JU\nMalDFfOhFoJZIcTCJcGqEFWm2DrUfMueZjKwEqSKUqim1b+EEAuPBKtCVIFS1qFKgCrmk0z+EkKU\nmwSrQlRIJsAsNAs/37KnEqCKajeTYDbb61iCWSGEBKtCzDOpQxXikImLUWQLTCUzK4SQYFWIeZAJ\nMGd7mX8+lj3N9FsVoppImYEQQoJVIcqkmMv8la5DrURwKi2KRClJMCtE/ZNgVYgSmhhguq6b84sw\nXx3q1Kb99aQen5OobhLMClH7JFgVogSm1qFmqzXNt+yp1KEKURm10GNWrkaIhU6CVSFmqdg61EwG\nVdpNSZZK1J5aCGaFqHcSrAoxAzPph5rhuu6k+y+0AHWihficRX2TYFaI8pNgVYgC5toPFeQyvxAL\nlaz+JcTcSbAqRA7F9kPNNZs/wzTNcg2xJDL1cNK6Soj5JQsmCFEcCVaFmGCu/VAzWViYfPlfCCFm\nShZMECJNglWx4BVbhwoUveypfEkIIcpN2nKJhUKCVbEgTaxDzdcWRupQhRC1SoJZUS8kWBULSrY6\n1KkfyKVe9lRqQSdnpoUQ1UGCWVErJFgVda9UdagzCVAXenCakW+lrmz7CiGqR60Es7JoQv2TYFXU\npWLqUGHhLntaToUy07k6J0g/SiFqi/SYFfNFglVRVzIBqqZpBetQZdnTtImtq+YiX+A/MTOd67Hk\ni0+I+iLvaVEqEqyKmjdxolTGTOpQF/qqUnMxn4G/NFcXor7Ie1oUS4JVUZNmUoeaCagmms8Atd4m\nWJV6AlqpxpSPZHCEqC0zfU9P/Vve1/VFglVRMzIBZjGrSlVDu6l6K/ov9jJ/NZJgVoj6MvF9me2z\ntpYys52dnaRSKQ4//PBKD6VqSbAqql6mDtV1XTzPy5pNLZTtW2h1qKWyUM6rXI4Uor7USicDgAce\neADf9yVYzUOCVVGVstWhZmQuq0sdannIeZ1MsrK1L+k59Nlx+lIx+uxD/3N9nzXRxZzWuJSIblV6\nmGIeVVMw29/fzxFHHFGy49UjCVZF1SimDhXSHxKZLOtECzGQKiU5r7Mz26xsvZWJVBPP93lyuItn\nR/dzwI4x6qZy7ru/f5Q/D+zgxEgHZzWtYEWgsape59U0loVkPoPZvr4+zjrrrKL3X4gkWBUVNZN+\nqLlWQarWy9GlaglVThPHN3Ws1Xpea0muf/vMa6OaLkXWiwE7zu09z7MzMTh+m640Wo0QbVaYNjNE\nmxmm3QwT9xweH+5kW6yPZ0b388zofhZbUc5qWs6a6GICWnV8RcrroPrMJZj1PI8vfOELNDQ00Nra\nSjAYpLOzk0gkQltbGy0tLRhGdbz2qoXasmVLzjMejUbncyxiASm2H2qhekmo3szDxBpbXdcrPZxx\nle6S4LouruuW5di1otis6kIqMZhrptnzfR4f7uSPfduxfZeIbnJx21GsDjbTZATR8pzLATvO48Od\nPDXcTcyzAQhoOqc3LOPCtiMxVP4f0+UkGfjCau0cDQ0Ncc011+TcrpSisbGR1tZW3vzmN7N48eKi\nj+26Lj/5yU/YunUrqVSKlStXcsUVV7BkyZK899u2bRvf+ta3sKxD5TBXXnnljB67FEZHR7PeLqG7\nmDdz7YeakcnGipnJ1yUhQ37NVxeZ+FWcqdnUE6OLeFX7MUXXobaYIS5uO4oLWo9g02gPjw13sicx\nxENDezhgx3jT4pMwNfnMEaXR0NDANddcQ39/P319ffz617/mpJNOor+/n/7+fgYHBxkaGmJoaGhS\n8FgM3/fp6OjgNa95DU1NTdxzzz3cdNNNfPrTny5436amJq699tpZPqvykm8mUValWPY0k+nLbK/W\nTGo1KiY7nalVlfNaW2TiVzqb+sRwJ384mE0Nayav7jiWE6KLZnU8Q2mc3LCEkxuWsCcxxE+6n2Fb\nrI8f73uGtyw5GUsCVlECmqbR0tJCS0sLRx55JNdddx1f/OIXx7e7rsvg4CD9/f00NTXN6NiGYXDJ\nJZeM/3322Wdz++23MzY2RiQSKdlzmG8SrIqSm2uAClIvOVcz6YlaL4GLmKzeg9lBO87tvZvZER8A\n4ITIIi7rKD6bWsjKYBPvWn4at3ZtYEd8gNu6N/DWpacQrJI6VlE/pr7fdF2nra2Ntra2OR97586d\nNDU1FRWojoyMcPXVVxMIBFi7di0XX3zxnB+/VORdJ0qmFHWo+VY/qrXgar7HK8G/mIlaLjHot2Pc\n1PkkY26KsGZyWcexnDjLbGo+i6wo71p2Ord2PcXuxBA/7NrA25eeQkg3S/5YYnZq/TPNtu2ylV/F\n43F+9atfcfnllxfcd8mSJVx11VW0t7fT2dnJjTfeSGNjI2vXri3L2GaqclXjoi5omoZpmliWNV6P\nmq0O1fM8HMfBcRxc1x3fJ5OFNQxjPNit9Q+f+TT13E4MVDVNwzCM8XMr51UUa+IkvGz/m/ijcur/\nym3USfHDrqcZc1McFmzmH1euLUugmtFuhXn38tNpNoJ0Jof5QddTjOVphSXmX6V/PM1Ff38/ra2t\nJT+u4zjcfPPNnH766Zx66qkF929oaKC9vR2A5cuXc9555/Hcc8+VfFyzJcGqmDGlFIZhYFkWhmHk\n/ILK1EJmC1AnBlISoM5cvnM7MfgvJoCotYy1qLx8gSxQtmA24Tnc1r2BASfO0kADb1l6MlGj/M38\nW8wQ715+Oq1miH2pUW7pfIoRJ1n2xxX1rxzBqud53HrrrXR0dHDppZeW9NiVIsGqKMrEANU0zZz1\nqBODKMn0lVaxWVQJ/kWlzSYrC/kv6Tq+x//u28i+1CitZoi3LTllXvugNhlB3r3sdDrMCL32GLd0\nPcWQk5i3xxf1qa+vryS1qRP97Gc/QynFG9/4xqzbb7jhBu64445Jt23bto2BgXT99759+3jggQc4\n8cQTSzquuZCaVZFXMZfm52t5zoWYAazHpU9raayi9GazUILn+/yqZxM74gNEdIu3Lz11XjKqUzUY\ngfFJV/tTo9zatYH3rThLugSIWSt1ZrW/v59HHnkE0zS56qqrxm9/3/veN76k68DAwLQAee/evdx6\n660kk0kaGhpYt25d1dSrgiwKILLI1g91qko0lvd9H8dxADDN6p/gMJfxzmQ2fyXHORuZ7PBCVmtN\nzOdDrnPi+z6/O7CNR4f3ElA6715xBksDDVmPMV/nNO7a3Nz5JL32GGc1LueyjmPL9ljyWsmv1s/P\nLbfcQmtrK6997WsrPZSqkGtRACkDEMDs61DlUnTpyGV+Iaa7b3AXjw7vRUfx5qUns8SKzmriVynf\nMyHd5IrFJ6CheGy4kxdifSU7tlhYylEGUI8kWF3AZlKHWiiIMk1zXutQa/mX9EQz6ZQgAapYaJ4Y\n7uLu/hcBeMPiEzk81JJ3//nsYrAk0MAFrYcDcHvPZuKuPfMnKBa8cnUDqDcSrC5AExv258ugVlsQ\nVU/BWjGz+SWLKhayzWO9/LZ3MwCXtR9TkvZUsw1kc70Hz21ezYpAIyNukrsObJ3z+MTCI5nV4kiw\nukBM7Yeaka0nqgRRpTexvrfaLvNPfKx6yViL2tabGuPn+5/DB85vOYyzmlaU/TFnk5XVNYLine truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4afaa87da0>"
|
||||
"<matplotlib.figure.Figure at 0x7f7422d85ef0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -572,7 +563,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4afaa8a198>"
|
||||
"<matplotlib.figure.Figure at 0x7f73febd1978>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -626,7 +617,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAA1QAAAG3CAYAAACzLhRYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmwZGV5P/Dv2Xvvu987d2bYFBhIJQaxiFLKAG6IGIGS\nlCmLWDFkRCMRIwIhQZMfClS0gihSFlSCZSooLixWkiIBrYJCUFECpkBGmfXO3K3X06fPvv3+6JmB\nYdZ7b3efXr6fKurO3DtzznOY7qfPc973fV5h69atMYiIiIiIiGjFxKQDICIiIiIi6lcsqIiIiIiI\niFaJBRUREREREdEqsaAiIiIiIiJaJRZUREREREREq8SCioiIiIiIaJVYUA2pr3/969i0aVPSYRzT\npk2bcNdddyUdBhGtEnMNEa1Vv+SRdvv5z3+OTZs24dlnn006FDoGOekAKDmCIBz2+7qu4zvf+Q5+\n/OMfY/fu3QCAN77xjdiyZQs2b9686vP5vo+77roLDz30EHRdx2mnnYbPfOYzOPfcc1d9TCLqfcw1\nRLRW3c4jDz/8MJ544gk899xzWFpawgc+8AF8+ctfXvXxnnnmGfzgBz/A888/j3K5jJmZGbzjHe/A\nNddcg2KxuOrjUm/gCNUQi+PD7+n8wgsv4Bvf+AbWr1+Pv/7rv8anPvUpOI6Dj3/847j//vtXfb4v\nfvGLuOeee/Ce97wHf/d3fwcA2LJlC1544YVVH5OIeh9zDRGtVbfzyLe+9S08/fTTOPPMMwEcuaA7\nXnfccQdefPFFfOADH8DNN9+M888/Hw888ACuuOIKNJvNNR2bkscRKjrEG9/4Rjz22GOYmZk58L0r\nrrgC733ve3HnnXfiwx/+MERxZbX43Nwcvve97+EjH/kI/v7v/x4AcPHFF+M973kPvvrVr+K+++5r\n6zUQUe9jriGitepEHgGAu+++G7OzswDQlumGN954I9785jcf9L3169fj1ltvxQ9/+EN89KMfXfM5\nKDkcoaJDzM7OHpSYACCVSuFNb3oTdF1HtVpd8TF/8pOfII5jXH755Qe+l8vlcNFFF+EXv/gFDMNY\nc9xE1F+Ya4horTqRR/Yft51eX0wBwNve9jYAwPbt29t6Luo+FlR03CqVCjRNW9Vc361bt0KSJJx+\n+ukHff+MM85AGIb43e9+164wiajPMdcQ0VqtJY90S7lcBgBMTU0lHAmtFQsqOi6/+c1v8Nxzz+Hi\niy+Goigr/vulUgnFYhGSJOGb3/wm3vKWt+AXv/gFxsfHAbyaVIhouDHXENFarTWPdMv9998PWZZx\nySWXJB0KrRELKjom27Zx/fXXY2xsDJ/97GdXdQzP8w4ktfn5eZimiUqlAlVVAQCO47QtXiLqT8w1\nRLRW7cgj3fDwww/jsccew5YtW3DiiScmHQ6tEQsqOqooinDDDTdg165duPPOOzExMbGq46iqCs/z\nAAD/8A//gCeffBLve9/7DnwvlUq1LWYi6j/MNUS0Vu3KI532wgsv4POf/zw2b96Ma665JulwqA3Y\n5Y+O6vbbb8djjz2GL3/5y3jLW96y6uNMTk5C13WEYQhJkjA5OQmgNccZQM8mPSLqDuYaIlqrduWR\nTtq1axeuvvpqnHrqqfjqV7+65nbs1Bs4QkVH9K//+q/49re/jRtvvHHN83tPP/10RFGEl19++aDv\nv/TSSxBFEaeeeuqajk9E/Yu5hojWqp15pFMqlQquuuoqFAoF3HvvvUin00mHRG3CgooO6z/+4z/w\n5S9/GVdffXVb9ka48MILIYoiHnzwwQPfazabePTRR3HOOecgn8+v+RxE1H+Ya4hordqdR1bjscce\nw0UXXYQbbrjhsD83TRNbtmyB53m47777MDY21uUIqZM45Y8O8etf/xo33ngjTjrpJJxyyil45JFH\nDvr529/+9gMds47Xxo0b8aEPfQj3338/BEHAqaeeih/84AcwDAPXXnttO8Mnoj7BXENEa9WJPAK0\n9rR77Uj3b3/7W9x9990AgHe+852HbM1gGAZ27tx5xBbon/vc5/Diiy9iy5YtePbZZw/62eTkJM49\n99wVx0i9gwUVHWLbtm0IggA7d+7E9ddff9DPBEHAt7/97VUlp5tvvhmjo6N46KGH8L3vfQ+nn346\n7rnnHvzhH/5hu0Inoj7CXENEa9WpPPLYY4/hoYceOnCcrVu34uWXX4YgCJidnT2koDrWWqj9f/ee\ne+455GfnnHMOC6o+x4KKDnHZZZfhsssua/txFUXBZz7zGXzmM59p+7GJqP8w1xDRWnUqj9x22224\n7bbb2hbHT37yk3aERT2Ka6iIiIiIiIhWiQUVERERERHRKrGgGlKCIHDvAyLqOOYaIlqrYc4jw3rd\n/UbYunVrnHQQRERERERE/YgjVERERERERKvEgoqIiIiIiGiVWFANqa9//evYtGlT0mEc06ZNm3DX\nXXclHQYRrRJzDRGtVb/kkXb7+c9/jk2bNh2yETD1Hu5DNcSOtdDxkUcewb333ovdu3djZmYGV155\nJa688spVnWvbtm347ne/i6effhrz8/MoFAr4gz/4A1x77bV4wxvesKpjElF/6GauAYBXXnkFX/nK\nV/CrX/0Kvu/jtNNOw1/91V9h8+bNqz4mESXraHnkl7/8JX70ox/hueeewyuvvILp6Wk88cQTqz5X\nJ+5ZnnnmGfzgBz/A888/j3K5jJmZGbzjHe/ANddcg2KxuOpYqTdwhGqIxfGR+5H813/9F2644Qas\nW7cON998M37/938fX/rSl3Dfffet6lwPPfQQfvSjH+GP/uiPcNNNN+FP//RP8b//+7+4/PLL8eKL\nL672EoioD3Qz1ywtLeEjH/kIfv3rX+Oqq67CddddB8/z8IlPfAJPP/30ai+BiBJ2tDzy3//933jk\nkUcwOjqKiYmJNXfG68Q9yx133IEXX3wRH/jAB3DzzTfj/PPPxwMPPIArrrgCzWZzTfFS8jhCRYeI\n4xhf+cpXsGnTJtxzzz0QBAFXXHEFdF3HN77xDXz4wx9GOp1e0TEvvvhifOpTn0IqlTrwvfPPPx+X\nXnop7r77bnzjG99o92UQUY/rRK757ne/C13X8e///u84++yzAQCXX3453vWud+HOO+/Eueee24lL\nIaIE/eVf/iWuv/56KIqCK6+8EnNzc2s6XifuWW688Ua8+c1vPuh769evx6233oof/vCH+OhHP7qm\nmClZHKGiQ2zduhXz8/O49NJLD3rK86EPfQjNZhM/+9nPVnzMM88886DEBLTWLIyMjGD79u1rjpmI\n+k8ncs1LL72EdDp9oJgCgEwmg7e97W349a9/jWq12pbYiah3TE1NQVGUth2vE/csry+mAOBtb3sb\nAPA+aACwoKJDvPzyywCAM84446Dv7//91q1b23Iex3Fgmiampqbacjwi6i+dyDWCIEBV1UO+n0ql\nEMcxb1yIaFU6cc9SLpcBgPdBA4AFFR2iVCoBACYmJvDMM8/gLW95C+69915MTEwAeDUBrNX3v/99\n+L6PSy+9tC3HI6L+0olcc/LJJ0PXdczPzx/4XhzHeOGFFwCAI1REtCqduGe5//77IcsyLrnkkrYd\nk5LBgooO4XkeAEBRFFQqFTSbTczPzx946us4zprPsW3bNvzzP/8zzjnnHFx22WVrPh4R9Z9O5JoP\nfehDkCQJN954I1566SXs2LEDt9xyC5aXlwEAruu27wKIaCh04p7l4YcfxmOPPYYtW7bgxBNPbMsx\nKTlsSkGH2H8z4/s+LrnkEpxzzjmYmpo60IXm9fOKV6pWq+ETn/gERkdHcccdd6w5XiLqT53INW94\nwxvwhS98Abfffjsuv/xyAMApp5yCT37yk7j99ttX3OSCiIZbJ+5ZXnjhBXz+85/H5s2bcc0117Tl\nmJQsjlDRISYnJwEcOre3UqkAwIHpOKvhOA4+8YlPQNd13HvvvRgfH19jtETUrzqVa/7kT/4EP/3p\nT/HAAw/gwQcfxH/+538e+Nm6devWEjIRDZFO3LPs2rULV199NU499VR89atfXXOLd+oNLKjoEKef\nfjqAVres19r/+/0/X6koivDZz34WW7duxTe/+U1u6Es05DqVawAgnU7jTW96E84880wIgoCf/vSn\nyGQyOPXUU1cfMBENjU7cs1QqFVx11VUoFAq49957OWI+QFhQ0SHOOOMMzM7O4uGHH0YURQe+/8Mf\n/hD5fB5vfetbV3Xcf/zHf8QTTzyBO++8E2eddVa7wiWiPtWpXPN6zz77LJ566ilccsklh+0ASETD\nZWlpCRdddBHe9773HfHPtPuexTRNbNmyBZ7n4b777sPY2Niaj0m9g2uo6LD+5m/+Btdddx22bNmC\n9773vfjZz36Gp556Ctdff/2qnqh861vfwgMPPIB3vvOdqNVqeOSRRw76+Qc/+MF2hU5EfaTduQYA\n/uIv/gJvetObsG7dOmzfvh3f+c53sG7dOlx77bVtjp6IesHLL7+Mn/zkJwCAvXv3otls4u677wbQ\nenBzwQUXHPTnfd/Hzp07jzjdrhP3LJ/73Ofw4osvYsuWLXj22WcP+tnk5CQ3He9zRy2oHn/8cdx7\n77146aWXcMkll+C2224D0HohfuELX8Cjjz6KYrGI66+//qhVPvWfSy65BEEQ4N5778X/+3//D+vW\nrcNNN92EP/uzP1vV8bZu3QpBEPDjH/8YP/7xjw/6mSAILKiI+WZItTvXAK0NOB9++GGUSiWMjIzg\nkksuwac//Wk+EaYDmG8Gy29+8xt87WtfA4ADRdLXvvY1CIKASy+99JCC6lg6cc/y8ssvQxAE3HPP\nPYf87JxzzmFB1eeOWlAVCgVcddVVePrppw9qX/utb30Lr7zyCp588km89NJL+PjHP46zzjLine truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5c942e8>"
|
||||
"<matplotlib.figure.Figure at 0x7f73fec2e240>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -724,7 +715,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsgAAAGDCAYAAAA23OZEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGNxJREFUeJzt3X+s1nX9//HH+cHhnNPhl4hKDgWhTDqKLvJTKyWkEhFs\n08olTZ225Wzr12i1yuZi69esP9PWtNSs+bM0JXBSg9YPiITUQKYB/ijxByIhcI6Hc53vH83zfR0B\nuRTOdR3wdtvcuK7rxXU9OXtz7e6b94+G9evX9wUAAEiSNNZ7AAAAGEoEMgAAFAQyAAAUBDIAABQE\nMgAAFAQyAAAUmus9wGs99dRT9R4BAIC3gAkTJuz1+SEXyEly0kkn1XsEGGDs2LG56667MmPGjHqP\nAnuwfTJU2TYZytatW7fP1xxiAQAABYEMAAAFgQxVcugPQ5ntk6HKtsmhSCBDlXzJM5TZPhmqbJsc\nigQyAAAUBDIAABQEMgAAFAQyAAAUBDIAABQEMgAAFAQyAAAUBDIAABQEMgAAFAQyAAAUBDIAABQE\nMgAAFAQyAAAUBDIAABQEMgAAFAQyAAAUBDIAABQEMgAAFAQyAAAUBDIAABQEMgAAFAQyAAAUBDIA\nABQEMgAAFAQyAAAUBDIAABQEMgAAFAQyAAAUBDIAABQEMgAAFAQyAAAUBDIAABQEMgAAFAQyAAAU\nBDIAABQEMgAAFAQyAAAUBDIAABQEMgAAFAQyAAAUBDIAABQEMgAAFAQyAAAUBDIAABQEMgAAFAQy\nAAAUBDIAABQEMgAAFAQyAAAUBDIAABQEMgAAFAQyAAAUBDIAABQEMgAAFAQyAAAUBDIAABQEMgAA\nFAQyAAAUBDIAABQEMgAAFAQyAAAUBDIAABQEMgAAFAQyAAAUBDIAABQEMgAAFAQyAAAUBDIAABQE\nMgAAFAQyAAAUBDIAABQEMgAAFJpr+WELFizIX//61+zatSvHHntsvvCFL2TWrFm1HAEAGESVSl9+\n97eNufn367Jt5+4kyaj25lw8a2pmT5+YxsaGOk8I+1fTQP7MZz6T73znO2lpacmf/vSnfPazn83f\n/va3tLW11XIMAGAQ/HfnK7n0miVZs+G5dPdUBry2cv3mTDthXG5cMDsj21vqNCFUp6aHWLzrXe9K\nS0tL+vr60tPTk7e97W1paPB/kgBwqKtU+nLpNUuyYv3mPeI4Sbp7Klm5/tlces2SVCp9dZgQqlfT\n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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5c6bba8>"
|
||||
"<matplotlib.figure.Figure at 0x7f73feba3710>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -751,7 +742,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5e75320>"
|
||||
"<matplotlib.figure.Figure at 0x7f73fe8829b0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -778,7 +769,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAs8AAAGDCAYAAADUAP09AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8XOV9L/7PmX3TMhrJkizJK7ZlLMxizGosTEIIISQt\nkJKlSctte0Mht80vJSnwuiVJnXKT26S0/fW2uW0T0pJmaYAAaRICJmCzOKy2wbbkfdFqSaPRMvt2\n7h/nPGeZGUlH8qKR5/N+vXhhjWaOjl/W9zzf53m+z/NIBw4ckEFERERERDOyzfcNEBEREREtFEye\niYiIiIgsYvJMRERERGQRk2ciIiIiIouYPBMRERERWcTkmYiIiIjIIsd834BVPT09830LRERERFQh\n2traSr6+YJJnAFi7du183wLNQSgUwpNPPonOzs75vhWiisLYI5ofjL2Fr6ura8rvsWyDiIiIiMgi\nJs9ERERERBYxeaZzgiU3RPODsUc0Pxh75y8mz3RO8CFCND8Ye0Tzg7F3/mLyTERERERkEZNnIiIi\nIiKLmDwTEREREVnE5JmIiIiIyCImz0REREREFjF5JiIiIiKyiMkzEREREZFFTJ6JiIiIiCxi8kxE\nREREZBGTZyIiIiIii5g8ExERERFZxOSZiIiIiMgiJs9ERERERBYxeSYiIiIisojJMxERERGRRUye\niYiIiIgsYvJMRERERGQRk2ciIiIiIouYPBMRERERWXTOkudt27bhzjvvxEUXXYQHHnhAez2TyeDB\nBx/EZZddhi1btuCXv/zlubolIiIiIqJZcZyrH1RdXY0//MM/xGuvvYZkMqm9/r3vfQ+HDx/Gjh07\nsH//fnz2s5/FpZdeiqampnN1a0RERERElpyzkecrrrgCN954I2pqakyvP/vss/j0pz+NQCCAK664\nApdeeimef/75c3VbRERERESWnbORZ0GWZdPXx48fx/Lly3HffffhhhtuwMqVK3Hs2LFzfVtERERE\nRDM658mzJEmmrxOJBHw+Hw4dOoSOjg74/X4MDg6W/GwoFDoXt0hnmNPpBMB/P6JzjbFHND8Ye+e3\neR959nq9SCQSePrppwEAX/va1+D3+0t+duvWrdqfN2/ejM7OzrN3o0RERERUEbZv344dO3ZoX2/Z\nsmXK9877yPOyZctw5MgRrFu3DgBw5MgRvO997yv52Xvuucf0dTgcPjs3SWeU6Hnz34vo3GLsEc0P\nxt7C09HRgY6ODu3rrq6uKd97zhYM5vN5pFIp5HI55HI5pNNpZLNZ3HzzzXjssccwOTmJ119/Hbt3\n78aNN954rm6LiIiIiMiyczby/NRTT+HBBx/Uvn7mmWfwuc99DnfffTeOHj2Kzs5O1NTU4OGHH0Zj\nY+O5ui0iIiIiIsukAwcOyDO/bf719PRg7dq1830bNAecviKaH4w9ovnB2Fv4urq60NbWVvJ7PJ6b\niIiIiMgiJs9ERERERBYxeSYiIiIisojJMxERERGRRUyeiYiIiIgsYvJMRERERGQRk2ciIiIiIouY\nPBMRERERWcTkmYiIiIjIIibPREREREQWMXkmIiIiIrKIyTMRERERkUVMnomIiIiILGLyTERERERk\nEZNnIiIiIiKLmDwTEREREVnE5JmIiIiIyCImz0REREREFjF5JiIiIiKyiMkzEREREZFFTJ6JiIiI\niCxi8kxEREREZBGTZyIiIiIii5g8ExERERFZxOSZiIiIiMgiJs9ERERERBYxeSYiIiIisojJMxER\nERGRRUyeiYiIiIgsYvJMRERERGQRk2ciIiIiIouYPBMRERERWcTkmYiIiIjIIibPREREREQWMXkm\nIiIiIrKIyTMRERERkUVMnomIiIiILGLyTERERERkEZNnIiIiIiKLmDwTEREREVnE5JmIiIiIyCIm\nz0REREREFjF5JiIiIiKyiMkzEREREZFFTJ6JiIiIiCxi8kxEREREZBGTZyIiIiIii5g8ExERERFZ\nxOSZiIiIiMgiJs9ERERERBYxeSYiIiIisqhskucDBw7g4x//ODZs2IAPfvCD2LZt23zfEhERERGR\nSdkkz1/60pdw/fXX4+2338ZDDz2E++67D2NjY/N9W0REREREmrJJno8ePYqbbroJAHDNNdfA7Xaj\nt7d3nu+KiIiIiEhXNsnzddddh2effRa5XA6vvPIKAoEAVq9ePd+3RURERESkccz3DQj3338/7rrr\nLvzDP/wDXC6X9n+jUCg0T3dHp8PpdALgvx/RucbYI5ofjL3zW1kkz8lkEr//+7+PBx54AO9///vx\nzjvv4J577sFPf/pTLF68WHvf1q1btT9v3rwZnZ2d83G7RERERHQe2b59O3bs2KF9vWXLlinfWxbJ\n88GDBxGLxXDjjTcCADZs2IC2tjbs3r3blDzfc889ps+Fw+Fzep80N6LnzX8vonOLsUc0Pxh7C09H\nRwc6Ojq0r7u6uqZ8b1nUPLe2tiKZTGLbtm2QZRnvvfcejhw5ghUrVsz3rRERERERacpi5Lmurg6P\nPPIIHnnkEXzpS19CKBTCgw8+iPb29vm+NSIiIiIiTVkkzwBwww034IYbbpjv2yAiIiIimlJZlG0Q\nERERES0ETJ6JiIiIiCxi8kxEREREZBGTZyIiIiIii5g8ExERERFZxOSZiIiIiMgiJs9ERERERBYx\neSYiIiIisojJMxERERGRRUyeiYiIiIgsYvJMRERERGQRk2ciIiIiIouYPBMRERERWcTkmYiIiIjI\nIibPREREREQWMXkmIiIiIrKIyTMRERERkUVMnomIiIiILGLyTERERERkEZNnIiIiIiKLmDwTERER\nEVnE5JmIiIiIyCImz0REREREFjF5JiIiIiKyiMkzEREREZFFTJ6JiIiIiCxi8kxEREREZBGTZyIi\nIiIii5g8ExERERFZxOSZiIiIiMgiJs9ERERERBYxeSYiIiIisojJMxERERGRRUyeiYiIiIgsYvJM\nRERERGQRk2ciIiIiIouYPBMRERERWcTkmYiIiIjIIibPREREREQWMXkmIiIiIrKIyTMRERERkUVM\nnomIiIiILGLyTERERERkEZNnIiIiIiKLmDwTEREREVnE5JmIiIiIyCImz0REREREFjF5JiIiIiKy\niMkzEREREZFFTJ6JiIiIiCxi8kxEREREZFHZJM/JZBIPPfQQrrzySmzcuBFf/epX5/uWiIiIiIhM\nHPN9A8LDDz+Mnp4e/PznP0coFMLhw4fn+5aIiIiIiEzKInlOJpN4+umn8eSTT6K+vh4AsGrVqnm+\nKyIiIiIis7Io2zh+/DgkScK2bdtw7bXX4pZbbsG2bdvm+7aIiIiIiEzKYuQ5Go0ik8mgt7cXL774\nInbt2oW7774bzz33HBoaGrT3hUKhebxLmiun0wmA/35E5xpjj2h+MPbOb5aT5/7+frz11luIRCK4\n7bbbUFVVhb179yIUCqG5ufm0bsLj8SCXy+Guu+6Cy+XClVdeieXLl2PPnj14//vfr71v69at2p83\nb96Mzs7O0/q5RERERETbt2/Hjh07tK+3bNky5XstJc/d3d344Q9/iBUrVuDo0aPIZDIAgMHBQezZ\nswef+tSnTuuG29raIEnSjO+75557TF+Hw+HT+rl0boieN/+9iM4txh7R/GDsLTwdHR3o6OjQvu7q\n6pryvZaS5xdeeAG33norLr/8cvzlX/6l9vqaNWvw5ptvnsatKmpqarBx40Z873vfw0MPPYTdu3fj\n2LFjuPjii0/72jS/fvBiN7bvHYDdZsPNl7fh1itXzPctEVWEHe/14vFXX0Y8lcGGlSF89kPrYbPN\nPEhBRKfncP8Yvvjd1zA8FseKxgDuu30DfB7nfN8WnUGWkueRkRGsXLmy6HWfz4dkMnlGbuThhx/G\nAw88gI0bN6KxsRF//dd/bap3poUlm8vjK9/fiUef26+99vRrB3Hotgj+v9suszTTQERz8+/b9uN/\n/ttryOVlAMAv3ziC3UeH8bd3Xw+vqyyWuhCdl17d148/+tvnMR5Pa6/t7BrAo3/2ATQF/fN4Z3Qm\nWXqKBgIBDA0NIRgMml4/ceJE0Wtz1draiscee+yMXIvm39d++DoefW4/XA4bvvJ7nYgm0/j6D17D\nt558B26XHffeesl83yLReemJVw7hgUdfBQD88Ucuw9ol9XjwX1/Ef71+DLIM/POfvn+GKxDRXOw/\nGcanvvFLZHJ5fHDjSnz8hgvx5UdfwrvHRvA7f/VzbPv67XA57PN9m3QGWEqeN27ciGeeeQY333wz\nZFnGyMgIDh8+jOeff56L9qjIwd4IvvurfbBJEv7jz2/GrdddBABYGvLgs3//Av72p7tw+6ZV7IUT\nnWHRRBp/9cM3AABf/t2r8MDvXg8AuLClCrd+5Wn8/I1jeGVfHzata5nHuyQ6/8iyjC8/thOZXB53\nXLcK/3b/b8Nut+GyZTX4rb/8GY4MjOO7v9qHu29ZP9+3SmeApX2eN2/ejIsvvhiPP/44stksHnvs\nMfziF7/A5ZdfjmuvvfZs3yMtIOIBksvL+N33teOaCxdr3/vwlStw8+XLEE9l8fCP3pjHuyQ6P/3/\nz+zBqbE4Ll3ZgD+8SV/4snZJHf7HR5TZnq889htkc/n5ukWi89Iv3jyO1/YPIBhw46ufvhp2u5Je\nhaq92PqZqwEAjzz5DobH4/N5m3SGWC5++8AHPoDOzk4MDw8DABoaGuB2u8/ajdHCtLNrADv29qHG\n58IX77i86Pt/8akr8cLuk3jilcO499aLsaa1bh7ukuj8E55I4J9/8S4A4KufvrpoceB//9BF+OFL\n3ejqGcXTO4/g9k08xZXoTJBlGV//T2XzhC9+7HLU+s250fXr2/D+S5dg266T+Idn9uCrn7Line truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5a5f0b8>"
|
||||
"<matplotlib.figure.Figure at 0x7f73fe719128>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -809,7 +800,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAs8AAAGDCAYAAADUAP09AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8XOV9L/7PmX0fSaORZFmbLRu8CGxjtrDYmC0kJCEh\nkIQsJdybtClN7m170zTQNrn90dJXmqZpmrS/JPdmaaHJJVAIcAlgzGKzg/dN3iRrX2aRNItmnzn3\nj3OeMzOyJB/bWgb8eb9evOzRnBkf4PE5n/M83+d5pKNHj8ogIiIiIqLTMiz2CRARERERvVcwPBMR\nERER6cTwTERERESkE8MzEREREZFODM9ERERERDoxPBMRERER6WRa7BPQq7+/f7FPgYiIiIjOE83N\nzdP+/D0TngFg9erVi30KRKfw+Xx4/PHHsXnz5sU+FaIybJtUydg+qZJ1dnbO+B7LNoiIiIiIdGJ4\nJiIiIiLSieGZaA6wpIgqFdsmVTK2T3ovYngmmgO8AVClYtukSsb2Se9FDM9ERERERDoxPBMRERER\n6cTwTERERESkE8MzEREREZFODM9ERERERDoxPBMRERER6cTwTERERESkE8MzEREREZFODM9ERERE\nRDoxPBMRERER6cTwTERERESkE8MzEREREZFODM9ERERERDoxPBMRERER6cTwTERERESkE8MzERER\nEZFODM9ERERERDoxPBMRERER6cTwTERERESk04KF523btuHTn/40LrroItx3333az7PZLO6//35c\ncskl2LJlC5599tmFOiUiIiIiojNiWqg/yOPx4Etf+hLeeOMNpFIp7ee//OUvceLECezYsQOHDx/G\nH/zBH2DDhg1oaGhYqFMjIiIiItJlwXqeL7/8ctx0003wer1lP3/uuefwhS98AS6XC5dffjk2bNiA\nF154YaFOi4iIiIhItwXreRZkWS573dPTg2XLluHrX/86rr/+erS3t+PkyZMLfVpERERERKe14OFZ\nkqSy18lkEg6HA8ePH0dHRwecTidGRkam/azP51uIUyQ6I2azGQDbJ1Uetk2qZGyf9F616D3Pdrsd\nyWQSTz75JADgb/7mb+B0Oqf97AMPPKD9ftOmTdi8efP8nSgRERERnRe2b9+OHTt2aK+3bNky47GL\n3vPc1taGrq4urF27FgDQ1dWFG264YdrP3nvvvWWvw+Hw/Jwk0RkQvSZsj1Rp2DapkrF9UiXp6OhA\nR0eH9rqzs3PGYxdswmChUEA6nUY+n0c+n0cmk0Eul8OHPvQhPPTQQ4jFYnj77bexd+9e3HTTTQt1\nWkREREREui1Yz/Nvf/tb3H///drrp556Cl/96lfxla98Bd3d3di8eTO8Xi8efPBB1NfXL9RpERER\nERHpJh09elQ+/WGLr7+/H6tXr17s0yA6BYceqVKxbVIlY/ukStbZ2Ynm5uZp3+P23EREREREOjE8\nExERERHpxPBMRERERKQTwzMRERERkU4Mz0REREREOjE8ExERERHpxPBMRERERKQTwzMRERERkU4M\nz0REREREOjE8ExERERHpxPBMRERERKQTwzMRERERkU4Mz0REREREOjE8ExERERHpxPBMRERERKQT\nwzMRERERkU4Mz0REREREOjE8ExERERHpxPBMRERERKQTwzMRERERkU4Mz0REREREOjE8ExERERHp\nxPBMRERERKQTwzMRERERkU4Mz0REREREOjE8ExERERHpxPBMRERERKQTwzMRERERkU4Mz0RERERE\nOjE8ExERERHpxPBMRERERKQTwzMRERERkU4Mz0REREREOjE8ExERERHpxPBMRERERKQTwzMRERER\nkU4Mz0REREREOjE8ExERERHpxPBMRERERKQTwzMRERERkU4Mz0REREREOjE8ExERERHpxPBMRERE\nRKQTwzMRERERkU4Mz0REREREOjE8ExERERHpxPBMRERERKQTwzMRERERkU4Mz0REREREOjE8ExER\nERHpxPBMRERERKRTxYTno0eP4jOf+Qw2btyIW265Bdu2bVvsUyIiIiIiKlMx4fkb3/gGrrvuOuza\ntQvf+ta38PWvfx0TExOLfVpERERERJqKCc/d3d344Ac/CAC46qqrYLVaMTAwsMhnRURERERUVDHh\n+dprr8Vzzz2HfD6P1157DS6XCxdccMFinxYRERERkca02CcgfPOb38Q999yDH/3oR7BYLNqvpXw+\n3yKdHdHMzGYzALZPqjxsm1TJ2D7pvaoiwnMqlcIXv/hF3Hfffbjxxhuxe/du3HvvvXjiiSfQ2Nio\nHffAAw9ov9+0aRM2b968GKdLRERERO8j27dvx44dO7TXW7ZsmfHYigjPx44dw+TkJG666SYAwMaN\nG9Hc3Iy9e/eWhed777237HPhcHhBz5NoOqLXhO2RKg3bJlUytk+qJB0dHejo6NBed3Z2znhsRdQ8\nNzU1IZVKYdu2bZBlGQcOHEBXVxeWL1++2KdGRERERKSpiJ7nmpoafP/738f3v/99fOMb34DP58P9\n99+PVatWLfapERERERFpKiI8A8D111+P66+/frFPg4iIiIhoRhVRtkFERERE9F7A8ExEREREpBPD\nMxERERGRTgzPREREREQ6MTwTEREREenE8ExEREREpBPDMxERERGRTgzPREREREQ6MTwTEREREenE\n8ExEREREpBPDMxERERGRTgzPREREREQ6MTwTEREREenE8ExEREREpBPDMxERERGRTgzPREREREQ6\nMTwTEREREenE8ExEREREpBPDMxERERGRTgzPREREREQ6MTwTEREREenE8ExEREREpBPDMxERERGR\nTgzPREREREQ6MTwTEREREenE8ExEREREpBPDMxERERGRTgzPREREREQ6MTwTEREREenE8ExERERE\npBPDMxERERGRTgzPREREREQ6MTwTEREREenE8ExEREREpBPDMxERERGRTgzPREREREQ6MTwTERER\nEenE8ExEREREpBPDMxERERGRTgzPREREREQ6MTwTEREREenE8ExEREREpBPDMxERERGRTgzPRERE\nREQ6MTwTEREREenE8ExEREREpBPDMxERERGRTgzPREREREQ6MTwTEREREenE8ExEREREpBPDMxER\nERGRThUTnlOpFL71rW/hiiuuwGWXXYa//uu/XuxTIiIiIiIqY1rsExAefPBB9Pf345lnnoHP58OJ\nEycW+5SIiIiIiMpURHhOpVJ48skn8fjjj6O2thYAsHLlykU+KyIiIiKichVRttHT0wNJkrBt2zZc\nffXVuPXWW7Ft27bFPi0iIiIiojIV0fMcj8eRzWYxMDCAl19+GXv27MFXvvIVbN26FX6/XzvO5/Mt\n4lkSTc9sNgNg+6TKw7ZJlYztk96rdIfnoaEh7Ny5E+Pj47j99tvhdrtx8OBB+Hw+LFmy5JxOwmaz\nIZ/P45577oHFYsEVV1yBZcuWYd++fbjxxhu14x544AHt95s2bcLmzZvP6c8lIiIiItq+fTt27Nih\nvd6yZcuMx+oKz0eOHMGvf/1rLF++HN3d3chmswCAkZER7Nu3D5/73OfO6YSbm5shSdJpj7v33nvL\nXofD4XP6c4nmgug1YXukSsO2SZWM7ZMqSUdHBzo6OrTXnZ2dMx6rq+b5xRdfxEc/+lHcfffdMBqN\n2s8vvPBC9PX1ncOpKrxeLy677DL88pe/RC6Xw86dO3Hy5EmsW7funL+baD79ZscxfPyvHsWXv/cM\nAhOJxT4dIk3PaBRf/M7T+OS3H8NzO3sW+3SINIWCjO8/vhsf+8vf4M9/+iIyufxinxLRGdHV8xwK\nhdDe3n7Kzx0OB1Kp1JycyIMPPoj77rsPl112Gerr6/Hd7363rN6ZqNI89VYX/uQn27XX+7uG8dhf\nfAQOm3kRz4oIGIul8Pm/fxYnR6IAgK07u/Hwn9+Ca9YuXeQzIwK+85t38aOn9wFQ2uZAYBw/+Mp1\nukagiSqBrp5nl8uFQCBwys97e3tRXV09JyfS1NSEhx56CHv27MFzzz1XVutMVGkGgjH88Y+V4HzP\nLevQUufBvu4Q/ufDby3ymREB/+OnO3ByJIo1rbW4c/NqZPMFfPmftmFiMr3Yp0bnuW17+vCjp/fB\naJDwJ5+8HE6bGf/52gk8/NKRxT41It10hefLLrsMTz31FA4ePAhZlhEKhfDOO+/g2WefxaWXXjrf\n50hUcX7xwmGks3l8+LJl+Nf/fgue+P/uhCQBj756DKFIcrFPj85jJ4YmsHV3L2xmI576m0/h3/78\nY7hyVQOiiQz+zytHF/v06Dz342f2AwD+7I5L8Xdfvh7//NUPAgB++uwBFAryYp4akW66wvOmTZuw\nbt06PPbYY8jlcnjooYfwu9/9Dpdeeimuvvrq+T5HoooymcriVy8rvSR/9NF1kCQJa9v8uHFDCzK5\nAh56aeZJBkTz7RdbDwEAbr96BZr8HhgMEr5y68Xae7l8YTFPj85jh/vCeLNzGE6bGXfftAYA8Okt\na9Doc6J7OIKX9/cv8hkS6aN7qbqbb74ZmzdvRjAYBAD4/X5YrdZ5OzGiSvX0W92IJjK4dGU91rcX\n6/K/dEsHXtjdh4dfPII//vgG1u/Rgktlcnj01eMAgP96S3HW+A3rW9BW70HPaBSv7B/AjRtaFusU\n6Tz28ItKp8NnNl8Aj8MCADAZDbjnprX42//zDh5+8QhuWM+2SZXvjHYYzOVycLlccLlcSCaTmJiY\nwMTExHydG1FFenGvssLMJ69ZUfbzq9c0oqHaiZHxSRzqHVuMU6Pz3FtHhjGZyqKjzYdVzTXazw0G\nCZ+8Wmmvov0SLSRZlrFtj7h2rix773b1WvrqoUGkMrkFPzeiM6Wr53n79u3Yvn27tr7zVKLine truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5e2b320>"
|
||||
"<matplotlib.figure.Figure at 0x7f73fe761a20>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -874,7 +865,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5d19470>"
|
||||
"<matplotlib.figure.Figure at 0x7f73feaed630>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -1391,10 +1382,10 @@
|
||||
"\n",
|
||||
"State variables can either be *observed variables* - directly measured by a sensor, or *unobserved variables* - inferred from the observed variables. For our dog tracking problem, our observed state variable is position, and the unobserved variable is velocity. \n",
|
||||
"\n",
|
||||
"In the previous chapter would denote the dog's position being 3.2 as:\n",
|
||||
"In the previous chapter would denote the dog's position being 3.2 meters as:\n",
|
||||
"$$\\mu = 3.2$$\n",
|
||||
"\n",
|
||||
"In this chapter we will use the multivariate Gaussian as described at the beginning of this chapter. For example, if we wanted to specify a position of 10.0 and a velocity of 4.5, we would write:\n",
|
||||
"In this chapter we will use the multivariate Gaussian as described at the beginning of this chapter. For example, if we wanted to specify a position of 10.0 m and a velocity of 4.5 m/s, we would write:\n",
|
||||
"\n",
|
||||
"$$\\mu = \\begin{bmatrix}10.0\\\\4.5\\end{bmatrix}$$\n",
|
||||
"\n",
|
||||
@@ -1406,7 +1397,7 @@
|
||||
"\n",
|
||||
"The other half of the Gaussian is the covariance $\\Sigma$. The Kalman filter equations use the alternative symbol $\\mathbf{P}$, but it means the same thing. In the one dimensional Kalman filter we specified an initial value for $\\sigma^2$, and then the filter took care of updating it's value as measurements were added to the filter. The same thing happens in the multidimensional Kalman filter.\n",
|
||||
"\n",
|
||||
"In the last chapter we initialized the dog's position at 0.0, and set the $\\sigma^2=500$ to indicate that we were very unsure about this initial value. We need to do the same thing for the multidimensional Kalman filter. We will set the initial position to 0.0, the initial velocity to 0.0, and then set $\\sigma^2$ to a 500 for both the position and velocity to reflect our uncertainty. \n",
|
||||
"In the last chapter we initialized the dog's position at 0.0 m, and set the $\\sigma^2=500$ to indicate that we were very unsure about this initial value. We need to do the same thing for the multidimensional Kalman filter. We will set the initial position to 0.0 m, the initial velocity to 0.0 m/s, and then set $\\sigma^2$ to a 500 for both the position and velocity to reflect our uncertainty. \n",
|
||||
"\n",
|
||||
"Recall that the diagonals of the covariance matrix contains the variance of each variable. So to initialize the Kalman filter to the values in the previous paragraph we would write:\n",
|
||||
"\n",
|
||||
@@ -1417,7 +1408,7 @@
|
||||
"\\end{aligned}\n",
|
||||
"$$\n",
|
||||
"\n",
|
||||
"I am often frustrated when books use the same value for multiple variables in an example as it can be unclear which value corresponds to which variable. To ensure that there is no confusion let's look at the example of setting the initial position to 1, the initial velocity to 2.3, the $\\sigma^2$ of the position to 500, and the $\\sigma^2$ of the velocity to 400. In that case we would write:\n",
|
||||
"I am often frustrated when books use the same value for multiple variables in an example as it can be unclear which value corresponds to which variable. To ensure that there is no confusion let's look at the example of setting the initial position to 1 m, the initial velocity to 2.3 m/s, the $\\sigma^2$ of the position to 500, and the $\\sigma^2$ of the velocity to 400. In that case we would write:\n",
|
||||
"\n",
|
||||
"$$\n",
|
||||
"\\begin{aligned}\n",
|
||||
@@ -1590,9 +1581,15 @@
|
||||
"\n",
|
||||
"The *measurement noise matrix* is a matrix that models the noise in our sensors as a covariance matrix. This can be admittedly a very difficult thing to do in practice. A complicated system may have many sensors, the correlation between them might not be clear, and usually their noise is not a pure Gaussian. For example, a sensor might be biased to read high if the temperature is high, and so the noise is not distributed equally on both sides of the mean. Later we will address this topic in detail. For now I just want you to get used to the idea of the measurement noise matrix so we will keep it deliberately simple.\n",
|
||||
"\n",
|
||||
"In the last chapter we used a variance of 5 for our position sensor. Let's use the same value here. The Kalman filter equations uses the symbol $R$ for this matrix. In general the matrix will have dimension $m{\\times}m$, where $m$ is the number of sensors. It is $m{\\times}m$ because it is a covariance matrix, as there may be correlations between the sensors. We have only 1 sensor here so we write:\n",
|
||||
"In the last chapter we used a variance of 5 meters for our position sensor. Let's use the same value here. The Kalman filter equations uses the symbol $R$ for this matrix. In general the matrix will have dimension $m{\\times}m$, where $m$ is the number of sensors. It is $m{\\times}m$ because it is a covariance matrix, as there may be correlations between the sensors. We have only 1 sensor here so we write:\n",
|
||||
"\n",
|
||||
"$$R = \\begin{bmatrix}5\\end{bmatrix}$$"
|
||||
"$$R = \\begin{bmatrix}5\\end{bmatrix}$$\n",
|
||||
"\n",
|
||||
"If we had two position sensors, the first with a variance of 5 meters, the second with a variance of 3 meters, we would write\n",
|
||||
"\n",
|
||||
"$$R = \\begin{bmatrix}5&0\\\\0&3\\end{bmatrix}$$\n",
|
||||
"\n",
|
||||
"We put the variances on the diagonal because this is a *covariance* matrix, where the variances lie on the diagonal, and the covariances, if any, lie in the off-diagonal elements. Here we assume there is no correlation in the noise between the two sensors, so the covariances are 0."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -1662,9 +1659,9 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"It general it is not true that acceleration will be constant and uncorrelated, but this is still a useful approximation for moderate time period, and will suffice for this chapter. Fortunately you can get a long way with approximations and simulation. Let's think about what these matrices are implying. We are trying to model the effects of *process noise*, such as the wind buffeting the flight of a thrown ball. Variations in wind will cause changes in acceleration, and so the effect on the acceleration is large. However, the effects on velocity and position are proportionally smaller. In the matrices, the acceleration term is in the lower right, and this is the largest value. A good rule of thumb is to set $\\sigma$ somewhere from $\\frac{1}{2}\\Delta a$ to $\\Delta a$, where $\\Delta a$ is the maximum amount that the acceleration will change between sample periods. In practice we pick a number, run simulations on data, and choose a value that works well. \n",
|
||||
"It general it is not true that acceleration will be constant and uncorrelated, but this is still a useful approximation for moderate time period, and will suffice for this chapter. Fortunately you can get a long way with approximations and simulation. Let's think about what these matrices are implying. We are trying to model the effects of *process noise*, such as the wind buffeting the flight of a thrown ball. Variations in wind will cause changes in acceleration, and so the effect on the acceleration is large. However, the effects on velocity and position are proportionally smaller. In the matrices, the acceleration term is in the lower right, and this is the largest value. **A good rule of thumb is to set $\\sigma$ somewhere from $\\frac{1}{2}\\Delta a$ to $\\Delta a$, where $\\Delta a$ is the maximum amount that the acceleration will change between sample periods**. In practice we pick a number, run simulations on data, and choose a value that works well. \n",
|
||||
"\n",
|
||||
"The filtered result will not be optimal, but in my opinion the promise of optimal results from Kalman filters is mostly wishful thinking. Consider, for example, tracking a car. In that problem the process noise would include things like potholes, wind gusts, changing drag due to turning, rolling down windows, and many more factors. We cannot realistically model that analytically, and so in practice we work out a simplified model, compute $\\mathbf{Q}$ based on that simplified model, and then add *a bit* to $\\small\\mathbf{Q}$ in hopes of taking the uncalculable factors into account. Then we use a lot of simulations and trial runs to see if the filter behaves well; if it doesn't we adjust $\\small\\mathbf{Q}$ until the filter performs well. In this chapter we will focus on forming an intuitive understanding on how adjusting $\\small\\mathbf{Q}$ affects the output of the filter. In the Kalman Filter Math chapter we will discuss the analytic computation of $\\small\\mathbf{Q}$, and also provide code that will compute it automatically for you.\n",
|
||||
"The filtered result will not be optimal, but in my opinion the promise of optimal results from Kalman filters is mostly wishful thinking. Consider, for example, tracking a car. In that problem the process noise would include things like potholes, wind gusts, changing drag due to turning, rolling down windows, and many more factors. We cannot realistically model that analytically, and so in practice we work out a simplified model, compute $\\mathbf{Q}$ based on that simplified model, and then add *a bit* to $\\small\\mathbf{Q}$ in hopes of taking the incalculable factors into account. Then we use a lot of simulations and trial runs to see if the filter behaves well; if it doesn't we adjust $\\small\\mathbf{Q}$ until the filter performs well. In this chapter we will focus on forming an intuitive understanding on how adjusting $\\small\\mathbf{Q}$ affects the output of the filter. In the Kalman Filter Math chapter we will discuss the analytic computation of $\\small\\mathbf{Q}$, and also provide code that will compute it automatically for you.\n",
|
||||
"\n",
|
||||
"For now we will just import the code from the `FilterPy` module, where it is already implemented. I will import it and call help on it so you can see the documentation for it."
|
||||
]
|
||||
@@ -2019,9 +2016,9 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5e4d2e8>"
|
||||
"<matplotlib.figure.Figure at 0x7f73fe74f5c0>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2029,7 +2026,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5f71c50>"
|
||||
"<matplotlib.figure.Figure at 0x7f740a323f28>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -2196,9 +2193,9 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5cd9e10>"
|
||||
"<matplotlib.figure.Figure at 0x7f73fead7860>"
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2206,7 +2203,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5ea2208>"
|
||||
"<matplotlib.figure.Figure at 0x7f73feb15438>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -2236,7 +2233,7 @@
|
||||
"\n",
|
||||
"As it turns out the Kalman filter equations are quite easy to deal with in one dimension, so let's do the mathematical proof. \n",
|
||||
"\n",
|
||||
"> **Important** This section will provide you with a strong intuition into what the Kalman filter equations are actually doing. I strong recommend reading this section carefully as it should make this material much easier to understand. It is not merely a proof of correctness that you would normally want to skip past!\n",
|
||||
"> **Note:** This section will provide you with a strong intuition into what the Kalman filter equations are actually doing. While this section is not strictly required, I recommend reading this section carefully as it should make the restof the material easier to understand. It is not merely a proof of correctness that you would normally want to skip past! The equations look complicated, but they are actually doing something quite simple.\n",
|
||||
"\n",
|
||||
"Let'start with the predict step, which is slightly easier. Here are the multivariate equations. \n",
|
||||
"$$\n",
|
||||
@@ -2246,16 +2243,16 @@
|
||||
"\\end{aligned}\n",
|
||||
"$$\n",
|
||||
"\n",
|
||||
"The state $mathbf{x}$ only has one variable, so it is a $1\\times 1$ matrix. Our motion $\\mathbf{u}$ is also be a $1\\times 1$ matrix. Therefore, $\\mathbf{F}$ and $\\mathbf{B}$ must also be $1\\times 1$ matrices. That means that they are all scalars, and we can write\n",
|
||||
"The state $\\mathbf{x}$ only has one variable, so it is a $1\\times 1$ matrix. Our motion $\\mathbf{u}$ is also be a $1\\times 1$ matrix. Therefore, $\\mathbf{F}$ and $\\mathbf{B}$ must also be $1\\times 1$ matrices. That means that they are all scalars, and we can write\n",
|
||||
"\n",
|
||||
"$$x = Fx + Bu$$\n",
|
||||
"\n",
|
||||
"Here the variables are not bold, denoting that they are just variables. \n",
|
||||
"Here the variables are not bold, denoting that they are not matrices or vectors. \n",
|
||||
"\n",
|
||||
"Our state transition is simple - the next state is the same as this state, so $F=1$. The same holds for the motion transition, so, $B=1$. Thus we have\n",
|
||||
"$$x = x + u$$\n",
|
||||
"\n",
|
||||
"which is equivelant to the Gaussian equation from the last chapter\n",
|
||||
"which is equivalent to the Gaussian equation from the last chapter\n",
|
||||
"\n",
|
||||
"$$ \\mu = \\mu_1+\\mu_2$$\n",
|
||||
"\n",
|
||||
@@ -2271,7 +2268,9 @@
|
||||
"$$P^- = P + Q$$\n",
|
||||
"\n",
|
||||
"which is equivalent to the Gaussian equation of \n",
|
||||
"$$\\sigma^2 = \\sigma_1^2 + \\sigma_2^2$$"
|
||||
"$$\\sigma^2 = \\sigma_1^2 + \\sigma_2^2$$\n",
|
||||
"\n",
|
||||
"This proves that the multivariate equations are performing the same math as the univariate equations for the case of the dimension being 1."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2301,7 +2300,7 @@
|
||||
"\n",
|
||||
"Before we continue with the proof, I want you to look at those equations to recognize what a simple concept these equations implement. The residual $y$ is nothing more than the measurement minus the previous state. The gain $K$ is scaled based on how certain we are about the last prediction vs how certain we are about the measurement. We choose a new state $x$ based on the old value of $x$ plus the scaled value of the residual. Finally, we update the uncertainty based on how certain we are about the measurement. Algorithmically this should sound exactly like what we did in the last chapter.\n",
|
||||
"\n",
|
||||
"So let's finish off the algebra to prove that. It's straightforward, and not at all necessary for you to learn unless you are interested. Feel free to skim past if you like - it will not help you with Kalman filtering.\n",
|
||||
"So let's finish off the algebra to prove this. It's straightforward, and not at all necessary for you to learn unless you are interested. Feel free to skim ahead to the last paragraph in this section if you prefer skipping the algebra.\n",
|
||||
"\n",
|
||||
"Recall that the univariate equations for the update step are:\n",
|
||||
"$$\n",
|
||||
@@ -2438,9 +2437,9 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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\ny8sLs9nM4sWLAZg+fXrt2p4n27dvX0OqICIiIiJSJ506darX+Q0Kyp06dbK7A5TNZiM8PJzs7Gz6\n9OkDQHZ2NiNHjrRbTu/evRtSDTkPwcHBfPrpp8TGxjq7Kq2S2t+51P7Oo7Z3LrW/c6n9nSc4OJj0\n9PR6X9egMcr+/v4MGDCAuXPnUlVVxaZNm9izZw+XXnop8fHxzJs3j+LiYr799ls2b95MXFxcQ24n\nIiIiItJkHLI83NNPP82AAQMICQnhpZdeom3btowdO5bdu3cTGxuLv78/SUlJhISEOKLOIiIiIiKN\nrsFBuWPHjsybN+/0gt3cSEpKIikpqaG3kEaiIS/OpfZ3LrW/86jtnUvt71xq/wtLg4ZeyIVN/1md\nS+3vXGp/51HbO5fa37nU/hcWBWURERERETsUlEVERERE7FBQFhERERGxQ0FZRERERMQOBWURERER\nETsUlEVERERE7FBQFhERERGxQ0FZRERERMQOBWURERERETsUlEVERERE7FBQFhERERGxQ0FZRERE\nRMQOBWURERERETsUlEVERERE7FBQFhERERGxQ0FZRERERMQOBWURERERETsUlEVERERE7FBQFhER\nERGxQ0FZRERERMQOBWURERERETsUlEVERERE7FBQFhERERGxQ0FZRERERMQOBWURERERETsUlEVE\nRERE7FBQFhERERGxQ0FZRERERMQOBWURERERETsUlEVERERE7FBQFhERERGxQ0FZRERERMQOBWUR\nERERETsUlEVERERE7FBQFhERERGxQ0FZRERERMQOBWURERERETsaHJTHjBnDJZdcQnR0NNHR0Tz5\n5JMAWCwWpkyZQr9+/Rg+fDhLlixpcGVFRERERJqKmyMKefbZZ7nllltOOTZ37lx27dpFWloamZmZ\nJCQkEB0dTWhoqCNuKSIiIiLSqBwy9MJms512bOnSpYwZMwYfHx8GDhxIdHQ0qampjridiIiISLNS\nbbU6uwrSCBwSlP/5z38yePBg7r33XrKzswHIyckhIiKCxMREvvrqKyIjI9mzZ48jbiciIiLSLBwp\nrSDxrTQenLPa2VWRRtDgoRdPPvkkPXr0oLq6mjlz5jBhwgS+/PJLzGYz3t7eZGVlERUVhclkIj8/\n324ZwcHBDa2G1JO7uzugtncWtb9zqf2dR23vXGp/x7HZbCxM20HiGys4UFSK0d2VIxUuRHYIPOM1\nan/nOdH29dXgoBwVFVX7ePLkycyfP5/s7Gy8vLwwm80sXrwYgOnTp2MymeyWMW3atNrHMTExxMbG\nNrRaIiIiIo3il4NHeXjWcpZsrPkr+hVRHZnzcPxZQ7I0vTVr1pCWlgaAq6srMTEx9S7DIZP5TmYw\nGLDZbISHh5OdnU2fPn0AyM7OZuTIkXavmTBhwilfFxQUOLpa8hsnfptVWzuH2t+51P7Oo7Z3LrV/\nw1Rbrby7PJMXFmyirKIKP28jz9w+iLsvaYtLeSHnala1f9OKioqq7dANDg4mPT293mU0aIxycXEx\na9asobKyksrKSmbNmkWbNm3o1q0b8fHxzJs3j+LiYr799ls2b95MXFxcQ24nIiIi4hQ/7S3g+qmL\nmTpvPWUVVYweFMHqF3/P/X4ltLl6FEFxcZgyMpxdTXGwBvUoWywWXnnlFR555BHc3d25+OKLef31\n13Fzc2Ps2LHs3r2b2NhY/P39SUpKIiQkxFH1FhEREWl05ooqXv7se9748keqrTbaB5lIuucKRvXr\ngrGwEN+EBFyOz8HyTUjAkppKZVCQk2stjtKgoBwUFMRnn31mv2A3N5KSkkhKSmrILUREREScIiPr\nAA/NWcXeg8UYDHDf1X144vf98fEyOrtq0kQcPkZZRERE5EK38JssHk9Jo7LKSu9OQbw47kr6dWt3\nyjmVQUEUJyfjm5AAQHFysnqTWxgFZREREZHjrFYbLyzYxKz/bgFgUuFWpj40hsrfhOQTSvv3x3J8\nQzWF5JZHQVlEREQEKC238NDrq1iasRdXm5VZWV8xfn8G1glrKTzL2GMF5JZLQVlERERavbzDJYyd\nuYzMXwrx93Ln452fErf/O2dXS5xMQVlERERate+yDnDfy6kcOmomItSP9xKv5pK8KKwae9zqKSiL\niIhIs3foaBkvffwdbfy9GHZJR/p1a4eba4O2gwBg0bpdTH4zjQpLNUP7dCD54asIMHlQ2l5jj0VB\nWURERJq5fYeK+cPzX5Fz4BgA/1r0A75e7gztE0bMxWEMu6Qjndv51atMt8MFvPBVJv9ctgOAMSN7\nM+2uIbi7/S98KyCLgrKIiIg0WztzC7ljxhLyi8qICg9mUM9QVv+YS/avR1mSkcOSjBwAIkL9GHZJ\nR2Iu7kh0ZFvMFVUcK6vkaGklx8oqah6XVXKstJKyPfvYuXYzq01huBjgb3cNYWzcRRgMBuLine truncated
|
||||
"png": "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\nNmzYgJ+fHzabjUWLFgEwZ86cmrU9T7Rr166GlCAiIiIiclYiIiLqdX6DgnJERITLHaCcTieRkZHk\n5ubSv39/AHJzcxk9erTL6/Tr168hZcg5CAkJ4f333ycxMdHTpbRJan/PUvt7jtres9T+nqX295yQ\nkBAyMzPr/boGjVEOCgpi6NChzJ8/n8rKStauXUteXh6DBg0iOTmZBQsWUFJSwurVq8nOziYpKakh\ntxMRERERaTJuWR5uxowZDB06lLCwMP7+97/TsWNHJkyYwLZt20hMTCQoKIjU1FTCwsLcUbOIiIiI\nSKNrcFDu2rUrCxYsOPXCJhOpqamkpqY29BbSSDTkxbPU/p6l9vcctb1nqf09S+3fsjRo6IW0bPrL\n6llqf89S+3uO2t6z1P6epfZvWRSURURERERcUFAWEREREXFBQVlERERExAUFZRERERERFxSURURE\nRERcUFAWEREREXFBQVlERERExAUFZRERERERFxSURURERERcUFAWEREREXFBQVlERERExAUFZRER\nERERFxSURURERERcUFAWEREREXFBQVlERERExAUFZRERERERFxSURURERERcUFAWEREREXFBQVlE\nRERExAUFZRERERERFxSURURERERcUFAWEREREXFBQVlERERExAUFZRERERERFxSURURERERcUFAW\nEREREXFBQVlERERExAUFZRERERERFxSURURERERcUFAWEREREXFBQVlERERExAUFZRERERERFxSU\nRURERERcUFAWEREREXFBQVlERERExAUFZRERERERFxSURURERERcaHBQHj9+POeffz6xsbHExsby\n4IMPAmC325k5cyaDBw9m5MiRfPbZZw0uVkRERESkqZjccZFHHnmE6667rtZz8+fPZ+vWrWRkZLBx\n40ZSUlKIjY0lPDzcHbcUEREREWlUbhl64XQ6T3luyZIljB8/noCAAOLj44mNjSU9Pd0dtxMRERER\naXRuCcpPP/00F1xwAbfddhu5ubkAbN++naioKKZNm8ann35KdHQ0eXl57ridiIiIiEija/DQiwcf\nfJDevXtTVVXFSy+9xOTJk1m8eDE2mw1/f39ycnKIiYnBYrFQUFDg8hohISENLUPqydvbG1Dbe4ra\n37PU/p6jtvcstb/7OZ1OqnbvBsCrSxcMBkOd56r9Ped429dXg4NyTExMzeP77ruPhQsXkpubi5+f\nHzabjUWLFgEwZ84cLBaLy2vMnj275nFCQgKJiYkNLUtERESkUTmdTiqXL8d/4kQAjs6bh2n06NOG\nZWk6K1euJCMjAwAvLy8SEhLqfQ23TOY7kcFgwOl0EhkZSW5uLv379wcgNzeX0aNHu3zN5MmTa/2+\nsLDQ3WXJSY5/N6u29gy1v2ep/T1Hbe9Zan/3MhcVYZ04EeMvPzH3nziRovR0KqxWl+er/ZtWTExM\nTYduSEgImZmZ9b5Gg8Yol5SUsHLlSioqKqioqODFF1+kQ4cO9OzZk+TkZBYsWEBJSQmrV68mOzub\npKSkhtxORERERKTJNKhH2W638+yzz3LPPffg7e3NgAEDePnllzGZTEyYMIFt27aRmJhIUFAQqamp\nhIWFuatuERERkUZlLioCqLOHuMJqpSQtjcCUFABK0tLqPFdapgYFZavVygcffOD6wiYTqamppKam\nNuQWIiIiIk3OkpVVKwCXxcW5PK8sLg77L8vfKiS3PtrCWkREROQE5qIiAlNSMBYUYCwoIDAlpaZ3\n2ZUKq1UhuZVy+2Q+ERERkbbA6XSycWcRH63aRtERG3+/vf6rKkjzpqAsIiIicoIzjT3enF/Ex6vy\n+GhVLrl7DwPgZTTw0PVDCWnn55GapXEoKIuIiEibc6aJeiePPc7de4iPVm3j41Xb2JxfXHOeNdCX\nK+KjuHJYD9oH+DR+4dKkFJRFRESkTTnbiXpb7CY+Wb2Nj1Z9yU87/rf2cXuLD8lDI7nqgh6MOK8z\nJi9N+WqtFJRFRESkzThxoh5AYEoK9hM2CcnZXcziNXksXpPHxp3/m8AX6OfNZXHV4fjimC6YTV4e\nqV+aloKyiIiItFlO4Kfdh/lwxTY+XZPHlt2Hao4F+HqTNLgbVw7rQeL5XfE1Kza1NfoTFxERkTbj\n+ES9bXfN5L/tonknejjbHl9Wc7y9xYcxQ7pz+dBIEgZ0xcdbPcdtmYKyiIiItBlb8ov521fFfBb1\nm+onDh0jpJ0vY4dEckV8FCPO64y3SWOOpZqCsoiIiLQada1mkX+ghKfeX8e7X+XgcDrxNXvx24Te\njIvvwbC+4ZqQJy4pKIuIiEir4Go1i8IjNp5flM1/lm2kotKBycvA+JHncfc1sYQF+3u4YmnuFJRF\nRESkxTt5NQvumMpzdz/J3C+2UlZuB+BXI6KZdl0ckWHtPFiptCQKyiIiItJqlBtNvNI5jrLine truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5c60e10>"
|
||||
"<matplotlib.figure.Figure at 0x7f73fe7591d0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -2479,7 +2478,7 @@
|
||||
"\n",
|
||||
"Let's start varying our parameters to see the effect of various changes. This is a *very normal* thing to be doing with Kalman filters. It is difficult, and often impossible to exactly model our sensors. An imperfect model means imperfect output from our filter. Engineers spend a lot of time tuning Kalman filters so that they perform well with real world sensors. We will spend time now to learn the effect of these changes. As you learn the effect of each change you will develop an intuition for how to design a Kalman filter. As I wrote earlier, designing a Kalman filter is as much art as science. The science is, roughly, designing the ${\\mathbf{H}}$ and ${\\mathbf{F}}$ matrices - they develop in an obvious manner based on the physics of the system we are modeling. The art comes in modeling the sensors and selecting appropriate values for the rest of our variables.\n",
|
||||
"\n",
|
||||
"Let's look at the effects of the noise parameters ${\\mathbf{R}}$ and ${\\mathbf{Q}}$. "
|
||||
"Let's look at the effects of the noise parameters ${\\mathbf{R}}$ and ${\\mathbf{Q}}$. We will want to see the effect of different settings for ${\\mathbf{R}}$ and ${\\mathbf{Q}}$, so I have hard coded our measurements in `zs` based on a variance of 50 meters. That is very large, but it magnifies the effects of varius design choices on the graphs, making it easier to recognize what is happening. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2496,11 +2495,11 @@
|
||||
" 40.77, 32.95, 38.20, 40.93, 39.42, 35.49, 36.31, 31.56,\n",
|
||||
" 50.29, 40.20, 54.49, 50.38, 42.79, 37.89, 56.69, 41.47, 53.66]\n",
|
||||
" \n",
|
||||
"plot_track(data=zs, R_var=30, Q_var=20,count=50, plot_P=False, \n",
|
||||
" title='R_var = 30, Q_var = 20')\n",
|
||||
"plot_track(data=zs, R_var=50, Q_var=20,count=50, plot_P=False, \n",
|
||||
" title='R_var = 50 m, Q_var = 20 m')\n",
|
||||
"\n",
|
||||
"plot_track(data=zs, R_var=30, Q_var=.02,count=50, plot_P=False, \n",
|
||||
" title='R_var = 30, Q_var = 0.02')"
|
||||
"plot_track(data=zs, R_var=50, Q_var=.02,count=50, plot_P=False, \n",
|
||||
" title='R_var = 50 m, Q_var = 0.02 m')"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
@@ -2508,21 +2507,21 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsoAAAGCCAYAAAD5deXcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlcVOX+wPHPmWHYVwcQBRQFt3AJd3NLyi01l8w2zaUy\nf5ZdK7PtppXmzRatbrdraTe9att1yTb3NNTUzCUXSgEXQEEW2ZmBYeb8/iAmkUGBGQTs+369fAln\nec73DAf9zjPP83yVkydPqgghhBBCCCHK0dR1AEIIIYQQQtRHkigLIYQQQghhgyTKQgghhBBC2CCJ\nshBCCCGEEDZIoiyEEEIIIYQNkigLIYQQQghhgyTKQgghhBBC2CCJshBCCCGEEDY41XUAQoirmzBh\nAgcOHABAURT8/f2JiIjgkUce4ZZbbqnj6BqW/fv3M3HiRJv7tm7dSmhoaLltGzZsYOnSpSQmJhIU\nFMSECROYMGHC9QjV4UwmEx9++CHr1q0jPT2d4OBgxo8fz/jx4+s6tAYlNTWVzz77jJ07d3L+/Hlc\nXFxo27YtTzzxBJ06dapw/LFjx1i4cCEnTpzA3d2doUOH8vTTT+Pm5lYH0QshqksSZSEaAB8fH/7+\n97+jqiqpqal88cUXTJkyhYULFzJy5Mi6Dq/BmTZtGuHh4eW26fX6ct9///33PPvss/Tt25eJEyey\nb98+XnvtNUpKSpg8efL1DNch5s+fzxdffMG4cePo2LEjMTExzJ8/H4PBwCOPPFLX4TUYO3bs4L//\n/S9DhgzhgQceoKCggM8//5z77ruPDz74gFtvvdV67Llz55g4cSJBQUE888wzXLx4kY8//pjk5GSW\nLFlSdzchhKgyRUpYC1G/TZgwgaSkJHbu3GndlpaWxuDBgwkODubbb7+tu+AamLIe5ZUrV9KtW7dK\nj1NVldtuuw1vb2/Wr1+PoigAPPzwwxw5coRdu3Y1qB7Bc+fOMWTIEMaMGcNrr71m3T5+/HhiY2PZ\ntWsXHh4edRhhw5GQkIC/vz8+Pj7Wbenp6QwaNIjmzZvz1VdfWbc/99xzbNq0ic2bN9O4cWMAPvro\nIxYtWsTq1avp0qXLdY9fCFE9MkZZiAYoMDCQli1bkpSUVO1zf/nlF9q2bcuGDRsq7FuyZAlt27bl\n/PnzQOnH9e+//z7jxo2jR48edOrUiREjRrB8+XJUteJ77H/+85+0bdsWg8HA3Llz6dWrF1FRUdx1\n112kpqZW/0Zriaqq5OfnU1JSYnP/yZMnuXDhAqNGjbImyQBjx44lPz+fffv2Vfuabdu2ZeHChURH\nR9O7d29iYmKYPXs2UVFRzJgxg+Li4hrfz7Xs2LEDVVUZPnx4ue0jRoygsLCQvXv3Vqs9o9FIVFQU\nL774YoV9hw4dom3btqxfv966bf369Tz00EP07duXDh06EB0dzWuvvUZubm6F8/fv30/btm35+eef\nWb58ObfddhsdO3Zk8ODBxMTEVCvO2hAeHl4uSQYICAigZcuWnD592rpNVVV++OEHevXqZU2SofQZ\nAti2bVu1rz1hwgRmzJjB+PHjiYqK4sMPP2TVqlV06dKFUaNGWX9vhRCOI4myEA2Q2WwmLS2NwMDA\nap/btWtXAgMD2bJlS4V9mzdvpkOHDgQHBwOQl5fH0qVLadGiBTNnzuT5558nLCyM119/ncWLF1d6\njVmzZhEXF8fUqVOZOXMmer2e7OzsasV56dKlq/7Jycmp3o1fZvr06XTt2pWbb76ZKVOmcOrUqXL7\nf//9dwDatWtXbnvZ9ydPnqzRdbdu3crDDz+Mh4cHM2bMoKioiKlTp7Jt2za2bt1aozaroizeiIiI\nctvLhp/Ex8dXqz1XV1eio6PZvn07ZrO53L7Nmzej0+kYOHCgddt//vMfAB566CHmzp1LdHQ0n3/+\nOVOnTq30GitWrOC///0vo0eP5oUXXqB79+7VTgTz8vKu+RzZesNXE5cuXSr3+5iamkpubi433XRT\nueMaNWpE48aNa/wM7dy5k+joaDp37sx7773Hhg0bePrpp0lLS+PDDz+06x6EEBXJGGUhGgCz2UxW\nVhaqqpKRkcHy5cvJyMhg7ty5NWpv8ODBfPnllxQWFuLu7g5AUlISv/32G7Nnz7Ye5+3tzY4dO2jU\nqJF127333suECRNYvXo1M2fORKOp+H7bYrGwevVqa2/sxIkTsVgs1YrxWhMVg4OD2b59e7XadHZ2\n5o477qBPnz74+voSGxvLJ598wv3338+aNWsICwsDSj9KB/D392fv3r3MmDGDRx99lPvvvx+AjIyM\nal23zNixY7n//vvJzc3lnXfe4YUXXqBx48Zs2LCBU6dOMWzYsBq1ey0ZGRkoioKvr2+57X5+ftb9\n1TV06FC+++47fv75Z3r16mXdvmXLFnr37o2np6d128cff1zhTZ2vry/vv/8+R48epWPHjhXaP3Hi\nBN988w1eXl7WbdV9hqZPn26dCFuZH374gaZNm1arXVttpKSk8Pjjj1u3lT1Der2eS5cuMXbsWFq3\nbs2SJUvQ6/XW/dXVrVs3pkyZQlRUFHv27OHBBx9kxIgR/P777xXe8Akh7CeJshANQHp6erlkpGnT\npixZsoT+/fvXqL2hQ4eycuVKdu7cyR133AHApk2brPvKODk5lUuSc3JyMJvNtGnThgMHDpCRkWGz\nV/vRRx8tN2QBsJlQX80nn3xy1f2urq7Vag8gKiqKqKgo6/fR0dH07duXe++9l/fff5+33noLwDoM\nQqfTkZmZSX5+PhcuXMDZ2RkoHXpQE2UTBsteU39/f6A0Ya1uj3t1XH4/lyu7n6Kiomq32a9fPzw8\nPNi8ebP12Tx69CgpKSn87W9/K3fs5c9Ifn4+xcXFtGzZEoDExESbifL9999fLkmG6j9Dzz33nM3h\nHZcr+xnUVGZmJnPmzKFly5Y8/PDD1u2Xv+aFhYVkZGRYx7U7OzuTn59fo+uVPUNlb3Ku1zMkxF+V\nJMpCNAB+fn4sWrQIi8XC4cOHWbJkCVu2bKlxoty5c2eCgoLYvHmzNVHevHkznTp1okmTJuWO3bRp\nE8uWLePUqVPlxtEqilJpgnXlR/w1cfkbg9rUqVMnOnToUG7ccVkCaTKZGD58ON27dycwMNCa3NQk\nSYc/E1Unp9J/erVarfV7k8lU43u4lsvv5/JkueznWZOJfM7OzgwYMIBt27bx8ssvA6XPirOzM7ff\nfnu5Y0+cOME///lPfvnllwoJYmXP0JWrktREZGSk3W1cTVFREY899ph1LP/lz8Xlr3lISAgxMTHW\nT2+Ki4txcXGp0TXLnh1bf9fmMyTEX5UkykI0AC4uLtbEsXfv3mg0Gt577z2GDRtW47WUy4ZfFBcX\nk5GRwfHjx3nuuefKHbNp0yZmzpxJ7969efXVVwkICECj0bB27dqrrrZx+cfuNXWtj6a1Wm253m57\nNG7cmN9++836fUBAAFA6JCE8PNzaI5qZmQnY3wtpi6PGytri7++PqqpkZ2db7w0gKysLoMLktKoa\nOnQo3377Lb/88gtdu3a1Oezi/PnzPPDAAzRt2pQnn3yS0NBQdDodJ06c4K233qr0vr29vWsU0+Wy\ns7OvmTzq9fpq91RD6TCQWbNm8dtvv7Fs2TJrD3mZste57Jm5fNhLRkaGQ95MXqk2nyEh/qokURai\nAZo0aRIrVqzgn//8Z40T5aFDh7JixQpiYmJISkpCURSGDBlS7phvvvmGkJAQli1bVm4oxbp16+yK\nvyr69u171f01GaNcmfPnz5dbR7lNmzYAxMbG0qNHD+v22NjYcvsbirJ44+PjyyXKCQkJQM17Xvv2\n7YunpyebN2/Gzc2N5ORknnjiiXLHbNu2DaPRyEcffURISIh1e3Jyco2uWR0zZsyotTHKCxYsYPv2\n7bzzzjs2lxoMCgrCx8eHEydOlNuemZlJWlparY1HF0I4liTKQjRA7u7ujBs3jqVLl1p786qrU6dO\nNG3alE2bNpGcnEynTp0ICgoqd4xWq0Wj0ZRLki9cuMC2bdsqjEF2tNoYo3zp0qUKvdB79+4lNjaW\ncePGWbe1a9eOpk2b8tVXXzFx4kRrj+PatWvx8vKiZ8+e1b52TZSt+9y0aVN++OGHGrczYMAAFi5c\nyDfffFNuSMu3336Lh4dHjdfzdXZ2Jjo6mq1bt+Lq6oqzszO33XZbuWPKhpeU/Q2lwxE+++yzGl2z\nOmprjPJHH33EqlWrmDdvHoMGDbJ5jKIoDBgwgI0bN3Lx4kXrEnFr164FqPA6CSHqJ7sTZaPRyIIF\nC9i8eTMWi4Xhw4czd+5cTCYTc+fOZdOmTfj4+DB79uxyk4SEEFVn6yPV8ePH88knn7Bs2bIaJcqK\nojB48GA+//xzjEZjhWEXALfffjtbtmzhscceo3///qSlpfHZZ58REhJCXFxcje6lqmpjjPIjjzxC\n06ZNiYyMxM/Pj7i4OL744gsCAwPLrVgA8NRTTzFr1iymTp3K4MGD2bdvH7t372b27NnXrdhI2SoP\nV07Cq67mzZtz99138+WXX+Lk5ESHDh3YtWsXBw4c4Omnn7ar2MjQoUP5+uuvWb16NX379q3QVr9+\n/XBxcWHatGmMGzeOoqIivvnmm0rXsHak2hijvHXrVhYtWkTnzp1xcXGpsB75oEGDrM/HtGnT2LJl\nC5MmTWLChAnWyny33nprjX5nhRDXn92J8oIFC0hKSuK7775Dr9dbP8pbvnw58fHxxMTEEBsby6OP\nPkpUVFSFHishxLXZ6r1t3LgxQ4YM4fvvvyc+Pr5GYx6HDh3KJ598gkajqTDsAuDOO+8kJyeHVatW\nsWvXLkJCQpg5cyYZGRm89957NuOs7Z5mewwcOJCNGzeyf/9+CgsL8fPz48477+SJJ56osHLine truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5fbf278>"
|
||||
"<matplotlib.figure.Figure at 0x7f73fe88b710>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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\n/vtr3acQwrkkURaimZs8eTIff/wxb731Vp0T5ZEjR/Lxxx8TFxdHamoqiqJUq+36zTffEBISwocf\nflhlKsXatWvrFX9NDB48+JLn6zNH+UKVo7dmsxl3d3f7FIyjR4/Sr18/+3VHjx4FsJ9vCJVtx8fH\nVzmenJxMeXk5Xbp0qVO7vr6+9ukXM2bM4H//+x8xMTFVKmucOHGC+Ph45s+fz4QJE+zHLzblwpmW\nLFni9DnKERERaDQajh49WuX1HDt2DFVV6/RzPP/ZOL/u9sWejX379vHYY49xww03MHfu3Fr3J4Rw\nPkmUhWjmPDw8uOOOO1i8eDG//PLLZed2OtK9e3dat25NbGwsaWlpdO/evVpVCq1Wi0ajqZIknzlz\nhi1btlSbg+xsDTFHOT09vdrUkry8PH766SdCQkLw8/MDKioYtG7dmq+++opJkybZ55OuWbMGLy8v\n+vfv77D9yoVy//vf/2jdunWt46vsu1WrVsTGxvLggw/a5w9XjuDXdZMMqHhz9K9//YvPPvuM/Pz8\natMuKl/nhfNnP/nkkzr3WVMNMUfZ19eXXr16ERsby6OPPmpfuLp69WpcXFwuWrlkxIgRKIrCsmXL\nqszZhoopQR4eHqxdu5Ybb7wRqFhs+9VXX9GmTZsqI/4JCQnMnDmTXr168dprrzX43xkhRM3UO1E2\nm83Mnz+fjRs3YrPZGD16NHPmzMFisTBnzhxiY2Px8fHhySefrPYPrRDC+Rx95P23v/2NpUuX8uGH\nH9YpUVYUhZtuuonPPvsMs9lcbdoFwA033MCmTZt44IEHGDp0KJmZmaxatYqQkJBqI57O1hDzOGfO\nnImPjw/R0dG0bt2as2fPsnr1anJzc5k9e3aVax999FEef/xx7r//fm666SZ2797N9u3befLJJx1u\nNlJZ5aFyoVd9PPbYYzz++OP8/e9/Z9SoUZw8eZLly5czaNCgem02EhMTw9y5c3nttdfw8/Or9j0O\nDw+nXbt2/Oc//+Hs2bN4enqyc+dOkpOTG3zxWUPMUQb45z//yaRJk5g8eTK33norx48f54svvuDe\ne++96GYjycnJKIricKtpg8HA9OnTWbhwIY8//jj9+vUjNjaWxMREFi5caL+uqKiIadOmUVZWxo03\n3sj3339fpZ3IyMgG/WRCCHFx9U6U58+fT2pqKt999x1Go9FeaH7ZsmUkJCQQFxfH0aNHmTLine truncated
|
||||
"png": "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\nLvHII48QHBzMs88+S7NmzdDpdJw6dYrFixdX+rq9vLxqFNO1srOzb5joGQyGao1UX9s3QkND7VMi\natM3AgIC7Psi63Q6e78uncZRUZsLFixg+/btLFq0iO7du1f7mVVVl/1SiFuJJMpCNCATJ05k1apV\nvP322zVOlEeMGMGqVauIjo4mKSkJRVEYPnx4mWs2bdpEaGgoH3zwQZmpFOvXr69V/FXRv3//656v\nyRzlyly6dKnMPspt27YFICYmhp49e9qPx8TElDnfWJTGGxcXVyZRjo+PB2o+8tq/f388PDzYunUr\nrq6uJCcn8/TTT5e5ZseOHZhMJt5//31CQ0Ptx5OTk2v0zOqYPn26w+coX9s3rn09tekbbdq04cCB\nA2RlZdnnjUPJ/GMfH59y85M/+ugjPv74Y1566aVyO5kIIeqHJMpCNCBubm488MADLF++3D6aV12d\nO3cmODiYLVu2kJycTOfOncttPaXVatFoNGWS5MuXL7Njx45yc5AdrS7mKF+9erXcKPS+ffuIiYnh\ngQcesB+LjIwkODiYr776igkTJthHHNetW4enpye9evWq9rNronR/3eDgYL7//vsatzNo0CAWLlzI\npk2bykxp+eabb3B3d6dbt241atfZ2ZnBgwezfft29Ho9zs7ODBkypMw1pR/jl/4NJVNAPvvssxo9\nszrqYo5y7969cXNzY/369fbiIlarla+++ormzZvTpk2bcvccP36cmTNnEhQUxMqVK8ud/9Of/sTq\n1avZsGEDkydPBkr+ne3du7dcQaFvvvmGRYsWMXXq1EqrTAohbr5aJ8omk4n58+ezdetWbDYbI0eO\nZM6cOZjNZubMmcOWLVvw9vZm5syZZRYTCSEq/vjz0UcfZcWKFXzwwQc1SpQVRWHYsGF8/vnnmEym\nctMuoOR/4Nu2beOvf/0rAwcOJC0tjc8++4zQ0FBiY2Nr9Fqqqi7mKD/xxBMEBwfTvn17fH19iY2N\n5YsvviAwMJCnnnqqzLXPPfccL7zwAlOmTGHYsGHs37+f3bt3M3PmzJtWbKR0l4ea7mZQqkWLFtx/\n//18+eWXODk50bFjR3bt2sXBgwd5/vnna1VsZMSIEXz99desWbOG/v37l2trwIABuLi4MHXqVB54\n4AGKiorYtGlTpXtYO1JdzFF2d3fnySefZOnSpbzwwgv2ynzx8fGVbploNBq5ePFipdNAevLine truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4afaa87390>"
|
||||
"<matplotlib.figure.Figure at 0x7f73feb57e10>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 44
|
||||
"prompt_number": 35
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -2534,16 +2533,16 @@
|
||||
"\n",
|
||||
"Let's remind ourselves of what the term *process uncertainty* means. Consider the problem of tracking a ball. We can accurately model its behavior in static air with math, but if there is any wind our model will diverge from reality. \n",
|
||||
"\n",
|
||||
"In the first case we set `Q_var=10`, which is quite large. In physical terms this is telling the filter \"I don't trust my motion prediction step\" as we are saying that the variance in the velocity is 10. Strictly speaking, we are telling the filter there is a lot of external noise that we are not modeling with $\\small{\\mathbf{F}}$, but the upshot of that is to not trust the motion prediction step. So the filter will be computing velocity ($\\dot{x}$), but then mostly ignoring it because we are telling the filter that the computation is extremely suspect. Therefore the filter has nothing to use but the measurements, and thus it follows the measurements closely. \n",
|
||||
"In the first case we set `Q_var=10 m`, which is quite large. In physical terms this is telling the filter \"I don't trust my motion prediction step\" as we are saying that the variance in the velocity is 10. Strictly speaking, we are telling the filter there is a lot of external noise that we are not modeling with $\\small{\\mathbf{F}}$, but the upshot of that is to not trust the motion prediction step. So the filter will be computing velocity ($\\dot{x}$), but then mostly ignoring it because we are telling the filter that the computation is extremely suspect. Therefore the filter has nothing to use but the measurements, and thus it follows the measurements closely. \n",
|
||||
"\n",
|
||||
"In the second case we set `Q_var=0.02`, which is quite small. In physical terms we are telling the filter \"trust the motion computation, it is really good!\". Again, more strictly this actually says there is very small amounts of process noise (variance 0.02), so the motion computation will be accurate. So the filter ends up ignoring some of the measurement as it jumps up and down, because the variation in the measurement does not match our trustworthy velocity prediction."
|
||||
"In the second case we set `Q_var=0.02 m`, which is quite small. In physical terms we are telling the filter \"trust the motion computation, it is really good!\". Again, more strictly this actually says there is very small amounts of process noise (variance 0.02 m), so the motion computation will be accurate. So the filter ends up ignoring some of the measurement as it jumps up and down, because the variation in the measurement does not match our trustworthy velocity prediction."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Now let's set `Q_var=0.2`, and bump `R_var` up to 10,000. This is telling the filter that the measurement noise is very large. "
|
||||
"Now let's set `Q_var=0.2 m`, and bump `R_var` up to 10,000 m. This is telling the filter that the measurement noise is very large. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2551,7 +2550,7 @@
|
||||
"collapsed": false,
|
||||
"input": [
|
||||
"plot_track(data=zs, R_var=10000., Q_var=.2,count=50, plot_P=False, \n",
|
||||
" title='R_var = 10000, Q_var = .2')"
|
||||
" title='R_var = 10000 m, Q_var = 0.2 m')"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
@@ -2559,19 +2558,19 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsoAAAGCCAYAAAD5deXcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3WdgVNXW8PH/mZIeUiYJgYSaUCI19CJEUKogIODVq0i5\nthcbchULih3l6hW7XsAHELEgoNgogiX0jpRASAFCgJBCemaSycx5P8QMDplAkpmQBNfvi8k5++yz\nZjjgmj1776XEx8erCCGEEEIIIexo6joAIYQQQggh6iNJlIUQQgghhHBAEmUhhBBCCCEckERZCCGE\nEEIIByRRFkIIIYQQwgFJlIUQQgghhHBAEmUhhBBCCCEckERZCCGEEEIIByRRFqIBmjRpEu3bt6d9\n+/ZERUUxYMAApk6dyrZt2+o6tAZp6dKlPPjgg/Tt25f27dvz9ttvV9p2zZo1jBo1is6dOzN06FCW\nLVvmsN2pU6e4//776datG7169WLWrFlcuHChQjuz2cz8+fMZOHAgXbp0YeLEiZX+OW7evJnx48fT\npUsXbrjhBt577z0sFkvNXnQ1bdu2jX/84x907dqVPn368NRTTzl8PcI1Dh48yOzZsxk2bBhdu3Zl\n8ODBPPXUU6SlpdV1aEL8rUiiLEQD5efnxxtvvMG8efOYNGkSKSkpTJs2jTVr1tR1aA3O+++/z8GD\nB7nuuusAUBTFYbuffvqJJ598kiZNmvDcc8/RqVMnXn31VRYvXmzXLicnh0mTJnH06FEeffRRpk2b\nxqZNm7jnnnsqJLavvPIKCxYsYOjQocyePRuA++67jz/++MOu3d69e3nggQfQ6XTMnj2bwYMH88EH\nH/Daa6+56m2o1J49e7j33nsxm808/fTT3HXXXaxfv56pU6diNptr/f5/R4sXL2br1q0MHjyYZ599\nlltuuYWNGzcyduxYzp07V9fhCfG3oavrAIQQNePp6cno0aNtv48dO5Zhw4axcOFCxowZU4eRNTzf\nfvstYWFhnDlzhhtvvNFhG1VVefPNN2nfvj0LFixAURQmTpxIbm4uH3zwAbfffjuenp4ALFu2jPT0\ndFatWkWHDh0AaN68OTNnzuTHH3/klltuAeD06dOsWLGCO++8k2effRaAkSNHMnToUN5++227BPzt\nt98mMDCQJUuW2O5jsVj44osvmDp1KmFhYbX2/rz99tv4+Pjw6aef4uPjA0CTJk2YPXs2P/zwA+PG\n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 truncated
|
||||
"png": "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\ncglabT6/oaGhViPb9lDZ57K6MjMzeeyxx/Dx8bnq1KrKuPz50mq1lq+hem+OhLiRSKIshJ05OTlZ\nEsdevXqh0Wh47733GDZs2DWnKFSkbPpFcXEx6enpHDlyhBdeeMGqzYYNG5g+fTq9evXitddew9/f\nH41Gw6pVq65abcPd3b1aMV3uWh/Ja7Vaq9Fue/L39wdKP8oODQ21jJpnZGQA1qNlDg4OluOXv+70\n9HRLP2V9lo3Ia7Vay7kr+7zyXmUjwcXFxeTk5Fj1aS9XW9hYU2Wv68pR67L5xV5eXtXqd+jQoXzy\nySds2bKFkSNHsnHjRlq3bk3Lli0tbfLy8rj//vvRarVMmTKFli1b4uTkxIULF3jhhRcqfN2enp7V\niulyubm51xzh9fb2LjfSfjWVfS6rw2Aw8Nhjj5Gdnc2XX35pee6EEPYnibIQtWzixIksXbqU999/\nv9qJ8tChQ1m6dCnR0dEkJSWhKApDhgyxavPDDz8QHBzM4sWLraZSXI8KAH369Lnq+dqco1z2kXhM\nTAzdu3e3HI+JibE6r9VqCQsL4+jRo1bXl5SUcPLkSXr16mXVp9ls5vjx41YVMmJiYtBoNLRq1Qoo\nHc3UaDTExMRYVcg4fvw4qqpW+eP6ulZW5zs2Npabb77ZcrxsEd/lP4uq9hsSEsLGjRvp06cPe/fu\nZdq0aVZtdu7cSXp6OkuXLrX6Pe7YsaNa96yKN9980+5zlCv7XFaV2Wzm2Wef5cSJE3z++ed2HwkX\nQliTRFmIWubq6srdd9/NokWL2Lt3L126dKlyHx07dqRJkyZs2LCB5ORkOnbsaLXpBZQmghqNxipJ\nPnfuHJs3by43B9ne6nKOckREBE2aNGHt2rVMmDDBMj911apVeHh4WG1QUlZr9siRI7Rr1w4oncaS\nn5/PwIEDLe0GDBjA/PnzWb16tSU5zMvLY8OGDXTr1s0yV9nb25vOnTuzYcMGnnnmGctiy5UrV+Lg\n4ED//v3t/npt/S6Tk5O57bbbAKwWJVZVjx49cHFx4ccff7RaePfjjz+i1Wrp3bt3tfseMmQIn3/+\nOWvXrrU57aLsI/+yP6F09Px///tfte9ZWbUxR7kqz2WZCxcuMGHCBBRFYf369Tb7ffXVV/n999/5\n6KOPqrVpiRCiamqcKBsMBubOncvGjRsxm80MHz6cOXPmYDQamTNnDhs2bMDLy4uZM2faXLLine truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5eacda0>"
|
||||
"<matplotlib.figure.Figure at 0x7f73fe769e48>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 45
|
||||
"prompt_number": 36
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"The effect of this can be subtle. We have created an suboptimal filter because the actual measurement noise variance is 30, not 10,000. By setting the filter's noise variance so high we force the filter to favor the prediction over the measurement. This can lead to apparently very smooth and good looking results. In the chart above the track may look extremely good to you since it follows the ideal path very closely. But, the 'great' behavior at the start should give you pause - the filter has not converged yet ($\\mathbf{P}$ is still large) so it should not be able to be so close to the actual position. Let's make $\\mathbf{R}$ larger yet. Let's see the result of a bad initial guess for the position by guessing the initial position to be 20 and the initial velocity to be 1."
|
||||
"The effect of this can be subtle. We have created an suboptimal filter because the actual measurement noise variance is 30 m, not 10,000 m. By setting the filter's noise variance so high we force the filter to favor the prediction over the measurement. This can lead to apparently very smooth and good looking results. In the chart above the track may look extremely good to you since it follows the ideal path very closely. But, the 'great' behavior at the start should give you pause - the filter has not converged yet ($\\mathbf{P}$ is still large) so it should not be able to be so close to the actual position. Let's make $\\mathbf{R}$ larger yet. Let's see the result of a bad initial guess for the position by guessing the initial position to be 20 m and the initial velocity to be 1 m/s."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2580,7 +2579,7 @@
|
||||
"input": [
|
||||
"plot_track(data=zs, R_var=10000., Q_var=.2,count=50, \n",
|
||||
" initial_x=np.array([[20],[1]]),plot_P=False, \n",
|
||||
" title='R_var = 10000, Q_var = .2')"
|
||||
" title='R_var = 10000 m, Q_var = 0.2 m')"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
@@ -2588,9 +2587,9 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsoAAAGCCAYAAAD5deXcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd809X++PHXJ2m60p22FFqk0AKtzLIRBUGRIYi4FzKu\ngx8uRMWB4ka5ct3rgn5BEQcCilelIF69BRkCsivQltGWUjrobtKkyef3R20kNIW2SRe8n4/Hfdh+\nxjnvhA/cd07OOW/l4MGDKkIIIYQQQggHmuYOQAghhBBCiJZIEmUhhBBCCCGckERZCCGEEEIIJyRR\nFkIIIYQQwglJlIUQQgghhHBCEmUhhBBCCCGckERZCCGEEEIIJyRRFkIIIYQQwglJlIVohSZNmkRc\nXBxxcXHEx8dz2WWXMXXqVDZt2tTcobVKn3zyCffddx+DBw8mLi6ON998s9ZrV69ezbhx4+jZsydX\nXXUVS5cudXrdsWPHuPfee+nTpw8DBgxg9uzZnDp1qsZ1FouFN954g6FDh9KrVy9uvPHGWv8cN2zY\nwPXXX0+vXr24/PLLeeedd7BarQ170fW0adMmbr75Znr37s2gQYN44oknnL4e4R579uxhzpw5jBo1\nit69ezNixAieeOIJsrOzmzs0IS4okigL0UoFBgby2muvMX/+fCZNmkR6ejrTpk1j9erVzR1aq/Pu\nu++yZ88eLr74YgAURXF63Y8//sjjjz9O27ZteeaZZ+jRowcvv/wyixcvdriusLCQSZMm8eeff/LQ\nQw8xbdo0fv75Z+66664aie1LL73EwoULueqqq5gzZw4A99xzD7t373a4bseOHUyfPh0PDw/mzJnD\niBEjeO+993jllVfc9TbUavv27dx9991YLBaefPJJ7rjjDtauXcvUqVOxWCyN3v+FaPHixfz222+M\nGDGCp59+mmuuuYb169dz7bXXcuLEieYOT4gLhkdzByCEaBgfHx/Gjx9v//3aa69l1KhRLFq0iAkT\nJjRjZK3Pt99+S2RkJMePH+eKK65weo2qqixYsIC4uDgWLlyIoijceOONFBUV8d5773HLLbfg4+MD\nwNKlS8nJyWHlypV069YNgIsuuohZs2bxww8/cM011wCQkZHB8uXLuf3223n66acBGDt2LFdddRVv\nvvmmQwL+5ptvEhISwpIlS+z9WK1WvvjiC6ZOnUpkZGSjvT9vvvkmfn5+fPrpp/j5+QHQtm1b5syZ\n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 truncated
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsoAAAGCCAYAAAD5deXcAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xlc1NX6wPHPd4ZhXx1AFEgUVMgt3M3U1ExNzSXrtpnm\n75ZlWbZo201bzW735m1ftNJrtrq2qai3QnNJTXMhFXADFVlkZwaGme/vD2J0ZFCGmRGw5/169RK+\ny/k+Ayd95sw551EOHjyoIoQQQgghhLChaegAhBBCCCGEaIwkURZCCCGEEMIOSZSFEEIIIYSwQxJl\nIYQQQggh7JBEWQghhBBCCDskURZCCCGEEMIOSZSFEEIIIYSwQxJlIYQQQggh7JBEWQgXmjBhAvHx\n8cTHx5OQkEC/fv24++672bx5c0OH1iQtWrSIBx54gD59+hAfH89//vOfWq9dtWoVI0eOpHPnzlx/\n/fUsXrzY7nXHjh1jypQpdO3alZ49ezJz5kzOnDlT4zqTycS8efPo378/Xbp04eabb67197hx40Zu\nuukmunTpwrXXXstbb72F2Wyu34tuBD799FOGDh1Kp06dGDRoEG+//TaVlZUNHVaTVNd+WRfp6em8\n/PLLjBgxgsTERAYMGMC0adNIT093YcRCiHNpp02b9lxDByHE5WLFihWUlpby0ksvcd111xEbG8vm\nzZv59NNPiY6OJj4+vqFDbFLuuece8vLyiI+PJyMjgx49etC7d+8a1/3www/MmDGDDh06MHnyZEwm\nEx999BF+fn4kJiZarysoKOCWW24hNzeX+++/n06dOrF06VKSk5MZP348Gs3ZsYMXXniB//73v4wd\nO5axY8eSkpLCJ598Qt++fYmIiLBet3PnTv7v//6PiIgIpkyZQkBAAB9//DFFRUX079/fvT8gN/jw\nww959dVX6d27N3fddReenp4sXLiQM2fOcO211zZ0eE1KXftlXX388cesWLGCgQMHMm7cOGJjY0lK\nSmLx4sX079+f8PBwN7wKIf7aFClhLYTrTJgwgYyMDH766SfrsezsbIYOHUpkZCTfffddwwXXBJ04\ncYLIyEhOnDjB4MGDuf/++3n44YdtrlFVlcGDBxMYGMiKFStQFAWAv//97+zevZuNGzfi4+MDwFtv\nvcU777zDsmXL6NChA1CVzDz66KP885//5MYbbwQgIyOD66+/njvuuIN//OMfAJSUlHD99dfTvn17\n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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5d27a58>"
|
||||
"<matplotlib.figure.Figure at 0x7f7408038a20>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -2600,7 +2599,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Here we can see that the filter cannot acquire the actual track at all. This happens because even though the filter is getting reasonable good measurements it assumes that the measurements are bad, and eventually just predicts forward from a bad position at each step. If you think that perhaps that bad initial position would give similar results for a smaller measurement noise, let's set it back to the correct value of 30."
|
||||
"Here we can see that the filter cannot acquire the actual track at all. This happens because even though the filter is getting reasonable good measurements it assumes that the measurements are bad, and eventually just predicts forward from a bad position at each step. If you think that perhaps that bad initial position would give similar results for a smaller measurement noise, let's set it back to the correct value of 50 m."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2609,7 +2608,7 @@
|
||||
"input": [
|
||||
"plot_track(data=zs, R_var=30, Q_var=.2,count=50, \n",
|
||||
" initial_x=np.array([[20],[1]]),plot_P=False, \n",
|
||||
" title='R_var = 30, Q_var = .2')"
|
||||
" title='R_var = 30 m, Q_var = 0.2 m')"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
@@ -2617,19 +2616,19 @@
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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\nZ7kkGar/+77jjjvKvVlx5uKn7HXp66+/ZsOGDUydOtXx+oUQDZskykJcp/z9/Xnrrbew2+3s2bOH\nDz74gPXr19c4Ue7cuTOhoaGsW7fOkSivW7eOTp060bhx43LHxsbGsnjxYo4ePVouSVMUheLiYqfj\nuyKhufCNgatFR0c7Yhw2bBjDhw/nhRde4H//+x+AIyG2WCwMHz6cbt26ERISQkFBAVC7JL0yF177\nYhaLpdwbl+oYMmQIL7zwAgkJCURHR7N161by8/PLvTGC0jdl77//PrGxsWRnZ5fbV5e/76ZNm9K0\nadNaj+MK+/btY/bs2fTv359p06bVdzhCiCqSRFmI65S7u7sjcezduzcajYa3336bYcOG1biWctn0\ni5KSEjIzMzlw4EC5RV1QmiRPnz6d3r178/LLLxMcHIxGo2HVqlWXrbbhilJalU0x0Gq1NU4aL2Qw\nGOjXrx9ffPEFJpMJT09PxzzczMxMoqKiHE/Ns7KygNIpGXWl7No5OTnltquqSm5uLq1atarRuIMG\nDeKll15i3bp1REdHExsbi5+fX7n7x263M3HiRNLS0hg/fjxt2rTBy8sLm83GpEmTnC7gBPDx8alR\nTBcqKiqisLDwssf4+vri7u5e62tdzsmTJ5kyZQotW7bkX//6V4VPRoQQDZckykIIAMaPH8/HH3/M\nO++8U+NEeciQIXz88cfExcWRnJyMoigMHjy43DHffvst4eHhLF68uFzCsHr16lrFXxV9+/a97P7a\nzFG+WNnTW7PZjKenp2MKxqFDh+jevbvjuEOHDgE49teFsrHj4+PLbT9x4gRWq5V27drVaFw/Pz/H\n9IspU6bw008/MWjQoHKVNY4ePUp8fDxz585l9OjRju2XmnLhSh999FG9z1HOyspi0qRJ+Pr6smjR\nojorASiEqBuSKAshAPDy8uLuu+9m0aJF7Ny5s9K5nc506tSJJk2aEBsbS0pKCp06dapQlUKr1aLR\naMolyadPn2bjxo11/qStLuYop6amVphakpOTw6+//kp4eDj+/v5AaXWLJk2a8PXXXzNu3DjHfNtV\nq1bh4+NTrjHJhcoWyv300080adKk2vGVXbtx48bExsby2GOPOeYPlz3B79evX43GhdI3R3//+9/5\n/PPPyc3NrTDtoux1Xjy/+JNPPqnxNauqrucob9iwgTfffJNOnToxf/78CvsLCwuZPHkyJSUlrFix\nwiWfVgghrqxaJ8pms5m5c+eybt067HY7w4cPZ86cOVgsFubMmUNsbCxGo5GZM2dW+AdUCFF/nH3k\n/eCDD7JkyRIWL15co0RZURRuu+02Pv/8c8xmc4VpFwB/+ctfWL9+PX/961/p378/6enprFixwtG5\nrC7VxRzlqVOnYjQaiYmJoUmTJpw5c4aVK1eSnZ3N7Nmzyx375JNP8tRTTzF58mRuu+02tm3bxubN\nm5k5c6bTJ41lVR4URSm3OK4mZsyYwVNPPcXDDz/MsGHDOH78OMuWLaNPnz61ajYyaNAgXnzxRd58\n8038/f0r/IyjoqJo3rw5r7/+OmfOnMHb25vffvuNEydOVHtxXnXV9Rzl/Px8Tpw4cclSb08//TQH\nDx5k8uTJjpbxZYKDg6VdvBBXgVonynPnziU5OZnvv/+ewMBARwH5pUuXkpCQQFxcHIcOHeLRRx8l\nJiamWjVPhRB1x9nT20aNGjF48GB++OEHxwKt6hoyZAhLlixBo9FUmHYBcPvtt5Obm8unn37Kpk2b\nCA8PZ/r06WRmZvL22287jbMhz+m86667WLduHV9++SU5OTl4eHjQsWNH/vGPf1RIGocPH47VamXR\nokW8/PLLNG7cmOeee46HHnrI6dhltZd79OhR67q7w4cPR1VVx7WtVivR0dGVTk2ojNFopGfPnmze\nvJnhw4dXSH61Wi0LFy7ktdde46OPPkJVVXr16sV///tfBg4cWKtr17fK7svDhw+jKAoLFy6ssK9b\nt26SKAtxFahVC2uz2Uz37t1ZvXo1UVFR5fbdeeedjB8/3tH5aeLEiQwYMICxY8fWLmIhhLhOLFmy\nhPnz57NixQpiYmJcOvaCBQv48MMPmT59OlOmTHHp2EIIca2o1edeJ06cQFEUNm7cSO/evRk2bJij\nFeqJEydo3rw5Tz31FD/88ANRUVEcP37cJUELIcT1YPv27fTp08flSTLAE088wT333MOWLVsqrQwh\nhBDXq1pNvSgoKMBisZCSksLPP//Mnj17mDJlCuvXr8dkMuHl5UV8fDzt27fHYDCQlpbmqriFEHUs\nPz+/0iYYzloPC9f54IMP6nT8F1980TF9wG63O0rVXYrBYHB0XRRCiOtBrRJlDw8PbDYbEyZMwM3N\nje7du9O8eXP27duHp6cnJpOJNWvWAPDqq69iMBgqjJGcnFybEIQQdeT1119nw4YNl9yvKALine truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5edfeb8>"
|
||||
"<matplotlib.figure.Figure at 0x7f73fe976780>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 57
|
||||
"prompt_number": 38
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Here we see that the filter initially struggles for several iterations to acquire the track, but then it accurately tracks our dog. In fact, this is nearly optimum - we have not designed $\\mathbf{Q}$ optimally, but $\\mathbf{R}$ is optimal, and thus will yield optimal results.\n",
|
||||
"Here we see that the filter initially struggles for several iterations to acquire the track, but then it accurately tracks our dog. In fact, this is nearly optimum - we have not designed $\\mathbf{Q}$ optimally, but $\\mathbf{R}$ is optimal, and thus will yield optimal results. Recall that our rule of thumb for the variance of $\\mathbf{Q}$ was to set it between $\\frac{1}{2}\\Delta a$ to $\\Delta a$, where $\\Delta a$ is the maximum amount that the acceleration will change between sample period. This only applies for the assumption we are making in this chapter - that acceleration is constant and uncorrelated between each time period. In the Kalman Math chapter we will discuss several different ways of designing $\\mathbf{Q}$.\n",
|
||||
"\n",
|
||||
"To some extent you can get similar looking output by varying either ${\\mathbf{R}}$ or ${\\mathbf{Q}}$, but I urge you to not 'magically' alter these until you get output that you like. Always think about the physical implications of these assignments, and vary ${\\mathbf{R}}$ and/or ${\\mathbf{Q}}$ based on your knowledge of the system you are filtering."
|
||||
]
|
||||
@@ -2646,12 +2645,12 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"So far I have not given a lot of coverage of the covariance matrix. $\\mathbf{P}$, the covariance matrix is nothing more than the variance of our state - such as the position of our dog. It has many elements in it, but don't be daunted; we will learn how to interpret a very large $9{\\times}9$ covariance matrix, or even larger.\n",
|
||||
"So far I have not given a lot of coverage of the covariance matrix $\\mathbf{P}$. It is nothing more than the variance of our state - such as the position and velocity of our dog. It has many elements in it, but don't be daunted; we will learn how to interpret a very large $9{\\times}9$ covariance matrix, or even larger.\n",
|
||||
"\n",
|
||||
"Recall the beginning of the chapter, where we provided the equation for the covariance matrix. It read:\n",
|
||||
"\n",
|
||||
"$$\n",
|
||||
"\\mathbf{P} = \\begin{pmatrix}\n",
|
||||
"\\Sigma = \\begin{pmatrix}\n",
|
||||
" \\sigma_1^2 & \\sigma_{12} & \\cdots & \\sigma_{1n} \\\\\n",
|
||||
" \\sigma_{21} &\\sigma_2^2 & \\cdots & \\sigma_{2n} \\\\\n",
|
||||
" \\vdots & \\vdots & \\ddots & \\vdots \\\\\n",
|
||||
@@ -2659,16 +2658,16 @@
|
||||
" \\end{pmatrix}\n",
|
||||
"$$\n",
|
||||
"\n",
|
||||
"(I have substituted $\\mathbf{P}$ for $\\Sigma$ because of the nomenclature used by the Kalman filter literature).\n",
|
||||
"(The Kalman filter literature uses $\\mathbf{P}$ for $\\Sigma$; they both denote the same thing.)\n",
|
||||
"\n",
|
||||
"The diagonal contains the variance of each of our state variables. So, if our state variables are\n",
|
||||
"\n",
|
||||
"$$\\textbf{x}=\\begin{pmatrix}x\\\\\\dot{x}\\end{pmatrix}$$\n",
|
||||
"$$\\textbf{x}=\\begin{bmatrix}x\\\\\\dot{x}\\end{bmatrix}$$\n",
|
||||
"\n",
|
||||
"and the covariance matrix happens to be\n",
|
||||
"$$\\textbf{P}=\\begin{pmatrix}2&0\\\\0&6\\end{pmatrix}$$\n",
|
||||
"$$\\textbf{P}=\\begin{bmatrix}2&0\\\\0&6\\end{bmatrix}$$\n",
|
||||
"\n",
|
||||
"we know that the variance of $x$ is 2, and the variance of $\\dot{x}$ is 6. The off diagonal elements are all 0, so we also know that $x$ and $\\dot{x}$ are not correlated. Recall the ellipses that we drew of the covariance matrices. Let's look at the ellipse for the matrix."
|
||||
"we know that the variance of $x$ is 2 m, and the variance of $\\dot{x}$ is 6 m/s. The off diagonal elements are all 0, so we also know that $x$ and $\\dot{x}$ are not correlated. Recall the ellipses that we drew of the covariance matrices. Let's look at the ellipse for the matrix."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2687,7 +2686,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsAAAAGXCAYAAAC9TOY9AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmQ5HV9//HX9+z7mHt2l0UkILsJKi6EitHsquCBQkVR\nK5aWR6JClKBgDBqjliX+jFVGjWExBozxiMagiKhYlkcSEJAQFbVKdFUQWPaYnbPv7m9/j98fw66u\nuLtzdPe3e/r5+EN3eqa737sf5vt9zWfen8/H2LNnTyQAAABgSJhxFwAAAAD0EgEYAAAAQ4UADAAA\ngKFCAAYAAMBQIQADAABgqBCAAQAAMFQIwADQIddcc422bdsWdxkntG3bNu3evTvuMgAgNnbcBQDA\nRmIYxu98vFQq6T/+4z/07W9/Ww899JAk6bTTTtMll1yiXbt2rfn92u22du/erZtuukmlUkmPe9zj\ndOWVV+qP//iP1/yaALDRMQMMAB0URb/7bKEf/ehHuvbaa7Vlyxa94Q1v0F/91V+p2Wzq0ksv1Wc/\n+9k1v9973vMeXXfddXrWs56lv/u7v5MkXXLJJfrRj3605tcEgI2OGWAA6IHTTjtN3/zmNzU9PX3k\nsRe/+MV69rOfrQ9/+MN6yUteItNc3ZzE3r17dcMNN+hlL3uZ3v72t0uSnvvc5+pZz3qW/vEf/1H/\n9m//1tG/AwBsFMwAA0APbN68+ajwK0nJZFJPfOITVSqVtLCwsOrX/K//+i9FUaSLL774yGPZbFbP\nec5zdPfdd6tSqay7bgDYiAjAABCj+fl5JRIJFQqFVT93z549sixLZ5xxxlGPb9++XUEQ6Be/+EWn\nygSADYUADAAx+elPf6of/OAHeu5znyvHcVb9/NnZWRUKBVmWpY9+9KM655xzdPfdd2tsbEySNDc3\n1+mSAWBDIAADQAwajYauuuoqjY6O6q//+q/X9Bqe5x0Jzvv371etVtP8/Lxc15UkNZvNjtULABsJ\nARgAeiwMQ73lLW/Rgw8+qA9/+MMaHx9f0+u4rivP8yRJ73rXu3TbbbfpggsuOPJYMpnsWM0AsJGw\nCwQA9Nj73vc+ffOb39T73/9+nXPOOWt+nYmJCZVKJQVBIMuyNDExIWm5r1jSmoM1AGx0zAADQA99\n/OMf16c+9Sm99a1v1YUXXriu1zrjjDMUhqF+9rOfHfX4vffeK9M0dfrpp6/r9QFgoyIAA0CPfPWr\nX9X73/9+/eVf/qVe+cpXrvv1nvGMZ8g0TX3xi1888li1WtXXv/51nXvuucrlcut+DwDYiGiBAIAe\n+PGPf6y3vvWtOuWUU3Tqqafq5ptvPurzT33qU4/s3rBSW7du1Yte9CJ99rOflWEYOv300/WFL3xB\nlUpFV1xxRSfLB4ANhQAMAD1w3333yfd9PfDAA7rqqquO+pxhGPrUpz616gAsSe94xzs0MjKim266\nSTfccIPOOOMMXXfddTrrrLM6VToAbDgEYADogRe84AV6wQte0PHXdRxHV155pa688sqOvzYAbFT0\nAAMAAGCoEIABAAAwVAjAANAhhmHIMIy4ywAAnICxZ8+eKO4iAAAAgF5hBhgAAABDhQAMAACAoUIA\nBoAOueaaa7Rt27a4yzihbdu2affu3XGXAQCxIQADQAedaBHczTffrAsvvFBPeMIT9KxnPUuf/vSn\n1/2e3/nOd/Tyl79cZ599tnbs2KEXvehFuuOOO9b9ugCwUXEQBgB0UBQde13x1772Nb3lLW/Rn/zJ\nn+iVr3yl7rrrLv2///f/5Pu+/vzP/3xN7/flL39ZV111lc466yxdccUVSiQSuu+++3To0KG1/hUA\nYMMjAANAD0RRpH/4h3/Qtm3bdN1118kwDL34xS9WqVTStddeq5e85CVKpVKres1qtar3vOc92rlz\np6677rouVQ4AGw8tEADQA3v27NH+/fv1/Oc//6g2iRe96EWqVqu66667Vv2a3/rWt1Qul3X55ZdL\nkur1usIw7FjNALBREYABoAd+9rOfSZK2b99+1OOHP96zZ8+qX/OHP/yhXNdVGIZ63vOepx07dujs\ns8/WO9/5TrVarfUXDQAbFAEYAHpgdnZWkjQ+Pq7vfve7Ouecc3T99ddrfHxckjQ3N7fq1zx48KBc\n19Vll12mJz/5ydq9e7de+MIX6oYbbtD73ve+jtYPABsJPcAA0AOe50mSHMfR/Py8qtWq9u/fL9d1\nJUnNZnPVr9loNFStVvXMZz5Tb3/72yVJ559/vhYXF/X5z39el19+uUZHRzv3lwCADYIADAA9cDjo\nttttXXjhhTr33HM1OTmparUqSUomk2t+zec85zlHPf4nf/InuuWWW3T//fcTgAHgd6AFAgB6YGJi\nQtKvWx0mJyclSfPz85J0pBViNcbGxiRJIyMjRz1eLBYlia3QAOAYCMAA0ANnnHGGJOnee+896vHD\n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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5ea4be0>"
|
||||
"<matplotlib.figure.Figure at 0x7f73fe769a20>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -2716,7 +2715,7 @@
|
||||
"output_type": "display_data",
|
||||
"png": "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\nfZjvDwoA0C0EYACQ9LWvfU1bt27Vxz/+cb35zW+e93Wazaamp6d133336b777jvo4xs2bNAll1yi\nj3/84wsp92Ude+yxkg4OulNTU5KkdDp9xNd85Stfqccff1zT09PK5XKzjz/zzDPKZrMaGRlZQMUA\nsPhogQDQ9x566CHdfPPNuvzyy3XJJZcc9vPHxsZ0/vnn64ILLjjoY4lEQlu2bNGdd945+9+WLVt0\n3HHHKZvN6s4779Tb3/72TnwZkqTXve51CofDeuihhw44/ONf//VfJUmvec1rDnrO008/rfPPP1/v\nfe97X/KaGzdulKQDjjXes2ePHnvsMZ1zzjltrB4AFgcrwAD62tNPP63rrrtORx99tNauXavvf//7\nB3z8zDPPnG0r2M80Te3YseMl9/UNBAI666yzDnr8q1/9qsrlcsePQ85ms3rf+96nO++8U+9///t1\nzjnnaPv27br//vt13nnn6bjjjjvoOY1GQzt27Jjt8/1DZ5xxht7whjfo1ltvValU0vDwsLZu3apo\nNKrLL7+8o18PAHTCggPwNddco3//939Xo9HQypUr9ZGPfIQVAQCe8dxzz8myLO3YseOgbcJ8Pp+2\nbt16UACer8U6Cvnqq69WKpXS/fffr7/9279VPp/X+973Pl199dXzruu2227TF77wBX3rW99So9HQ\nq171Kt1yyy1avXp1u8sHgI7zbd++3T38p728Z599VmvXrlU4HNYvfvELXXbZZfqP//gPxWKxdtUI\nAAuyefNm3XHHHfPaAQHzs2vXLm3cuFE33XST3vrWt3a7HAA4wIJXgPfvJ+m6rkzTVCKRWLRVDgAA\nAOBItaUH+IYbbtB3vvMdRaNR3XnnnewJCQAAgJ7Vll0gbrjhBj311FO6+uqr9bGPfUytVqsdlwWA\ntvD5fPxmCgAwa8E9wH/oggsu0LXXXjt7F/TOnTvbeXkAAADgZc3l5ty2b4P2+/tO7nfCCSe0+2Ww\nCPL5vL773e92fNsmdAbj512Mnbcxft7F2HlbPp/Xtm3b5vS5C2qBmJyc1P33369qtSrLsnTfffep\nUCjo5JNPXshlAQAAgI5Z0Aqw3+/XQw89pC9+8YsyTVPHHnusvvzlLyubzbarPgAAAKCtFhSABwYG\n9A//8A/tqgU9iPYVb2P8vIux8zbGz7sYu/7Qll0gsHQxEXgb4+ddjJ23MX7exdj1BwIwAALine truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f4ad5f38978>"
|
||||
"<matplotlib.figure.Figure at 0x7f73feb18208>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -2730,35 +2729,36 @@
|
||||
"\n",
|
||||
"$$\n",
|
||||
"\\mathbf{P} = \\begin{pmatrix}\n",
|
||||
" \\sigma_1^2 & p\\sigma_1\\sigma_2 \\\\\n",
|
||||
" p\\sigma_2\\sigma_1 &\\sigma_2^2 \n",
|
||||
" \\sigma_1^2 & \\sigma_{1,2} \\\\\n",
|
||||
" \\sigma_{2,1} &\\sigma_2^2 \n",
|
||||
" \\end{pmatrix}\n",
|
||||
"$$\n",
|
||||
"\n",
|
||||
"Look at the computation for the off diagonal elements. \n",
|
||||
"Here the notation $\\sigma_{1,2}$ means the covariance of variables 1 and 2 where that is defined as\n",
|
||||
"\n",
|
||||
"$$\\sigma_{i,j}\n",
|
||||
"= \\mathrm{cov}(X_i, X_j) = \\mathrm{E}\\begin{bmatrix}\n",
|
||||
"(X_i - \\mu_i)(X_j - \\mu_j)\n",
|
||||
"\\end{bmatrix}$$\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"We can rearrange the terms to get\n",
|
||||
"\n",
|
||||
"$$\\begin{aligned}\n",
|
||||
"\\mathbf{P}_{0,1}&=p\\sigma_1\\sigma_2 \\\\\n",
|
||||
"\\mathbf{P}_{1,0}&=p\\sigma_2\\sigma_1.\n",
|
||||
"\\sigma_{i,j} &= \\mathrm{E}\\begin{bmatrix}(X_i - \\mu_i)(X_j - \\mu_j)\\end{bmatrix} \\\\ \n",
|
||||
"&= \\mathrm{E}\\begin{bmatrix} (X_j - \\mu_j)(X_i - \\mu_i)\\end{bmatrix} \\\\ \n",
|
||||
"&= \\sigma_{j,i}\n",
|
||||
"\\end{aligned}$$\n",
|
||||
"\n",
|
||||
"If we re-arrange terms we get\n",
|
||||
"$$\\begin{aligned}\n",
|
||||
"\\mathbf{P}_{0,1}&=p\\sigma_1\\sigma_2 \\\\\n",
|
||||
"\\mathbf{P}_{1,0}&=p\\sigma_1\\sigma_1 \\mbox{, yielding} \\\\\n",
|
||||
"\\mathbf{P}_{0,1}&=P_{1,0}\n",
|
||||
"\\end{aligned}$$\n",
|
||||
"\n",
|
||||
"In general, we can state that $\\small\\mathbf{P}_{i,j}=\\small\\mathbf{P}_{j,i}$.\n",
|
||||
"\n",
|
||||
"So for my example I multiplied the diagonals, 2 and 6, to get 12, and then scaled that with the arbitrarily chosen $p=.2$ to get 2.4."
|
||||
"In general, we can state that $\\sigma_{i,j}=\\sigma_{j,i}$."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Let's get back to concrete terms. Let's start by revisiting plotting a track. I will hard code the data and noise to avoid being at the mercy of the random number generator, which might generate data that does not illustrate what I want to talk about. I will start by using the same parameters as a chart above: `R=5`, `Q=.02`, and `P=500`."
|
||||
"Let's get back to concrete terms. Let's start by revisiting plotting a track. I will hard code the data and noise to avoid being at the mercy of the random number generator, which might generate data that does not illustrate what I want to talk about. I will start with `P=500`."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2776,20 +2776,26 @@
|
||||
" 54.235, 62.974, 61.742, 54.863, 52.831, 61.122, 61.187, 58.441, \n",
|
||||
" 47.769, 56.855, 53.693, 61.534, 70.665, 60.355, 65.095, 63.386]\n",
|
||||
"\n",
|
||||
"plot_track(data=zs, R=5., Q=.02, P=500., count=len(zs), \n",
|
||||
" plot_P=False, title='P=500')"
|
||||
"plot_track(data=zs, R_var=50., Q_var=.2, P=500., count=len(zs), \n",
|
||||
" plot_P=True, title='P=500 m')"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "TypeError",
|
||||
"evalue": "plot_track() got an unexpected keyword argument 'R'",
|
||||
"output_type": "pyerr",
|
||||
"traceback": [
|
||||
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)",
|
||||
"\u001b[1;32m<ipython-input-41-04a41870c3a8>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m 11\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m 12\u001b[0m plot_track(data=zs, R=5., Q=.02, P=500., count=len(zs), \n\u001b[1;32m---> 13\u001b[1;33m plot_P=False, title='P=500')\n\u001b[0m",
|
||||
"\u001b[1;31mTypeError\u001b[0m: plot_track() got an unexpected keyword argument 'R'"
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsoAAAGDCAYAAAAyKTZ5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8VFX6+PHPnZIyM6mTBkmAFAIhoYSOhUAQpaoo/lYU\nFF0LX9YC6qIra0GU1VVR17KKrg2xAooNBASlKL0bCAklJEBIL5NMksnM/f0RGIgESGVC8rxfL15k\nbjn3mTMDeebMuc9RUlJSVIQQQgghhBA1aFwdgBBCCCGEEC2RJMpCCCGEEELUQhJlIYQQQgghaiGJ\nshBCCCGEELWQRFkIIYQQQohaSKIshBBCCCFELSRRFkIIIYQQohY6VwcghBCXisWLF/P44487H2u1\nWsxmMwMGDOCBBx4gPDy83m2+/vrrvPnmm2dtDw4O5tdff62xzWaz8cYbb/D1119TVFRETEwM06dP\n57LLLjvr/LVr1/Lqq6+SlpaGn58fN954I1OnTkWr1dY7RiGEaKskURZCiHq69957iY6OpqKigl27\ndrF48WLWr1/Pd999h9lsblCbL774Yo3Hnp6eZx3z7LPP8uWXX3LrrbcSExPDV199xT333MOCBQvo\n2bOn87itW7cyZcoU4uPjmTlzJvv27ePNN9+kqKiIf/7znw2KTwgh2iJJlIUQop4GDhzIoEGDABg/\nfjwRERG88MILLFq0iHvuuadBbY4dO/a8+zMyMpxJ8qlkd9SoUVx99dW8+uqrfPDBB85jX331Vfz9\n/fnwww+dCbfdbuezzz7jjjvuIDQ0tEExCiFEWyNzlIUQopEuv/xyADIzMxvVjsViQVXVWvetWrUK\nVVW54YYbnNtMJhMjRoxg06ZNlJSUAFBYWMjWrVu55ppraoxKjx8/HrvdzurVq+sdV1JSEk888QRj\nx46lX79+fPPNN7z88sskJCQwadIkiouL692mEEJcCiRRFkKIRkpPTwfAz88PgKKiIvLz88/758/6\n9u1L37596dOnD//4xz8oKiqqsT8lJQWtVkuXLl1qbI+NjcVut5OamgpAWloaDoeDbt261TiuS5cu\nKIpCSkpKg57j8uXLufnmm+nYsSNPPfUUu3bt4sEHH2TXrl18/vnnDWpTCCFaOpl6IYQQ9WSxWMjP\nz6eyspJdu3bx3HPPodVqGTlyJADjxo3j2LFj521j3759APj4+HDbbbfRs2dPdDod69ev56uvvmLv\n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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f73feb666d8>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsoAAAGHCAYAAACpuHRvAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt4lPW97/3PHJPMBAIJEDyAgaAIBDSgqRZNightrFqX\nlUptibierke39LGtxR4o2j4Ldnqxusru7rO0u7U+m4Pauii2uDSwjK0lC0E8IHhAlElAQUiAcMo5\nc9p/JDMhECBAkvt333m/rotrMvdkJt9Arh+f/OZ7f2/XRx99FBcAAACATtxWFwAAAACYiKAMAAAA\ndIGgDAAAAHSBoAwAAAB0gaAMAAAAdIGgDAAAAHSBoAwAAAB0gaAMAAAAdMFrdQFAX1m7dq2qq6u1\nY8cOTZo0Sd/4xjesLgkAABiMoIx+4dNPP1VjY6Puu+8+tba26ktf+pLGjRunyZMnW10aAKALbG7A\nBLReoF/4+OOP9etf/1qS5Pf7NXHiRG3ZssXiqgAAXTlxc2PRokV66qmnWLNhCYIy+oWioiI9+eST\nyfs1NTXKzc21sCIAwOmwuQFT0HqBfsHn8+mKK66QJH344YeSpGnTpllZEgDgNIqKijRy5Mjk/Zqa\nGt1xxx0WVoT+ih1l9CvNzc168skn9cQTT1hdCgDgNNjcgCkIyuhXnnzySf3kJz9RZmam9u7da3U5\nAIAzYHMDViMoo9/4wx/+oKKiIsViMe3du1dbt261uiQAwBmwuQGr0aMM22tsbNSvf/1rvfDCCzp8\n+HCnx6677jotW7ZMb731lhYtWqRYLCZJcrlcevrpp60oFwDQDV1tblx66aVWl4V+xvXRRx/FrS4C\nOF9NTU2aO3euRo8erW9+85s6fvy45s+fr4ceekg33nijBg8erLS0NKvLBAC06+7mRklJySmbG1Om\nTLGiZPRjBGXY2s9//nPt378/OUZIkpYsWaJoNKoFCxZYWBkA4GRsbsBuaL2AbR07dkx/+MMf9Pzz\nz3c63traKpfLZVFVAIDT+dWvfqXs7Gz9/Oc/Tx67/fbbVVlZqbvvvtvCyoCucTIfbOvtt99WZmam\nxowZ0+n41q1bddVVV1lUFQCgK4nNjYceeqjT8dbW1mSLBWAagjJsq7W1VcOHD+90bPv27Tp06JC+\n+MUvWlQVAKArbG7AjgjKsK2CggLV1tYqEolIkurr6/XP//zP+sUvfiG/329xdQCAE7G5ATviZD7Y\n2t///neVl5crOztbNTU1mj17tiZOnNjpc/72t7+ptbVV77//vsaOHauNGzdqzpw5Gj9+vEVVA0D/\nc/jwYd19991au3atvF6v6uvr9a1vfUsPP/ywCgoKrC4P6NJZg3Jzc7NKS0v1n//5n4rFYrr11lv1\n05/+VOFwWD/96U+1bt06ZWRk6Ac/+IGKi4uTz1uxYoV++9vfKhwOa/bs2Xr44Yd7/ZsBTrZv3z61\ntLRo1KhRuuuuu/S73/1O77//viZPnqz09HSrywN6Bes2THW2zY3q6mpt2bJFf/3rX/XLX/5S8Xhc\n3/jGN/Tss89aWDX6s7NOvSgtLdWePXv00ksvKSsrS5WVlZKkZcuWKRQKqaKiQtu3b9f999+v/Px8\nDR8+XNu2bdPjjz+uZ599Vunp6brnnns0bty4Tgsy0BcuvvhiSW07GR6PR5mZmSosLLS4KqB3sW7D\nVF/4whf0hS984bSP79q1S5MnT9Yzzzwjqa01Izs7u4+qA051xh7l5uZmrVmzRgsXLtSQIUPkcrmS\nTfjr1q3TnDlzlJ6eroKCAuXn56u8vDz52MyZM5Wbm6vs7GzNmjVLZWVlvf/dACeprKzUjh07VFFR\nkRxUv379eourAnoP6zbs7Prrr9fzzz+v2267TZK0adMm3XDDDRZXhf7sjEF59+7dcrlceuWVVzR1\n6lR9+ctf1iuvvJJ8bNSoUZo/f77KysqUm5urXbt2dXps+fLlWrJkicaMGZN8DOhLmzZt0quvvqpo\nNCpJeuWVVzRgwACLqwJ6D+s27O7dd99NbmwQlGG1M7Ze1NfXKxwOa+/evXr11Vf1zjvv6IEHHtDL\nL7+spqYmBQIB7dy5U3l5eQoGg6qurpak5GOhUEj79u1TYWGhGhsb++QbAk70zW9+0+oSgD7Fug27\nu/nmm/Xqq6/qjTfeUE1NDa0XsNQZg3Jqaqqi0ajuu+8++f1+fe5zn9OoUaO0bds2paWlqampSWvW\nrJEkLV68WMFgUJKUlpamxsZGLVy4UJJUXl6uQCDQ5dfYs2dPT34/ANCnRowYYXUJnfT2us2ajd60\nZcsWvfvuu/qnf/onrVixQl/5ylf4mUOPOtc1+4xBecSIEV1eCjgejysnJ0eVlZWaMGGCpLZe0OnT\np0uScnJyVFVVlfz8UCik0aNHn/brjBs37pyKtkJWVpaef/55FRUVWV3KWdmpVsle9dqpVsle9dqp\n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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f73fea06f60>"
|
||||
]
|
||||
}
|
||||
],
|
||||
@@ -2799,7 +2805,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Looking at the output we see a very large spike in the filter output at the beginning. If you look at the data (dotted red line) you will see a corresponding, smaller spike in the beginning of the data. We set `P=500`, which corresponds to $\\text{P}=[\\begin{smallmatrix}500&0\\\\0&500\\end{smallmatrix}]$. We now have enough information to understand what this means, and how the Kalman filter treats it. The 500 in the upper left hand corner corresponds to $\\sigma^2_x$; therefore we are saying the standard deviation of `x` is $\\sqrt{500}$, or roughly 22.36 meters, assuming our measurements are in meters. If we recall how standard deviations work, roughly 99% of the samples occur withing $3\\sigma$, therefore `P=500` is telling the Kalman filter that the initial estimate could be up to 67 meters off. That is a pretty large error, so when the measurement spikes the Kalman filter distrusts its own estimate and jumps wildly to try to incorporate the measurement. Then, as the filter evolves $\\mathbf{P}$ quickly converges to a more realistic value.\n",
|
||||
"Looking at the output we see a very large spike in the filter output at the beginning. If you look at the data (dotted red line) you will see a corresponding, smaller spike in the beginning of the data. We set `P=500 m`, which corresponds to $\\text{P}=[\\begin{smallmatrix}500&0\\\\0&500\\end{smallmatrix}]$. We now have enough information to understand what this means, and how the Kalman filter treats it. The 500 in the upper left hand corner corresponds to $\\sigma^2_x$; therefore we are saying the standard deviation of `x` is $\\sqrt{500}$, or roughly 22.36 m. If we recall how standard deviations work, roughly 99% of the samples occur withing $3\\sigma$, therefore `P=500` is telling the Kalman filter that the initial estimate could be up to 67 meters off. That is a pretty large error, so when the measurement spikes the Kalman filter distrusts its own estimate and jumps wildly to try to incorporate the measurement. Then, as the filter evolves $\\mathbf{P}$ quickly converges to a more realistic value.\n",
|
||||
"\n",
|
||||
"Now let us see the effect of a smaller initial value for `P`."
|
||||
]
|
||||
@@ -2808,23 +2814,40 @@
|
||||
"cell_type": "code",
|
||||
"collapsed": false,
|
||||
"input": [
|
||||
"plot_track(data=zs, R=5., Q=.02, P=1., count=len(zs), \n",
|
||||
" plot_P=False, title='P=1')"
|
||||
"plot_track(data=zs, R_var=50., Q_var=.2, P=1., count=len(zs), \n",
|
||||
" plot_P=True, title='P=1 m')"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": []
|
||||
"outputs": [
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f73fe9fd400>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f73feb02358>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 42
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"This plot does not have the spike that the former plot did; the filter starts tracking the measurements and doesn't take any time to 'settle' to the signal.\n",
|
||||
"This *looks* fantastic at first blush. The plot does not have the spike that the former plot did; the filter starts tracking the measurements and doesn't take any time to settle to the signal. However, if we look at the plots for P you can see that there is an initial spike for the variance in position, and that it never really converges. Poor design leads to a long convergence time, and suboptimal results. \n",
|
||||
"\n",
|
||||
"Do not conclude from this that the 'magic' is to just use a small $\\text{P}$. Yes, this will avoid having the Kalman filter take time to accurately track the signal, but if we are truly uncertain about the initial measurements this can cause the filter to generate very bad results. If we are tracking a living object we are probably very uncertain about where it is before we start tracking it. On the other hand, if we are filtering the output of a thermometer, we are just as certain about the first measurement as the 1000th. For your Kalman filter to perform well you must set $\\text{P}$ to a value that truly reflects your knowledge about the data. \n",
|
||||
"So despite the filter tracking very close to the actual signal we cannot conclude that the 'magic' is to just use a small $\\text{P}$. Yes, this will avoid having the Kalman filter take time to accurately track the signal, but if we are truly uncertain about the initial measurements this can cause the filter to generate very bad results. If we are tracking a living object we are probably very uncertain about where it is before we start tracking it. On the other hand, if we are filtering the output of a thermometer, we are just as certain about the first measurement as the 1000th. For your Kalman filter to perform well you must set $\\text{P}$ to a value that truly reflects your knowledge about the data. \n",
|
||||
"\n",
|
||||
"\n",
|
||||
"Let's see the result of a bad initial estimate coupled with a very small $\\text{P}$ We will set our initial estimate at 100m (whereas the dog starts at 0m), but set $\\text{P=1}$.\n"
|
||||
"Let's see the result of a bad initial estimate coupled with a very small $\\text{P}$ We will set our initial estimate at 100m (whereas the dog starts at 0m), but set `P=1 m`."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2832,18 +2855,28 @@
|
||||
"collapsed": false,
|
||||
"input": [
|
||||
"x = np.array([[100.,0.]]).T\n",
|
||||
"plot_track(data=zs, R=5., Q=.02, P=1., initial_x=x,count=len(zs),\n",
|
||||
" plot_P=False, title='P=1')"
|
||||
"plot_track(data=zs, R_var=50., Q_var=.2, P=1., initial_x=x,count=len(zs),\n",
|
||||
" plot_P=False, title='P=1 m')"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": []
|
||||
"outputs": [
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f73fe72f5c0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 43
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"We can see that the initial estimates are terrible, up to around step 15 to 20. This is because we told the Kalman filter that we strongly believe in our initial estimate of 100m.\n",
|
||||
"We can see that the initial estimates are terrible and that it takes the filter a long time to start converging onto the signal . This is because we told the Kalman filter that we strongly believe in our initial estimate of 100m and were incorrect in that belief.\n",
|
||||
"\n",
|
||||
"Now, let's provide a more reasonable value for P and see the difference."
|
||||
]
|
||||
@@ -2853,20 +2886,30 @@
|
||||
"collapsed": false,
|
||||
"input": [
|
||||
"x = np.array([[100,0]]).T\n",
|
||||
"plot_track(data=zs, R=5, Q=.02, P=500., initial_x=x,count=len(zs),\n",
|
||||
"plot_track(data=zs, R_var=50, Q_var=.02, P=500., initial_x=x,count=len(zs),\n",
|
||||
" plot_P=False, title='P=500')"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": []
|
||||
"outputs": [
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "iVBORw0KGgoAAAANSUhEUgAAAsoAAAGDCAYAAAAyKTZ5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8VFX6+PHPnZJMZiZ10iAJkEIgEEpAmoVAEAUUFcVV\nVlFwbT9WXSyLfnWtKKvrCrrqrm1XFHUtgGIDpS1N6U0MhIQSEiAhjSSTTJIp9/fHkIFIgISUScLz\nfr14kbnl3GfOTOCZM+c+R8nIyFARQgghhBBC1KHxdgBCCCGEEEK0RZIoCyGEEEIIUQ9JlIUQQggh\nhKiHJMpCCCGEEELUQxJlIYQQQggh6iGJshBCCCGEEPWQRFkIIYQQQoh66LwdgBBCdDQLFy7k8ccf\n9zzWarVYLBaGDBnCAw88QExMTKPae/3113nzzTdP2x4REcGqVavqbLPb7bzxxht8+eWXlJaWkpiY\nyIMPPsjFF1982vlr1qzh1VdfJSsri+DgYG644QamTZuGVqttVHxCCNFRSaIshBAt5J577iEhIYHq\n6mp27tzJwoULWbduHd988w0Wi6XR7b388st1Hvv5+Z12zPPPP8/nn3/OLbfcQmJiIl988QV33303\nH3/8Mf369fMct2XLFu69916Sk5N54okn2LNnD2+++SalpaX85S9/afyTFUKIDkgSZSGEaCFDhw5l\n2LBhAEycOJHY2FheeuklFixYwN13393o9saPH3/W/Tk5OZ4kuTbZHTduHFdccQWvvvoq77//vufY\nV199lZCQEObOnetJuJ1OJ//973+ZOnUqUVFRjY5PCCE6GpmjLIQQreSSSy4BIDc397zbsFqtqKpa\n774VK1agqirXX3+9Z5vZbGbMmDFs3LiR8vJyAI4fP86WLVu48sor64xKT5w4EafTycqVK887PiGE\n6EhkRFkIIVpJdnY2AMHBwZSVleFwOM56fEhISJ3HF110EVarFaPRyJVXXsljjz1GYGCgZ39GRgZa\nrZYePXrUOS8pKQmn00lmZiYDBgwgKysLl8tFr1696hzXo0cPFEUhIyOjKU9TCCE6DEmUhRCihVit\nVoqLi6mpqWHnzp288MILaLVaxo4dy3XXXceRI0fOev6ePXsACAwM5LbbbqNfv37odDrWrVvHF198\nwe7du/n888/x8fEBoKCggMDAQLRaLW+99Rbvvfce//znPz3zoQsLCwE4duwYABaLhaysLCZPnszY\n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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f73fe9fd358>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 44
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"In this case the Kalman filter is very uncertain about the initial state, so it converges onto the signal much faster. It is producing good output after only 5 to 6 evolutions. With the theory we have developed so far this is about as good as we can do. However, this scenario is a bit artificial; if we do not know where the object is when we start tracking we do not initialize the filter to some arbitrary value, such as 0 or 100. Instead, we would normally take the first measurement, use that to initialize the Kalman filter, and proceed from there. But this is an engineering decision. You really need to understand the domain in which you are working and initialize your filter on the best available information. For example, suppose we were trying to track horses in a horse race. The initial measurements might be very bad, and provide you with a position far from the starting gate. We know that the horse must of started at the starting gate; initializing the filter to the initial measurement would lead to suboptimal results. In this scenario we would want to always initialize the Kalman filter with the starting gate position. \n",
|
||||
"In this case the Kalman filter is very uncertain about the initial state, so it converges onto the signal much faster. It is producing good output after only 5 to 6 evolutions. With the theory we have developed so far this is about as good as we can do. However, this scenario is a bit artificial; if we do not know where the object is when we start tracking we do not initialize the filter to some arbitrary value, such as 0 m or 100 m. Instead, we would normally take the first measurement, use that to initialize the Kalman filter, and proceed from there. But this is an engineering decision. You really need to understand the domain in which you are working and initialize your filter on the best available information. For example, suppose we were trying to track horses in a horse race. The initial measurements might be very bad, and provide you with a position far from the starting gate. We know that the horse must start at the starting gate; initializing the filter to the initial measurement would lead to suboptimal results. In this scenario we would want to always initialize the Kalman filter with the starting gate position. \n",
|
||||
"\n",
|
||||
"If we have the luxury of not needing to perform the filtering in real time, as the data comes in, we can take advantage of other techniques. We can 'eyeball' the data and see that the initial measurements are giving us reasonable values for the dog's position because we can see all of the data at once. A `fixed lag smoother` will look N steps ahead before computing the state, and other filters will do things like first run forwards, than backwards over the data. This will be the subject of later chapters. It is worthwhile to keep in mind that whenever possible we should prefer this sort of batch processing because it takes advantage of all available information. It does incur cost of additional processing time and increased storage due to the requirement to store some or all of the measurements. And, of course, batch processing does not work if we need real time results, such as when using GPS in our car."
|
||||
"If we have the luxury of not needing to perform the filtering in real time, as the data comes in, we can take advantage of other techniques. We can 'eyeball' the data and see that the initial measurements are giving us reasonable values for the dog's position because we can see all of the data at once. A *fixed lag smoother* will look N steps ahead before computing the state, and other filters will do things like first run forwards, than backwards over the data. This will be the subject of the Smoothing chapter. It is worthwhile to keep in mind that whenever possible we should prefer this sort of batch processing because it takes advantage of all available information. It does incur cost of additional processing time and increased storage due to the requirement to store some or all of the measurements. And, of course, batch processing does not work if we need real time results, such as when using GPS in our car."
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2882,7 +2925,7 @@
|
||||
"input": [
|
||||
"def plot_track_ellipses(noise, count, R, Q=0, P=20., plot_P=True, \n",
|
||||
" title='Kalman Filter'):\n",
|
||||
" dog = DogSensor(velocity=1, noise=noise)\n",
|
||||
" dog = DogSensor(velocity=1, noise_var=noise)\n",
|
||||
" f = dog_tracking_filter(R=R, Q=Q, cov=P)\n",
|
||||
"\n",
|
||||
" ps = []\n",
|
||||
@@ -2918,12 +2961,30 @@
|
||||
" plt.show()\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"plot_track_ellipses(noise=5, R=5, Q=.2, count=20, title='R = 5')\n",
|
||||
"plot_track_ellipses(noise=5, R=.5, Q=.2, count=20, title='R = 0.5')"
|
||||
"plot_track_ellipses(noise=5, R=5, Q=.2, count=20, title='R = 5 m')\n",
|
||||
"plot_track_ellipses(noise=5, R=.5, Q=.2, count=20, title='R = 0.5 m')"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": []
|
||||
"outputs": [
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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\nrVuhwH3TTTdx5ZVXctttt9GzZ0/++usvbr311iJrHjBgAD169GDgwIG0adOGuXPnlvKnIiIiIlL5\nGJs3by7TlRh27txJ06ZNi3ztwIED1KhRoywPL2c5/R0qWkxMDAAHDx4s50qkJHT+Kjedv8pL565y\ni4mJYfny5dSpU6dY+6lnWERERESqLIVhEREREamyFIZFREREpMpSGBYRERGRKkthWERERESqLIVh\nEREREamyFIZFREREpMpSGBYRERGRKkthWERERESqLIVhEREREamyFIalwmnfvj1Tp04t7zJERESk\nClAYlgrHMIzyLkFERESqCIXhElixYgVt2rTh1ltvpWnTprzxxht069aNli1bsmzZMgDS0tJ48MEH\nadWqFU2bNmXgwIFs2bLF38bWrVsZPHgw8fHxNGjQgM6dOzN37txCx3G73YwZM4aEhAQaNmzIJZdc\nwsyZM/2v79y5k7i4OHbv3u1/7plnnuGiiy4q1M57771HXFwc69evp1evXjRs2JB27dqxYcMGAPLy\n8pg4cSIJCQk0btyYPn368MMPP/j3b9++Pffeey/NmjXjjjvuYMKECTRp0oRHHnnkmON07tyZhg0b\nctlll/HOO+8Uej0uLo63336bfv360ahRI3r16sXWrVsLHScuLo5du3YxdepU4uLiiIuLY9q0acU6\nPyIiIiKnylneBVRWBw4cYMiQIdStW5fHH3+cefPm8fXXXzNz5kwuvfRSbr75ZlwuF2+++SaRkZHM\nmjWL66+/nmXLlhESEkJycjLx8fGMGDGCmJgYli5dykMPPURsbCydO3cGYPbs2XzwwQfMnDmT+vXr\n8+eff7Jz586T1na8ntVHH32Ue++9l6ZNm7Ju3TpcLhcAI0eOZPPmzbz44ouce+65LFiwgIEDB7Js\n2TLOOeccDMMgOjqaN998k/79+zN48GDeffdd+vXrx3333UdMTAxvvfUWkyZN4sknnyQhIYGff/6Z\nkSNHEh0dTffu3f01vPrqq0yePJmIiAjuvvtunnjiCebMmQPAokWL8Hq9XHXVVfTt25chQ4YAEBIS\nclrnSkREROR4KkUYPjc2tsjn/yrQI3o625dETEwM7dq1IyMjgw8//JCLLrqI7OxsFi9ezLJly/jp\np5/46aefqFGjBgATJkzggw8+4Ouvv6ZPnz60a9eOdu3a+du74YYbmDNnDosXL/aH4Z07d1Line truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f73fe885080>"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f73fec100b8>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 45
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
@@ -2941,9 +3002,9 @@
|
||||
"\n",
|
||||
"Think about what this means physically. The x-axis of the ellipse denotes our uncertainty in position, and the y-axis our uncertainty in velocity. So, an ellipse that is taller than it is wide signifies that we are more uncertain about the velocity than the position. Conversely, a wide, narrow ellipse shows high uncertainty in position and low uncertainty in velocity. Finally, the amount of tilt shows the amount of correlation between the two variables. \n",
|
||||
"\n",
|
||||
"The first plot, with $\\mathbf{R}=5$, finishes up with an ellipse that is wider than it is tall. If that is not clear I have printed out the variances for the last ellipse in the lower right hand corner. The variance for position is 3.85, and the variance for velocity is 3.0. \n",
|
||||
"The first plot, with `R=5 m`, finishes up with an ellipse that is wider than it is tall. If that is not clear I have printed out the variances for the last ellipse in the lower right hand corner. The variance for position is 3.85 m, and the variance for velocity is 3.0 m. \n",
|
||||
"\n",
|
||||
"In contrast, the second plot, with $\\mathbf{R}=0.5$, has a final ellipse that is taller than wide. The ellipses in the second plot are all much smaller than the ellipses in the first plot. This stands to reason because a small $\\small\\mathbf{R}$ implies a small amount of noise in our measurements. Small noise means accurate predictions, and thus a strong belief in our position. "
|
||||
"In contrast, the second plot, with `R=0.5 m`, has a final ellipse that is taller than wide. The ellipses in the second plot are all much smaller than the ellipses in the first plot. This stands to reason because a small $\\small\\mathbf{R}$ implies a small amount of noise in our measurements. Small noise means accurate predictions, and thus a strong belief in our position. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2958,7 +3019,7 @@
|
||||
"cell_type": "markdown",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Why are the ellipses for $\\mathbf{R}=5$ shorter, and more tilted than the ellipses for $\\mathbf{R}=0.5$. Hint: think about this in the context of what these ellipses mean physically, not in terms of the math. If you aren't sure about the answer,change $\\mathbf{R}$ to truly large and small numbers such as 100 and 0.1, observe the changes, and think about what this means. "
|
||||
"Why are the ellipses for $\\mathbf{R}=5 m$ shorter, and more tilted than the ellipses for $\\mathbf{R}=0.5 m$. Hint: think about this in the context of what these ellipses mean physically, not in terms of the math. If you aren't sure about the answer,change $\\mathbf{R}$ to truly large and small numbers such as 100 m and 0.1 m, observe the changes, and think about what this means. "
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -2977,18 +3038,28 @@
|
||||
"\n",
|
||||
"**This is a critical point to understand!**. The Kalman filter is just a mathematical model for a real world system. A report of little correlation *does not mean* there is no correlation in the physical system, just that there was no *linear* correlation in the mathematical model. It's just a report of how much measurement vs prediction was incorporated into the model. \n",
|
||||
"\n",
|
||||
"Let's bring that point home with a truly large measurement error. We will set $\\mathbf{R}=500$. Think about what the plot will look like before scrolling down. To emphasize the issue, I will set the amount of noise injected into the measurements to 0, so the measurement will exactly equal the actual position. "
|
||||
"Let's bring that point home with a truly large measurement error. We will set $\\mathbf{R}=500 m$. Think about what the plot will look like before scrolling down. To emphasize the issue, I will set the amount of noise injected into the measurements to 0, so the measurement will exactly equal the actual position. "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"collapsed": false,
|
||||
"input": [
|
||||
"plot_track_ellipses (noise=0., R=500., Q=.2, count=7, title='R = 500')"
|
||||
"plot_track_ellipses (noise=0., R=500., Q=.2, count=7, title='R = 500 m')"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": []
|
||||
"outputs": [
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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\n3x/PP/888vPzE7a96aabcNddd2HNmjV48MEHsWvXLjzyyCM4++yzm7RO73HkKRIEQSSyYsUKWJaV\nkGADAKtWrcLAgQOztKrMUFlZieHDh+PPf/5zrct5ek1DtqmL3bt34/TTT8e9996bcHnXrl1RUVFR\n67V63rx5CAaDmDJlChhj2LZtm2gmbij1VoYXL16MuXPnYu3atTjvvPPEHTMMA/fddx/ef/99hEIh\n3HnnnRg9enSjbpwgCKIlmD9/fp2/mz59uhhVnE169eqFOXPmNHj7Dh064C9/+UuDth07dizGjh3b\nxJXV0K1bN6xbt078PH78+ASh/uGHH6Z9GwTRHohGoygqKkrwuO7cuROfffYZXn/99Wa//ea0SUiS\nhHg8XisvePPmzRgwYAACgQDC4XC929TF3r17sXv37loxjXv27IGiKOjatau47J133oEkSfjtb38r\nLnv55ZcT7GINoV4xXFBQgOuvvx7Lli1LyKScN28eNm7ciKVLl2Lt2rW46aabMHDgQBx22GGNWgBB\nEARBEER7YvDgwYjFYmIATjwex91334077rijRcYsZ8Imwa1llmUlXB4IBHDxxRfjlFNOEZf95z//\nQVlZGV588cUGbwO40yz/9Kc/YcaMGaKRuW/fvvjFL36RIHC3bt2KlStX4rrrrhPNxJ988gmef/55\njBw5Ek8//bRY87p16w5ZeU5FvVsPHjwYAPDNN98kiOH3338fY8eORV5eHgYPHoyBAwfiX//6V6OD\njgmCIAiCINoTJSUlmDFjBiZPnowePXpg586duPrqqzFs2LCE7Xbt2oX33nsPW7duxbHHHgvDMLBt\n2zbceuutIpatS5cu2LlzJwYPHowTTzwRtm3jpZdeQlFREbZu3YorrrgipT+3qaxcuRLz58/HunXr\nwBjDXXfdheOPPx4XXHCBaHwbP348/vrXv4o4x3379uGVV15JGLPckG0AV2ybpplw2aOPPoq//vWv\nePnll8EYQ1lZGe677z5ceumlAID9+/fj1ltvRTQaxVdffZVw3YY253lh69evb1Ao5MyZM7Fr1y5h\nkxg0aBD+/ve/Y968eRg+fDhWr14Ny7JqeTwIgiAIgiCI2ixcuBCjR4/GyJEj8e677yIvLw+XX345\nnnjiCTzwwAO48sorMWTIEEQiEVx22WV45513sHTpUqxfvx433HADpkyZgiuuuKJFqs3tmQLine truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x7f73feb68be0>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 46
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
|
||||
Reference in new issue
Block a user