Added MM filter bank.

This commit is contained in:
Roger Labbe committed 2015-06-30 20:14:39 -07:00
1 parent 1b92397175
commit 24e70d7c77
2 files changed
+232 -113

No files matched your search

+202 -113
View File
@@ -30,7 +30,7 @@
"@import url('http://fonts.googleapis.com/css?family=Arimo');\n",
"\n",
" div.cell{\n",
" width: 850px;\n",
" width: 900px;\n",
" margin-left: 0% !important;\n",
" margin-right: auto;\n",
" }\n",
@@ -117,9 +117,6 @@
" font-family: 'Arimo',verdana,arial,sans-serif;\n",
" line-height: 125%;\n",
" font-size: 120%;\n",
" width:740px;\n",
" margin-left:auto;\n",
" margin-right:auto;\n",
" text-align:justify;\n",
" text-justify:inter-word;\n",
" }\n",
@@ -240,7 +237,10 @@
" },\n",
" displayAlign: 'center', // Change this to 'center' to center equations.\n",
" \"HTML-CSS\": {\n",
" scale:85,\n",
" scale:100,\n",
" availableFonts: [\"Neo-Euler\"],\n",
" preferredFont: \"Neo-Euler\",\n",
" webFont: \"Neo-Euler\",\n",
" styles: {'.MathJax_Display': {\"margin\": 4}}\n",
" }\n",
" });\n",
@@ -401,9 +401,9 @@
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuoAAAE6CAYAAABAsXcUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XlcVXXi//H3vSyyiFdcWARUTBQlNRP9KpVbYWKKOVZO\n/iy1hfyOmdriZDrhfDOdyvy2qGlW5phOantqDM6IC4EjapZLlo6YK4iKKAgu3PP7w+l+I9wq4Zx7\neT0fj/sIzufcy/v28erb4+ecYzMMwxAAAAAAS7GbHQAAAABAZRR1AAAAwIIo6gAAAIAFUdQBAAAA\nC6KoAwAAABZEUQcAAAAsiKIOAHALq1evlt1u1/Dhw82OAgDVgqIOACY5fvy43n77bQ0cOFAtWrRQ\nYGCgHA6HOnfurNdee03nz5+v9Jwfy+pPH4GBgQoPD9fNN9+sMWPGKDs7+6ozXOz1rvTYt2/ftfzf\n8IvZbDZTfz4AVBdvswMAQE21ZMkS/eEPf1BoaKh69Oihu+++WwUFBfrss880ZswYffDBB/rHP/4h\nX1/fSs9t2rSphg0bJkk6e/asjh8/rq+++kqvv/66XnvtNSUlJendd99Vw4YNL5shOjpakyZNqrDN\nMAz9+c9/ls1mU2pqaqXn1K1b91e/ZwDA1bNxZ1IAMEdGRoaKi4vVt2/fCkeJT506pW7dumnLli16\n+eWXNXbsWNfY6tWr1bNnT3Xv3l2rVq2q9Jq7d+/Wgw8+qHXr1ql9+/bKzs6+aNG/ErvdLpvNpvLy\n8l/35qrAj+992LBheuedd8yOAwBVjqUvAGCSHj16qF+/fpWWcgQFBempp56SdKGc/hLNmzfXF198\noZYtW+qrr77S7Nmzr1VcSRcKfHR0tE6ePKkxY8aoSZMm8vHx0auvvipJ+v777/X0008rPj5eDRs2\nlJ+fn5o2baqHH35Y+/fvv+Trrly5UsnJyQoNDZWfn5+ioqLUt29fLVu27IqZDMPQU089Jbvdrr59\n+6qkpOSavV8AMBNLXwDAgry9vSv895cICAjQU089pYceekgLFy7UY489dk2znTlzRj169NDJkyd1\nxx13KCAgQFFRUZKkjz76SHPmzFHPnj118803y9fXV9u2bdM777yjzz//XJs2bVJERESF10tNTdVz\nzz2n2rVr684771Tjxo11+PBhrV+/Xu+884769u172SxDhw7VkiVL9NBDD2n27Nmy2zkGBcAzUNQB\nwILefvttSVLv3r1/1fO7d+8uSfrqq6/kdDqvaXnNy8tTmzZt9OWXX8rPz6/C2P33368nnnhCPj4+\nFbavXLlSSUlJmjx5st544w3X9vT0dD333HNq2rSp1q1bV6nEHzx48JI5CgsLdeedd2rdunX685//\nrD/96U/X4N0BgHVQ1AHAYl555RWlp6frxhtv1AMPPPCrXqNRo0aSpPLych0/flwNGjS4ZvlsNpum\nTZtWqaT/9Of+XGJiolq3bq309PQK219//XVJ0ksvvVSppEu66DZJ+uGHH9SnTx/t3r1b8+bN09Ch\nQ3/p2wAAy6OoA4CFLFy4UE888YQiIiL00UcfycvL61e9zk+vE3CtL2fo5+enNm3aXHL8vffe07vv\nvquvv/5aJ06cqHBCaq1atSrsu379etlsNiUlJV31z9+5c6e6dOmi06dPa/ny5brtttt++ZsAADdA\nUQcAi/jrX/+q4cOHKyoqSqtWrVLjxo1/9WsdOnRIkuTl5aV69epdq4iSpJCQkEuOjR07Vq+++qoa\nNWqkpKQkRUREyN/fX5I0b968StdgP3HihOrUqaOAgICr/vnff/+9jh8/rrZt26pDhw6/7k0AgBug\nqAOABbz55psaMWKEmjVr9ptLuiTXpRvj4+Ov+RH1S73ekSNH9Nprr6lNmzbKyspSYGBghfGFCxdW\nek7dunV1/PhxlZSUVNr/UpKTk9WyZUuNHz9ePXr00MqVK694vXgAcEecGg8AJnv11Vc1YsQItWjR\nQmvXrv3NJb2kpETTpk2TJA0ZMuRaRLwqe/bskWEY6tWrV6XSfeDAAe3Zs6fSc7p06SLDMPTFF1/8\nop/1xz/+Ua+++qq2bt2qbt266fDhw78pOwBYEUUdAEw0depUjR07VnFxcVq7du0lT8a8Wrt371ZS\nUpJ27dqljh07KiUl5RolvbLo6GhJ0rp16+R0Ol3bi4uL9fDDD1/05kmjRo2SJD311FM6cOBApfHL\nXfVl1KhRmjNnjr7//nt17dr1stdpBwB3xNIXADDJ/PnzNWHCBNlsNnXv3l2zZs2qtE9wcLBGjx5d\naXtubq4mTZokSTp37pyOHz+uLVu2aMOGDZKkvn37at68eb/qOuy/VmhoqH7/+9/r/fff1w033KDE\nxEQVFRVp5cqVCggI0A033KAtW7ZUeE5iYqL+9Kc/6bnnnlPr1q3Vv39/NW7cWEeOHNH69evVvHlz\n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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7b0b6d8>"
"<matplotlib.figure.Figure at 0x6e6cc50>"
]
},
"metadata": {},
@@ -466,9 +466,9 @@
"outputs": [
{
"data": {
"image/png": "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\n/Zz2GTFihLEsywQGBpoOHTqYpKQkR92sWbOMZVmmbdu2TvvMmDHDWJZl2rdvbxISEpzqhg8fbizL\nMgMGDHAqL1q0qLEsy1StWtXExsY6yi9cuGDuu+8+4+bmZqKjox3lBw8ezPC9SVO5cmXj5eVlTpw4\nka4uo58tEclaNKIuIi43cOBAihQpkq7879MY0hQqVIj27duzZ88ejhw54iifPn0658+fp3fv3jRo\n0CDD/TKSmJhIx44dee+99+jTpw/ffPMNXl5e1xV79erVuf/++/nuu+/SjRBPmzYNgB49eqTbL6P+\n8+TJc12v+Xe9evUiNTWVTz/9FIAjR46wZMkSOnfujI+PT4b77NixgxUrVtCmTRs6derkVOfv78/Q\noUMxxjBz5kxHuYeHBwULFkzXV0BAAD179iQ2NpaNGzemq8/oWH19ffHw8Lih48xM69atadq0qVPZ\nmTNnmD59OpUrV+Y///mPU52Hh4dj2seMGTPS9efn55fu4txu3boB9lH6t99+G3f3K5d4derUCXd3\nd7Zt2+a0zzvvvIO7uztTpkzB09PTqW7QoEHky5fP6f292qhRo8idO7fjuY+PD48//jipqals3rzZ\nUW6uY466m5ubU7xpMvrZEpGsRReTiojLVa9ePdO6NWvWMH78eNatW8fJkye5fPmyU/3Ro0cJCwsD\nYP369QA0b978ul/74sWLNG7cmLVr1zJixAgGDRp0w/F3796dQYMGMXPmTMdUhNjYWL799luKFy/u\ndAFt165dmTdvHjVq1KBjx440aNCAWrVqpVsN50ZUrlyZSpUq8emnn/Laa6/xySefkJqaSq9evTLd\nZ82aNYB9jvrQoUPT1Z88eRKA3bt3O5X/+uuvjBkzhp9++ono6GgSEhKc6o8dO+bYfuyxx3jvvfdo\n06YN7du3p1GjRtSqVYvSpUvf7KFmKKPvnw0bNpCSkoJlWRkeX9pc778fH0BERES6DzghISEA5M6d\nO92HSpvNRlBQkNOHxosXL7Jlyxby5cvHu+++m2HcHh4eHD9+nDNnzjglzZZlUbVq1XTt077PY2Nj\nM+wvI127dmXAgAGUKVOGTp06UbduXWrXrk1oaOh19yEirqNEXURcLi0J+rt58+bRoUMHfHx8iIyM\npESJEvj6+mKz2Vi5ciWrVq0iMTHR0f7s2bNA5iPnGTl//jy//PIL/v7+NGvW7Kbi79atG6+88grT\np093JOqzZ8/m8uXLPPHEE05t27Zty6JFixg3bhzTp093zC0vV64cQ4cOpV27djcVQ69evXjmmWdY\ntGgRn376KRUrVqRKlSqZtj99+jQAy5cvZ/ny5Rm2sSyLCxcuOJ6vX7+eRo0akZqaSuPGjWnTpg0B\nAQHYbDa2bNnC/Pnznc5HtWrViIqKYsSIEcybN88xelysWDFeeuklp/nWtyKj75+049u8ebPTCPS1\nji9NYGBgurK0EemM6tLqk5OTHc/TkunTp0/zxhtvZBp7Wgx/H90OCAjINIaUlJRM+/u7559/nqCg\nICZNmsT777/Pe++9B0DNmjUZOXIk9evXv+6+ROTu09QXEXG5zC4SfO211/Dy8mLTpk18/fXXjBkz\nhqFDh/L6669TsmTJdO3TpgpcPbL5T4KDg1m0aBGpqak0atQowwsC/0loaChNmzZl69at7NixA7BP\ne7HZbHTv3j1d++bNm/P9998TFxfHqlWrGDRoEIcOHeLRRx/NdNWTf/L444/j4+ND3759OXz4ML17\n975m+7SEc9y4caSmpmb4SElJcUrihw8fTkJCAsuWLXN82Eg7H5n9V6RGjRrMnz+fs2fPsn79et58\n800uXbrE008/7TTtxGaz/zm6OtlNk/YBLDMZff+kHd9zzz13zeO71qo+tyLt9cuXL5/p66fFULhw\n4TsSQ5rHH3+cqKgoYmNjWbp0KX379uWXX36hefPm7N27946+tojcGiXqIpJl7du3jzJlylCqVCmn\n8tTUVKKiotK1r1WrFkCGq8FcS8OGDVm6dCnGGCIjI1m9evUNx5o2D33atGns2bOHDRs2UK9ePYoW\nLZrpPp6entStW5cRI0YwduxYjDF88803N/zaYJ9X3qlTJ44cOYKvry+PP/74NdvXrl0b4IY+GOzb\nt498+fJluBb+qlWrrrmvu7s71atX55VXXnEsVXn1sabNz//zzz/T7ZvRvPd/UrNmzWsu93in+fn5\nUa5cOXbv3u0Y3b8T0tbOv55Rdj8/PyIjI5kwYQIDBgwgISHhhn9WROTuUqIuIi51rTsqhoeH8/vv\nv3P8+HFHmTGGoUOHsnv37nT7du/enYCAAD7++GN+/PHHdP1da6S9du3a/PDDD3h4eNC8eXN++OGH\nGzqO1q1bkydPHmbOnOm40VBGF5GuWrUqw6Qq7Rh9fX1v6HWv9sYbb/DNN9+wZMkS/Line truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7ae9f28>"
"<matplotlib.figure.Figure at 0x6e7cb70>"
]
},
"metadata": {},
@@ -497,7 +497,7 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": 10,
"metadata": {
"collapsed": false
},
@@ -506,15 +506,17 @@
"from filterpy.kalman import KalmanFilter\n",
"from filterpy.common import Q_discrete_white_noise\n",
"\n",
"dt = 0.1\n",
"cvfilter = KalmanFilter(dim_x = 2, dim_z=1)\n",
"cvfilter.x = array([0., 0.])\n",
"cvfilter.P *= 3\n",
"cvfilter.R *= noise_factor\n",
"cvfilter.F = array([[1, dt],\n",
" [0, 1]], dtype=float)\n",
"cvfilter.H = array([[1, 0]], dtype=float)\n",
"cvfilter.Q = Q_discrete_white_noise(dim=2, dt=dt, var=0.02)\n",
"def make_cv_filter(dt):\n",
" cvfilter = KalmanFilter(dim_x = 2, dim_z=1)\n",
" cvfilter.x = array([0., 0.])\n",
" cvfilter.P *= 3\n",
" cvfilter.R *= noise_factor\n",
" cvfilter.F = array([[1, dt],\n",
" [0, 1]], dtype=float)\n",
" cvfilter.H = array([[1, 0]], dtype=float)\n",
" cvfilter.Q = Q_discrete_white_noise(dim=2, dt=dt, var=0.02)\n",
" \n",
" return cvfilter\n",
"\n",
"def initialize_filter(kf):\n",
" \"\"\" helper function - we will be reinitialing the filter\n",
@@ -549,16 +551,16 @@
},
{
"cell_type": "code",
"execution_count": 7,
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAu8AAAE6CAYAAACmmLxQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Wd4VVXC9vH/OekJIYSSAkGaAaQHQpcUekeqAiLYwBkc\nUcdHZSwwPoLjyGOZsWGjCkoQEUSqhEAILfTeQWpoIYGQes5+P+QlI0MSAibZJ8n9uy6uC/ZeZ587\nK3y4s7PO2hbDMAxERERERMThWc0OICIiIiIiBaPyLiIiIiJSQqi8i4iIiIiUECrvIiIiIiIlhMq7\niIiIiEgJofIuIiIiIlJCqLyLiJRRVquVWrVqmR1DRETugsq7iEghslqtd/VnxowZpua1WCymvv+9\nujl/uTlx4gT16tXDarUybtw4bj7OJCIiIt/vRf/+/YvzSxARuSfOZgcQESlNJkyYcFshnjZtGidP\nnmTUqFHUrFnzlnMhISHFmK50ye0Hj507d9KjRw8SEhJ45513eOWVV24bk9v3AaB+/fpFEVNEpFCp\nvIuIFKIJEybcdmz16tU55T0sLMyEVGVDdHQ0Dz30EGlpaUyfPp0RI0bkOk7fBxEpybRsRkTEJDeX\ncRw/fpyPPvqIRo0a4eHhkbN8Izk5mffee4+OHTsSFBSEm5sbfn5+9O3blw0bNuR53YMHD/Lkk09S\nq1Yt3N3d8fPzo3379nzwwQcFyhUVFYW7uzvBwcEcPXo0z3FpaWn4+vpSuXJlMjMzcx3z0ksvYbVa\nmTlzZs6xdevW0bdvX6pXr467uzv+/v60bNmSl156qUD5cjNv3jy6d++OYRgsXrw4z+IuIlLSqbyL\niJjsL3/5C3//+99p3rw5zz//PC1btgRg3759vP766zg7O9OnTx/++te/0qVLF6KjowkLC2Pp0qW3\nXWvJkiWEhIQwffp0GjRowF//+leGDBmCs7MzkyZNumOWDz74gIcffphmzZqxYcMG6tSpk+dYd3d3\nHnnkEa5cucLPP/9823mbzca3335LuXLlGDRoEADLli0jIiKC2NhYOnXqxEsvvcSgQYOoUKEC//73\nv7Hb7QWdthz//ve/GTp0KL6+vkRHR9O1a9d8x99cAy8iUhJp2YyIiMl27tzJjh07uO+++2453qBB\nA86dO0fFihVvOX7mzBlatWrFiy++SI8ePXKOX7p0iWHDhmGz2fj111+JiIi47XV5sdvtvPjii/zr\nX/+iT58+fP/997i7u98x++OPP87UqVOZMWPGbR/4XL58OQkJCYwaNQpPT08AvvzySwzDYM2aNTRp\n0uSW8YmJiXl+CDUv48eP591336VOnTosX76c2rVr3/E106dPJzo6+pZjFouFV199FTc3t7t6fxGR\n4qbyLiJispdffvm24g5Qvnz5XMdXq1aNgQMH8vHHH3P69GmCgoIAmDFjBteuXWPs2LG3Ffebr8tN\neno6w4cPZ8GCBTzzzDN88sknBd6FplWrVjzwwAMsXbqUS5cuUbly5Zxz06dPB7LXmP+33H4w8PX1\nLdB73mQYBu+++y4uLi4sXbq0QMUdyHWHH4vFwgsvvKDyLiIOT8tmRERM1qpVqzzPrV+/niFDhuSs\nD7+5reHHH38M3Ho3fePGjQC33I2/kxs3btCpUycWLFjA5MmT+fTTT+96+8iRI0eSmZnJt99+m3Ms\nMTGRRYsWUbt27Vs+HProo48C0Lp1a8aMGcPcuXM5ceLEXb3f73Xv3p3MzEyGDRtGYmJigV6zZs0a\n7Hb7LX9sNluePyyJiDgSlXcREZMFBATkevzHH3/MWdvesmVL/vKXv/Dmm28yceJEwsPDgey75jdd\nvXoVyPsOe26uXbvGtm3b8Pb2plu3bveUf8SIETg5Od1yR/v7778nIyODxx577Jax/fv3Z8mSJYSG\nhjJjxgyGDx9O7dq1adKkCQsWLLir97VYLCxatIiHHnqI+Ph4IiIiuHjx4j19DSIiJYXKu4iIyfK6\n0/3GG2/g7u5OfHw8CxYs4L333mPixIm8+eab1K1b97bxFSpUAOD06dMFfm9/f3+WLFmC3W6nY8eO\nbNq06a7zBwYG0rVrV3bs2MHu3buB7CUzVquVkSNH3ja+R48erFy5kqSkJGJiYnj11Vc5efIkgwcP\nZu3atXf13s7OzkRFRTFs2DB2795NWFhYvmv7RURKOpV3EREHdeTIERo0aEC9evVuOW6324mNjb1t\nfNu2bQFy3YUmP5GRkSxfvhzDMOjSpQvr1q2766w317VPnz6dgwcPsnnzZsLCwqhRo0aer3Fzc6ND\nhw5MnjyZKVOmYBgGCxcuvOv3dnJyYtasWTz11FMcPHiQsLCwP7QUR0TEkam8i4iYKL/15bVq1eLQ\noUOcO3cu55hhGEycOJH9+/ff9tqRI0dSvnx5vvjiC9asWXPb9fK7I9+uXTtWrVqFq6srPXr0YNWq\nVXf1dfTr1w9fX1++/fZbvv76ayD3D6rGxMRgs9luO37za/Ty8rqr973JYrHwxRdfMG7cOI4fP06H\nDh04dOjQPV1LRMSRabcZERET5bfn+AsvvMAzzzxDSEgIAwYMwMXFhfXr17N//3769OnD4sWLbxlf\nqVIl5syZw6BBg+jcuTPdunWjSZMmXL9+nT179rBr1y4uX76c5/uFhoYSHR1Nly5d6NOnD/Pnz6dX\nr14F+jpcXV0ZOnQon376KR999NEte7v/3rhx4zh9+jQPPvggNWrUwN3dnV27drFixQoqV67M6NGj\nC/R+efnggw/w9PTknXfeITw8nJUrV9KoUaM/dE0REUdi+p33Tz75hKZNm+Lj44OPjw/t2rXjl19+\nuWXMxIkTqVatGp6enkRGRrJv3z6T0oqI3D2LxZLrHfa8jt80evRopk2bRmBgIDNnzmTu3LnUqFGD\nzZs307x581xf27NnT7Zt28aIESPYtWsX77//PvPmzSMrK4sJEybcMWvjxo2JiYmhUqVKDBw48K4+\nRPr4448DkJWVxaBBg3L2dv+91157jW7durF//36mTZvGZ599xm+//cYLL7zA9u3bqV69eoHfLy+T\nJk1i0qRJJCQkEBkZybZt24A7z7eISElgMUx+1NyiRYtwc3MjODgYu93O9OnT+ec//8mWLVto2rQp\n7777LpMmTWLGjBnUrVuXt956i9jYWA4ePEi5cuXMjC4iIiIiUqxML++5qVSpEv/4xz946qmnqFq1\nKs899xzjx48HIC0tDT8/P6ZMmfKHf70qIiIiIlKSmL5s5vdsNhvfffcdaWlphIWFcfz4cRISEuja\ntWvOGHd3d8LCwoiLizMxqYiIiIhI8XOID6zu3r2btm3bkp6ejoeHB/PmzaNevXo5Bd3f3/+W8X5+\nfpw9e9aMqCIiIiIipnGI8l6/fn127dpFUlISUVFRPPLII0RHR+f7mtw+dJSUlFRUEUVEREREipyP\nj0++5x1i2YyLiwu1a9cmJCSEyZMn06ZNGz755BMCAwMBSEhIuGV8QkJCno8TFxEREREprRyivP83\nm82G3W6nVq1aBAQEsGLFipxzaWlpxMbG0q5dOxMTioiIiIgUP9OXzbz66qv07t2boKAgrl27xpw5\nc4iJiWHZsmUAPP/880yePJn69esTHBzM22+/jbe3N8OGDcv3unf6lYMUXHx8PJD9ABcpPJrXoqF5\nLTqa26KheS0amteioXktGnez9Nv08p6QkMCjjz7K+fPn8fHxoWnTpixbtowuXboA8PLLL5OamsrY\nsWNJTEykTZs2rFix4p4foS0iIiIiUlKZXt6nTZt2xzETJkwo0JMBRURERERKM4dc8y4iIiIiIrdT\neRcRERERKSFU3kVERERESgiVdxERERGREkLlXURERESkhFB5FxEREREpIVTeRURERESKiM1uw27Y\nC+16Ku8iIiIiIkXg+LmDTPnuJbbsjy60a5r+kCYRERERkdLkemoyi9bPZOPeVQCs27WMVg90xGKx\n/OFrq7yLiIiIiBQCu2Fn495fWbR+JjfSruFkdaZTi/50bTmoUIo7qLyLiIiIiPxhpy4cIyp6KifO\nHwSgbvUmDI4cg79vtUJ9H5V3EREREZF7lJqewpINc1i3aymGYae8ly8Dwp4kJLh9od1t/z2VdxER\nERGRu2QYBvEH17Jw3TSu3biK1WIlPKQvPVo/goebZ5G9r8q7iIiIiMhdOHf5FFFrpnLk9B4AagXW\nZ0jkM1SrUrPI31vlXURERESkANIzUlm2eR7R2xdht9vw8ihPv/YjadUgEquleHZgV3kXEREREcmH\nYRjsOrqRBTFfk3j9EhYstG/Ujd7tH8XL3btYs6i8i4iIiIjk4eLVc/yw5kv2ndwGQJBfbR6OfIYa\nAXVNyaPyLiIiIiLyXzKzMlgZ/wOr4heQZcvEw9WTXu0e5cHG3bBanUzLpfIuIiIiIvI7+05sZf6a\nL7mUdB6AVg9E0rf9SMp7VTA5mcq7iIiIiAgAidcusiDma3Ye3QhAYKX7GBQxmuCgRiYn+w+VdxER\nEREp02y2LNbsWMzSTd+TkZmGq4s7PVo/QkSz3jg5OVZddqw0IiIiIiLF6PDpPURFT+X8lVMANLu/\nHf3DnsDXu7LJyXKn8i4iIiIiZU5ySiILY6cTfyAGgCo+gQyKHM0DNUJMTpa/4tlN/g7eeecdWrZs\niY+PD35+fvTt25e9e/feMmbUqFFYrdZb/rRr186kxCIiIiJSEtntNtbuXMLbM8cSfyAGFydXerYZ\nyquPfuTwxR0c5M57TEwMzz77LC1btsRut/Pmm2/SuXNn9u3bh6+vLwAWi4UuXbowa9asnNe5urqa\nFVlERERESpgT5w8xb/XnnL54DIAGNVswKOJpKvsEmJys4ByivC9btuyWf8+aNQsfHLine truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAu8AAAE6CAYAAACmmLxQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd0VEUfxvHvpgOJIQIJLZRg6J0gUgy9CQSRooBIsKAg\nShEU5YWAFKUooghiAUKVIhYEKdIRkGboiEhHiIChBVL3vn9EFtbQSXJ3k+dzTg67c+/u/WUI+uxk\n7ozFMAwDERERERFxeC5mFyAiIiIiIndH4V1ERERExEkovIuIiIiIOAmFdxERERERJ6HwLiIiIiLi\nJBTeRURERESchMK7iEgW5eLiQtGiRc0uQ0RE7oHCu4hIGnJxcbmnr8jISFPrtVgspl7/fl3rv5s5\ncuQIJUqUwMXFhZ49e3JtO5M6derc9u+iVatWGfktiIjcFzezCxARyUwiIiJSBeIpU6Zw9OhRwsPD\nKVKkiN2xSpUqZWB1mcvNPnjs2LGDpk2bEh0dzXvvvcdbb72V6pyb/T0AlCxZMj3KFBFJUwrvIiJp\nKCIiIlXbypUrbeE9NDTUhKqyhlWrVvHkk08SFxfH1KlT6dSp003P09+DiDgzTZsRETHJtWkchw8f\nZty4cZQtW5Zs2bLZpm9cvHiR0aNHU69ePQoWLIinpyf+/v6EhYWxcePGW77v77//zgsvvEDRokXx\n8vLC39+fmjVrMnbs2Luqa968eXh5eREcHMyff/55y/Pi4uLw8/Mjd+7cJCYm3vScvn374uLiwrRp\n02xt69atIywsjMDAQLy8vAgICKBq1ar07dv3ruq7mblz59KkSRMMw2DhwoW3DO4iIs5O4V1ExGSv\nvfYaQ4YMoXLlyvTq1YuqVasCsHfvXv73v//h5uZGixYteOONN2jYsCGrVq0iNDSUn376KdV7LVq0\niEqVKjF16lRKly7NG2+8Qbt27XBzc2P48OF3rGXs2LE8/fTTVKxYkY0bN1KsWLFbnuvl5cUzzzzD\nP//8w48//pjqeHJyMjNnzsTb25s2bdoAsGTJEurUqcP69eupX78+ffv2pU2bNuTMmZNPPvkEq9V6\nt91m88knn9C+fXv8/PxYtWoVjRo1uu351+bAi4g4I02bEREx2Y4dO4iKiqJQoUJ27aVLl+bUqVM8\n/PDDdu0nT57k0UcfpU+fPjRt2tTWfvbsWTp06EBycjIrVqygTp06qV53K1arlT59+vDxxx/TokUL\n5syZg5eX1x1r79KlC5MmTSIyMjLVDZ9Lly4lOjqa8PBwsmfPDsAXX3yBYRisXr2a8uXL250fExNz\ny5tQb+Xtt99m5MiRFCtWjKVLlxIUFHTH10ydOpVVq1bZtVksFvr374+np+c9XV9EJKMpvIuImOzN\nN99MFdwBHnrooZueX6BAAVq3bs348eM5ceIEBQsWBCAyMpJLly7x6quvpgru1153M/Hx8XTs2JEF\nCxbwyiuv8Omnn971KjSPPvoopUqV4qeffuLs2bPkzp3bdmzq1KlAyhzz/7rZBwM/P7+7uuY1hmEw\ncuRI3N3d+emnn+4quAM3XeHHYrHQu3dvhXcRcXiaNiMiYrJHH330lsd++eUX2rVrZ5sffm1Zw/Hj\nxwP2o+mbNm0CsBuNv5MrV65Qv359FixYwIgRI5gwYcI9Lx/ZuXNnEhMTmTlzpq0tJiaGH374gaCg\nILubQ5999lkAqlWrxssvv8zs2bM5cuTIPV3vRk2aNCExMZEOHToQExNzV69ZvXo1VqvV7is5OfmW\nH5ZERByJwruIiMny5s170/Zvv/3WNre9atWqvPbaawwaNIjBgwdTu3ZtIGXU/Jrz588Dtx5hv5lL\nly6xfft2fHx8aNy48X3V36lTJ1xdXe1GtOfMmUNCQgLPPfec3bmtWrVi0aJFhISEEBkZSceOHQkK\nCqJ8+fIsWLDgnq5rsVj44YcfePLJJ9m6dSt16tThzJkz9/U9iIg4C4V3ERGT3Wqke+DAgXh5ebF1\n61YWLFjA6NGjGTx4MIMGDaJ48eKpzs+ZMycAJ06cuOtrBwQEsGjRIqxWK/Xq1ePXX3+95/rz5ctH\no0aNiIqKYteuXUDKlBkXFxc6d+6c6vymTZuyfPlyLly4wJo1a+jfvz9Hjx6lbdu2rF279p6u7ebm\nxrx58+jQoQO7du0iNDT0tnP7RUScncK7iIiDOnjwIKVLl6ZEiRJ27VarlfXr16c6v3r16gA3XYXm\ndurWrcvSpUsxDIOGDRuybt26e6712rz2qVOn8vvvv7N582ZCQ0MpXLjwLV/j6enJ448/zogRIxgz\nZgyGYfDdd9/d87VdXV2ZPn06L774Ir///juhoaEPNBVHRMSRKbyLiJjodvPLixYtyoEDBzh16pSt\nzTAMBg8ezL59+1K9tnPnzjz00EN8/vnnrF69OtX73W5EvkaNGvz88894eHjQtGlTfv7553v6Plq2\nbImfnx8zZ87kq6++Am5+o+qaNWtITk5O1X7te8yRI8c9Xfcai8XC559/Ts+ePTl8+DCPP/44Bw4c\nuK/3EhFxZFptRkTERLdbc7x379688sorVKpUiaeeegp3d3d++eUX9u3bR4sWLVi4cKHd+bly5WLW\nrFm0adOGBg0a0LhxY8qXL8/ly5fZvXs3O3fu5Ny5c7e8XkhICKtWraJhw4a0aNGC+fPn06xZs7v6\nPjw8PGjfvj0TJkxg3Lhxdmu736hnz56cOHGCWrVqUbhwYby8vNi5cyfLli0jd+7cdO3a9a6udytj\nx44le/bsvPfee9SuXZvly5dTtmzZB3pPERFHYvrI+6effkqFChXw9fXF19eXGjVqsHjxYrtzBg8e\nTIECBciePTt169Zl7969JlUrInLvLBbLTUfYb9V+TdeuXZkyZQr58uVj2rRpzJ49m8KFC7N582Yq\nV65809c+8cQTbN++nU6dOrFz504+/PBD5s6dS1JSEhEREXestVy5cqxZs4ZcuXLRunXre7qJtEuX\nLgAkJSXRpk0b29ruNxowYACNGzdm3759TJkyhYkTJ3Ls2DF69+7Nb7/9RmBg4F1f71aGDx/O8OHD\niY6Opm7dumzfvh24c3+LiDgDi2HyVnM//PADnp6eBAcHY7VamTp1KqNGjWLLli1UqFCBkSNHMnz4\ncCIjIylevDjvvvsu69ev5/fff8fb29vM0kVEREREMpTp4f1mcuXKxfvvv8+LL75I/vz5ef3113n7\n7bcBiIuLw9/fnzFjxjzwr1dFRERERJyJ6dNmbpScnMzXX39NXFwcoaGhHD58mOjoaBo1amQ7x8vL\ni9DQUDZs2GBipSIiIiIiGc8hbljdtWsX1atXJz4+nmzZsjF37lxKlChhC+gBAQF25/v7+/PXX3+Z\nUaqIiIiIiGkcIryXLFmSnTt3cuHCBebNm8czzzzDqlWrbvuam910dOHChfQqUUREREQk3fn6+t72\nuENMm3F3dycoKIhKlSoxYsQIHnvsMT799FPy5csHQHR0tN350dHRt9xOXEREREQks3KI8P5fycnJ\nWK1WihYtSt68eVm2bJntWFxcHOvXr6dGjRomVigiIiIikvFMnzbTv39/mjdvTsGCBbl06RKzZs1i\nzZo1LFmyBIBevXoxYsQISpYsSXBwMMOGDcPHx4cOHTrc9n3v9CsHuXtbt24FUjZwkbSjfk0f6tf0\no75NH+rX9KF+TR/q1/RxL1O/TQ/v0dHRPPvss5w+fRpfX18qVKjAkiVLaNiwIQBvvvkmV69e5dVX\nXyUmJobHHnuMZcuW3fcW2iIiIiIizsr08D5lypQ7nhMREXFXOwOKiIiIiGRmDjnnXUREREREUlN4\nFxERERFxEgrvIiIiIiJOQuFdRERERMRJKLyLiIiIiDgJhXcRERERESeh8C4iIiIi4iQU3kVERERE\n0oHVaqVhw4YcO3Yszd5T4V1EREREJB24uLhQq1Yt3nvvvTR7T9N3WBURERERySw2bNjAd999x6hR\nowB46623sFqtafb+GnkXEREREUkjZcqUYcaMGezatQsALy8vsmfPnmbvr/AuIiIiIvIABg4cyN69\newHw9fVl06ZNlC1bNl2upfAuIiIiIvIA/P396dmzp+15oUKFsFgs6XIthXcRERERkXtw6tQphg4d\nanverVs3xo0blyHXVngXEREREbkHfn5+REZGsmTJEgDc3NwoXbp0hlxbq82IiIiIiNzB4sWLyZMn\nD1WrVsXLy4tvvvmGwMDADK9DI+8iIiIiIncQExPDyy+/THJyMgAVKlTg4YcfzvA6NPIuIiIiIvIf\nCQkJzJw5k/DwcCwWCx06dMDT09PssjTyLiIiIiLyXy4uLnz88cd8/fXXAFgsFtq0aYOrq6u5dZl6\ndRERERERB3H8+HG2bt0KpNyE+uWXX1KoUCGTq7Kn8C4iIiIiAuzatYv27dsTFxcHQJUqVahZs6bJ\nVdnTnHcRERERybI2bdpE1apVcXV15YknnmDfvn3Exsbi5eVldmk3pZF3EREREcmSDMPg7bffZuLE\niba2N954g1y5cplY1e05RHh/7733qFq1Kr6+vvj7+xMWFsaePXvszgkPD8fFxcXuq0aNGiZVLCIi\nIiLOKDk5mQMHDgApN6GOHz+ehIQEk6u6ew4R3tesWUOPHj3YuHEjK1euxM3NjQYNGhATE2M7x2Kx\n0LBhQ06fPm37Wrx4sYlVi4iIiIiziYqKom7duly4cAGAMmXK0KdPH5OrunsOMef92tay10yfPh1f\nX182bNhAs2bNgJRfa3h4eODv729GiSIiIiLipM6dO0eOHDnw8vKiSpUqPP/88xw+fJiKFSuaXdo9\nc4iR9/+6ePEiVqsVPz8/W5vFYmH9+vUEBARQokQJunbtypkzZ0ysUkREREScQZ8+fLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8267d30>"
"<matplotlib.figure.Figure at 0x8098748>"
]
},
"metadata": {},
@@ -569,7 +571,9 @@
"# extract the x coordinates\n",
"import numpy as np\n",
"\n",
"dt = 0.1\n",
"# initialize filter\n",
"cvfilter= make_cv_filter(dt)\n",
"initialize_filter(cvfilter)\n",
"\n",
"xs = pos[:, 0]\n",
@@ -595,16 +599,16 @@
},
{
"cell_type": "code",
"execution_count": 8,
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8bd3978>"
"<matplotlib.figure.Figure at 0x850d278>"
]
},
"metadata": {},
@@ -640,16 +644,16 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8bf8240>"
"<matplotlib.figure.Figure at 0x808df28>"
]
},
"metadata": {},
@@ -682,16 +686,16 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvIAAAE6CAYAAAB0yLYIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdcltX/x/HXdYPIFCeS4E5cuff4OtNS09JypjkqS83d\n0izNHFmmZdO01DIztdRy+0tzW25z4QYVJQeiOFj3+f1Bgneg4oAb9P18PHwE55zruj73hcHbw7nP\nZRljDCIiIiIikqnYnF2AiIiIiIjcPgV5EREREZFMSEFeRERERCQTUpAXEREREcmEFORFRERERDIh\nBXkRERERkUxIQV5E5AH34osvkjNnTi5evOjsUh54oaGhZM2alXfeecfZpYhIJqAgLyKZjs1mw2a7\n+bevevXqYbPZWLVqVTpVlfbmz59Pq1atCAgIwN3dnVy5clG9enVGjhxJZGTkHZ3z77//ZsqUKQwc\nOBAfH597XLHzLV26lD59+lCxYkVy5cqFu7s7Dz/8MD169ODo0aM3PC4iIoL+/ftTqFAh3N3dCQgI\n4Pnnn+fEiRO3XcOVK1cYNmwYxYsXx8PDg7x589K2bVv27duXbGyBAgV44YUXGDduHGFhYbd9LRF5\nsFh6IJSIZDY2mw3LsoiPj7/hmHr16rFmzRpWrlxJnTp10rG6e+/ChQu0a9eOJUuWkC1bNpo2bUrh\nwoW5ePEiy5cvJzg4GD8/P3755Rdq1qx5W+du2bIly5cv5+TJk/ddkL969Sqenp64ublRu3Ztypcv\nj2VZrF27lj///BNvb2+WL19OtWrVHI47e/YstWrVYv/+/TRs2JAqVaqwd+9e5s+fj5+fHxs2bKBw\n4cKpqiE6OppHH32UdevWUaVKFRo0aEBoaCizZ8/Gzc2NFStWULVqVYdjQkJCKFKkCD169OCzzz67\nZ/dDRO5DRkQkk7Esy9hstpuOqVu3rrEsy6xatSqdqkob8fHxpnHjxsayLNOoUSNz5syZZGM+/vhj\nY7PZTLZs2cy+fftSfe7Q0FDj4uJi2rdvfy9LzjBiY2PNyJEjzblz55L1vffee8ayLFO2bNlkfd27\ndzeWZZlXX33VoX3ChAnGsizz+OOPp7qGUaNGGcuyTJs2bRza58+fbyzLMqVLlzZ2uz3ZcXXr1jXZ\nsmUzUVFRqb6WiDx4FORFJNO5myBvWZapV69eiscMHTr0huF/+vTppkKFCsbDw8P4+fmZTp06mRMn\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7b7d940>"
"<matplotlib.figure.Figure at 0x830ca58>"
]
},
"metadata": {},
@@ -725,40 +729,41 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 23,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"cafilter = KalmanFilter(dim_x=3, dim_z=1)\n",
"cafilter.x = array([0., 0., 0.])\n",
"cafilter.P *= 3\n",
"cafilter.R *= 1\n",
"cafilter.F = array([[1, dt, 0.5*dt*dt],\n",
" [0, 1, dt], \n",
" [0, 0, 1]], dtype=float)\n",
"cafilter.H = array([[1, 0, 0]], dtype=float)\n",
"def make_ca_filter(dt):\n",
" cafilter = KalmanFilter(dim_x=3, dim_z=1)\n",
" cafilter.x = array([0., 0., 0.])\n",
" cafilter.P *= 3\n",
" cafilter.R *= 1\n",
" cafilter.Q = Q_discrete_white_noise(dim=3, dt=dt, var=0.02)\n",
" cafilter.F = array([[1, dt, 0.5*dt*dt],\n",
" [0, 1, dt], \n",
" [0, 0, 1]], dtype=float)\n",
" cafilter.H = array([[1, 0, 0]], dtype=float)\n",
" return cafilter\n",
"\n",
"def initialize_const_accel(f):\n",
" f.x = array([0., 0., 0.])\n",
" f.P = np.eye(3) * 3\n",
"\n",
"cafilter.Q = Q_discrete_white_noise(dim=3, dt=dt, var=0.02)"
" f.P = np.eye(3) * 3"
]
},
{
"cell_type": "code",
"execution_count": 12,
"execution_count": 25,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvIAAAE6CAYAAAB0yLYIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Wd4VNX+9vHvnvQeWgiEXkNHiIj0oKCCIKigYKGoKIKC\nepQHG0UEUUSOFUQPoB7kgB6KUgzSQ6REegs99NADpJf1vOAkf2MmIQGSSeD+XNdchr3XmvnNmu3k\nzpo1e1vGGIOIiIiIiBQrNkcXICIiIiIi+acgLyIiIiJSDCnIi4iIiIgUQwryIiIiIiLFkIK8iIiI\niEgxpCAvIiIiIlIMKciLiEi+jRw5EpvNxqpVqxxdSqE6fPgwNpuNfv36OboUh8tpLPr27YvNZuPI\nkSMOqkzk9qEgL1KEREVFMWTIEBo2bIi/vz9ubm6UK1eOTp06MWXKFOLj4x1dYo4ygt2MGTMcVsP0\n6dOx2WyMGjXqhu5n/vz52Gw2bDYbs2fPvknVFS/Xej0ty8q8FRUrV67EZrMRGhpqd39YWBg+Pj64\nubnx448/3tBjFaXnfbNlBPTcbgsWLMgcA3tj8fdtGa+N/gASubmcHV2AiFz13nvvMXLkSIwxNG/e\nnL59++Lj48OZM2dYvXo1AwcOZMKECezbt8/RpeaqKAScG61hypQpmT9//fXX9OzZ80ZLKrZyGsvB\ngwfTq1cvKlasWMgVXZu9mn/44Qf69++Pp6cnixcvpn379g6orHjx9/dn6NChdvcFBwcTFBTEnj17\n8PPzy7Y/p2tNFoX3B5FbiYK8SBEwduxYRowYQcWKFZk9ezZ33XVXtjYrVqzg7bffdkB1+VMULhZ9\nIzVER0cTFhZGy5YtSU9PZ8WKFRw4cIDq1avfxAqLj5zGslSpUpQqVaqQq7k+EyZM4I033iAwMJBF\nixbRuHFjR5dULPj7+/Puu+/m2qZWrVr5us+i8P4gcksxIuJQhw4dMi4uLsbNzc1s374917ZJSUnZ\ntv3888+mXbt2xtfX17i7u5s6deqYd99911y5ciVb27Zt2xrLsszhw4fN5MmTTf369Y27u7spW7as\nGTBggImNjc3WZ+vWraZXr16mSpUqxt3d3ZQuXdo0bNjQvPjii5ntM+7X3i06OtoYY8zx48fNqFGj\nTIsWLUzZsmWNq6urKV++vOnVq5fZuXOn3XGxLMu0a9fOnD171jz33HMmMDDQuLm5mXr16plp06Zl\nad+nT58ca1i1alWu4/pXb7/9trEsy3z77bdm6tSpxrIsM2zYsBzbx8fHmw8//NCEhIQYb29v4+Xl\nZWrXrm1efPFFc+TIketum5CQYD766CPTpEkT4+XlZby8vExISIiZPHlyrmN1/Phx069fPxMYGGic\nnJzMvHnzjDHGREZGmpdfftk0bNjQlCxZ0ri7u5uaNWuaV155xZw/fz7L/eXl9RwxYkSOY7tixQrT\nqVMnU7JkSePm5maqVatmhg4das6cOZOtbcbrtnLlSjNnzhxz5513Gk9PT1OyZEnz+OOPm+PHj+c4\n9vYe17IsExoaaowxJj093bzyyivGsixTu3Ztc/jw4Wx9rve47NevX47PY+bMmaZJkybG09PTlC9f\n3vzjH/8wycnJxhhjFi9ebFq1amV8fHxMiRIlzNNPP51t/I0xZvny5ea5554zderUMb6+vsbDw8PU\nq1fPjBgxwiQkJGRrn/F6TJ8+3Sxfvty0bdvW+Pj4GF9fX9O5c2eze/fuPI9jxnOsWrVqntr17dvX\n7lj8/Vixd5s+fXq2592lSxdTunRp4+rqaipXrmxefPFFc+rUqWyPn3GcHjx40EyaNMnUq1fPuLu7\nm27duuX5uYoUd5qRF3GwadOmkZqayuOPP079+vVzbevq6prl3++++y5jxoyhVKlS9O7dG39/f8LC\nwnjvvfdYsGABa9aswdvbO9v9vP7664SFhdG1a1fuv/9+li9fztSpU9m/fz/Lli3LbLdt2zbuuusu\nnJycePDBB6levTpXrlzh4MGDzJgxg9deew1fX1/69euHZVmsWrWKbt26ZZnxzPjYffXq1YwfP572\n7dvTpEkTvL292bt3Lz///DMLFiwgPDzc7kzpxYsXadmyJW5ubvTs2ZOkpCRmz55N//79sdlsPP30\n0wB0796d2NhY5s+fT7t27WjXrl3mfVSuXPnaLwSQmprKv/71L7y8vOjZsyfGGIYOHcr06dMZM2YM\nzs5Z3zIvXLhA+/bt2bp1K7Vr1+aZZ57B3d2dAwcOMHPmTO67777MpSf5aXv58mXuvfdeNm7cSJMm\nTejfvz8AS5YsYeDAgaxbt45p06Zlq//cuXO0aNECf39/HnvsMdLT0zNnzadOncq8efNo164dHTt2\nJD09ncjISCZNmsTixYvZuHFj5rGSl9czJ9988w0DBgzAy8uLHj16UK5cOdauXcs///lP5s6dy9q1\n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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvIAAAE6CAYAAAB0yLYIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4FFXfxvHvbCrptBAIJaD0ItKbNAWRjgUFpYiKAlL1\ngQdBA4g0ERELIiogior60BQwCEgVBQWUFpAWaaEKBNJz3j/yZsOSBBIg2QTuz3XlMjlzZva3Z8dw\n5+zZGcsYYxARERERkTzF5uwCREREREQk6xTkRURERETyIAV5EREREZE8SEFeRERERCQPUpAXERER\nEcmDFORFRERERPIgBXkREcmyUaNGYbPZWLNmjbNLyVGHDh3CZrPx9NNPO7sUp8toLHr27InNZiMi\nIsJJlYncORTkRXKR8PBwBg4cSLVq1QgICMDDw4OiRYvSunVrZsyYweXLl51dYoZSgt2cOXOcVsPs\n2bOx2WyMHj36po6zaNEibDYbNpuN+fPn36Lq8pbrvZ6WZdm/couff/4Zm81Gs2bN0t0eFhaGr68v\nHh4efPnllzf1WLnped9qKQH9Wl+LFy+2j0F6Y3F1W8proz+ARG4tV2cXICLJXn/9dUaNGoUxhnr1\n6tGzZ098fX05deoUa9eupU+fPkyePJl9+/Y5u9Rryg0B52ZrmDFjhv37jz76iM6dO99sSXlWRmP5\n4osv0qVLF0qUKJHDFV1fejV//vnn9OrVCy8vL5YtW0bz5s2dUFneEhAQwKBBg9LdVqFCBYKDg9mz\nZw/+/v5ptmd0r8nc8PtB5HaiIC+SC4wbN47Q0FBKlCjB/PnzqVu3bpo+q1evZuTIkU6oLmtyw82i\nb6aGw4cPExYWRsOGDUlKSmL16tXs37+fu+666xZWmHdkNJYFCxakYMGCOVzNjZk8eTJDhw4lKCiI\npUuXUr16dWeXlCcEBATw2muvXbNPuXLlsnTM3PD7QeS2YkTEqQ4ePGjc3NyMh4eH+euvv67ZNzY2\nNk3bd999Z5o2bWr8/PyMp6enqVixonnttddMVFRUmr5NmjQxlmWZQ4cOmQ8//NBUqVLFeHp6miJF\nipjevXub8+fPp9ln+/btpkuXLiYkJMR4enqaQoUKmWrVqpm+ffva+6ccN72vw4cPG2OMOXr0qBk9\nerRp0KCBKVKkiHF3dzfFihUzXbp0MTt37kx3XCzLMk2bNjWnT582zz33nAkKCjIeHh6mcuXKZtas\nWQ79e/TokWENa9asuea4XmnkyJHGsizzySefmJkzZxrLssywYcMy7H/58mUzadIkU6tWLePj42O8\nvb1N+fLlTd++fU1ERMQN942OjjZvvvmmqVGjhvH29jbe3t6mVq1a5sMPP7zmWB09etQ8/fTTJigo\nyLi4uJiFCxcaY4zZsmWLGTBggKlWrZopUKCA8fT0NGXLljWDBw82Z8+edTheZl7P0NDQDMd29erV\npnXr1qZAgQLGw8PDlClTxgwaNMicOnUqTd+U1+3nn38233zzjaldu7bx8vIyBQoUME888YQ5evRo\nhmOf3uNalmWaNWtmjDEmKSnJDB482FiWZcqXL28OHTqUZp8bPS+ffvrpDJ/HvHnzTI0aNYyXl5cp\nVqyYefnll01cXJwxxphly5aZRo0aGV9fX5M/f37TvXv3NONvjDGrVq0yzz33nKlYsaLx8/Mz+fLl\nM5UrVzahoaEmOjo6Tf+U12P27Nlm1apVpkmTJsbX19f4+fmZNm3amN27d2d6HFOeY+nSpTPVr2fP\nnumOxdXnSnpfs2fPTvO827VrZwoVKmTc3d1NqVKlTN++fc2JEyfSPH7KeXrgwAEzdepUU7lyZePp\n6Wk6duyY6ecqktdpRl7EyWbNmkVCQgJPPPEEVapUuWZfd3d3h59fe+01xo4dS8GCBenatSsBAQGE\nhYXx+uuvs3jxYtatW4ePj0+a4/znP/8hLCyM9u3b06pVK1atWsXMmTP5+++/Wblypb3fn3/+Sd26\ndXFxcaFt27bcddddREVFceDAAebMmcNLL72En58fTz/9NJZlsWbNGjp27Ogw45nytvvatWuZOHEi\nzZs3p0aNGvj4+LB3716+++47Fi9ezPr169OdKf33339p2LAhHh4edO7cmdjYWObPn0+vXr2w2Wx0\n794dgE6dOnH+/HkWLVpE06ZNadq0qf0YpUqVuv4LASQkJPDpp5/i7e1N586dMcYwaNAgZs+ezdix\nY3F1dfyVee7cOZo3b8727dspX748zzzzDJ6enuzfv5958+bx4IMP2peeZKXvxYsXeeCBB9i8eTM1\natSgV69eACxfvpw+ffqwadMmZs2alab+M2fO0KBBAwICAnj88cdJSkqyz5rPnDmThQsX0rRpU1q2\nbElSUhJbtmxh6tSpLFu2jM2bN9vPlcy8nhn5+OOP6d27N97e3jz22GMULVqUDRs28M4777BgwQI2\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7b63a58>"
"<matplotlib.figure.Figure at 0x8447c88>"
]
},
"metadata": {},
@@ -766,6 +771,7 @@
}
],
"source": [
"cafilter = make_ca_filter(dt)\n",
"initialize_const_accel(cafilter)\n",
"\n",
"kxs2, _, _, _ = cafilter.batch_filter(z_xs2)\n",
@@ -816,9 +822,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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\nzClQf7169VKzZs300ksv2TlMADcZwRoAUGB79+7Va6+95jG0dujQQUlJSRo4cGAhjOyqvMZoh+3b\nt2vDhg164YUXPO6PiYnRpUuXtHv3bp09e1Zz584tUL8jRozQsmXLFBcXZ+dwAdxEBGsAgNcsy8qx\nzeFwqGTJkvLxuTX+r8XTGO0wc+ZMhYSE6Le//a3H/e3bt9eoUaMkSWPHjlWbNm0K1G/fvn0VEBCg\n9957z7axXg/LspSQkKBt27YpLi5O33//vbZt26aEhIQbdm2Bou7W+K8fABQhCxYskI+PjzZt2qS3\n335bderUUalSpdSgQQN98MEHOdqnpKRo8uTJatKkiUqXLq3g4GD17NlTe/fudbU5duyYfHx8FB0d\n7XZsZGSkfHx8NGPGDLftrVu3VuPGjfMda0HO7ZScnKzo6Gg1aNBAgYGBCg4O1t13363Ro0dLkqKj\no/XYY49JkiIiIuTj4yMfHx8NHTpUkucaa+e1io2N1RtvvKFatWopICBArVu31rZt21zHtW3bVmXK\nlFG1atX0xhtvuI3r8uXLevnll9W6dWuFhISoVKlSqlevnsaOHaukpCS3tvmN0dtrkl16erqWL1+u\nzp07y9fX12ObBg0auL1u2LBhvv1KUmBgoNq1a6elS5cWqP2NZFmWduzYoT/84Q9q27atli9frk8/\n/VRt27bVww8/rJ07dxKuAQ/8CnsAAFBUjRs3TsnJyYqKilLJkiU1a9YsDRkyRHXr1tX9998vSUpL\nS1O3bt20fft2DR48WM8995wuXryomJgYtWnTRlu3blXLli111113KTQ0VLGxsa5wnZqaqm+++cYV\nTEeOHClJSkxM1O7duzVs2LA8x1fQczs9/fTTmj9/vh599FHdf//9Sk9P1w8//KBNmzZJkh566CH9\n+uuvev/99zV+/Hg1atRIklSnTh2383qqsR4zZowyMzM1cuRIpaSkaNq0aerWrZvmzp2rqKgoDRs2\nTIMGDdKnn36qV199VbVr19aAAQMkSSdOnNDcuXPVr18/DRw4UH5+ftq8ebOmTp2qPXv2aM2aNa7z\n5DdGb69Jdrt27dKVK1cUHh6e57W/Vvfee6/Wrl2rgwcP5gjodlq5/QftOHBCf/pdS9W4o5zbPmeo\n7tatmxISEnIcu3btWn377bdas2aNWrduXeg19cAtxQIAeGX+/PmWw+GwwsLCrLS0NLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7b0b320>"
"<matplotlib.figure.Figure at 0x6f3e630>"
]
},
"metadata": {},
@@ -839,16 +845,16 @@
},
{
"cell_type": "code",
"execution_count": 14,
"execution_count": 39,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nExNp0aIF7u7u9OvXD4PBgIeHBzNnzmTcuHF4enrSrVs3fHx8OHjwIEuXLmXdunX8/fff+Pn5AXDu\n3DkaN27MtWvX6NKlC3369CE9PZ3Y2Fh++OEHBgwYoLkuQO5r2a5du+jQoQMZGRn07t2boKAgDh48\nSLt27Yxf1k3J65ppqm7YsGHUrl2bdu3aUb58eS5dusT69esZNGgQR48eZdq0afk+Z3JNEXlSQh0/\nflzZ2dmpqlWrqrNnz2rqtm7dqqytrVXDhg2NZevWrVM6nU6NHj06174MBoO6cuWKZnudTqcGDx5s\n8thbtmxROp1OTZkyRVPetm1bpdPpVFBQkLpw4YKxPCYmRtna2ipHR0fl7e2tTpw4YaxLTk5W5cqV\nU3Z2dpptlFIqOjraZKyDBg1SOp1O/f333yaPHxsbazLuxx57TFlZWalVq1Zpyq9evaoaNGig9Hq9\nOnjwoLHcw8NDVahQQaWkpOTaV2Jioslj3KlLly5Kp9OpAwcO5Kpr3LixsrKyUjExMUoppf777z+l\n0+lUr169TO6roMfMeX48PT3VyZMnjeU5z7WVlZXy8PBQu3fvNtalp6er2rVrK51Op/79919jeWZm\npqpWrZpycHBQ27dv1xzn3LlzqmLFisrR0VHz2iUnJ5uMNT4+Xvn6+qoaNWpoynv37q10Op3muc9x\n+fJlk3+bqdf41KlTJs/bnG2cnZ1NHuNuz4uc81+n06m5c+dqthk6dKjS6XTKzc1NjRo1SlM3ffp0\nk+/Bd999V+l0OjVixAhlMBiM5QaDwbi/hQsXarbJOX63bt1UWlqasfzChQvK3d1dubu7q4yMDGN5\nfu/pwjjXhXjQ5FxTdDqdGjRokMrKyjLWbdu2Tel0OtWiRQuVnJys2W7FihVKp9OpPn36GMs++OAD\npdPp1IIFC3IdJz09XV2/ft342NRnrMFgUNWrV1d6vV798MMPmu0XL16sdDqd0uv1atu2bbniN/e+\nN3c9NfXZm56erh577DFlbW2t4uPjNXVt27ZVer1eUybXFJEXGVoDLF26lPT0dObNm0f58uU1dTk9\nofv37+fIkSOaOnt7+1z70ul0uLm5GR+r+xxHO2HCBMqVK2d87O/vT+vWrUlNTWXYsGGaoSSurq50\n796d9PR0jh49qtnPncNicmIdOXIkAL///nuBYzp06BCbN2+mZ8+e9OvXT1Pn4uLC5MmTUUppevl1\nOh22tra5ekIBPDw8CnTcsLAwIPunyttFRkayb98+2rRpg7+/v6bO1Gt0N8fMMXLkSAIDA42PXV1d\nCQ0NxWAw0KNHD5o0aWKss7GxoW/fvgDGYVYA69ev5/jx4wwbNozWrVtr9u/j48P//vc/UlNTNUNQ\ncobq3MnPz48+ffpw7Ngx4uPjc9Wb+rvLlClzF39x3oYOHUrdunU1ZfdyXuQIDAxk9OjRmrJnn30W\nyB4qM336dE3dM888A8DBgweNZQaDgQULFuDt7c38+fM1vWM6nY6ZM2ei0+n48ssvcx1fp9PxwQcf\nYGdnZywrV64coaGhJCcnExUVZSzP7z1dGOe6EA8qOzs75syZo/llcMGCBQB89NFHuLq6ato/88wz\nPPLII6xdu5YbN25o6kxd52xsbHBycsozhl27dhEVFUWLFi3o1auXpu7ll1+matWqhXYPjKnPXhsb\nG4YNG0ZWVpbJIZV3kmuKyIsMrQF27twJwLZt29i3b1+u+pzxeUeOHKFmzZq0a9cOPz8/Zs6cyb59\n++jatSstW7akQYMGJt9o9+POITiQnfSZq/P19QXIldwlJiYye/Zs1q9fT3R0NCkpKZr6M2fOFDim\nnOcrOTmZyZMn56q/ePEigOaLz4ABA1i4cCE1a9bkySefpFWrVrRo0eKuLkI9e/bE3d2dlStXMmfO\nHKyts0/fnLHJOYk+QK1atXjkkUdYtWoVMTEx9OjRg5YtW9KoUSOzyX1e7vZ1yPlCePvrkPO8xcbG\nmnzejh8/DpDrC+POnTtZsGABf/31FxcvXjQOY8lx5swZKlSoAGR/6P344480bdqUvn370q5dO5o3\nb07lypUL+JcWzO1fXG6PE+7uvMiRM2ztdjnPb869BLcz9fxGRUWRmJhIlSpVeOedd0zGbW9vbxx3\nfzs3NzfNF7UcOT/Pm7vfwZTCONeFeFBVrlw51wwyO3fuxNramtWrV5u8l+bmzZtkZWVx7NgxGjRo\nQI8ePXjrrbd45ZVX2LBhAx07dqR58+bUrVu3QLNJ7d+/H8Dk8EqdTkfLli05ceLEPf6FWnFxccyc\nOZNNmzZx+vRpUlNTNfVnz57Ndx9yTRF5kUSe7CQX4P333zfbRqfTGXsDXFxc2L17N1OmTGHdunX8\n8ccfQPYY8iFDhvDuu+/mSjzu1e29+zlyEti86m6/qe/KlSs0btyYmJgYmjZtSlhYGLine truncated
"image/png": "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\nfv06TZs2xcnJiV69eqHT6XB2dmbatGmMHj0aFxcX2rdvT7ly5Th06BDz589n3bp17N69Gw8PDwAu\nXbpEgwYNSEhIoG3btnTr1o3U1FSio6P58ccf6dOnj9F1AbJfy3bt2sXzzz9PWloaXbt2xdfXl0OH\nDtGyZUvDl3VTcrtmmiobPHgwtWrVomXLlpQvX55r166xfv16+vfvz4kTJ5g8efJ9nzO5pohcKaFO\nnjyprK2tVZUqVdTFixeNyrZu3aosLS1V/fr1DevWrVunNBqNGjlyZLZ96XQ6dfPmTaPtNRqNeuWV\nV0wee8uWLUqj0agJEyYYrX/22WeVRqNRvr6+6sqVK4b1UVFRysrKStnZ2Sk3Nzd16tQpQ1l8fLwq\nW7assra2NtpGKaXOnDljMtb+/fsrjUajdu/ebfL40dHRJuNu1aqVsrCwUCtWrDBaf+vWLVWvXj2l\n1WrVoUOHDOudnZ1VhQoV1J07d7Lt6/r16yaP8V9t27ZVGo1GHThwIFtZgwYNlIWFhYqKilJKKXX4\n8GGl0WhUly5dTO4rr8fMfH5cXFzU6dOnDeszn2sLCwvl7Oys9uzZYyhLTU1VtWrVUhqNRh08eNCw\nPj09XVWtWlXZ2tqq7du3Gx3n0qVLqmLFisrOzs7otYuPjzcZa0xMjHJ3d1d+fn5G67t27ao0Go3R\nc5/pxo0bJv82U6/x2bNnTZ63mduULFnS5DEe9LzIPP81Go2aNWuW0TaDBg1SGo1GOTo6qhEjRhiV\nTZkyxeR78OOPP1YajUYNGzZM6XQ6w3qdTmfY35w5c4y2yTx++/btVXJysmH9lStXlJOTk3JyclJp\naWmG9fd7T+fHuS7E4ybzmqLRaFT//v1VRkaGoWzbtm1Ko9Gopk2bqvj4eKPtlixZojQajerWrZth\n3RdffKE0Go36/PPPsx0nNTVVJSYmGpZNfcbqdDpVrVo1pdVq1Y8//mi0/bx585RGo1FarVZt27Yt\nW/w5ve9zup6a+uxNTU1VrVq1UpaWliomJsao7Nlnn1VardZonVxTRG6kaw0wf/58UlNTmT17NuXL\nlzcqy2wJ3b9/P8ePHzcqs7GxybYvjUaDo6OjYVk9Yj/asWPHUrZsWcOyp6cnzZs3JykpicGDBxt1\nJSlVqhQdOnQgNTWVEydOGO3nv91iMmMdPnw4AH/88UeeYzpy5AibN2+mc+fO9OrVy6jMwcGBkJAQ\nlFJGrfwajQYrK6tsLaEAzs7OeTpucHAwoP+p8l7Hjh1j3759tGjRAk9PT6MyU6/Rgxwz0/Dhw/Hx\n8TEslypViqCgIHQ6HZ06daJhw4aGshIlStCzZ08AQzcrgPXr13Py5EkGDx5M8+bNjfZfrlw53nvv\nPZKSkoy6oGR21fkvDw8PunXrRkREBDExMdnKTf3dpUuXfoC/OHeDBg3iqaeeMlr3MOdFJh8fH0aO\nHGm07uWXXwb0XWWmTJliVNa3b18ADh06ZFin0+n4/PPPcXNz47PPPjNqHdNoNEybNg2NRsPSpUuz\nHV+j0fDFF19gbW1tWFe2bFmCgoKIj48nMjLSsP5+7+n8ONeFeFxZW1szc+ZMo18GP//8cwAWLFhA\nqVKljOr37duXunXrsnbtWm7fvm1UZuo6V6JECezt7XONYdeuXURGRtK0aVO6dOliVPbmm29SpUqV\nfBsDY+qzt0SJEgwePJiMjAyTXSr/S64pIjfStQbYuXMnANu2bWPfvn3ZyjP75x0/fpzq1avTsmVL\nPDw8mDZtGvv27aNdu3Y0a9aMevXqmXyjPYr/dsEBfdKXU5m7uztAtuTu+vXrzJgxg/Xr13PmzBnu\n3LljVH7hwoU8x5T5fMXHxxMSEpKt/OrVqwBGX3z69OnDnDlzqF69Oj169OCZZ56hadOmD3QR6ty5\nM05OTixbtoyZM2diaak/fTP7Jmcm+gA1a9akbt26rFixgqioKDp16kSzZs3w9/fPMbnPzYO+Dplf\nCO99HTKft+joaJPP28mTJwGyfWHcuXMnn3/+OX///TdXr141dGPJdOHCBSpUqADoP/R++uknGjVq\nRM+ePWnZsiVNmjTBy8srj39p3tz7xeXeOOHBzotMmd3W7pX5/GaOJbiXqec3MjKS69evU7lyZSZO\nnGgybhsbG0O/+3s5OjoafVHLlPnzfE7jHUzJj3NdiMeVl5dXthlkdu7ciaWlJatXrzY5liYlJYWM\njAwiIiKoV68enTp14sMPP2To0KH89ttvtG7dmiZNmvDUU0/laTap/fv3A5jsXqnRaGjWrBmnTp16\nyL/Q2Llz55g2bRqbNm3i/PnzJCUlGZVfvHjxvvuQa4rIjSTy6JNcgE8//TTHOhqNxtAa4ODgwJ49\ne5gwYQLr1q3jzz//BPR9yAcMGMDHH3+cLfF4WPe27mfKTGBzK7t3UN/Nmzdp0KABULine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8e0dbe0>"
"<matplotlib.figure.Figure at 0x84650f0>"
]
},
"metadata": {},
@@ -856,36 +862,30 @@
}
],
"source": [
"pos2, zs2 = generate_data(120, noise_factor=0.2)\n",
"xs2 = pos2[:, 0]\n",
"z_xs2 = zs2[:, 0]\n",
"from adaptive_internal import plot_track_and_residuals\n",
"\n",
"# reinitialize filter\n",
"initialize_filter(cvfilter)\n",
"cvfilter.Q = Q_discrete_white_noise(dim=2, dt=dt, var=0.02)\n",
"xs = []\n",
"res = []\n",
"for z in z_xs2:\n",
" cvfilter.predict()\n",
" cvfilter.update([z])\n",
" xs.append(cvfilter.x[0])\n",
" res.append(cvfilter.y[0])\n",
"xs = np.asarray(xs)\n",
"plt.subplot(121)\n",
"bp.plot_measurements(t, z_xs2, label='z')\n",
"bp.plot_filter(t, xs)\n",
"plt.legend(loc=2)\n",
"plt.xlabel('time (sec)')\n",
"plt.ylabel('X')\n",
"plt.title('estimates vs measurements')\n",
"plt.subplot(122)\n",
"# plot twice so it has the same color as the plot to the left!\n",
"plt.plot(t, res)\n",
"plt.plot(t, res)\n",
"plt.xlabel('time (sec)')\n",
"plt.ylabel('residual')\n",
"plt.title('residuals')\n",
"plt.show()"
"def show_residual_chart():\n",
" dt = 0.1\n",
" # initialize filter\n",
" cvfilter= make_cv_filter(dt)\n",
" initialize_filter(cvfilter)\n",
" pos2, zs2 = generate_data(120, noise_factor=0.2)\n",
" xs2 = pos2[:, 0]\n",
" z_xs2 = zs2[:, 0]\n",
"\n",
" cvfilter.Q = Q_discrete_white_noise(dim=2, dt=dt, var=0.02)\n",
" xs = []\n",
" res = []\n",
" for z in z_xs2:\n",
" cvfilter.predict()\n",
" cvfilter.update([z])\n",
" xs.append(cvfilter.x[0])\n",
" res.append(cvfilter.y[0])\n",
" \n",
" xs = np.asarray(xs)\n",
" plot_track_and_residuals(t, xs, z_xs2, res)\n",
" \n",
"show_residual_chart()"
]
},
{
@@ -960,9 +960,9 @@
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvoAAAE6CAYAAABnH/b8AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4VNXdB/DvnclM9h0mOyFAgBAWScKOyA5ByuICL4iK\n0tpapAL2pa9aDfZFFMtLAal2sSzS4o4ibo3sS1gCJLKGLSEhhAwhZN8zc98/aC7cWQKBzNzJzPfz\nPD5PzrnnzvzmgOSXk989RxBFUQQRERERETkVldIBEBERERFR62OiT0RERETkhJjoExERERE5ISb6\nREREREROiIk+EREREZETYqJPREREROSEmOgTEbUhKpUKI0aMkPUtXrwYKpUKe/bsUSiqtmH48OFQ\nqfhtj4hcB//FIyJqhkqluuN/9k6wBUGw6/u1FU2JfF5ensXrgiBw7ojIpbgpHQARkaMTBAEpKSlW\nr0dHR9stlqysLHh5ednt/dqa5hL5Dz/8EDU1NXaMhohIWUz0iYjuwuuvv650CACArl27Kh2CQxNF\nEdYOfI+KirJzNEREymLpDhFRK1q/fj1UKhXeeOMN7N+/H6NGjYK/vz/8/f0xYcIEZGRkmN1TUVGB\nJUuWoFevXggICICvry86deqERx99FLt375aNtVSj35xdu3bh4YcfRnBwMDw8PNC5c2csWLAA169f\nNxs7e/ZsqFQq7N69G59//jn69+8Pb29vBAcHY8aMGSgoKLir93z77behUqmwYsUKi9dv3LgBd3d3\ndO7c+Z7mwJLbS6hiYmKksqqYmBhpjKUa/V27dkGlUuGZZ57BxYsX8dhjjyE4OBh+fn4YP348Tp8+\nDQAoLCzEs88+i9DQUHh6eqJ///5W4zIajfjggw8wZMgQ+Pv7w9PTE7169cLbb7+NhoaGO34WIqLW\nwkSfiMgGDh06hFGjRsHb2xvz5s3DuHHjkJqaiqFDh+LAgQPSOFEUMX78eLz++uvw8fHBnDlz8MIL\nL2DIkCE4duwYtm/fbvbad1tn/sEHH2DkyJHYs2cPJk+ejJdeeglRUVFYtWoVkpKScOXKFYv3vffe\ne3jyySfRqVMnvPDCC+jZsyc++eQTjB49GvX19Xd836eeegoqlQobNmyweP2jjz5CQ0MDnn766Xue\nA1MpKSlSCdX8+fOxePFiLF68GAsWLJCNszZ3ly5dwsCBA1FaWoo5c+bgwQcfRGpqKoYPH46srCz0\n798fp06dwhNPPIHJkyfj6NGjGD9+PC5fvix7ncbGRkyZMgXPPfccbty4gSeeeALPP/88NBoNXnnl\nFUyYMAEGg+GOn4eIqFWIRERklSAIoiAI4uLFi8WUlBSz/xYvXiwbv27dOume9957T3btiy++EAVB\nELt37y71HT9+XBQEQZw6darF9y8uLjaLZ8SIEbK+lJQUURAEcffu3VJfXl6eqNVqRV9fX/H06dOy\n8a+99pooCII4ceJEWf/TTz8tCoIg+vv7iydPnpRdmzlzpigIgvjpp59ajNNUcnKyKAiCmJGRYXat\nX79+olqtFi9duiSKYsvnwJqHHnpIFARBzM3NtXpdpVLJ+nbu3Cn9ea1YsUJ27bnnnpPmY/78+bJr\nS5cuFQVBEBcsWCDr/9///V9REARx3rx5otFolPqNRqP0eu++++5dfR4iovvFRJ+IqBlNSaC1/0wT\nx6ZEv2vXrhZfb/DgwaIgCOL+/ftFUbyV5M6YMeOu47mbRH/JkiWiIAji7373O7PXqK2tFcPDw0VB\nEMSCggKpvynRf+2118zuaUqI//u///uu4vzkk09EQRDEF198UdZ/6tQps8/Q0jmw5n4S/c6dO5uN\n37t3rygIgujr6ytWV1fLruXl5YmCIIgjR46U+gwGg9iuXTsxNDRUNBgMZq9XUlIiqlQqccCAAffy\n8YiIWowP4xIR3YEgCC0ut3jwwQct9g8bNgwHDhxAZmYmBg8ejPj4eDzwwAP4+OOPcenSJUyePBlD\nhgxBUlISPDw87jnmY8eOAQBGjhxpds3d3R1Dhw7FZ599hoyMDISFhcmuJyUlmd0TGRkJACgpKbmr\n958yZQoCAgKwadMmLF++HG5uN7/dNJXzzJ49WxprqzloiT59+pj1hYaGAgBiY2Ph6ekpu9Y0Z/n5\n+VLfuXPnUFxcjM6dO+MPf/iDxffx8PCQ6v6JiGyNiT4RkQ2EhIQ0219WVgbg5kOkO3bswJIlS/DF\nF1/g5ZdfBgB4eXlh+vTpeOeddxAcHNzi9296/aZk1VRToto07nYBAQFmfU2J+t3+wKPVajFjxgy8\n//77+O677zBp0iQYDAb885//hI+PDx577DFprK3moCX8/f3N+po+c3PXbn+4tri4GABw8eJFq4k+\nwHMQiMh++DAuEZEN6PX6ZvtvTx4DAgKwfPly5OTkIDs7G+vXr0dSUhLWrVuHadOm3dP7N73+1atX\nLV5v6reUxLaWplX79evXAwB+/PFHXL16FY899pjZWQC2mAN7a5rLSZMmwWg0Wv2PD+MSkb0w0Sci\nsoG9e/da3M+9aUvGvn37WryvY8eOeOqpp7B9+3ZERkZi165dqKioaPH7JyYmAgB27txpdq2urg77\n9++HIAhISEho8WvfrX79+qFHjx747rvvUFxcbLFsx5J7nQO1Wg3g7n/r0Nri4uIQEBCAQ4cOcRtN\nInIITPSJiGzg/PnzeP/992V9X3zxBQ4ePIju3btj0KBBAG5u65idnW12f3l5OaqqqqDRaKQykZaY\nNWsWtFot3nvvPZw9e1Z27a233kJBQQEmTJhgtbSntcyePRv19fX4y1/+gq+++gqdOnXCsGHDZGNa\naw6ayntyc3NbJ/gWUqvVePHFF6HX6zF37lyLp/Bev34dP/30kwLREZErYo0+EdEdiKKIN954w+qJ\nq8nJyRgwYICsb9y4cVi4cCG+//579OrVC+fPn8fmzZvh5eWFf/zjH9K4zMxMPPLII0hKSkJcXBzC\nw8NRUlKCb775BiUlJfjtb39r9iDo3ejQoQNWr16N559/HklJSZg2bRpCQkKQlpaGPXv2ICoqyuwH\nEVt48skn8fLLL+MPf/gDGhoa8NRTT5mNaa05GDt2LD7//HP84he/wCOPPAJfX18EBgZi7ty50hhr\nf4at5fe//z1OnDiBDz74AN9++y1GjhyJyMhIFBUV4eLFi9i/fz9eeOEFq4eJERG1KqW2+9m9e7f4\ns5/9TIyIiBAFQRDXr18vu15WViY+//zzYmRkpOjp6Sl269ZN/NOf/iQbU1tbK77wwgtiu3btRG9v\nb3HSpElifn6+PT8GETm5pi00m9tec9WqVdL4pu0133jjDXH//v3iyJEjRV9fX9HPz09MTk4Wjx07\nJnv9/Px88dVXXxWHDBkihoWFie7u7mJERIQ4evRo8fPPP7cYj+n2mosXLxZVKpVse80mO3bsEJOT\nk8WgoCBRq9WKnTp1El988UXx2rVrZmNnz55t9XVycnJEQRDEZ5555q7nrsnEiRNFQRBke+ffrqVz\nYI3RaBRff/11sUuXLqJWqxUFQRBjYmKk68OHD7e6vaalz9X0mU3nu4np69/uo48+EseOHSsGBweL\nWq1WDA8PFwcNGiQuXrxYvHDhwl1/JiKi+yGIoo2XN6z4/vvvsX//fvTt2xdPPfUU3n//fdlKz7PP\nPovdu3dj7dq1iImJwe7du/GLX/wCH3zwAWbNmgUAeP755/H111/jww8/RFBQEBYuXIjS0lIcPXrU\n7JhzIiJ7WL9+PZ599lksXrwYr7/+utLhEBGRC1MsG05OTsaSJUvw6KOPWkzK09PT8dRTT+Ghhx5C\nhw4d8OSTT2LgwIE4fPgwgJtbwq1duxbLly/HqFGj0LdvX2zcuBHHjx/Htm3b7P1xiIiIiIgcisMu\neycnJ+Prr7+WDiNJS0tDZmYmxo8fDwA4evQoGhoaMHbsWOmeyMhIxMXFIS0tTZGYiYiIiIgchcM+\njLts2TI89dRT6NChg7Tbwpo1azBhwgQAQGFhIdRqtdkhKiEhIVb3ryYisjVBEHggEhEROQSHTfR/\n+9vf4tChQ9i6dSuio6Oxe/duvPTSS4iOjsa4ceNa9FqWTn4kIrKFKVOmYMqUKQD4bw8REbWeezng\n0CET/aqqKqxatQpffvklHn74YQBAz549kZmZieXLl2PcuHEIDQ2FwWBAcXGxbFW/sLDQbI9mIiIi\nIiJX45A1+qIoQhRFs4d0VSqVtAdyYmIiNBoNUlNTpev5+fnIysrC4MGD7RovEREREZGjUWxFv6qq\nCufPnwcAGI1G5ObmIjMzE8HBwYiKisKoUaPwP//zP/Dx8UGHDh2we/dubNy4EX/84x8B3Pz1xZw5\nc7Bo0SLodDppe80+ffpg9OjRVt/3Xn7tQZYdOXIEAJCUlKRwJM6Hc2sbnFfb4LzaBufVNjivtsF5\ntY37LQFVbEU/PT0dCQkJSEhIQG1tLVJSUpCQkICUlBQAwL/+9S8MGDAAs2bNQnx8PN555x0sWbJE\ndsLhypUrMXXqVEyfPh1Dhw6Fn58ftm7dygfhiIiIiMjlKbaiP3z4cBiNRqvX27dvjw8++KDZ19Bq\ntVi9ejVWr17d2uEREREREbVpDlmjT0RERERE94eJPhERERGRE2KiT0RERETkhJjoExERERE5ISb6\nREREREROiIk+EREREZETYqJPREREROSEmOgTERERETkhJvpERERERE6IiT4RERERkRNiok9ERERE\n5ISY6BMREREROSEm+kREREREToiJPhERERGRE2KiT0RERETkhJjoExERERE5IcUS/T179mDSpEmI\njIyESqXChg0bzMacO3cOjzzyCAIDA+Ht7Y3ExERkZWVJ1+vq6jBv3jy0b98ePj4+mLine truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8c5ccf8>"
"<matplotlib.figure.Figure at 0x81dc828>"
]
},
"metadata": {},
@@ -1014,9 +1014,9 @@
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuoAAAE6CAYAAABAsXcUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd0VGX+x/H3pJBGCDUJIZQACSGUUEKHKCJIUQQLIEUQ\nXFZFERsKuIKIQVgWcRVdf6gQgVhQRCliQJohoITeUoBQA6GFhED63N8frFmzzLi0zKR8Xud4zuTe\n7zPz5QlHPrl57nNNhmEYiIiIiIhIieJg7wZEREREROR6CuoiIiIiIiWQgrqIiIiISAmkoC4iIiIi\nUgIpqIuIiIiIlEAK6iIiIiIiJZCCuohIObFhwwYcHBx48803ixy/++67cXDQPwciIiWN/s8sIlLO\nmEymGzpWWm3cuBFHR0ccHByYMGGCvdsREbllTvZuQEREbKNdu3bEx8dTvXp1e7dSbNLT03n88cfx\n8PAgMzOzTP0AIiLlj66oi4iUE25ubgQFBVG1alV7t1Jsnn32Wa5evcrEiRPt3YqIyG1TUBcRsYEd\nO3YwaNAg/Pz8cHFxwc/Pj8cff5zDhw8XqRsxYgQODg5s3LiR+fPn06JFC9zd3fH19eUvf/kLZ8+e\nve69jxw5wl//+lcCAwNxd3enatWqhISEMGrUKE6cOFFYZ22NujWGYfDJJ5/Qvn17PD098fDwoFWr\nVsyePZv8/Pzr6uvVq4eDgwMFBQVEREQQGBiIq6srderU4bXXXiMvL+8mZ+3mLFmyhMWLF/PBBx/g\n6+tbrJ8lImILWvoiIlLMFi9ezIgRI3B1daVv377Url2bpKQkvvjiC5YvX86GDRsIDQ0tMmb27Nms\nXbuWQYMG0adPHzZu3Minn37K+vXr+e233wqvip8+fZo2bdpw+fJlevXqxcMPP0xubi7Hjh1j6dKl\nDBkyhNq1axd57xtdDjJ8+HAWLVqEv78/o0aNwtnZmR9++IGXX36Z6OhoVq5ciaOj43XjHnvsMWJi\nYujduzeVKlVi5cqVzJw5k7Nnz/LZZ5/d4iz+uZSUFJ566ikeffRRBg4cyIIFC4rlc0REbElBXUSk\nGB06dIhRo0ZRr149Nm3aRM2aNQvPbdy4kXvvvZdRo0YRFxdXZNxPP/3Er7/+WiTAjx07lg8++ICJ\nEyfyr3/9C4BvvvmGtLQ05syZw9ixY4u8R15eHrm5ubfU91dffcWiRYsIDQ3ll19+oWLFigBERETQ\nq1cvoqOjmTNnDi+99NJ1Y5OTkzlw4ACVK1cGYNq0aYSGhvL5558zffp0fHx8CmsXLFjA0aNHb7iv\nKlWq8Pzzzxc5ZhgGI0aMwMXFhY8++ugW/rQiIiWTgrqISDH66KOPyM3N5d133y0S0gHuuusuHnjg\nAZYtW0Z8fDzBwcGF54YNG3bdVfY333yTzz77jMWLFzN37twiV7NdXV2v+2xnZ2ecnZ1vqe9PPvkE\ngOnTpxeG9N/f89133yU0NJR58+ZZDOozZswoDOkA7u7uDBkyhKlTp7J9+3Z69+5deC4yMpKNGzfe\ncF/16tW7Lqi///77rF27lu+//75Mr78XkfJHQV1EpBht3rwZuHb1/L+vmgOkpqYCcPDgwSJB/a67\n7rqutkqVKjRr1oxff/2VhIQEQkJCePDBB5k0aRLPPvssq1evpkePHnTo0IHmzZvf1o4nO3bswGQy\n0bVr1+vONWvWjBo1apCUlMTVq1dxd3cvPGcymQgLC7tujL+/PwBpaWlFjq9fv/6We4Rr8/bqq68y\nYsQIHnjggdt6LxGRkkZBXUSkGF24cAGAf/zjH1ZrTCYTmZmZRY79cXmIpePp6ekA1KlTh23btvHm\nm2+yevVqli1bVlj33HPP8dprr93Sw4zS09Px8vLCxcXF4vmaNWty/vx50tPTiwR1gEqVKl1X7+R0\n7Z+bgoKCm+7lzwwdOhRvb2/mzJlj8bxhGHf080REbElBXUSkGHl5eWEymbhw4UKR5SD/y+9X2q0d\n9/LyKjzWqFEjoqKiMJvN7N27l3Xr1jF37lxef/11CgoK+Nvf/nZLfV+6dImcnByLYf306dPX9XEr\nbneN+s6dOwGszu2MGTOYMWMGDz74IN99991t9SoiYmsK6iIixahjx47s2LGDTZs20bdv3xset2HD\nBoYOHVrkWFpaGnv37sXDw4NGjRpdN8bBwYHQ0FBCQ0O5//77adSoEcuWLbuloN66dWvWrl3L+vXr\n6dmzZ5Fz+/bt49y5czRq1Oi6q+k363bXqI8aNcriEp/ExEQ2bdpEaGgobdq0oWXLlrfVp4iIPSio\ni4gUo2effZb/+7//46WXXqJRo0bXBez8/Hx++eWX69aCL1y4kGeffZYWLVoUHnvjjTe4evUqo0eP\nLryRdMeOHdSvX/+6K8q/X/G+1SA9atQo1q5dy8SJE+nSpQseHh7AtZ1kXnzxRQCefPLJW3rvP7rd\nNerz5s2zeDwyMpJNmzbRq1cvIiIibuszRETsRUFdRKQYBQUFsWDBAp544gmaNm1Kz549CQwMpKCg\ngBMnTrB582by8vK4ePFikXG9evWiU6dODBw4EB8fHzZt2sSWLVto0KBBkeD5+eef8/HHH9OpUyca\nNGhAtWrVOHbsGN9//z1OTk6MHz/+hvr877XcAwcOZPny5URFRRESEkK/fv1wdnZm+fLlJCUlce+9\n9/LCCy/c/gQVE61NF5GyQEFdRKSYDRo0iNDQUGbPns3PP//MmjVrcHd3p2bNmtx///08/PDD1415\n8cUXefDBB3nvvfdITEykUqVKjBo1ioiIiCJbEA4ePJi8vDxiY2PZtWsXV65coVatWjz44IO88MIL\nFndg+W8mk8ni8pGFCxcSHh7Op59+yqefforZbKZRo0b8/e9/5/nnn7/uJtU/22XG2mcUF1t/nohI\ncTAZuuwgIlJijBgxgs8//5wNGzYQHh5u73ZERMSObn7PLhERERERKXYK6iIiIiIiJZCCuohICaK1\n1SIi8rsysUb99yf0iYiIiIiURpYeIGfXK+r5+flMnDiR+vXr4+bmRv369fnb3/523SOmp0yZQq1a\ntXB3d6dr164cOHDATh2LiIiIiNiGXYN6REQEH3/8Me+//z4JCQm89957fPjhh0yfPr2wZsaMGcye\nPZsPPviAbdu24e3tTffu3cnMzLRj5yIiIiIixcuuS18eeOABqlevzvz58wuPDR8+nIsXL7J8+XIM\nw8DPz4+xY8cyYcIEALKzs/H29mbWrFmMHj0aKLr0xdKvDeTOi4uLA7ihPZrl9mm+bU9zbluab9vT\nnNuW5tv27DHnhmGQm5eNg4MrUdEwczEcPGq9Pm1VRuHrErf0pVevXqxbt46EhAQADhw4wPr16+nT\npw8AycnJpKam0qNHj8Ixrq6uhIeHExsba5eeRURERET+6Gp2Jpt2r+Ltha8y4u2NBA6AJ962HtJr\n++zioa4T/+f72vXJpM888wwnT56kcePGODk5kZ+fz+uvv85TTz0FwJkzZwDw8fEpMs7b25uUlBSL\n7/n7T09iG5pv29J8257m3LY037anObctzbftFeecF5jz2Xcylh3Ju9iVdC+7EieQlVPZan2boBPU\nrf0+tWokE1r7fz/Uzq5B/Z///Cfz58/nyy+/pEmTJuzcuZPnn3+eevXqMXLkyD8dq+3LRERERMRe\n0q+eZ/mOH9m8rzN7D40mN8/DYp2jg0GPVhd5/N4z1PfNYtdxbwJ97qOiq/VA/zu7BvW3336b119/\nnQEDBgDQpEkTjh07xvTp0xk5ciS+vr4ApKam4u/vXzguNTW18Nx/09ov29BaO9vSfNue5ty2NN+2\npzm3Lc237RXnnB8/YzB/cT7zvu9KfkEFizUuFQye6GPilcEmAvyqA9UBaNOmTWHN/9pi3K5r1A3D\nwMGhaAsODg78fn9rQEAAvr6+REdHF57Pzs4mJiaGjh072rRXERERESl/DMPgbNopABKOGYyMMGg4\nAD5a6mQxpDs7ZdGq0VKi5xzkw5dNBPjd+ioQu15R79evH++88w4BAQGEhISwc+dO3n33XYYPHw5c\nW94ybtw4IiIiCA4OJjAwkGnTpuHp6cngwYPt2bqIiIiIlFE5edkkntjD/uQ49h/dzqETlcnOns4P\nMc5Y2y/RtUIGoYEraBa4itreXlT2rH3bfdg1qL/77rtUqlSJMWPGkJqaSs2aNRk9ejRvvPFGYc34\n8ePJyspizJgxpKWl0b59e6Kjo/HwsLwOSERERETkVkWteZ+4hE3kF+Rx+nwjth14huNnWlmtr1mt\ngEZ1F9Go3o80b9CE7m0m0sAv5I7cT2nXoO7h4cGsWbOYNWvWn9ZNnjyZyZMn26grERERESmvHB2c\nOHY6iG0HHuXk2VCrdQ394dWhMPQ+R7Yn+uHu8jyhDTvc0Q1P7BrURURERERKAsMwWLcdZi0ezPaE\nSlbrQhvCa8Pgka7g6HgtlHds2sNq/e1QUBcRERGRcuXy1Wu7rXi6e2EYBtG/wVvzIXYvgOWQXrP6\nQaaMcuPJB+rZbJtwBXURERERKRfMhpmt+3/mh5hIguu2oobXC7w1H347YH2Mv/ce2oZ8Tcfm+YS3\nGGzTZ/koqIuIiIhImXf6wnG+WvcRh0/Fc+RUW+Yv78u5S9br69Xcw6Du++kXXpPGdcfj6e5lu2b/\nTUFdRERERMq0n377mpVblpB0vC3bDr7LxfS6Vmt7d4BXh+XRsWkTHB2t30xqCwrqIiIiIlJm5ecb\nbNzZkMU/zibtsr/Vur6d4fURENbYBFh+2qitKaiLiIiISJmTl29i1baqPDYTDp9qabWuof+vfDap\nCZ2be9qwuxujoC4iIiIipd7V7Ey27F9DUO32rNjsy7TPmnD6oouVajOBtTfTp/NWxLine truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8ffcac8>"
"<matplotlib.figure.Figure at 0x838c438>"
]
},
"metadata": {},
@@ -1102,9 +1102,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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\ncPDgQZw9exZubm6lnrs81wgAuHDhAvr27Yvnz5+jW7dueOutt5CXl4ebN29i+fLleteJovX9+PHj\nwXEcTp06hcGDB+vUm3Xq1MGUKVPw5ZdfYvPmzQZb1zdv3gxA/aC+RlRUFLKzs/Haa6/pbZ+YmIgO\nHTogMzMTQUFBePvtt5Gfn4+4uDj88ssvGDVqFBo2bIghQ4YgPT0dBw4cQPfu3dG9e3ftMTSft1wu\nR8+ePXHhwgW0bt0a7733HtLS0hAWFoaTJ0+W+jkbG8dxEIvFkMvlOr8fjVdffRUcxyEyMhKhoaHV\nHh8pQuhvEsR0aFqiOY5jw4cP11l3//59VqdOHSaVSllcXBxjjLHdu3czjuNYmzZtWGZmpnbb/Px8\n1rNnT8ZxHFu1apW2fObMmYzjOIOt4FlZWUwul2uXNS3yL7eccBzHvL29i30PHMexgIAAnbLJkycz\njuPYxIkTdcrj4+OZq6sr43menT9/3uDnMGnSJKZSqbTrbty4wcRiMWvRooXOsR48eMA4jmM9e/bU\niyktLY1xHMc6dOjAlEql3vpnz56V+T3GxsYyCwsL5uDgwGJjY7XlKpWKDR06lHEcZ7BVLCQkpFyv\n/fv3Gzy/offm7OzMxGIxu3XrlsFtli9fzjiOY1u2bCnTMQkhxrdixQrGcRxbs2aN3rpPP/1Up749\ndeoU4ziOdenSRedOKWOM7dixg3Ecx95++22dckMt8uW9Rsjlcubl5cV4nmc7duzQizMpKYkpFArt\nsqenp15dGRISUmKr+8CBAxnHcezq1as65bm5uczBwYHVr1+f5efna8tDQ0MZx3EG41m3bh3jOI59\n9dVXeuvy8/NZVlaWdllzTVu0aJHBuJYuXco4jmNDhgzRKY+Li2P16tUz2CJ/+fLlctftRe+4lGTX\nrl3a/wPFadasGZNIJCw3N7dMxyRVgxJ5oqVJYC0sLAz+sc+bN49xHMeWLl3KGGOsV69ejOM4dvTo\nUb1tr169yjiOY02bNtWWaRL533//vdRYjJXI5+fnMysrK2ZjY8NSUlL0tl+/fj3jOI795z//0ZZp\nPgcbGxudi49Gt27dGM/zLDs7W1t2/PhxxnEcGzt2rN726enpjOM41rVr1xLfc1neY1hYGOM4js2f\nP19vXWxsLBOJRAYTeU2CX9zt3aIvnufLdAtXqVSyIUOGMI7j2PTp04vdbufOnYzjODZv3rxSj0kI\nqRoJCQlMLBazNm3a6JQrFArm6urKbG1ttXXaW2+9xTiOY9euXTN4rLZt2zKxWKxTPxpK5Mt7jfjp\np58Yx3FswIABZXpPFUnkNV1Cpk2bplMeHh7OOI5jn376qU75mDFjGMdx7MSJE3rH0lw/Nm/eXGqs\npSXyjRs3ZiKRiN25c0dv3eLFiw0m8tu3by9TnV60bi/alac4d+/e1Xan+ueff4rdTvP7NRQzqT40\nag3R4+HhYfDhlW7dugFQP8EPAJcuXQLHcQbHbW/VqhXq16+Pu3fvIicnBwAwfPhwiEQiDB48WPsQ\n5K1bt6rwnahHscnNzUWrVq1Qt25dvfW9evUCAIPDaPn6+sLGxkavvGHDhmCMITU1VVuWnJwMAAbP\nYWdnh4EDByIqKgqtW7dGaGgojh07hqysrHK/n0uXLgEA3njjDb11Xl5eaNiwocH9VCoVlEolVCpV\nqS+lUonvv/++xDgYY5g6dSr279+PgIAArF69uthtHR0dAQBPnz4t69skhBiZq6srevfujStXrug8\nvBgZGYknT57gnXfegZWVFQDgf//7H8RiMX7++WeEhobqveRyOZRKJe7cuVPiOct7jTh79iwAICgo\nyFhvW0/fvn3h4+ODnTt3as8LqLvV8DyP//znPzrbl1S3Dxo0CDY2Nvjggw/w1ltv4ZtvvsGVK1fK\n/UBrZmYm7t+/DxcXF/j6+uqt11x7XzZ27Ngy1elF6/bijqURHx+PPn364Pnz59i4cSM6duxY7LZU\nt5sGSuSJHmdn5xLL09PTtf/a29tDKpUa3N7V1VVn+w4dOuDMmTPo3bs39u3bh4kTJ6JFixbw8fHR\n9k00Ns25XVxcDK7XlKelpemtq1OnjsF9NH3BlUqltkzTT7O4CvzHH3/EokWLUFBQgMWLFyMwMBCO\njo545513EBcXV8Z3U/h+SvsdVSXGGCZPnoxvv/0WvXr1wuHDh4vtHw9AOzGWuY3kQ0hNo5lQqOgY\n65qfx40bpy1LSUmBQqHAokWLsHjxYr3XzZs3wXEcsrOzSzxfea8Rmnq4LH3vK2Py5MnIyMjArl27\nAADXrl3D33//jR49eqBRo0Y625ZUt3t4eOD8+fN45513cPLkSUydOhVt27ZFgwYNsGzZsjJPCmgK\n9ToAPHz4EN27d0dcXBy+/vprvP/++yVuT3W7aaCHXYmepKSkEss1D1Ta29sjLS0NcLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8e71e10>"
"<matplotlib.figure.Figure at 0x81c26d8>"
]
},
"metadata": {},
@@ -1204,9 +1204,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8267e10>"
"<matplotlib.figure.Figure at 0x83e7588>"
]
},
"metadata": {},
@@ -1233,9 +1233,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8f3f048>"
"<matplotlib.figure.Figure at 0x748c160>"
]
},
"metadata": {},
@@ -1262,9 +1262,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8bd3438>"
"<matplotlib.figure.Figure at 0x83ca550>"
]
},
"metadata": {},
@@ -1272,9 +1272,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "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\nGL766ivGjBlDw4YNGTFiBGlpaWzatIm+ffvSt29f0zEKPu+cnBzuuOMO9u/fT9u2bXn00UdJTU3l\njTfeYMeOHaV+zlXttttuQ9M0tm3bxuzZs20dTu2mhPhLdHS00jRNaZqmRo0aZbbu7Nmzqk6dOsrF\nxUXFxMQopZRav3690jRNtW/fXqWnp5u21ev16o477lCapqnFixebyp9//nmlaZratGmTxbkzMjJU\nTk6OaXn16tVK0zS1du1as+00TVMRERHFvgdN01S/fv3Myp544gmlaZqaNGmSWfmlS5dUcHCw0ul0\nat++fVY/h8mTJyuj0Whad/z4ceXo6Khatmxpdqzz588rTdPUHXfcYRFTamqq0jRNdenSReXl5Vms\nT0pKKvN7jI6OVk5OTqpu3boqOjraVG40GtXIkSOVpmlKp9NZ7Ddr1qxy/WzcuNHq+YseT9M0tXLl\nyhK3U0qphQsXKk3T1KpVq0rdVghRORYtWqQ0TVNLly61WPf3v//d7Hr7yy+/KE3TVI8ePVRaWprZ\ntp9++qnSNE3df//9ZuV9+vSxuPaU9x6Rk5OjwsPDlU6nU59++qlFnAkJCcpgMJiWw8LCLK6VBdem\nG+8dBe6++26laZo6fPiwWXlWVpaqW7eu8vf3V3q93lQ+e/ZspWma1XjeffddpWma+uc//2mxTq/X\nq4yMDNNywT1tzpw5VuOaP3++0jRNjRgxwqw8JiZG1atXT2mapiZMmGC27uDBg+W+tp8/f97q+QuE\nhYUpnU5ndj8uTvPmzZWzs7PKysoqdVtReSSRFyYFCayTk5PVP/YZM2YoTdPU/PnzlVJKDRgwQGma\nprZu3Wqx7eHDh5WmaapZs2amsoJE/vvvvy81lopK5PV6vXJ3d1eenp4qOTnZYvtly5YpTdPU448/\nbior+Bw8PT3Nbj4FevfurXQ6ncrMzDSVbd++XWmapsaNG2exfVpamtI0TfXs2bPE91yW9/jGG28o\nTdPUzJkzLdZFR0crBwcHq4l8QYJf8AWlpB+dTmdxw7hReRL5devWKU3T1IwZM0rdVghROWJjY5Wj\no6Nq3769WbnBYFDBwcHKy8vLdE277777lKZp6siRI1aP1aFDB+Xo6Gh2fbSWyJf3HvGf//xHaZqm\nhg0bVqb3dDOJ/NatW5WmaWrq1Klm5WvXrlWapqm///3vZuVjx45Vmqapn3/+2eJYBfePslwHS0vk\nGzdurBwcHNTp06ct1s2dO9dqIr9mzZoyXdOLXtt/+eWXEuMsTyJf8Pu1FrOoOtJGXlgIDQ01Pe4r\nqnfv3kB+D36AAwcOoGma1Tbpbdq0wd/fnz///JPr168D+W3qHBwcGD58OI8++iirV6/m5MmTlfhO\n8ts8ZmVl0aZNG3x9fS3WDxgwAMDqMFpNmjTB09PTorxhw4YopUhJSTGVJSYmAlg9h7e3N3fffTe7\nd++mbdu2zJ49mx9//JGMjIxyv58DBw4A0KdPH4t14eHhNGzY0Op+RqORvLw8jEZjqT95eXl8/PHH\n5Y6tOH5+fgBcuXKlwo4phCif4OBgBg4cyKFDhzh06JCpfNu2bcTHx/PAAw/g7u4OwP/+9z8cHR35\n73//y+zZsy1+cnJyyMvL4/Tp0yWes7z3iD179gAwZMiQinrbFgYPHkxkZCTr1q0znRfym9XodDoe\nf/xxs+1Lurbfc889eHp68vTTT3PffffxwQcfcOjQoXJ3aE1PT+fs2bMEBQXRpEkTi/UF994bjRs3\nrkzX9KLX9uKOdTPk2m4fJJEXForr0FhQnpaWZvrXx8en2E4yBUMUFmzfpUsXdu3axcCBA9mwYQOT\nJk2iZcuWREZGljge+a0oOHdQUJDV9QXlqampFuvq1KljdR9Hx/yuJXl5eaaygnaaxV3AP//8c+bM\nmUNubi5z585l0KBB+Pn58cADD5Sr13/B+yntd2RPCjpq1bSRfISobgo6zRcdY73g9fjx401lycnJ\nGAwG5syZw9y5cy1+Tpw4gaZpZGZmlni+8t4jCq7DZWl7fyueeOIJrl27xmeffQbAkSNH+L//+z/6\n9+9Po0aNzLYt6doeGhrKvn37eOCBB9ixYwdPPfUUHTp0oH79+ixYsKDMnVSr43Ud5NpuL6Szq7BQ\n3IgEBeUFHSp9fHxITU0lJyfH6oU6Li7ObHuAbt26sWnTJgwGAwcOHOCHH37gvffe48knn8Td3Z1H\nH320Qt9Lwbnj4+OtrrcW482oV68eQLGzmLq6uvLaa6/x2muvERcXx6+//kpUVBRfffUVx44d48iR\nI6YvCCUpiDMhIYE2bdpYrC/ud1fezkgdOnTg3nvvLdc+xSn4TG7sYCeEqFr33nsvdevWJSoqisWL\nF3Pt2jU2bdpEZGSkWU2tj48PBoPBagVHeZT3HlFQeXLp0qVbOm9pJk6cyOuvv87KlLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7b576d8>"
"<matplotlib.figure.Figure at 0x950f518>"
]
},
"metadata": {},
@@ -1304,9 +1304,9 @@
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvIAAAE6CAYAAAB0yLYIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdYU9cbB/DvvQlJIGwEBFSGgnsPnKhVcdS2iq0DW0Ct\ntBar1rYOHGhdVfm5rbW2VVpLrR3OOrDWatVarXvgRHBQEZFNGEnO7w+a6CVhyUgC7+d5eNq899x7\n3wS5eXNy7jkcY4yBEEIIIYQQYlJ4QydACCGEEEIIKT8q5AkhhBBCCDFBVMgTQgghhBBigqiQJ4QQ\nQgghxARRIU8IIYQQQogJokKeEEIIIYQQE0SFPKmwLVu2gOd5REVFlWs/nufRu3fvKsqqbPr16wcf\nHx+o1WqD5lGd/vjjD/A8j/nz5xs6lRcyYcIE2Nvb4+nTp4ZOhRCT1atXL/B89ZYAHh4e8PT0rJZz\nxcXFQSqVYsGCBdVyPmMREhICnudx7949Q6dSbllZWXB0dERQUJChUzEpVMiTCuM4TvvzPJ7nS71o\nF92nOu3btw+HDx9GREREsW9ou3btQkBAANzc3CCTyeDg4IDOnTtj0aJFSE9Pr+aMK5chX3sNpVKJ\n1atXY8yYMWjTpg0kEgl4nsfGjRuL3WfWrFnIycnBJ598Uo2ZElLzVPc1QN/7xLx5816oI6g0M2bM\ngJWVFaZMmaJ3e3p6OhYvXozOnTvD3t4eMpkM9erVQ0BAAHbu3FmpuVQ3Y7i2A0BsbCwiIiLw2muv\noUGDBuB5HjzPIz8/X297S0tLTJs2Dd999x3Onz9fzdmaLrGhEyCmb+jQoejSpQvq1q2rs62kC8r1\n69dhYWFRlamVaNasWWjQoAECAwN1tmVkZGDkyJE4cOAArK2tMWjQIHh6eiIzMxOHDh3CnDlzsHbt\nWvzyyy/o2rWrAbKvGbKysvDBBx+A4zg4OzvDxcUF9+/fL/HfTb169TB69Ghs2LAB06ZNg6urazVm\nTAh5Ub///nux2yqz+Lxw4QJ++uknhIeHw8rKSmf7iRMnEBAQgOTkZDRu3BiBgYGwtbVFXFwc9u3b\nh507d2LAgAH44Ycf9O5v7Ixlnc+DBw9iwYIFEIvF8Pb2hkwmQ15eXon7hIWFYcGCBZgzZw727t1b\nTZmaNuqRJxVmbW0NHx8fWFtbl2s/Hx8f1KtXr4qyKtnJkydx8eJFBAYG6ryBqNVqvPHGGzhw4AD6\n9u2LO3fuIDo6GosWLcKaNWsQGxuLlStXIjk5GQMHDsSNGzcM8hxqArlcjv379yMxMRGJiYkYM2ZM\nmfZ76623UFBQgK+++qqKMySEVBZPT89iv6WtzOLzs88+AwC9QzSuX7+OgQMHIiUlBStWrEBsbCzW\nrVuHhQsXIjo6Gnfu3EHfvn1x4MABDB8+3GiKYlM0aNAg/P3338jMzMTVq1fh5ORU6j4WFhYICAjA\ngQMHkJCQUA1Zmj4q5E1QfHy8dnz5w4cPMXr0aDg6OsLCwgIdO3bE9u3b9e7HGMOXX36Jzp07w8rK\nCnK5HO3atcOKFSugVCp12l+6dAmBgYHw9PSEubk5HB0d0bp1a4SFhSEjI0PbrugYec0Y7Odz1fw8\nX6gVN0Y+MzMTs2fPRpMmTWBubg47Ozv06dMHu3fvLvG1SElJQWhoKFxcXCCTydCiRQts2bJF72uh\nKQBHjhyps+3777/HoUOH4OXlhZ07d8LBwUGnzeTJk/Hhhx8iMzMTkydP1nsOffbs2YO+ffvC1dUV\nMpkMrq6u6N69O5YsWaLTVqFQYPny5ejYsSOsrKxgaWmJJk2aICwsDPfv39e2u3nzJmbMmIEOHTrA\n0dERMpkMHh4eGD9+vKBdWaSnp2Pu3Llo0aIF5HI5rK2t0aNHD/z000/lOk5ZmZmZoX///nB2di7X\nfr169YKzszMV8qTGOXXqFHiex6uvvlpsmw4dOkAkEukUOkeOHMGrr74KR0dHSKVSeHh4ICwsDElJ\nSWU+f3nfJwDg4cOHmDJlCnx8fGBhYQF7e3t06NABERERgn2KjpHv1auXdojcmDFjBO8VCQkJmDlz\nJniexzfffKP3vNevXwfP8+jRo4c2plAo8P3336NNmzbw8fHR2ef9999HVlYWPvroI73DbhwcHLBj\nxw54eHjg4MGD+OGHH8r0umVmZmLhwoVo2bIlbG1tYWVlBS8vLwwbNgxHjx7VaX/jxg2MGzcOnp6e\nkMlkcHJyQrdu3bBy5UpBu507d+LNN9+Ej48PLC0tYWlpifbt22P16tXlvrfr3LlzGDlyJFxdXSGV\nSuHq6oqgoCDcuXOnXMcpKx8fH3Ts2BFSqbRc+40cORJqtRqbN2+ukrxqHEZMzt27dxnHcax169bM\nw8ODtWvXjs2YMYOFhoYyW1tbxnEcW7lypc5+b731FuM4jtWvX59NnjyZffTRR8zHx4dxHMf69+/P\nlEqltu3FixeZTCZjcrmcjRgxgoWHh7NJkyaxwYMHM7lczu7cuaNtu3nzZsZxHIuKimKMMRYfH8/m\nzZvHOI5jtra2bP78+dqfXbt2affjOI717t1bkGNaWhpr0aIF4ziOtW/fns2YMYO98847zN7ennEc\nxz755BO9r0WbNm1Y48aNWatWrdikSZPYO++8w+zs7AR5Pa9+/frMxsZG7+vr5+fHOI5jGzZsKPH3\n8PTpUyaVShnP8yw+Pr7EtowxtnHjRsZxHHNxcWHjx49ns2bNYu+88w7r3r07c3d31zl2mzZtGMdx\nrEmTJmzy5Mls+vTp7PXXX2e2traC13HJkiXM1taWBQQEsMmTJ7OPP/6YDRw4kPE8z5ydndmDBw8E\nxz5y5AjjOI7Nnz9fEH/w4AHz9vZmHMexnj17sqlTp7LQ0FDm5ubGOI5j8+bNK/U5VlRERATjOI5t\n3Lix1LYBAQGM4zh248aNKs+LkOrUtGlTZmZmxh4/fqyz7cqVK3qvnZ9++injOI7VqVOHBQcHs+nT\np7MBAwYwjuNYvXr1dK4DPXv2ZDzP6xy/PO8TjDF25swZ5uDgoL1uTJ8+nU2ePJn5+/sziUTC0tPT\ntW3d3d2Zp6en9vGWLVtYr169GMdxbOjQoYL3irS0NJaQkMBEIhHr2rWr3tdpypQpjOM49t1332lj\nv/32G+M4jr3//vs67ePi4hjHcczc3JylpqbqPabG+vXr9b7O+qjVata1a1fGcRzr3Lkzmzp1Kpsx\nYwZ78803mYeHB5szZ46g/d69e5m5uTnjeZ4NGjSIhYeHs7CwMObn58ccHBwEbZs0acKaN2/OgoKC\n2MyZM9l7773HGjduzDiOY4GBgTq5BAcHM47jWEJCgiC+detWJhaLmaWlJQsMDGTTp09nAQEBTCwW\nM1tbW3bhwoVSn2dFubu7M57nWV5eXont0tLSGM/zrEuXLlWeU01AhbwJ0hSvHMexkSNHCrbduXOH\n2draMqlUKvhD3rZtm7bgzczM1Mbz8/NZnz59GMdxLDIyUhufOnUq4zhOUDBqZGVlCf4QixbyGhzH\nCS7aRem7SL777ruM4zg2btw4QfzBgwfMxcWF8TzPzpw5o/e1GD9+PFOr1dpt165dY2KxmDVr1kxw\nrPj4eMZxHOvTp49OTgUFBUwikTCe59nt27eLzV2jS5cujOM4tnXr1lLbtmvXjslkMr1vzikpKYLH\no0aNYhzHsdDQUJ22CoWCPX36VPv44cOHLD8/X6ddTEwME4lE7N133xXEiyvk+/Tpw0QiEdu2bZsg\nnpGRwdq1a8d4nmcXL14UbIuIiCjXz86dO4t5dZ4dr6yFvKZw2bRpU6ltCTElS5cuLbZD5uOPP9a5\n3h49epRxHMe6du0qKJwZY+zbb79lHMexYcOGCeL6Cvnyvk/k5eUxDw8PxvM8+/bbb3VyTUpKEhT+\nRQt5xp79zevrcGGMsVdeeYVxHMcuXbokiCsUCmZnZ8ccHR0F1z9NJ5K+fL755hvGcRzr3r273nM9\n7+bNm9qi//n3FX0uXbqk/TCiz/PX9+TkZGZtbc0kEgk7cuSITtuiH7ji4uJ02qjVam3BfurUKcE2\nfYX8rVu3mFQqZY0aNWKJiYmC9n/88QcTi8Wsffv2gvj58+fLfX0vrUOrrIU8Y4UfYCQSCVMoFKW2\nre2okDdBmuLVzMxM7x9OeHg44ziOLVq0SBvr27cv4ziO7d+/X6e95iLUuHFjbUxTyB88eLDUfCqr\nkM/Pz2cWFhbM0tJSp7BljLG1a9cyjuPYO++8o41pXgtLS0vBG4+Gn58f43meZWdna2O///474ziO\nBQcH67RPSkpiHMeV+WIzfPhwnTe34rRr147J5XJBEa5PUlIS43meubi4CPJ+ES1btmReXl6CmL5C\nXvNvoOibvcbu3bsZx3Fs2rRpgrjmtdJ8mCrph+d5NmbMmBLzLU8hv3XrVsZxHAsPDy+1LSGmJDEx\nkYnFYtamTRtBXKlUMhcXF2ZlZSW4Nmi+nbp8+bLe47Vt25aJxWLBNVJfIV/e94mffvqJcRzHBg8e\nXKbn9SKF/P79+xnHcSwsLEwQj4qKYhzHsY8//lgQDwoKYhzH6S2SNR+QRo0aVWquOTk52uvWkydP\nSmyreW3KctzIyEjGcRybOHFiqW1LcvbsWcZxHFuwYIEgrq+Q17yf79mzR++xhg4dyjiOY9euXdPG\ntmzZUqbr+vPX96NHj5aYc3kKec2/xZs3b5batrajWWtMWIMGDeDu7q4T9/Pzw5IlS3DhwgVt7Ny5\nc+A4Tu+Y9JYtW8LR0RG3bt1CTk4OLCwsMHLkSKxZswZDhgzBsGHD8NJLL6FLly5o0qRJlT2f69ev\nQ6FQaKcDK6pv374AoHdaKm9vb1haWurE69evD8YYUlNTtTPkJCcnA4Dec7wolUpVaLine truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8be6358>"
"<matplotlib.figure.Figure at 0x82cd860>"
]
},
"metadata": {},
@@ -1314,9 +1314,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8be6208>"
"<matplotlib.figure.Figure at 0x84417f0>"
]
},
"metadata": {},
@@ -1324,9 +1324,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x826bbe0>"
"<matplotlib.figure.Figure at 0x75060b8>"
]
},
"metadata": {},
@@ -1334,9 +1334,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8d8c160>"
"<matplotlib.figure.Figure at 0x6edd240>"
]
},
"metadata": {},
@@ -1344,9 +1344,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8f56ba8>"
"<matplotlib.figure.Figure at 0x8465e10>"
]
},
"metadata": {},
@@ -1389,15 +1389,15 @@
"\n",
"The fading memory filter accounts for this problem by giving less weight to older measurements, and greater weight to the more recent measurements. \n",
"\n",
"There are many formulations for the fading memory Filter; I use the one provided by Dan Simon in *Optimal State Estimation* [3]. I will not go through his derivation, but only provide the results.\n",
"There are many formulations for the fading memory filter; I use the one provided by Dan Simon in *Optimal State Estimation* [3]. I will not go through his derivation, but only provide the results.\n",
"\n",
"The Kalman filter equation for the covariances of the estimation error is\n",
"\n",
"$$ \\mathbf{P} = \\mathbf{FPF}^\\mathtt{T} + \\mathbf{Q}$$\n",
"$$ \\mathbf{P} = \\mathbf{FPF}^\\mathsf{T} + \\mathbf{Q}$$\n",
"\n",
"We can force the filter to forget past measurements by multiplying a term $\\alpha$\n",
"\n",
"$$ \\tilde{\\mathbf{P}} = \\alpha^2\\mathbf{FPF}^\\mathtt{T} + \\mathbf{Q}$$\n",
"$$ \\tilde{\\mathbf{P}} = \\alpha^2\\mathsf{FPF}^\\mathtt{T} + \\mathbf{Q}$$\n",
"\n",
"where $\\alpha > 1.0$. If $\\alpha == 1$ then we get the normal Kalman filter performance. $\\alpha$ is an attribute of `FilterPy`s Kalman filter class; its value defaults to 1 so the filter acts like a Kalman filter unless $\\alpha$ is assigned a value other than 1. There is no hard and fast rule for choosing $\\alpha$, but it is typically very close to 1, such as 1.01. You will need to make many runs with either simulated or real data to determine a value that responds to maneuvers without causing the estimate to become too noisy due to overly weighting the noisy measurement.\n",
"\n",
@@ -1417,9 +1417,9 @@
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtMAAAEkCAYAAADti70NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8FMX7wPHP3qUX0iAJECBBgiF0Eqq0gCAIYqgqCiIq\nFroFBRQQEcWCoCIiIvAVEQEFURBQRJQiHamCkIQWEhIIaaTf/P64X07CXSrped6vV17K7uzcTPbu\nyXO7szOaUkohhBBCCCGEKDRdWTdACCGEEEKIikqSaSGEEEIIIYpIkmkhhBBCCCGKSJJpIYQQQggh\nikiSaSGEEEIIIYpIkmkhhBBCCCGKSJJpIYQQQgghikiS6SrG19cXPz+/Mm1D165d0enK11tvxIgR\n6HQ6Lly4UNZNKXOWfhcRERHodDqeeOKJMmyZEEIIUf6Ur4ymnDEYDCxZsoSQkBA8PDywsbHB09OT\npk2bMmLECL799tsc5ZctW4ZOp+ONN94ooxYXjKZpZd2EQrUhO/nesWOH2b6UlBRCQ0PR6XR06dKF\nGzdulEqbKqLsJDm3n5YtWwLG30Nuv4vbt2efG/kSIoS43e+//86gQYMIDAwkODiYpk2bcv/997Nh\nw4ZSa8O+ffsYOHAg999/P02bNuWpp54iMjLSrFxYWBiDBg1i4sSJvPLKKzzyyCNERESUWjtFxWZV\n1g0orwwGA/369WPTpk24urrSt29ffHx8yMjI4MSJE3z33Xfs27ePhx56yOzYyp6UlQVLCV5cXBx9\n+/Zlz549DBgwgJUrV2JjY1Pk16gqi4GGhobSokULs+3e3t4AvP3220yePJlatWoVqD55vwshbmUw\nGBg/fjwLFiygffv2bNu2jZo1a5KcnMzYsWMJDQ1l0KBBfPXVV9ja2pZYOw4fPsyMGTNYvXo1Tk5O\nJCUl0bt3b1q2bMm+ffuoV68eAImJiXTv3p3XX3+dkSNHArBkyRK6dOnCsWPHqFatWom1UVQOkkzn\nYtWqVWzatIkWLVqwY8cOnJ2dc+xPT09n586dFo+tKklZabr9d3rx4kV69erFqVOneO6551iwYEEZ\ntaziCQ0NZfjw4bnu9/b2NiXWBaGUkve8EMLkjTfeYMGCBTg6OrJu3To8PT0BcHR0ZPHixezdu5e1\na9dSrVo1vvjiixJrx+uvv86CBQtwcnICwMnJiY8++oigoCAmT57MypUrAXjvvfdITEzMEReHDRvG\npEmTmDt3LjNmzCixNorKQYZ55GLXrl2A8db47Yk0gI2NDd26dTP9e8SIEaZvtG+88UaO2+d//PEH\nAAkJCbz33nt069YNHx8fbG1t8fT0pF+/fuzZs8diO3Q6HX5+fty8eZOXX36ZunXrYmdnh7+/P+++\n+26u7f/kk09o3Lgx9vb2+Pj4MHbsWOLj4y2WvZN2JSQkMGHCBOrVq4e1tTXz5883lVm1ahVBQUE4\nODjg5eXF8OHDLd5eK6wTJ07QoUMH/vnnH958802LifT69et57LHHaNiwIU5OTjg5OREUFMT8+fMx\nGAwFep3sccIhISFcvXqVkSNH4uXlhZOTEx07dmT37t2A8arGhAkTTOemSZMmfPfdd2b1leb5vxMF\nHT9+63vbz8/P9H6/fUx+fHw806ZNo0mTJjg6OlKtWjU6derE2rVrzer8/fffTWOzT58+zeDBg6lR\nowZ6vZ6jR48WXyeFECUiIiKCd955B4ABAwaYEulser3e9OzF0qVLOXDgQIm1ZceOHXTt2pWYmBjT\ntpYtW+Li4sK2bdtM21atWkWbNm2wsvrv+qKNjQ1t2rQxG84phCVyZToXHh4eAJw+fbpA5fv37098\nfDw//PADXbt2pWvXrqZ9vr6+AJw8eZLXXnuNLl268MADD+Dm5sb58+fZsGEDP//8Mxs2bKB3795m\ndWdkZNCzZ0+uXLlCnz59sLKyYt26dbz66qukpqYybdq0HOXHjx/Pxx9/TM2aNRk1ahQ2Njb88MMP\n7N27l4yMDLPbakVtV1paGiEhISQkJNCnTx8cHByoU6cOAB9++CEvvvgirq6uDB8+HDc3N7Zs2cI9\n99yDi4tLgX6nt1NKsXPnTvr160dSUhJffPFFrg/ETZ48Gb1eT/v27alduzbx8fFs27aNiRMnsm/f\nPr7++usCv+6NGze455578PDwYNiwYVy8eJG1a9fSo0cPdu3axciRI0lPT2fAgAHEx8fzzTffMGTI\nEHbv3k3btm1N9ZTW+S8OBRm6MX36dJYtW8b58+eZMGECrq6uAKb/Aly+fJmQkBDOnj1L586due++\n+0hKSmLjxo0MGTKE6dOnM336dLO6z549S7t27QgMDOTxxx8nISEBBweH4uugEKJEfPvtt2RkZADQ\noUMHi2Xat28PGGP6V199RXBwcIm0xc/Pj3///ZebN2/m2G5ra0tycjJgvBhy9uxZunfvbnZ8nTp1\n2LJlC8nJyTg6OpZIG0UloYRFhw8fVjY2Nkqn06nHHntMrV27VoWFhSmDwZDrMUuXLlWapqk33njD\n4v74+Hh17do1s+2XLl1StWrVUgEBAWb7NE1TmqapPn36qNTUVNP2q1evKldXV+Xq6qoyMjJM23ft\n2qU0TVP169fP8VppaWmqY8eOStM05efnV2zt6tmzp0pJScmxLzw8XFlbWys3NzcVHh5u2m4wGNSQ\nIUOUpmlKp9NZ+A1Z1qVLF6Vpmpo4caKys7NTTk5OauPGjXkeExYWZrbNYDCoxx9/XGmapv76668c\n+7K3nz9/Pkc/svs5fvz4HOVnz56tNE1TLi4uatCgQTnOwcqVK5Wmaap///45jimN85+X7D6Ghoaq\n6dOnm/1ERUXl+7t44oknctSZfW5uLXur7t27K71er1atWpVje0JCgmrVqpXS6XTq77//Nm3fvn27\nqc+vvfZagfolhCg/evXqZfoM//jjjxbLnDt3zlSmcePGJdaW5ORkFR0dnWPb5cuXlaZpqlu3bkop\npY4dO6Y0TVOTJk0yO/6ll15Smqapc+fOlVgbReUgyXQeVq9erWrWrGn60GcnT3369FGrVq0yS6zz\nS6bzMnbsWKVpmrp48WKO7dmJp6UP8/Dhw5WmaerEiROmbU899ZTSNE198cUXZuX/+OMPi8n0nbTr\n6NGjZsfMmjUr12QoPDxc6fX6IiXT2T/Lli0r8LG3O3jwoNI0Tb355ps5tueVQDo7O6vk5OQc5S9e\nvGj6HdyeSGZlZSlra2tVv379AreruM5/XrL7aOnn1qS2uJLpo0ePKk3T1MCBAy22Z8OGDWZ/xLKT\n6Zo1a6r09PQC9UsIUX40bdrUFFe2bdtmscytFyrc3Nwslnn22WdVu3btCvWzdu3afNv3yiuvKL1e\nr/bs2aOU+u8ClKW/V1OmTFGapqkDBw4U4jcgqiIZ5pGHwYMH079/f7Zv386uXbs4fPgwO3fuZNOm\nTWzatIlly5axYcMGrK2tC1znrl27mD9/Pnv27CEmJob09PQc+y9fvoyPj0+ObS4uLtSvX9+sruwh\nFXFxcaZthw4dAqBLly5m5Tt06IBery+2dtnZ2dG0aVOzuvJqg6+vL3Xq1CnSVGq9evVi8+bNvPTS\nSzRr1sw0lZsl165d47333mPTpk2EhYWZ3ea7fPlygV/X39/fbIhB9gN6rq6u1K1bN8c+nU6Hp6cn\nly5dMqurpM9/QSxbtizPBxCLS/ZzB/Hx8RYf4Mkex3jq1Cmzfc2bNy/U50oIUT7cGtNuHYOcm9TU\nVIvbFy5cWGxtynbu3DkWLFjAlClTaNeuHfBfGy0NbUtLSwMwDVsRIjeSTOfDysqKHj160KNHD8A4\n5c93333HyJEj2bJlCwsXLmTcuHEFqmvdunUMGjQIBwcHevTowV133YWjoyM6nY7t27ezY8cO04f3\nVreOQb29bQBZWVmmbfHx8WiahpeXl1l5vV5vGgteHO26/cGSW9sAWGxD9vaiJNOvvvoqISEhvPLK\nK3Tr1o2ff/7ZFBBvdePGDVq3bk1ERARt27ZlxIgRuLu7Y2VlRVxcHPPnz7fYn9xYGuOd/bvPbfy3\nlZUVmZmZObaVxvkvT65duwbAtm3bcjzscytN00xjF29VmNlEhBDlR+3atTlz5kyBy9esWbMEW/Of\ntLQ0Hn30UZ555hlmzpxp2l6jRo1cj8mOTZYmIRDiVpJMF5JOp2Pw4MEcO3aMWbNm8dtvvxU4mX79\n9dexs7PjwIED3H333Tn2Xb582eKiJIWVndxFRUWZBYCsrCyuXbtmdpW1qO3K7SG17DZER0dbvHId\nHR1dsM5Y8PLLL+Po6MjYsWPp2bMnGzZsyPGwJ8AXX3xBREQEM2bMMHs4b8+ePTlmHClNpXH+y5Ps\n98HcuXOZMGFCoY6VuauFqJg6dOjA9u3bAbh+/brFMtlftLPLlzSlFCNHjqRXr15md8m8vLzQNM3i\nHb7k5GQ0TTNNIiBEbmRqvCLKnrdS3TK/bvYQityuFJ49e5bAwECzRMpgMOQ6Z3VhBQUFoZSymJjt\n2rXLYtuKu11BQUGAcZqz24WHh3Px4sVC13mr559/niVLlnDz5k369OnD5s2bc+w/e/YsAAMHDjQ7\ntiwT1tI4/6Utr/d89h/J7OnzhBCV3+OPP45OZ0wtjhw5YrHM4cOHAeOX5mHDhlks88wzz9C6detC\n/ViakhSMFzICAwNzJNLZMzo5ODgQFBRk8W7p2bNnadCggczkIfIlyXQuvvnmG3799VeLi1FERUWx\nePFiADp37mzaXr16dQDOnz9vsU4/Pz/OnDnDlStXTNuUUsyYMYNTp04Vy9W4ESNGADB79uwcVwXS\n0tKYMmVKqbTr0UcfxdramgULFhAeHm7abjAYePXVVws8z3NeRowYwcqVK8nIyCA0NLine truncated
"image/png": "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\nu0hKSsLS0rJcYhQ1hCLydfr0acXExERRq9XKhAkTlE2bNinXrl1TtFptgfv88MMPikqlUhYsWJDv\n9ri4OCUmJiZPe0REhFK/fn2lZcuWebapVCpFpVIpQ4YMUVJTU/Xtd+/eVWxtbRVbW1slIyND337o\n0CFFpVIpTZo0MXiutLQ0pUePHopKpVLc3d3LLK4BAwYoKSkpBtvCw8MVY2Njxc7OTgkPD9e3a7Va\nZdy4cYpKpVLUanU+r1D+/Pz8FJVKpcyaNUsxMzNTrKyslO3btxe6z7Vr1/K0abVa5bnnnlNUKpVy\n5MgRg23Z7Tdu3DA4j+zzfOONNwz6L1q0SFGpVIqNjY0yZswYg/dg7dq1ikqlUkaOHGmwT0W8/4XJ\nPscRI0Yo8+bNy/O4c+dOka/FlClTDI6Z/d7k7ptb3759FY1Go6xfv96gPT4+XunYsaOiVquVM2fO\n6Nv37t2rP+f33nuvWOclhKg6Bg0apP8Z/u233/Ltc/XqVX2f1q1bl1ssSUlJSnR0tEFbZGSkolKp\nlD59+iiKoijnzp1TVCqV8tZbb+XZ///+7/8UlUqlXL16tdxiFDWDFNOF2Lhxo+Li4qL/oc8unoYM\nGaKsX78+T2FdVDFdmBkzZigqlUq5deuWQXt24ZnfD/OkSZMUlUqlnD9/Xt/2wgsvKCqVSvn+++/z\n9D9w4EC+xfTjxHX27Nk8+yxcuLDAYig8PFzRaDSlKqazH6tWrSr2vo86efKkolKplA8//NCgvbAC\n0traWklKSjLof+vWLf1r8GghmZWVpRgbGytNmjQpdlxl9f4XJvsc83vkLmrLqpg+e/asolKplNGj\nR+cbz7Zt2/L8Essupl1cXJT09PRinZcQoupo27atPq/s3r073z65L1TY2dnl2+fll19WfHx8SvTY\ntGlTkfG9/fbbikajUQ4fPqwoSs4FqPx+X82ePVtRqVTKiRMnSvAKiNpIhnkUYuzYsYwcOZK9e/dy\n6NAhTp8+TWBgIDt27GDHjh2sWrWKbdu2YWxsXOxjHjp0iKVLl3L48GHu3btHenq6wfbIyEjc3NwM\n2mxsbGjSpEmeY2UPqYiNjdW3nTp1CgA/P788/X19fdFoNGUWl5mZGW3bts1zrMJiaNy4MQ0aNCjV\nVGqDBg1i586d/N///R9eXl76qdzyExMTw2effcaOHTu4du1ano/5IiMji/28Hh4eeYYYZN+gZ2tr\nS8OGDQ22qdVqHB0diYiIyHOs8n7/i2PVqlWF3oBYVrLvO4iLi8v3Bp7scYwXLlzIs61du3Yl+rkS\nQlQNuXNa7jHIBUlNTc23fcWKFWUWU7arV6+yfPlyZs+ejY+PD5ATY35D29LS0gD0w1aEKIgU00Uw\nMjKif//+9O/fH9BN+bN582amTp3Krl27WLFiBa+//nqxjrVlyxbGjBmDhYUF/fv3p2nTplhaWqJW\nq9m7dy/79+/X//DmlnsM6qOxAWRlZenb4uLiUKlUODk55emv0Wj0Y8HLIq5HbyzJHQOQbwzZ7aUp\npt955x38/f15++236dOnD3/88Yc+Ieb28OFDOnfuzPXr1+natSuTJ0/G3t4eIyMjYmNjWbp0ab7n\nU5D8xnhnv/YFjf82MjIiMzPToK0i3v+qJCYmBoDdu3cb3OyTm0ql0o9dzK0ks4kIIaoOV1dXLl++\nXOz+Li4u5RhNjrS0NJ599lleeuklPvjgA317vXr1CtwnOzflNwmBELlJMV1CarWasWPHcu7cORYu\nXMiePXuKXUy///77mJmZceLECVq0aGGwLTIyMt9FSUoqu7i7c+dOngSQlZVFTExMnquspY2roJvU\nsmOIjo7O98p1dHR08U4mH2+++SaWlpbMmDGDAQMGsG3bNoObPQG+//57rl+/zvz58/PcnHf48GGD\nGUcqUkW8/1VJ9vfBkiVLmDlzZon2lbmrhaiefH192bt3LwAPHjzIt0/2H9rZ/cuboihMnTqVQYMG\n5fmUzMnJCZVKle8nfElJSahUKv0kAkIURKbGK6XseSuVXPPrZg+hKOhK4ZUrV/D09MxTSGm12gLn\nrC4pb29vFEXJtzA7dOhQvrGVdVze3t6AbpqzR4WHh3Pr1q0SHzO3V199lZUrV5KcnMyQIUPYuXOn\nwfYrV64AMHr06Dz7VmbBWhHvf0Ur7Hs++5dk9vR5Qoia77nnnkOt1pUWwcHB+fY5ffo0oPujeeLE\nifn2eemll+jcuXOJHvlNSQq6Cxmenp4GhXT2jE4WFhZ4e3vn+2nplStXaNasmczkIYokxXQB1q1b\nx19//ZXvYhR37tzhu+++A6BXr1769rp16wJw48aNfI/p7u7O5cuXuX37tr5NURTmz5/PhQsXyuRq\n3OTJkwFYtGiRwVWBtLQ0Zs+eXSFxPfvssxgbG7N8+XLCw8P17VqtlnfeeafY8zwXZLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8ed1898>"
"<matplotlib.figure.Figure at 0x95d9fd0>"
]
},
"metadata": {},
@@ -1558,14 +1558,103 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"The example I have been using in this chapter entails a target moving in a steady state, performing a maneuver, and then returning to a steady state. We have been thinking of this as two models - a constant velocity model, and a constant acceleration model. Whenever you can describe the system as obeying one of a finite set of models you can use *Multiple Model (MM) Estimation*. This means what it sounds like. We use a bank multiple filters, each using a different process to describe the system, and either switch between them or blend them based on the dynamics of the tracked object. \n",
"The example I have been using in this chapter entails a target moving in a steady state, performing a maneuver, and then returning to a steady state. We have been thinking of this as two models - a constant velocity model, and a constant acceleration model. Whenever you can describe the system as obeying one of a finite set of models you can use *Multiple Model (MM) Estimation*. This means what it sounds like. We use a bank of multiple filters, each using a different process to describe the system, and either switch between them or blend them based on the dynamics of the tracked object. \n",
"\n",
"As you might imagine this is a broad topic, and there are many ways of designing and implementing MM estimators. But consider a simple approach for the target we have been tracking in this chapter. One idea would be to simultaneously run a constant velocity and a constant acceleration filter, and to switch between their outputs when we detect a maneuver by inspecting the residuals. Even this choice gives us many options. Consider the dynamics of a turning object. For example, an automobile turns on a wheelbase - the front wheels turn, and the car pivots around the rear wheels. This is a nonlinear process, so for best results we would want to use some type of nonlinear filter (EKF, UKF, etc) to model the turns. On the other hand, a linear constant velocity filter would perform fine for the steady state portions of the travel. So our bank of filters might consist of a linear KF and an EKF filter for the turns. However, neither is particularly well suited for modeling behaviors such as accelerating and braking. So a highly performing MM estimator might contain a bank of many filters, each designed to perform best for a certain performance envelope of the tracked object.\n",
"\n",
"Of course, you do not need to just base your filters on the order of the model. You can use different noise models, different adapters in each. For example, in the section above I showed many plots depicting the effects of changing parameters on the estimate of the velocity and position. Perhaps one setting works better for position, and a different setting for velocity. Put both in your bank of filters. You could then take the best estimates for the position from one filter, and the best estimate for the velocity from a different filter.\n",
"\n",
"I trust the idea of switching between filters to get the best performance is clear, but what mathematical foundations should we use to implement it? The problem that we face is trying to detect via noisy measurements when a change in regime should result in a change in model. \n",
"\n"
"### A Two Filter Adaptive Filter\n",
"\n",
"I trust the idea of switching between filters to get the best performance is clear, but what mathematical foundations should we use to implement it? The problem that we face is trying to detect via noisy measurements when a change in regime should result in a change in model. What aspect of the Kalman filter measures how far the measurement deviates from the prediction? Yes, the *residual*.\n",
"\n",
"Let's say we have a two state (constant velocity) Kalman filter. As long as the target is not maneuvering the filter will track it's behavior closely, and roughly 68% of the measurements should fall within 1$\\sigma$. Furthermore the residual should fluctuate around 0 because as many if the sensor is Gaussian an equal number of measurement should have positive error as have negative errors. If the residual grows and stays beyond predicted bounds then the target must not be performing as predicted by the state model. We saw this earlier in this chart where the residual switched from bouncing around 0 to suddenly jumping and staying above zero once the tracked object began maneuvering."
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x6ed7940>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"show_residual_chart()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For this problem we saw that the constant velocity filter performed better the constant acceleration filter while the object was in steady state, and the opposite was true when the object is maneuvering. In the chart above that transition occurs at 4 seconds. \n",
"\n",
"So the algorithm is easy. Initialize both a constant velocity and constant acceleration filter and run them together in a predict/update loop. After every update examine the residual of the constant velocity filter. If it falls within theoretical bounds use the estimate from the constant velocity filter as the estimate, otherwise use the estimate from the constant acceleration filter. If you have enough insight into your problem, you can also choose to blend the outputs of the two filters proportional to the size of the residual."
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n1fLzeDyoq6vL1IQCgJGRUZ3O6+fnB0D0U2VVUVFRiIiIgIeHB6ytraXK5P2NXuWcYvPnz4ednR23\nrK+vD19fXwiFQowaNQq9e/fmytTU1DBhwgQA4JpZAcCJEycQFxeHOXPmYMCAAVLHNzc3x2effYaS\nkhKpJijipjovs7Kywrhx4xATE4O0tDSZcnnPu1WrVq/wjGs2c+ZMdOnSRWrd61wXYnZ2dli0aJHU\nuvfffx+AqKnMunXrpMree+89AMC9e/e4dUKhEFu2bIGZmRk2b94sVTvG4/EQGBgIHo+HX3/9Veb8\nPB4P33//PTQ0NLh1JiYm8PX1RWFhIWJjY7n1tb2n6+NaJ6S50tDQQFBQkNQvg1u2bAEA7NixA/r6\n+lLbv/fee+jWrRuOHDmCFy9eSJXJu8+pqalBR0enxhiuXLmC2NhYuLu7Y8yYMVJls2fPhr29fb31\ngZH32aumpoY5c+ZAIBDIbVL5MrqnkJpQ0xoAly9fBgCcP38eERERMuXi9nnR0dHo0KEDPD09YWVl\nhcDAQERERGDYsGHo168fevToIfeN9iZeboIDiJK+6sosLS0BQCa5y8vLw4YNG3DixAkkJiaiuLhY\nqjw9Pb3OMYlfr8LCQgQEBMiU5+bmAoDUF58pU6YgODgYHTp0wPjx49G/f3+4u7u/0k1o9OjRMDQ0\nxN69exEUFARVVdHlK26bLE70AaBjx47o1q0b9u/fj+TkZIwaNQr9+vVDr169qk3ua/KqfwfxF8Kq\nfwfx65aSkiL3dYuLiwMAmS+Mly9fxpYtW3D16lXk5uZyzVjE0tPT0aZNGwCiD71Dhw7Bzc0NEyZM\ngKenJ/r27QsbG5s6PtO6qfrFpWqcwKtdF2LiZmtViV9fcV+CquS9vrGxscjLy0P79u2xevVquXFr\nampy7e6rMjAwkPqiJib+eb66/g7y1Me1TkhzZWNjIzOCzOXLl6GqqooDBw7I7UtTVlYGgUCAmJgY\n9OjRA6NGjcKXX36JTz75BKdOncLgwYPRt29fdOnSpU6jSd2+fRsA5Dav5PF46NevH+Lj41/zGUpL\nTU1FYGAgzp49i8ePH6OkpESqPCMjo9Zj0D2F1IQSeYiSXAD47rvvqt2Gx+NxtQF6enq4fv06Vq1a\nhaNHj+LMmTMARG3Ip0+fjq+//lom8XhdVWv3xcQJbE1lVTv1FRQUwNXVFcnJyXBzcLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x81f2710>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"def run_filter_bank(threshold):\n",
" dt = 0.1\n",
" cvfilter= make_cv_filter(dt)\n",
" cafilter = make_ca_filter(dt)\n",
"\n",
" pos2, zs2 = generate_data(120, noise_factor=0.2)\n",
" z_xs2 = zs2[:, 0]\n",
" t = np.arange(0, len(z_xs2) * dt, dt)\n",
" xs, res = [], []\n",
"\n",
" for z in z_xs2:\n",
" cvfilter.predict()\n",
" cafilter.predict()\n",
" cvfilter.update([z])\n",
" cafilter.update([z])\n",
" \n",
" std = np.sqrt(cvfilter.R[0,0])\n",
" if cvfilter.y[0] < 1.4 * std:\n",
" xs.append(cvfilter.x[0])\n",
" else:\n",
" xs.append(cafilter.x[0])\n",
" res.append(cvfilter.y[0])\n",
" xs = np.asarray(xs)\n",
" plot_track_and_residuals(t, xs, z_xs2, res)\n",
"\n",
"run_filter_bank(threshold=1.4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here we get nearly ideal performance. While the target is not maneuvering our estimate is nearly noise free, and then once it does maneuver we quickly detect that and switch to the constant acceleration filter. "
]
},
{
@@ -1603,7 +1692,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.4.3"
"version": "3.4.1"
}
},
"nbformat": 4,
+30
View File
@@ -0,0 +1,30 @@
# -*- coding: utf-8 -*-
"""
Created on Tue Jun 30 19:48:21 2015
@author: rlabbe
"""
import matplotlib.pyplot as plt
import book_plots as bp
def plot_track_and_residuals(t, xs, z_xs, res):
plt.subplot(121)
bp.plot_measurements(t, z_xs, label='z')
bp.plot_filter(t, xs)
plt.legend(loc=2)
plt.xlabel('time (sec)')
plt.ylabel('X')
plt.title('estimates vs measurements')
plt.subplot(122)
# plot twice so it has the same color as the plot to the left!
plt.plot(t, res)
plt.plot(t, res)
plt.xlabel('time (sec)')
plt.ylabel('residual')
plt.title('residuals')
plt.show()