Added plot titles.

Added titles to plot so reader can understand what is being shown
without having to read the code.

Also added some text to expand on a few explanations.
This commit is contained in:
Roger Labbe committed 2015-01-24 10:50:18 -08:00
1 parent ccf79aab09
commit cc25596e57
1 file changed
+158 -73
+158 -73
View File
@@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:3d0003a848712ccf6ba0dae09f5d3f04279d82fdc23791a1936c2ab60833a690"
"signature": "sha256:8462ae4c1452fe0318df23d355d688035cda6c34495b4ca8d65b6f2969653f02"
},
"nbformat": 3,
"nbformat_minor": 0,
@@ -262,7 +262,7 @@
"output_type": "pyout",
"prompt_number": 1,
"text": [
"<IPython.core.display.HTML at 0x7f9cc5d8fc50>"
"<IPython.core.display.HTML at 0x7f6b959c85f8>"
]
}
],
@@ -434,6 +434,9 @@
"pos, zs = generate_data(50, noise_factor)\n",
"plt.plot(*zip(*pos))\n",
"plt.axis('equal')\n",
"plt.xlabel('X')\n",
"plt.ylabel('Y')\n",
"plt.title('2D Track')\n",
"plt.show()"
],
"language": "python",
@@ -442,9 +445,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9cad8f98d0>"
"<matplotlib.figure.Figure at 0x7f6b7d55cc88>"
]
}
],
@@ -464,7 +467,10 @@
"plt.plot(*zip(*pos), lw=4, label='track')\n",
"plt.plot(*zip(*zs), label='measurements')\n",
"plt.axis('equal')\n",
"plt.legend()\n",
"plt.legend(loc=4)\n",
"plt.xlabel('X')\n",
"plt.ylabel('Y')\n",
"plt.title('Track vs Measurements')\n",
"plt.show()"
],
"language": "python",
@@ -473,9 +479,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAx0AAAGNCAYAAAB0YBz5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VEXbx/HvbAqbRqghlNCbFBEBkS4goIDYQKSoPCpY\nUCkqCvpSfJAmIvaCDUF4BCsqIKhIEQtBQYp0kBISekggCUnOvH+sLCyhsyEh/D7XlSu7c+bMuScH\nTe6dMzPGWmsRERERERHJJq6cDkBERERERPI2JR0iIiIiIpKtlHSIiIiIiEi2UtIhIiIiIiLZSkmH\niIiIiIhkKyUdIiIiIiKSrZR0iIiIiIhItvJr0jF06FBcLpfPV4kSJbLUKVmyJKGhoTRv3pzVq1f7\nMwQREREREcll/D7SUbVqVeLj471fK1as8B4bPXo048aN47XXXmPJkiVERUXRqlUrkpOT/R2GiIiI\niIjkEn5POgICAoiKivJ+FS5cGABrLePHj2fgwIHceuutVK9enYkTJ5KUlMSUKVP8HYaIiIiIiOQS\nfk86Nm3aRMmSJSlfvjxdunRh8+bNAGzevJmEhARat27tret2u2natCmLFy/2dxgiIiIiIpJLBPqz\nsWuvvZaJEydStWpVEhISGD58OA0bNmTVqlXEx8cDUKxYMZ9zoqKiiIuL8ylLTEz0Z1giIiIiInKR\nREZGZinza9Jxww03eF/XqFGDBg0aUK5cOSZOnEj9+vVPeZ4xxp9hiIiIiIhILpKtS+aGhoZSvXp1\nNmzYQPHixQFISEjwqZOQkEB0dHR2hiEiIiIiIjnIryMdJ0pNTeXvv/+mRYsWlCtXjujoaObMmUOd\nOnW8xxctWsTYsWNP2cbJhmdyu9jYWOrWrZvTYUg20f3Nu3Rv8zbd37xL9zZv0/29NJxpeoRfRzqe\neOIJFixYwObNm/ntt9/o2LEjKSkp3HPPPQD07duX0aNH88UXX7By5Up69OhBREQEXbt29WcYIiIi\nIiKSi/h1pGPHjh106dKFPXv2ULRoURo0aMCvv/5KTEwMAAMGDCAlJYXevXuzf/9+rr32WubMmUNY\nWJg/wxARERERkVzEr0nH1KlTz1hnyJAhDBkyxJ+XFRERERGRXCxbJ5KLiIiIiIgo6RARERERkWyl\npENERERERLJVti6ZKyIiInK5cRyHI0eO5HQYeUaZMmVITU3N6TAua8HBwbhcFzZWoaRDRERExE8c\nxyEtLQ23240xJqfDyRPcbndOh3BZs9aSmppKvnz5Lijx0ONVIiIiIn5y5MgRJRySpxhjcLvdFzx6\np6RDRERExI+UcEhe449/00o6REREREQkWynpEBERERGRbKWkQ0REREREspWSDhERERHJ9YYOHYrL\n5WLXrl05HYqcByUdIiIiInJGixcvZtiwYSQmJuZ0KHIJUtIhIiIiImekpEMuhJIOERERETlr1toz\n1klJSbkIkcilREmHiIiIiJzW0KFDGTBgAADlypXD5XLhcrmYP38+ZcuW5cYbb+SHH36gfv36hISE\nMGbMGABmzJjBTTfdRExMDG63m7JlyzJgwADS0tKyXGPdunV06dKFqKgoQkJCqFy5Mv369TttXHFx\ncVSrVo3KlSuzfft2/3dc/CYwpwMQERERuVzVnrQ+29r+865Kfmvr9ttvZ/369UydOpXx48dTpEgR\nAK644gqMMWzYsIFOnTrRq1cvevbsSenSpQH48MMPCQkJoU+fPkRGRvLLL7/w0ksvsW3bNqZOnept\nf9WqVTRq1IjAwEB69epF+fLl2bx5M9OmTeOll146aUz//PMPLVu2xO12s3DhQooVK+a3/or/KekQ\nERERkdOqWbMmtWvXZurUqdxyyy3epAI8j1tt3LiRGTNm0L59e5/zPv74Y0JCQrzve/bsSaVKlXj2\n2Wd54YUXKFWqFAC9e/fGcRyWLl1KmTJlvPWff/75k8azYcMGWrZsSeHChZk7dy6FCxf2Z3clG+jx\nKhERERG5IDExMVkSDsCbcDiOQ2JiInv27KFRo0ZYa/nzzz8B2L17NwsWLKBHjx4+CceprF69mqZN\nm1K8eHHmzZunhOMSoaRDRERERC5I+fLlT1q+cuVK2rZtS0REBAULFiQqKorrrrsOwLsK1qZNmwCo\nUaPGWV2rQ4cOhIaG8v333xMZGXnhwctFocerRERERHKIP+dd5KTjH6E6KjExkebNmxMREcGIESOo\nWLEiISEhbN++nR49euA4znldq1OnTnzwwQd8+OGHPPLIIxcaulwkSjpERERE5IyMMedUf968eezd\nu5fPP/+cJk2aeMvnzp3rU69ChQoArFix4qzaHTlyJG63mz59+hAeHk6PHj3OKS7JGXq8SkRERETO\nKCwsDIB9+/adVf2AgAAAnxENx3EYN26cT70iRYrQrFkzPvzwQ7Zs2eJz7FR7grz++uvcdddd9OzZ\nk+nTp59tFyQHaaRDRERERM6oXr16AAwcOJAuXboQHBxMixYtTlm/cePGFC5cmHvuuYdHH32UwMBA\nPv30Uw4dOpSl7quvvkrjxo2pU6cODzzwAOXKlWPr1q188sknrFu37qTtv//++yQnJ9O9e3fCwsJo\n27atfzoq2UIjHSIiIiJyRnXq1GHkyJGsXr2ae++9l27duvH333+f8rGrggUL8u233xITE8OQIUMY\nNWoUtWrV4qOPPspSt0aNGvz666+0aNGCt99+mz59+jB9+nQ6dOjgrWOM8bmWy+Vi6tSptGzZkk6d\nOvHTTz/5vc/iP8aezV72F9nR1QyAS3JVgtjYWOrWrZvTYUg20f3Nu3Rv8zbd37wrN93b1NRU3G53\nToch4ndn+rd9pr/fNdIhIiIiIiLZSkmHiIiIiIhkKyUdIiIiIiKSrZR0iIiIiIhItlLSISIiIiIi\n2UpJh4iIiIiIZCslHSIiIiIikq2UdIiIiIiISLZS0iEiIiIiItlKSYeIiIiIiGQrJR0iIiIiIpKt\nlHSIiIiIiEi2UtIhIiIiIiLZSkmHiIiIiEgeM3PmTIYNG5bTYXgp6RARERERyWOUdIiIiIiI5GKH\nDh3K6RD8whiT0yF4KekQERERkdMaOnQoLpeLNWvW0L17dwoUKEDRokV55plnANi2bRs333wzkZGR\nREdHM3bsWJ/z09LSGDZsGJUqVcLtdlOqVCn69+9PSkqKT70PP/yQ66+/nuLFi+N2u6lcuTKjRo3C\nWutTb8OGDdxxxx2UKFECt9tNyZIl6dixI/Hx8QBs2bIFl8vFxIkTs/TF5XL5jAAc7duqVau46667\nKFSoEDVr1vQenzNnDs2aNSMiIoKIiAhuvPFGli9f7tNmjx49CAkJYdu2bbRv356IiAhKlizJK6+8\nAsBff/1FixYtCA8Pp0yZMkyePDlLXImJifTv35/SpUuTL18+KlSowPDhw3Ecx1vnaL9Gjx7NhAkT\nqFChAm63m2uuuYbY2FifeN544w2stbhcLu/X1q1bAfjhhx9o2rQphQoVIiwsjIoVK/Loo49micmf\nArO1dREREbkgC7YnE2AMjUqG5XQoInTp0oUrrriC0aNH8+233zJy5EgiIyN59913uf766xkzZgyT\nJ09mwIAB1KlTh+bNm2Ot5dZbb2XBggX06tWLatWqsXr1at544w1WrVrFd999523/jTfeoFq1arRv\n3x63283333/PoEGDSExMZOTIkQCkp6fTpk0b0tLSeOSRRyhevDhxcXF899137Ny5k+joaG97p/qk\n/2TlnTt3pnz58owYMYIjR44AMGXKFO666y5at27NqFGjSE1N5Z133qFJkyYsWbKEKlWqeM93HIe2\nbdvSuHFjxo4dy+TJk+nbty8hISEMGTKEu+66i44dO/Lmm2/So0cPGjRoQIUKFQBISUmhefPmbN26\nlQcffJCyZcvy22+/MXToUP755x8mTJjgE+snn3xCcnIyDz30EABjxozhtttuY9OmTQQGBvLggw+y\nc+dO5s6d65PgFClShNWrV9OuXTtq1arFsGHDCA0NZcOGDcyZM+ec/i2cM5sLHThwwPt1KVqyZElO\nhyDZSPc379K9zdty+/3NnD/TZo5/1jq74qy11jqOYz9atc/W/midbTR1g92wPzWHI8y9ctO9TUlJ\nOaf6GTdflW1f/jRkyBBrjLH333+/tywzM9PGxMRYY4wdMWKEt/zAgQM2NDTUdu/e3Vpr7ccff2xd\nLpddsGCBT5sff/yxNcbYOXPmeMtO9vPr1auXDQ8Pt0eOHLHWWrts2TJrjLGfffbZKePdvHmzNcbY\niRMnZjlmjLHDhg3L0reOHTv61EtOTrYFCxa09913n0/5/v37bVRUlO3atau37J577rHGGDt8+PAs\nPwdjjJ0yZYq3fO3atdYYY5999llv2fPPP29DQ0Pt2rVrfa71/PPPW2OMt/xov4oWLerzd/KMGTOs\nMcZ+88033rLevXtbY0yW/o8fP94aY+zevXuzHDudM/3bPtPf73q8SkREJBewi77DzvsGp39X0v/4\nhed+3cW4pXuwwKF0hz7z4tiXmpHTYcpl7v777/e+drlc1KlTB2MM9913n7c8MjKSKlWqsHnzZgCm\nTZtG5cqVqVatGnv27PF+NW3aFGMM8+bN857rdrsByMzMZP/+/d56hw4dYs2aNQDkz58fgNmzZ3P4\n8GG/9e3oqMFRc+fO5cCBA3Tp0sUn7oyMDBo3buwT91HH/3wiIyOpXLkyoaGhdOnSxVteuXJlChQo\n4P35gOdn1KRJEwoXLuxzrZYtWwLw008/+Vzn9ttvJzIy0vu+cePGAD5tnkqBAgUA+OKLL3we3cpu\nerxKRETyNOf7L7HfTCGkVRegbk6Hc0qmYSvs7/Mh6QA815vC1e7AVL0VazyfD8YfyuDPXaLine truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9cad605b00>"
"<matplotlib.figure.Figure at 0x7f6b7d26ffd0>"
]
}
],
@@ -551,14 +557,20 @@
"# extract the x coordinates\n",
"import numpy as np\n",
"\n",
"# initialize filter\n",
"initialize_filter(cvfilter)\n",
"\n",
"xs = pos[:,0]\n",
"z_xs = zs[:,0]\n",
"# plot the results\n",
"kxs, _, _, _ = cvfilter.batch_filter(z_xs)\n",
"t = np.arange(0, len(z_xs) * dt, dt)\n",
"plt.plot(t, xs)\n",
"plt.plot(t, kxs[:,0], ls=':')\n",
"plt.plot(t, xs, label='track')\n",
"plt.plot(t, kxs[:,0], label='KF')\n",
"plt.xlabel('time (sec)')\n",
"plt.ylabel('X')\n",
"plt.legend(loc=4)\n",
"plt.title('Track vs KF')\n",
"plt.show()"
],
"language": "python",
@@ -567,9 +579,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "iVBORw0KGgoAAAANSUhEUgAAAy4AAAGxCAYAAACEHOIUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XuYTvX+//Hnuuc8ZgwzzMnIoYSKEEKMQyk6aNvpsJVo\n79L+pnJIomQmOyRyCB333sjuQO3a1a6ktnGmCDmLQpgzY4wxx3t9fn/c5ZcYRs3Mumfm9bgu18W6\n133fr/nMTNf9aq33WpYxxiAiIiIiIuLFXE4HEBEREREROR8VFxERERER8XoqLiIiIiIi4vVUXERE\nRERExOupuIiIiIiIiNdTcREREREREa+n4iIiIhXO5XLRqFEjp2OIiEglouIiIlJFuFyuC/ozf/58\nR/NaluXo+/9WP6/f2ezfv5+mTZvicrkYOnQoP98qrVu3buf8XvTt27civwQRkUrJ1+kAIiJSNhIS\nEs4oA3PnzuXAgQMMGjSIhg0bnvZY69atKzBd1XK20vXtt9/Su3dv0tLSmDRpEk888cQZ+5zt+wDQ\nrFmz8ogpIlKlqLiIiFQRCQkJZ2xbunTpqeISHx/vQKrqISkpiT/84Q/k5+czb948BgwYcNb99H0Q\nEfntdKqYiEg19POpS/v27WPmzJlcccUVBAUFnTpl6fjx40yZMoUePXoQFxdHQEAAkZGR9OnTh7Vr\n15b4urt37+Yvf/kLjRo1IjAwkMjISK655hqmT59eqlzvvvsugYGBNGnShO+//77E/fLz86lduzZ1\n6tShqKjorPuMHDkSl8vFG2+8cWrbypUr6dOnD/Xr1ycwMJCoqCjatWvHyJEjS5XvbBYtWkSvXr0w\nxvDxxx+XWFpEROT3UXEREanGHnnkEZ555hnatGnDsGHDaNeuHQA7duxg7Nix+Pr6csstt/DYY4/R\ns2dPkpKSiI+P57PPPjvjtT755BNat27NvHnzuOyyy3jssce444478PX1ZcKECefNMn36dO68805a\ntWrF2rVrufjii0vcNzAwkLvuuoujR4/y3//+94zH3W43b775JiEhIfTr1w+AxYsX061bN1atWsW1\n117LyJEj6devH7Vq1WLWrFnYtl3aZTtl1qxZ/OlPf6J27dokJSVx/fXXn3P/n2deRETkwulUMRGR\nauzbb79l8+bNXHTRRadtv+yyy0hJSSE8PPy07YcPH6Z9+/aMGDGC3r17n9qemZlJ//79cbvd/O9/\n/6Nbt25nPK8ktm0zYsQIXnzxRW655RYWLlxIYGDgebPfd999vPrqq8yfP/+M4fbPP/+ctLQ0Bg0a\nRHBwMACvv/46xhiWLVtGy5YtT9s/KyurxIH7kowZM4bJkydz8cUX8/nnn9O4cePzPmfevHkkJSWd\nts2yLEaPHk1AQMAFvb+ISHWj4iIiUo2NGjXqjNICULNmzbPuX69ePW677TZmz57NoUOHiIuLA2D+\n/Pnk5OQwZMiQM0rLz887m4KCAu6++27ef/99/vrXvzJnzpxSX22sffv2NG/enM8++4zMzEzq1Klz\n6rF58+YBnpmSXztbKapdu3ap3vNnxhgmT56Mn58fn332WalKC3DWK7lZlsXw4cNVXEREzkOniomI\nVGPt27cv8bHVq1dzxx13nJoH+fnSvbNnzwZOP4qybt06gNOOwpzPyZMnufbaa3n//feZOHEiL730\n0gVfInngwIEUFRXx5ptvntqWlZXFRx99ROPGjU8bhL/nnnsAuPrqq3nwwQd5++232b9//wW93y/1\n6tWLoqIi+vfvT1ZWVqmes2zZMmzbPu2P2+0usSiKiMj/p+IiIlKNRUdHn3X7Bx98cGqWpV27djzy\nyCOMGzeOxMREunbtCniOlvzs2LFjQMlHVs4mJyeHjRs3Ehoayg033PCb8g8YMAAfH5/TjmQsXLiQ\nwsJC7r333tP27du3L5988glt27Zl/vz53H333TRu3JiWLVvy/vvvX9D7WpbFRx99xB/+8Ac2bNhA\nt27dyMjI+E1fg4iIlI6Ki4hINVbSEY6nn36awMBANmzYwPvvv8+UKVNITExk3LhxXHrppWfsX6tW\nLQAOHTpU6veOiorik08+wbZtevTowVdffXXB+WNiYrj++uvZvHkzW7duBTyniblcLgYOHHjG/r17\n9+aLL74gOzub5cuXM3r0aA4cOMDtt9/OihUrLui9fX19effdd+nfvz9bt24lPj7+nLM8IiLy+6i4\niIjIGfbu3ctll11G06ZNT9tu2zarVq06Y/+OHTsCnPVqY+fSvXt3Pv/8c4wx9OzZk5UrV15w1p/n\nWObNm8fu3bv5+uuviY+Pp0GDBiU+JyAggC5dujBx4kSmTp2KMYb//Oc/F/zePj4+LFiwgPvvv5/d\nu3cTHx//u04/ExGRkqm4iIhUU+eaJ2nUqBHfffcdKSkpp7YZY0hMTGTnzp1nPHfgwIHUrFmT1157\njWXLlp3xeuc6EtOpUye+/PJL/P396d27N19++eUFfR233nortWvX5s033+Qf//gHcPah/OXLl+N2\nu8/Y/vPXWKNGjQt6359ZlsVrr73G0KFD2bdvH126dOG77777Ta8lIiIl01XFRESqqXPdU2T48OH8\n9a9/pXXr1vzxj3/Ez8+P1atXs3PnTm655RY+/vjj0/aPiIjgrbfeol+/flx33XXccMMNtGzZkhMn\nTrBt2za2bNnCkSNHSny/tm3bkpSURM+ePbnlllt47733uOmmm0r1dfj7+/OnP/2Jl156iZkzZ552\n75ZfGjp0KIcOHaJz5840aNCAwMBAtmzZwpIlS6hTpw6DBw8u1fuVZPr06QQHBzNp0iS6du3KF198\nwRVXXPG7XlNERP4/x4+4zJkzhyuvvJKwsDDCwsLo1KkTn3766Wn7JCYmUq9ePYKDg+nevTs7duxw\nKK2ISOViWdZZj6yUtP1ngwcPZu7cucTExPDGG2/w9ttv06BBA77++mvatGlz1ufeeOONbNy4kQED\nBrBlyxamTZvGokWLKC4uJiEh4bxZW7RowfLly4mIiOC22267oIH5++67D4Di4mL69et36t4tv/TU\nU09xww03sHPnTubOncvLL7/Mjz/+yPDhw9m0aRP169cv9fuVZMKECUyYMIG0tDS6d+/Oxo0bgfOv\nt4iInJ9lHL6N70cffURAQABNmjTBtm3mzZvH888/z/r167nyyiuZPHkyEyZMYP78+Vx66aWMHz+e\nVatWsXv3bkJCQpyMLiIiIiIiFcTx4nI2ERERPPfcc9x///3Exsby6KOPMmbMGADy8/OJjIxk6tSp\nv/uwvoiIiIiIVA6Onyr2S263m3feeYf8/Hzi4+PZt28faWlpXH/99af2CQwMJD4+njVr1jiYVERE\nREREKpJXDOdv3bqVjh07UlBQQFBQEIsWLaJp06anyklUVNRp+0dGRpKcnHzG62RnZ1dIXhERERER\nKVthYWHnfNwrikuzZs3YsmUL2dnZvPvuu9x1110kJSWd8zkachQRERERqT684lQxPz8/GjduTOvW\nrZk4cSIdOnRgzpw5xMTEAJCWlnba/mlpaURHRzsRVUREREREHOAVR1x+ze12Y9s2jRo1Ijo6miVL\nlnDVVVcBnuH8VatWMXXq1HO+xvkONUnZ2rBhA23btnU6RrWjdXeG1t0ZWndnaN2doXV3hta94l3I\nqIfjxWX06NHcfPPNxMXFkZOTw1tvvcXy5ctZvHgxAMOGDWPixIk0a9aMJk2a8OyzzxIaGkr//v0d\nTi4iIiIiIhXF8eKSlpbGPffcQ2pqKmFhYVx55ZUsXryYnj17AjBq1Cjy8vIYMmQIWVlZdOjQgSVL\nllCjRg2Hk4uIiIiISEVxvLjMnTv3vPskJCSU6q7LIiIiIiJSNXnFcL6IiIiIiMi5qLiIiIiIiIjX\nU3ERERERERGvp+IiIiIiIiJeT8VFRERERES8noqLiIiIiIh4PRUXERERERHxeiouIiIiIiLi9VRc\nRERERETE66m4iIiIiIiI11NxERERERERr6fiIiIiIiIiXk/FRUREREREypRtTJm/poqLiIiIiIiU\nmcM5Rdzz6UE2puWV6euquIiIiIiISJnYlJ7HPZ8dZOfRAuZsPoIpwyMvvmX2SiIiIiIiUm199P1x\n/rYujWIbOsUG81yXaCzLKrPXV3EREREREZHfzG0bZm06wvwdWQD0b1aL4VfVwddVdqUFVFxERERE\nROQ3yi2yeXJVKisO5eJrwRPtI+l3aVi5vJeKi4iIiIiIXLDkE0UMS0pmz7FCavq7mBIfQ/uY4HJ7\nPxUXERERERG5IJvT8xixLIWsAjcNa/oxo3ssDWr6l+t7qriIiIiIiEipffz9cf62Lp0i29AhJpjn\n46MJ9fcp9/dVcRERERERkfOyjWH2piPM3e4Zwr+zaRgj29Yt8yH8kqi4iIiIiIjIOZ0ssnlqVSrL\nDuXiY8GodnW5o2mtCs2g4iIiIiIiIiVKyfUM4X+XVUiov4vn42PoUI5D+CVRcRERERERkbPakuEZ\nwj+S7+aiUD9mdo+lYVj5DuGXRMVFRERERETO8Nm+4ySuSafQNrSPDuL5+BjCAsp/CL8kKi4iIiIi\nInKKbQwvbz7C37d5hvD7XRrGqHZ18augIfySqLiIiIiIiAgAeUU2Y9eksvTHXFwWPN62Lnc2DcOy\nnC0toOIiIiIiIiJAWm4Rw5alsOtoASF+Lp6Pj6ZjbA2nY52i4iIiIiIiUs1ty8xn+LJkMvPc1P9p\nCL+RQ0P4JVFxERERERGpxhbvyyFxbRoFbkPbqCCmdI2hloND+CVRcRERERERqYZsY3h1y1Fe23IU\ngD9eUpPR7SPx83F+nuVsVFxERERERKqZvGKbhDVpfHHgBC4LHruqDn9qVssrhvBLouIiIiLine truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9cad2b79e8>"
"<matplotlib.figure.Figure at 0x7f6b7d07a630>"
]
}
],
@@ -599,6 +611,9 @@
"plt.plot(t, xs2, label='track')\n",
"plt.plot(t, kxs2[:,0], label='filter')\n",
"plt.xlabel('time (sec)')\n",
"plt.ylabel('X')\n",
"plt.title('Effects of Acceleration')\n",
"plt.legend(loc=4)\n",
"plt.show()"
],
"language": "python",
@@ -607,9 +622,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAxkAAAGdCAYAAAB+Xb4YAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XeYVOXdxvHvc7b3vvSiCFKk7xpjwZgIsUQNdrGjoogo\nIqKgxoYoVRQVxYLYu5JYidFEjVF3aVJXkN6W7b3NnOf9Y4RX3zdIm92Z2b0/1+V14cPMnh8nZndu\nznnuY6y1FhERERERET9xAj2AiIiIiIg0LwoZIiIiIiLiVwoZIiIiIiLiVwoZIiIiIiLiV+FNdaCy\nsrKmOpSIiIiIiPhRUlLSAb1eVzJERERERMSvFDJERERERMSvmux2qZ870Mstcmhyc3PJysoK9Bgt\njs57YOi8B4bOe2DovAeGzntg6Lw3vUPZ7qArGSIiIiIi4lcKGSIiIiIi4lcKGSIiIiIi4lcKGSIi\nIiIi4lcKGSIiIiIi4lcKGSIiIiIi4lcKGSIiIiIi4lcKGSIiIiIi4lcKGSIiIiIi4lcKGSIiIiIi\n4lcKGSIiIiIi4lcKGSIiIiIi4lcKGSIiIiIi4lcKGSIiIiIi4lcKGSIiIiIi4lcKGSIiIiIi4lcK\nGSIiIiIi4lcKGSIiIiIi4lcKGSIiIiIi4lcKGSIiIiIi4lcKGSIiIiIi4lcKGSIiIiIi4lcKGSIi\nIiIi4lcKGSIiIiIi4lcKGSIiIiIi4lcKGSIiIiIi4lcKGSIiIiIih2hNcS0jP93G9sqGQI8SFBQy\nREREREQOUkmtl0nf5DPsgy18s6Oaud8XB3qkoLDPkOHxeJg4cSKHH344MTExHH744dx11114vd5f\nvO6ee+6hXbt2xMbGctJJJ7Fq1apGG1pEREREJJA8ruXVNaWctWAjb68tJ8zAxT2SuSUrPdCjBYXw\nfb1g8uTJPPXUU7zwwgv07t2bZcuWccUVVxAVFcWdd94JwJQpU5g5cybz58+nW7du3HfffQwePJi8\nvDzi4+Mb/Q8hIiIiItJUvttRzbTcAtaV1gPw2zaxjMvO4PCkyABPFjz2GTJycnI488wzOf300wHo\n2LEjf/rTn/j2228BsNYya9YsJkyYwNChQwGYP38+mZmZvPLKK4wYMaIRxxcRERERaRrbKxuYuaiQ\nf2yuBKB9fARjs9L5Xfs4jDEBni647PN2qVNPPZXPPvuMvLw8AFatWsXnn3++J3Rs2LCB/Px8hgwZ\n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 truncated
"png": "iVBORw0KGgoAAAANSUhEUgAAAzAAAAGxCAYAAAC9e1NPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VGX6xvHvO6mkkB46hBKkSktYVmyosLZV0RUFXSkq\nLiAKiLAgSFnUFVEQFEVUwF5QsK0uulhxdROaKIh0kBJSSICQOuf9/TGb/MzSkpBkEnJ/riuX+J72\nzJlR5s4573OMtdYiIiIiIiJSA7i8XYCIiIiIiEhpKcCIiIiIiEiNoQAjIiIiIiI1hgKMiIiIiIjU\nGAowIiIiIiJSYyjAiIiIiIhIjaEAIyJyCocPH2bUqFG0aNECPz8/XC4XX331FQAFBQVMmzaN1q1b\nExgYiMvlYsmSJV6u2HsOHDjAoEGDaNq0KT4+PrhcLnbv3u3tsirNzp07cblcDB482NullNnUqVNx\nuVx8+eWX3i5FRKTMFGBEpNZwuVyn/SkKJ0XGjRvH3Llzad68ORMmTGDq1KnExcUB8PjjjzNt2jTC\nwsIYO3YsU6dOpUuXLpX+Oi6++OJqGQ4GDRrESy+9RLdu3Zg8eTJTp04lLCys1Nu/9957xe/DW2+9\nVYmVVixjjLdLOE5RQDlZoDbGFP+IiNQ0vt4uQESkKhljmDJlykmXN2vWrMS/f/jhh4SGhrJixQp8\nfHyOW2aM4aOPPiI2NrZS6j2Z6vbFMz8/n08//ZQ2bdqwbNmycu1jwYIFxX9+7rnn6NevX0WVV2ud\n7HNy9913079/f5o0aVLFFYmInDkFGBGpdR588MFSr7tv3z7i4uKOCy9Fy4AqDy8A1lqstVV+3JM5\ncOAA1lrq169fru137drFihUr6NmzJ47j8Pnnn7Nt2zZatmxZwZXWLif7jERFRREVFVXF1YiIVAzd\nQiYicgJFt2nB/891cLlc9OrVi8GDB+Nyudi5cyfW2uJlzZs3L7GPNWvWcPPNN9OwYUMCAgJo2LAh\nt912G9u2bTvhMXNycnjsscdITEwkNDSUkJAQ2rRpw4gRI9izZw9AidvcmjdvfsJjb9++nbvuuov4\n+HiCgoKIjIykXbt23H777cX7KY1169bRr18/6tWrR0BAAE2bNuWOO+5g586dJdaLi4srvq3uiy++\nKK6pLHNDnn/+eRzHYfDgwQwePBhrLQsXLjzp+qU5V+VZNzc3l1mzZtGtWzdCQkIICQkhMTGxxNWh\n0ijLfoo+X7169WLfvn0MGTKEBg0a4Ovry3vvvQfA6tWruffee+nUqRNRUVHUqVOH1q1bM2bMGA4d\nOlRifxdffDHTp08HKP6sFv0U3XZYdIvZ/94yCZ738KqrriIqKorAwEBatmzJ6NGjSUtLO27dQYMG\nFc+lWbp0Kd27dyc4OJioqCj69+9fHPJFRCqSrsCIiJzA4MGD6dWrV/Ecl9GjRwOeL+thYWHExcUx\nZ84csrKymDp1KgDh4eHF27/66qsMGjSIwMBArrnmGpo0acKWLVt4/fXX+eCDD/jiiy/o1KlT8fqH\nDh3ikksuYf369ZxzzjncfvvtBAYGsm3bNl577TX+8Ic/0KRJE6ZMmcLixYvZtWsXo0aNKj5m0T/3\n799PYmIiR44c4YorruCGG24gPz+fXbt28e6773LLLbeU6rahjz/+mL59+2Kt5frrr6dly5asX7+e\nF198kWXLlrFy5cri+kePHs3OnTt58skniYuLY9CgQQB07ty5VOe6sLCQF198keDgYPr164e1llGj\nRrF48WJmzJiBr2/Jv6pKe67Kuu6RI0e47LLLSEpKomvXrgwZMgSATz75hGHDhvHdd9+xaNGi076e\n8u4nPT2d8847j/DwcG666SYcxym+SrJw4UKWL1/OxRdfTJ8+fXAch+TkZObMmcPHH39MUlISISEh\ngOeza4zhyy+/5LrrrivxPpxuTtLzzz/P0KFDCQ4O5sYbb6RBgwasWrWKJ598kmXLlrFq1SoaNWp0\n3Hbz58/n/fff59prr6VXr1589913vPnmm6xfv55169bh7+9/2vMmIlJqVkSkljDGWGOMnTp1qp0y\nZcpxP1OnTj3hNs2bNz/h/po1a2ZdLtdx41u2bLEBAQG2VatWdt++fSWWffHFF9bX19d269atxHj/\n/v2tMcYOHTr0uP3l5OTYjIyM4n+/6KKLrDHG7tq167h1586da40x9sknnzxuWX5+vj169OgJX8tv\nHT161EZHR1tfX1/7xRdflFj2wgsvWGOM7dixY4nxnTt3WmOM7dWr12n3/7+WLVtmjTF24MCBxWO3\n3XabNcbYt99++7j1y3KuyrLu7bffbo0xdubMmSXWy8vLs1dddZU1xtgPPvigeHzHjh3WGGMHDx5c\nYv3y7qfoHLjd7uNq3bVrl3Uc57jxovfj73//e4nxKVOmWGOMXbJkyXHb/Hb5l19+WTy2e/du6+/v\nb0NDQ+3GjRtLrD958mRrjLFXX311ifGBAwdaY4wNCwuzP/74Y4llAwYMsMYY+9Zbb52wBhGR8lKA\nEZFao+hL4sl+ThRGyhNgxowZc9yX1N/q27evNcYUf0lMSUmxLpfLNmjQwGZnZ5/2dZwqwMybN88a\nY+yCBQtOu5+TeeWVV6wxxt50000nXN6tWzdrjLH//ve/i8eKvoSXJ8Bcfvnl1hhTIix98cUX1hhj\ne/fuXWLdspyrsqybnp5+wmBZ5IcffrDGGNuvX7/isRMFmDPZT2BgoE1NTT1lnf/LcRxbt25de+ml\nl5YYL0+AmTFjhjXG2PHjxx+3fm5urm3YsKE1xpQI5UUBZvLkycdt8/nnn1tjjL3//vvL9JpERE5H\nt5CJSK1ijMHtdlfqMVatWgXAl19+SXJy8nHLU1JSAPj5559p27YtSUlJWGs5//zzCQoKOqNjX3PN\nNUycOJG7776bTz75hD59+vD73/+ec889t9Sdy9asWQPAJZdccsLll112GWvWrGHt2rX06NHjjOot\nmrzfvHlzLrroouLxiy66iBYtWvCvf/2LHTt2FM/xKcu5Ksu6//nPf3C73Rhjim8J/K2CggIANm3a\nVGn7iYuLIzo6+oT7LSgoYMGCBbzxxhts3LiRw4cP4zhO8fK9e/eesq7SONX7HhAQwPnnn8/bb7/N\n2rVradCgQYnlCQkJx23TuHFjgOPm6IiInCkFGBGRCpaeng54nhNzMsYYjh49CkBmZibACecWlFXT\npk1JSkpi2rRpfPLJJyxfvhyAevXqMXLkSP76178WNyc4maysLICTdhQrGi+q+0wsXLgQay0DBw48\nbtnAgQOZMmUKCxcu5OGHHy5xzNKcq7KsW/SerV69mtWrV59wHWMM2dnZlbafU3Vwu+mmm1i+fDkt\nW7akb9++1K9fn4CAAKy1zJkzh7y8vFPWVRqne9+LQkvRer/12/lfRYrmLlX2LwxEpPZRgBERqWBh\nYWEYY0hPTz/hF7v/FRERAVTMb9EBzjnnHF577TUcx2HDhg2sXLmSp59+mkmTJuF2u5k8efJp6wdP\na+QT2b9/f4n1yqto8j54umKd6IoFwOLFi5k+fTq+vr5lOldlWbfotdxzzz3MmTOnNOVX+H5OdoUs\nOTmZ5cuX07t3bz7++OMSAdRay6OPPlruen+rqPb9+/dz7rnnHre8ot53EZEzpTbKIiIV7LzzzsNa\ne8IWtSfSvXt3jDF88803p/0NP1D8TJrT/Wbb5XLRqVMnRo8ezccffwxQfEXmVLp16wbAypUrT7i8\naLxovfL64IMPOHDgAK1ateKOO+444U+bNm04cOAA77//PlC2c1WWdXv06HHStsJlUVH7+a2tW7cC\nntsD//fq2ffff09ubu5x25T2M/JbRe/n559/ftyyvLw8Vq1ahTGGrl27lnqfIiKVQQFGRKSC3X33\n3fj7+3PfffexefPm45YXFhaW+JIYHR1N//79OXDgAGPGjDnu4YM5OTkl5hEUtdbdtWvXcftes2bN\nCW/tKvrteWnm2Fx33XVERUWxdOlSvv766xLLFi9ezOrVq+nQoQO/+93vTruvUyl6JsqUKVN47rnn\nTvgzY8YMAJ577jmgbOeqrOv++c9/Zt26dUybNu2EX/x//fXXE76fv1VR+/mtovk//xssDh48yIgR\nI064zak+Iydz66234u/vz/z584+r75FHHmHfvn1ceeWV5X5YqYhIRdEtZCJSq1hrmTZt2kmfUH7F\nFVec8Rfz1q1bs3jxYgYPHkyHDh24/PLLiY+Px+12s2fPHlatWkVBQQEZGRnF2zz11FP89NNPLFy4\nkC+//JI//OEPBAYGsnPnTj799FMWL17MNddcA0CfPn1YunQpd955J9dffz2hoaFEREQwYsQIXnrp\nJRYsWEDPnj1p2bIlUVFR7Nq1i/feew9fX1/GjRt32vqDgoJYvHgxN9xwA5dddhk33HADzZs354cf\nfuAf//gHERERvPTSS2d0jopeV2RkJDfeeONJ17vmmmuIiYnh008/ZdeuXTRr1qxM56os686bN48t\nW7Ywbdo0Xn75ZS644ALq16/PgQMH2Lx5M99//z2zZ8/mnHPOOeVrq6j9FElMTKRnz568++679OzZ\nk549e5KSksInn3xCmzZtaNiw4XGf50svvRSXy8WcOXNIT0+nXr16gOfWtrp1657wOE2bNmXu3LkM\nGzaMhISE4oeYfvvtt3z11Vc0adKEZ555plQ1i4hUKq/0PhMR8YKiVsmnaqP8v89POVUb5bi4uBO2\nUS6yceNGe8cdd9jmzZvbgIAAGxERYdu1a2eHDBliP/roo+PWP3bsmH3kkUds586dbVBQkA0JCbFt\n27a1d999t/3111+L13Mcxz744IO2VatW1t/fv0SN33//vR0+fLjt3LmzjYqKsoGBgbZly5Line truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9cad598e80>"
"<matplotlib.figure.Figure at 0x7f6b7d2662b0>"
]
}
],
@@ -637,6 +652,8 @@
"plt.plot(t, kxs2[:,0], label='filter')\n",
"plt.legend(loc=4)\n",
"plt.xlabel('time (sec)')\n",
"plt.ylabel('X')\n",
"plt.title('Large Q (var=2.0)')\n",
"plt.show()"
],
"language": "python",
@@ -645,9 +662,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAxkAAAGdCAYAAAB+Xb4YAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdgFHX+xvH3bHrvBUIJJfROKCKiKHAqKuIdFrCiIooo\noqJggfMQRBERsHsiiogFEc+KBRVElAAivUiVEhJSSELK7s7390e8/I7zkGKSSXlef4XZmeTJl7Cb\nh535jGWMMYiIiIiIiJQTl9MBRERERESkZlHJEBERERGRcqWSISIiIiIi5UolQ0REREREypVvZX2h\n3NzcyvpSIiIiIiJSjiIiIk5pf72TISIiIiIi5UolQ0REREREylWlnS71n0717Rb5c9LS0khNTXU6\nRq2jdXeG1t0ZWndnaN2doXV3hta98v2Zyx30ToaIiIiIiJQrlQwRERERESlXKhkiIiIiIlKuVDJE\nRERERKRcqWSIiIiIiEi5UskQEREREZFypZIhIiIiIiLlSiVDRERERETKlUqGiIiIiIiUK5UMERER\nEREpVyoZIiIiIiJSrlQyRERERESkXKlkiIiIiIhIuVLJEBERERGRcqWSISIiIiIi5UolQ0RERERE\nypVKhoiIiIiIlCuVDBERERERKVcqGSIiIiIiUq5UMkREREREpFypZIiIiIiISLlSyRARERERkXKl\nkiEiIiIiIuVKJUNERERERMqVSoaIiIiIiJQrlQwRERERESlXKhkiIiIiIn/S5qwibv1iH/vz3U5H\nqRJUMkRERERETlN2kZeJK9IZ/NFeVhw4yos/ZzkdqUo4YcnweDyMGzeOxo0bExQUROPGjXnooYfw\ner3H7DdhwgSSkpIIDg6md+/ebNy4scJCi4iIiIg4yWMb3tycw4BFu1iw7Qg+FgxpGcndqbFOR6sS\nTlgyJk2axAsvvMDMmTPZsmULTz/9NM8++yyTJ08u22fKlClMmzaNWbNmsXLlSuLj4+nbty/5+fkV\nGl5EREREpLL9eOAoV320h8dXZpBXYtMz3o9/xW7mrgVjCD28z+l4VYLviXZYuXIll1xyCf379weg\nQYMGXHTRRfzwww8AGGOYPn06Y8eOZeDAgQDMmTOH+Ph45s2bx7BhwyowvoiIiIhI5dif72baqky+\n3FP6H+ntrVwezltGwy8/hJzDAJjFC7Guu9PJmFXCCUvGBRdcwJQpU9iyZQvNmzdn48aNLFmyhHHj\n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 truncated
"png": "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\nc90vuBl7RoYOHcqHH35I5cqVmTJlSrZf/3JCQkIArrinSEQkp1GAERG5RdLS0mjatCnr1q2jSpUq\nPP7444SFheHh4YExhnfffZfz589f9tzChQtfMnbh/7oXKlTosudcbvzkyZMALF26lKVLl172PMuy\nSExM/Mf3U7RoUQD279//j3MPHDgAQLFixf5x7oUagCt+P0mbNm0IDg5m2rRpjBgxAnd3dxYvXszR\no0fp1KkTvr6+mXOze91vlsGDB/POO+9QrVo1lixZcsW7KZdzYe6FPxN/d2G8QIEClxxzuVzApXul\nRERyKgUYEZFbZN68eaxbt46nn36aL7744qJjR44cuerm+ct9uAwMDAQgLi7usudcbvzCB93Ro0ff\n8JdDXtj8vWLFCpxOJ25ublecu2TJEiDjrlBWhIaGAnDq1KnLHvf09OSxxx7jk08+YcGCBTzwwANX\nfHwsu9f9guzcA9OnTx+GDBlCVFQUixYtumzQuJrIyEjg//fC/N3OnTuBy++RubDGYWFh1/SaIiJ2\nUYAREblF/vrrLwAefPDBS46tXLnymq9XoUIFvL292bp1K2fPns0MNBdcbsN8vXr1APj5559vOMA0\natSI8uXLExsby+eff87zzz9/2XlHjhxhwoQJWJaV2Y3sn5QpUwbI+Gb5K+nUqROffPIJMTExNG7c\nmHnz5lGmTBkaNmx40bzsXvcLsmsPzGuvvcaYMWOoW7cuCxcuvOzjgP+kSZMmQEYnMWPMRcErISGB\n1atX4+fnR506dS4598LjcxfWXEQkp1MbZRGRW+TCRvILLW8v2L17N2+++eY1X8/Dw4PHHnuMs2fP\nMnDgwIuObd68ObOT1f+qWbMmjRo1Yt68eZfsj7lgx44dmY98XY1lWXz66ae4u7vTo0cPZs6cecmc\n/fv306pVK+Lj4+nevXuW78BcCCG//fbbFedER0dTsWJF5s+fz9ixYzl//jwdOnS4ZF52r/sFe/bs\nweVyZfnHsmXLLjrfGEPXrl0ZM2YMjRo1YvHixf8YXpKTk9m+ffslG+7LlClD8+bN2bNnDx9//PFF\nx/r160dSUhJPPfUUPj4+l1zzwhpf7jtpRERyIt2BERHJBsaYSx5dusCyLEaOHMn999/P7bffzujR\no9myZQvVq1dn//79zJ8/n1atWvH1119f8+u+9957LFu2jFGjRvHbb79Rv359jh49yjfffEPLli2Z\nO3fuJS2Op02bxl133UWXLl346KOPuOOOOyhYsCCHDh3ijz/+YNOmTcydOzdL3cUaNWrEjBkz6NCh\nA48++ijDhg2jQYMG+Pj4sGPHDn788UfS0tJ46aWXGDVqVJbfV926dfH39//HtsudOnWiZ8+emV88\nebk7HDdj3bPDgAEDGD9+PJ6entSuXZvhw4dfMufvj52tXbuWpk2bUqpUqUuaCIwbN4569erxyiuv\nsHTpUiIjI1m7di0rVqygfPnyDB48+LJ1rFq1CsuyuPvuu7P3DYqI3CxGRERuiGVZxuFwGMuyLvpx\nYczhcJh9+/YZY4w5cOCAeeKJJ0yxYsWMj4+PqVy5shkxYoRJT083lmWZJk2aXHTt/v37G4fDYWJi\nYq74+ocOHTIdO3Y0YWFhxsfHx9SoUcNMnjzZzJo1y1iWZT744INLzklMTDTDhg0z0dHRJiAgwHh7\ne5uIiAjTokULM3bsWHP69OlrWoMjR46Yt956y1SvXt0EBgZetA4//vjjNV3rgi5duhjLssz27duv\nOOfo0aPG3d3dOByOS9buf92Mdb9RnTp1Mg6H47J/di78+HtdK1asMJZlmYiIiMte8+DBg6Zz586m\nSJEixtPT05QuXdr06NHDnDlz5rLzz507Z/z8/Mxdd92V7e9PRORmsYy5QosXERHJ1d5++22GDh3K\nTz/9lOXvE8lOb7zxBqNHj6ZWrVqsXLnyos5gWbF582Zq1KhB7969GTRo0E2qMn+bPHkynTp1YubM\nmTz00EN2lyMikiUKMCIiudzhw4czWxpfsGXLFurVq4e3tzeHDh3C09PzltdljKFdu3bMnj2bli1b\nMm/evEseZ/snjz76KEuWLGHv3r3XtbldrszlclGtWjU8PT3ZsGGD3eWIiGSZ9sCIiORyderUoXTp\n0lSuXBk/Pz927tzJ/PnzAZgwYYIt4QUy9v5MnTqV999/n7S0NLZs2UK1atWu6RrvvfceFSpUYMyY\nMbzzzjs3qdL8aebMmWzbti2zxbWISG6RJ+7AXOmLu0RE8oMRI0bwww8/sG/fPs6dO0eBAgWIiori\n5ZdfznLXLxEREbtcyxf3ggKMiIiIiIjY6FoDjL4HRkREREREco08twfmWhOc3Jj169cTFRVldxn5\njtbdHlp3e2jd7aF1t4fW3R5a91vvRp6g0h0YERERERHJNRRgREREREQk11CAERERERGRXELine truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9ca535a048>"
"<matplotlib.figure.Figure at 0x7f6b7d266390>"
]
}
],
@@ -676,6 +693,8 @@
"plt.plot(t, kxs2[:,0], label='filter')\n",
"plt.legend(loc=4)\n",
"plt.xlabel('time (sec)')\n",
"plt.ylabel('X')\n",
"plt.title('Huge Q (var=20.0)')\n",
"plt.show()"
],
"language": "python",
@@ -684,9 +703,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAxkAAAGdCAYAAAB+Xb4YAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8VfXh//HXudmEEFYCsofsJRIcaHHvrXVWq1KLA61o\nLW7BURRUtCpaR1Xcu+5aHNSKlBGWslGQTQgQQgLZ9/z+SH9Y2m/LMHAzXs/Hw4dwPueS9/2Qcd+c\n+/mcIAzDEEmSJEmqIpFYB5AkSZJUu1gyJEmSJFUpS4YkSZKkKmXJkCRJklSl4vfWB8rPz99bH0qS\nJElSFUpPT9+l872SIUmSJKlKWTIkSZIkVam99napf7Wrl1v002RnZ5OVlRXrGHWO8x4bzntsOO+x\n4bzHhvMeG8773vdTljt4JUOSJElSlbJkSJIkSapSlgxJkiRJVcqSIUmSJKlKWTIkSZIkVSlLhiRJ\nkqQqZcmQJEmSVKUsGZIkSZKqlCVDkiRJUpWyZEiSJEmqUpYMSZIkSVXKkiFJkiSpSlkyJEmSJFUp\nS4YkSZKkKmXJkCRJklSlLBmSJEmSqpQlQ5IkSVKVsmRIkiRJqlKWDEmSJElVypIhSZIkqUpZMiRJ\nkiRVKUuGJEmSpCplyZAkSZJUpSwZkiRJkqqUJUOSJElSlbJkSJIkSapSlgxJkiTpJ1qwsZgrP1vF\n6sKyWEepFiwZkiRJ0m7KK67gnsk5XPDRCiav2cpT32yMdaRqYYclo7y8nFtuuYUOHTqQkpJChw4d\nuP3226moqNjuvBEjRtCyZUvq1avHEUccwbx58/ZYaEmSJCmWyqMhry7YxGnv/cDbizcTF8AvujXk\nt1lNYx2tWojf0QkjR47kySef5IUXXqBXr17Mnj2bSy65hKSkJG677TYARo0axZgxYxg3bhydO3fm\nrrvu4phjjmHhwoXUr19/jz8JSZIkaW+ZumYr92fn8t2mUgAO3qceN/TPoEN6YoyTVR87LBnTpk3j\n1FNP5aSTTgKgTZs2nHzyyUyZMgWAMAx5+OGHufnmmznjjDMAGDduHJmZmbzyyisMHjx4D8aXJEmS\n9o7VhWWMmb6ez5cXAtCqfgLXZzXl8FapBEEQ43TVyw7fLnXCCSfwxRdfsHDhQgDmzZvHhAkTtpWO\npUuXkpOTw7HHHrvtMcnJyQwcOJBJkybtodiSJEnS3lFUHuWPszdw5vvL+Hx5IclxAVfv14S3Tm3D\nEa3rWzD+Dzu8knHVVVexcuVKunXrRnx8POXl5dx2221cccUVAKxduxaAZs2abfe4zMxMVq9evQci\nS5IkSXteGIZ8tryQMdPXs3ZLOQDHt6vP0P2b0iw1YftzN28inPABwTFnENRzucAOS8YjjzzCc889\nx2uvvUaPHj2YOXMm1157Le3atWPQoEH/87H/rdVlZ2fvXlrtNuc8Npz32HDeY8N5jw3nPTac99jY\nm/O+sjjCazkpLNxa+XK5dVIF5zUvonNKPivmr2IFQBiSuvJ7mk7/kobzs4lUlLNsbQ4b+h2+13Lu\nSZ06ddrtx+6wZPz+97/ntttu45xzzgGgR48eLFu2jHvvvZdBgwbRvHlzAHJycmjVqtW2x+Xk5Gwb\n+3dZWVm7HVi7Ljs72zmPAec9Npz32HDeY8N5jw3nPTb21rznl1TwxOwNvPlDPtEQGiZFGLJfU85o\nDpGVSwjXroY1K2DtSsKlC2Hl0soHBgHsfwjtBhxO+1614/MjPz9/tx+7w5IRhiGRyPZLNyKRCGEY\nAtC+fXuaN2/O+PHj6devHwDFxcVMnDiRBx54YLeDSZIkSXtLRTTk7cX5PD5rA/mlUeIIubpRHhcU\nfkvic1/Dwm+IRqP/+cD0xgRHn05w7JkEzVru/eDV1A5Lxumnn859991H+/bt6d69OzNnzuShhx7i\n4osvBirfEjV06FBGjhxJ165d6dSpE/fccw9paWlccMEFe/wJSJIkSTsrLNwMSckECT9uNzs9p4jR\n09axKK+U5ltyGbbuC45a9jXxG9b++MD4eOjQlWCf1tC88r9gn9bQqSdBQsL/8ZHqth2WjIceeogG\nDRowZMgQcnJy2GeffRg8eDB33HHHtnOGDRtGUVERQ4YMIS8vj4MOOojx48eTmpq6R8NLkiRJ/00Y\njcLKpYTzZ8GCWYQLZle+1SkpGfocSEGvAYyNdOOtDUn0z53Doz/8lYNWZhOE/7xi0bAJQb9DCbJ+\nBn0OdEH3LthhyUhNTeWBBx7Y4Vufhg8fzvDhw6ssmCRJkrSzwopymP414bLvYOUSwhVLYOUPUFq8\n/YmJSVBSDFO/JG3ql9wEXJ7UgEYlmyvH4+MJDjme4PizoUtvgsgO7/ig/8MOS4YkSZJUnYXRKNH7\nb4TJX/znYNPmBF17Q9f9oGtv/hbXkue//o6OS6Zx6JoZHLx+TmXBaNSU4PifExx7FkGjpnv/SdQy\nlgxJkiTVaOHrT1YWjHr1CY4+HVp3IGjdAVp1IKifBsD3m0q4f1ouU9bmAukU9z2RkwZfTEqTeFi1\nDFq1I4h3bUVVsWRIkiSpxgq//pTw9acgEiHyu1EEfQdsN15QWsEfZ2/k9YWbqAihQWKEq/Zrwlmd\n0omP/POebu12/34Q+r9ZMiRJklQjhUsWEP1D5WZEwSXXbVcwKqIh732/mUdnbmBTSQWRAM7unM5V\n+zWhYVJcrCLXGZYMSZIk1Tjhpg1ER14HpcUER55KcMovto3NWlfE6Gm5zN9YAsD+mSkM659Bl8ZJ\nsYpb51gyJEmSVKOERVuJjroB1q+t3AHqylsJgoB1W8v5w4z1fLy0AIBm9eK5rl9Tjm1bnyAIYpy6\nbrFkSJIkqcYIVy8jet9vYfn30KQZkZsepCwSz0tzNvLMtxspKg9JjARc3KMRl/ZoREqCW9DGgiVD\nkiRJNUI4ZULlGoythdCyHcFND/L3wmQe/HI5KwrKADiydSrX98ugZZo7RcWSJUOSJEnVWlhRwT4T\n/kz0648rDxx8FCsvvoXRc4uYtHoNAB3SE/ld/wwO2qdeDJPq/7NkSJIkqVoKKyog++9E/zyO5gtm\nQyRC2flDeLz9ybz62QbKQ6ifEOHKPo05u0tDEiKuu6guLBmSJEmqVsItBYSfv0f40euQsxKAsnr1\nyb7oTkYUtmPD/HwC4Mx9GzCkbxMaJ/uStrrxb0SSJEnVQhiGhB+8TPjKE1C8tfJgs5asPewsbgx7\nM3d9A6CCPhnJDOufQfcmyTHNq//OkiFJkqSYC0uKCB+7i/CrTyoP9OpP4bHnMoauvP9DZeHISIlj\n6P5NOaF9mlvSVnOWDEmSJMVUmLOa6H3Xw9KFkFyP6DV38mrDfjz17Ua2lG0lIRJwdKMibjumB/Xc\nkrZGsGRIkiRprwujUSgrgXmziI65BQo2wT6tmfWrkdy9qj7LlqwHYGCrVH7brynrFn1jwahBLBmS\nJEna48J1q4mOvQuWLICSYigt2W68uPfB3HXwUMbPD4Ay2jVI4IasDA5pmQrAuhhk1u6zZEiSJGmP\nCmdO+ufVivztBxKTCJPrMa3PiVzX7BRK1gekJkQY3Lsx53dpSEKc6y5qKkuGJEmS9ogwGiV88xnC\n1/4IYQj9DiVy5W2Q1oAwPpG/LNvCwzPWs76oAkI4rWMDru7bhKYpvkSt6fwblCRJUpULCzcTffg2\nyP4KgoDg/CsJzr6MIBJh7oZiRk9bzTe5xQD0alq5JW3Ppm5JW1tYMiRJklSlwiULiI66AXJWQVo6\nketHEvQdwMaich6dlct7320mBJokx/Gb/Ztycoc0Im5JW6tYMiRJklRlop+/R/jkvZULuzt2IzLs\nAcoz9uGN+Xn8cfZGCsuixEfgF10bcVmvRtRPjIt1ZO0BlgxJkiT9ZGFpCeEz9xOOfxuA4JgzCX49\njCnryxn94XKW5pcCMKBFPX6XlUG79MRYxtUeZsmQJEnSTxKuWU70wZvhu3mQkEhw+c2sPvAkxkzK\nZcKKLQC0Tkvghqym/KxlqnfrrgMsGZIkSdotYUUF4UevEr40FkqLIbMFZb8dzZ+2NuOF95dRGg1J\niQ/4da/G/KJbQxLjvJleXWHJkCRJ0i4LVy4l+ugIWPhN5YGBJzDh2CE8MKeUnK15AJzUIY3f9G1K\nZj1fctY1/o1LkiRpp4QVFbBsMeGUCYTvPA9lpdA4g9UXDmN4WRdmztwKQLfGSdx4QAZ9MlJiG1gx\nY8mQJEnSfxXmriX8x+eEc7Jh3gwo3LxtrPTwUxnb92JeXVFBNCymUVIc1/Rtwmn7NnBL2jrOkiFJ\nkqT/EEajhB+/TvjiI1BS/ONAZgvCHv34suPh3LmlLQXLK4gP4PxuDbm8d2PS3JJWWDIkSZL0b8I1\ny4k+difMnVF5oP9AgoOOIuiZRXbYkNHTcvkurxSIcmDzFH7XP4OODZNimlnViyVDkiRJwD+vXnz4\nKuFLj1XuFtWwCZErbiE46EhWF5bx0PT1fLZ8FQAt68fz234ZHN7aLWn1nywZkiRJAiAc9zDhey8C\nEBx2EsGvbqC4XgPGzd7A83PzKKkISY4L+FWvxlzUvSFJbkmr/8KSIUmSJMI52YTvvwSROCLDRsOB\nR/DZ8kLGfLaMtVvKATi+XX2G7t+UZqkJMU6r6s6SIUmSVMeFRVuIPjIcwpDgnF/xXZdDGP3pKrJz\nigDo3CiRG/tnsn8zt6TVzrFkSJIk1XHhcw/ButVUtOvCw+1O5fWPlhMNoWFShCH7NeWMfRsQF3Hd\nhXaeJUOSJKkOC2d8TTj+bSriEri8++XM+m4rcQGc1yWdK/o0IT3JLWm16ywZkiRJdVRYuJmSR0aQ\nAIztdg6zUlrRv1nllrSdGrklrXafJUOSJKkOWltYyqrfj2C/TeuZ3bgzn+13Ovf3b8ZRbeLine truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9ca52a70f0>"
"<matplotlib.figure.Figure at 0x7f6b7cf7dda0>"
]
}
],
@@ -712,6 +731,10 @@
" [0, 0, 1]], dtype=float)\n",
"cafilter.H = array([[1, 0, 0]], dtype=float)\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)"
],
"language": "python",
@@ -723,11 +746,15 @@
"cell_type": "code",
"collapsed": false,
"input": [
"initialize_const_accel(cafilter)\n",
"\n",
"kxs2, _, _, _ = cafilter.batch_filter(z_xs2)\n",
"plt.plot(t, xs2, label='track')\n",
"plt.plot(t, kxs2[:,0], label='filter')\n",
"plt.legend(loc=4)\n",
"plt.xlabel('time (sec)')\n",
"plt.ylabel('X')\n",
"plt.title('Constant Acceration Kalman Filter')\n",
"plt.show()"
],
"language": "python",
@@ -736,9 +763,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAxkAAAGdCAYAAAB+Xb4YAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VvX9//HnubMTQhJIAspGwxRkiws3ddVZrdLhaqmK\nVqSKs6LWoqLiHtW2irU4ax2t+sWBg+IgLFGGCMgmBJIwM+/7/P5If7S0VUADd8bzcV29CuecW175\nEO87L8857xOEYRgiSZIkSXUkEu8AkiRJkhoXS4YkSZKkOmXJkCRJklSnLBmSJEmS6lTinvqDNmzY\nsKf+KEmSJEl1KCsra5eO90yGJEmSpDplyZAkSZJUp/bY5VL/bldPt+i7KSwsZMCAAfGO0eS47vHh\nuseH6x4frnt8uO7x4brved/ldgfPZEiSJEmqU5YMSZIkSXXKkiFJkiSpTlkyJEmSJNUpS4YkSZKk\nOmXJkCRJklSnLBmSJEmS6pQlQ5IkSVKdsmRIkiRJqlOWDEmSJEl1ypIhSZIkqU5ZMiRJkiTVKUuG\nJEmSpDplyZAkSZJUpywZkiRJkuqUJUOSJElSnbJkSJIkSapTlgxJkiRJdcqSIUmSJKlOWTIkSZIk\n1SlLhiRJkqQ6ZcmQJEmSVKcsGZIkSZLqlCVDkiRJUp2yZEiSJEmqU5YMSZIkSXXKkiFJkiR9R/NL\nKrjorZWs2lwd7yj1giVDkiRJ+pZKK6Lc8lERw/6+nI9Wb+XRT0viHale2GHJqKmp4dprr6Vz586k\npaXRuXNnfv3rXxONRrc77sYbb6RNmzakp6dzxBFHMHfu3N0WWpIkSYqnmljI0/PLOPnlr/jLwo0k\nBPCj7tn8akBuvKPVC4k7OmDs2LH87ne/48knn6RXr17Mnj2bc889l5SUFK6//noAbr/9dsaPH8+E\nCRPo0qULN998M8cccwwLFiygWbNmu/2LkCRJkvaUT1Zv5Y7CYr4sqwLgwL3SuWJgHp2zkuOcrP7Y\nYcmYNm0aJ510EieccAIA7du358QTT+Tjjz8GIAxD7rnnHq655hpOPfVUACZMmEB+fj4TJ05k+PDh\nuzG+JEmStGes2lzN+OnreHvZZgDaNkti1IBcDm+bQRAEcU5Xv+zwcqnjjjuOd955hwULFgAwd+5c\nJk+evK10LFmyhKKiIoYOHbrtNampqQwZMoSpU6fuptiSJEnSnlFeE+OR2es57ZWlvL1sM6kJAZf0\nackLJ7XniHbNCIKAMBolnPkhYXVVvOPWCzs8k3HxxRezYsUKunfvTmJiIjU1NVx//fVceOGFAKxZ\nswaAVq1abfe6/Px8Vq1atRsiS5IkSbtfGIa8tWwz46evY82WGgCO7diMkf1yaZWRVHvMmhWE77xC\n+M6rsG4NkSvHwcHHxDN2vbDDknHffffx+OOP88wzz9CzZ09mzpzJZZddRseOHTn//PO/8bVfd9qo\nsLDw26XVt+aax4frHh+ue3y47vHhuseH6x4fe3LdV1REeKYojQVba39cbpdcw3nNVtF9zSrKnypi\n9fo1pK9eRrPlC7e9pjI7l1VfLqQsJWeP5dydCgoKvvVrd1gyfvvb33L99ddz5plnAtCzZ0+WLl3K\nrbfeyvnnn0/r1q0BKCoqom3bttteV1RUtG3ffxowYMC3DqxdV1hY6JrHgeseH657fLju8eG6x4fr\nHh97at03VEZ5ePZ6nv9qAynVFZxYMoPzts6hw8JPYGPpf78gOZXgoKMIjjqFtJ792DfSeJ4QsWHD\nhm/92h2WjDAMifzHYkUiEcIwBKBTp060bt2aSZMm0b9/fwAqKiqYMmUKd95557cOJkmSJO0p0VjI\nXxZu4LHpaxi0+B/cu/wDBq6bS2L03x6ul5kNbToQtOn4r//fbwBBRma8YtdbOywZp5xyCrfddhud\nOnWiR48ezJw5k7vvvptzzjkHqL0kauTIkYwdO5Zu3bpRUFDALbfcQmZmJsOGDdvtX4AkSZK0I2E0\nCovnE86ZBimpBPv2gI5dCFJSmV5UzqPvzqfvzL/z5yVv0bLyn/8FPwig2/4EA4cQDDwM2nV2itRO\n2mHJuPvuu2nevDkjRoygqKiIvfbai+HDh3PDDTdsO2b06NGUl5czYsQISktLGTx4MJMmTSIjI2O3\nhpckSZL+lzAMoWhlbamY9RHhpx/Dpn9d/hMCYUICq1t0YHNCFvcVfUpi+M+HTXfsQnD8DwkGHU6Q\n3SI+X0ADt8OSkZGRwZ133rnDS5/GjBnDmDFj6iyYJEmStLPCMITPCgnnzyZcMAe++BQ2lm1/UP7e\nBH0OJFpTTdlnc8gq/oq9ixezNxCLRIgdcBSJ3x8GPfp6xuI72mHJkCRJkuqzMAwJ77uBcPLftt+R\nlQNd9yfocyBB38GErdry7oqtjJ9ezMqcGlJrKvhxahFnZ20iZ+Bggry94vMFNEKWDEmSJDVo4bOP\n1haM1DSCo0+Bgl4EXXtBqzbbzkgsKqvkjrdX8fGacgAKspMZPbANA1r3imf0RsuSIUmSpAYr9u7f\nCZ95BCIRIlfcTjDg0O32b6qK8sjsEp5dUEY0hObJES7u05LTC7JIjHhJ1O5iyZAkSVKDFH4+nfCB\nGwEILrhyu4IRjYW8vGgj989cT1lllEgAZ3TJ4uI+LclOSYhT4qbDkiFJkqQGJ1y5lNito6CmhuDE\nYUROOGvbvllryxk3rZh5JZUA9MtPY/TAPLq2SIlX3CbHkiFJkqQGJSxaReyWS2HzRhg4hOC8UQCs\n3VrDvTPW8dqSTQC0Sk/k8v65DO3QzGlRe5glQ5IkSQ1GWPgBsXuury0YnbsRGXUr1QQ89VkJv59T\nQnlNSHIk4JyeOZzXM4e0pEi8IzdJlgxJkiTVf7EYsYkPET73WO3vBwwhuOxm3l8X467py1i+qRqA\nI9tlMKp/Hm0yk+IYVpYMSZIk1WvhxlL2efpewiVzIRIhOPtilh39I+74ZD1TV20FoHNWMlcOzGPw\nXulxTiuwZEiSJKmeCstKCP/+NOEbz9N80wbIyqHyl7/lEfbl6b8vpyaEZkkRLtq/BWd0zSbJkbT1\nhiVDkiRJ9Uq4ehnhy38ifOdVqKqdELWpQ1c+/slvuGNxAusrygiA0/Ztzoi+LWmR6o+09Y1/I5Ik\nSaoXwppqwgn3Ev5tIoRh7cZBh7HkiLMZvaI5S+YBRNk/L5XRA/Po0TI1nnH1DSwZkiRJiruwdB2x\nO0bD3JmQkEhw+AmUHfcj7inK5NUva0fS5qUlMLJfLsd1ynQkbT1nyZAkSVJchfNnExt3JZQUQ4s8\nYleM4+mwA48WlrClehNJkYCjc8q5/piepDuStkGwZEiSJGmPC6uroaSYsPB9wsfvgpoa6N6Xwp/c\nyK0LYyzduA6AIW0z+FX/XNZ+8akFowGxZEiSJGm3C8u3Ej51P+G8WbB+LWwo2W7/5mPO5KYuw5g8\nvfZG747Nk7hiQB4Ht8kAYO0eT6zvwpIhSZKk3SpcvpjY7VfAiiX/2hhJgJxcYi1b8VbPExiT2I/q\nNVVkJEUY3rsFZ3fNJinB+y4aKkuGJEmSdpvYlEmED9wIFeXQrjOR4ddAm/aEzVvw+rKt3DNjHevK\noxALOXmf5lzStyW5af6I2tD5NyhJkqQ6F1ZXE064p3YcLRAceizBxb8mSEvn8/UVjHtrNZ8WVwDQ\nK7d2JO1+uY6kbSwsGZIkSapT4fq1teNo58+GxESC868gOO5MSiui3P9hES9/uZEQaJmawC/75XJi\n50wijqRtVCwZkiRJqjPhp58Qu+tq2FAKLVsRGT2OmoJePDe/jEdml7C5OkZiBH7ULYef9cqhWXJC\nvCNrN7BkSJIk6TsLYzHCvz5B+OcHIRaD/Q8gMmosH29JYdzflrFkQxUAB+2dzpUD8uiYlRznxNqd\nLBmSJEn6TsJNG4jdPwY+eQ+A4Myfs+qE8xk/s4TJy9cD0C4ziSsG5HJomwyf1t0EWDIkSZL0rYUf\nTSb2yG+hbD00a071JTfzh5SePPm3FVTFQtISA37eqwU/6p5NcoIP02sqLBmSJEnaZeHGUsLHbif8\n4P9qN/ToywenXcVtS5Mp2loKwAmdM/ll31zy0/2Rs6nxb1ySJEk7LawoJ/zoHcLH76q9uTslleIf\njOC6zEOZMa8KqKF7ixSuGpTH/nlp8Y6rOLFkSJIk6RuFRasIp39AWPg+zCmE6tqbuGt69OexIZfy\n+Lp0YhVV5KQkcGnflpy8b3NH0jZxlgxJkiT9T2HRSmIP3QKzP/rXxiAgLNiP6b2+x+jkA9hYDIkB\nnN09m1/0bkGmI2mFJUOSJEn/IYzFCF9/jvBP90FFOaRlQN8DCfofyux2/Ri7IMqXZVVQDQe0TuPK\ngXnsk50S79iqRywZkiRJ2iZcvYzYAzfB5zMACA79HsHPRrM6IZO7p6/jrY83A9CmWSK/6p/H4e0c\nSav/ZsmQJEkSAOG094ndcRVUVUB2SyIXXkvFgMOZ8HkpT3y+lMpoSGpCwAW9WvCTHtmkOJJWX8OS\nIUmSJMLi1cTuuR6qKggOPRZ+Npq3yhIZ/8pS1mypAeDYjs0Y2S+XVhlJcU6r+s6SIUmS1MSF0Rpi\n46+DLZtgwBAWnTeGcR+vo7CoHIAuOclcNTCffq0cSaudY8mQJElq4sLnfg/zZhLLyeWhQy7hydeW\nEwshOyXCiD65nLpvcxIi3nehnWfJkCRJasLCz2cQPv8YYRBwVd+LmbwcEgI4q2sWF+7fkqwUR9Jq\n11kyJEmSmqhw0wYq7ryW5FiMx7uewuSc/RjYqnYkbUGOI2n17VkyJEmSmqA1mypYe9O19CwtYk6L\nAl4eOIw7BrbmqPbNHEmr78ySIUmS1IRURmO8PukjCp67i56li9mSmMbcn/ya5w/dh7RER9Line truncated
"png": "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\nwPTp01m4cCEbNmygUqVK+dZ76623WLJkCZ07d6Zt27Zs2rSJjz/+mO3bt/PTTz/lO/b/SmZmJj17\n9uTDDz+kadOmLF26tMAzRld6XBbm9ddfZ/ny5XTp0oU2bdqwZMkSXnvtNRISEmjXrh29e/emc+fO\nNGvWjO+++4758+dz8uRJvv766zzbmTRpErt376Z58+bcd999pKamsn79el588UVWrVrFypUrcXJy\nyrf/r776isWLF9O+fXv69u3Lr7/+ytdff01MTAw7d+68JmfN/uqysLZt23Lo0CHmzZtH48aNuf/+\n+3OX3Xzzzbm/T5w4kaFDhxIYGEiHDh0IDQ1l+/btvP322yxZsoRNmzYVeOw89dRTbNy4kY4dO3Lf\nfffh4+NTfC9ORArn6AQlIo5z++23537jXxQ//PCDsSzLVKlSxRw/fjzPspxvQAcMGJCnPecby2rV\nqpk//vgjtz0zM9O0atXKWJZlfvzxx9z2Z5991liWZRYvXpxv/0lJSXnOCOV8yzpv3rwC642Pjy/w\nrND27duNt7e3ueeee/K053y7a1mWeeKJJ4zdbs9dtnPnTuPs7Gzq16+fZ505c+YYy7LM2LFjC6zh\nryxcuNBYlmV69uyZ29ajRw9jWZb59NNP8/Xv1q2bsSzL9OnTJ9+ylJSUPN+sF6Xv448/bizLMpMm\nTcrTLy0tzXTo0MFYlmW+/PLL3PaLx6pnz54mKysr3z4OHTqUZwxzvPfee8ayLPPKK6/kaf+r97Og\nMzCHDx82rq6uxsfHx+zcuTNP/5EjRxrLskzHjh3ztOccq35+fmbHjh15lnXv3t1YlmU++eSTAmv4\ns5wzMFFRUaZdu3bGsizToUMHk5ycXOg6V3pcFnYGJjAw0Ozbty+3PTEx0QQHBxsnJycTEBBgNm/e\nnLssPT3dNGzY0FiWZX766ac829u/f3+B9eaM40cffZSnPef9cHFxMStXrsyzbOjQoQUeT4XJeY3+\n/v5m9OjR+X5y9v1XY5FzBsYYY1avXl1g3xxr1qwxlmWZ5s2b5zsTPH/+fGNZlnnwwQfztOf8Patc\nuXKefYnI9aFZyERuYMePHwegcuXKRVrvvffeA2DYsGGEhobmWTZp0iTc3d2ZN28emZmZ+dYdNWpU\nnv05OTnlzg4UExOTr7+7u3u+Ni8vryJ9Kx4cHIyXl1e+9kaNGtG2bVtWr15NVlZWgfuZMmVKnm95\n69WrR/Pmzdm1a1exzsyWc/P+xTMl5Zz9eOedd/L0jY+P5+OPPyY0NJSpU6fm25a7uzvlypUrct/T\np08zb948IiMjeeGFF/L0c3V1ZcKECQDMnz8/33bc3NyYPHkyNlv+/1upWrVqgd+U9+rVCx8fH1as\nWJFvWVG9//77ZGRk0K9fP+rVq5dn2fDhw6lQoQJLly7NPeYvNnDgQBo0aJCn7YknngAKPiYvZcuW\nLXz33XeEh4ezePFiPDw8Cu17pcdlYQYOHEiNGjVy/+3r60unTp2w2+107tyZpk2b5i5zcXHJnSDi\n559/zrOd6tWrF7j9nJvqC3u/HnnkkXyzsPXp0wco+jgmJiby4osv5vv5+OOPi7Qd+Ot7X6ZPnw5k\n/zfo6+ubZ9mjjz5K48aNWbx4MUlJSfnWHTx4MFWrVi1yTSJydXQJmYgU2datWwEKnE0pJCSEiIgI\nYmJi2LNnD/Xr18+zPCoqKt86OYHmzJkzuW2PPPIIM2bM4P777+fBBx/k9ttv59Zbb6Vu3bpXVPPS\npUuZOXMmsbGxJCQk5AlXlmVx6tQpypcvn2ed8PDwAi+Dq1KlCsYYzpw5g6en5xXVc7Gcm/erV69O\n69atc9tbt25NjRo1+P777zlw4EDuB8uYmBiMMbRs2fIv91+Uvj/++CNZWVlYlsWYMWPyLc/IyADg\nt99+y7csLCyMoKCgArebkZHBrFmz+Oijj9i5cyfnzp3DbrfnLj969Ogl67oclzom3dzcaNmyJZ9+\n+inbtm2jQoUKeZZf7jF5OerUqUNaWhp79+6lb9++zJo165KXOV3JcVmYiy+JypHzBUNBy3LG4ciR\nI3naL1y4kHvZ3Z49e0hKSsoTAgp7v4pzHMPCwti/f3+R1rlSGzZswNnZmc8//5zPPvss3/K0tDSy\nsrLYs2cPkZGReZZdHApF5PpRgBG5gVWoUIFdu3bxxx9/FGm9xMRELMvKd/bl4u3m9Pszf3//fG05\n93dc/G1zdHQ069evZ/z48SxcuJD//Oc/QPYHmyFDhvDkk09edr3Tp0/nmWeeISAggHbt2lG1alU8\nPT2xLIuFCxeyfft20tLSLqvWwuq9GrNnz8YYQ8+ePfMt69mzJ6NHj2b27NmMHz8eyL43Byjwmvw/\nK0rfhIQEIPsswpYtWwrsY1kWFy5cyNde2LEA8PDDD7No0SJq1qxJly5dCA0Nxc3NDWMM06Line truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9cad5c7ac8>"
"<matplotlib.figure.Figure at 0x7f6b7cf81400>"
]
}
],
@@ -750,7 +777,7 @@
"source": [
"The constant acceleration model is able to track the manuever with no lag, but at the cost of very noisy output during the steady state behavior. The noisy output is due to the filter being unable to distinguish between the beginning of an manuever and just noise in the signal. Noise in the signal implies an acceleration, and so the acceleration term of the filter tracks it. \n",
"\n",
"It seems we cannot win. A constant velocity filter cannot react quickly when the target is accelerating, but a constant acceleration filter misinterprets noise during zero acceleration regimes as acceleration.\n",
"It seems we cannot win. A constant velocity filter cannot react quickly when the target is accelerating, but a constant acceleration filter misinterprets noise during zero acceleration regimes as legitimate acceleration.\n",
"\n",
"Yet there is an important insight here that will lead us to a solution. When the target is not manuevering (the acceleration is zero) the constant velocity filter performs optimally. When the target is manuevering the constant acceleration filter performs well, as does the constant velocity filter with an artificially large process noise $\\mathbf{Q}$. If we make a filter that adapts itself to the behavior of the tracked object we could have the best of both worlds."
]
@@ -789,7 +816,7 @@
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9ca52eb748>"
"<matplotlib.figure.Figure at 0x7f6b74f7fac8>"
]
}
],
@@ -825,11 +852,16 @@
"plt.plot(t, z_xs2, label='z')\n",
"plt.plot(t, xs, label='filter')\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()"
],
"language": "python",
@@ -838,9 +870,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9cad3a7c18>"
"<matplotlib.figure.Figure at 0x7f6b74f7c2b0>"
]
}
],
@@ -850,6 +882,18 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"On the left I have plotted the noisy measurements (not the track!) against the Kalman filter output. On the right I display the residuals computed by the filter - the difference between the measurement and the predictions made by the Kalman filter. Let me emphasize this to make this clear. The plot on the right is not merely the difference between the two lines in the left plot. The left plot shows the difference between the measurements and the final Kalman filter output, whereas the right plot shows us the difference between the plot and the *predictions of the process model*. \n",
"\n",
"That may seem like a subtle distinction, but from the plots you see it is not. The amount of deviation in the left plot when the manuever starts is small, but the deviation in the right tells a very different story. If the tracked object was moving according to the process model the residual plot should bounce around 0.0. This is because the measurements will be obeying the equation \n",
"\n",
"$$measurement = process\\_model(t) + noise(t)$$.\n",
"\n",
"Once the target starts manuevering the predictions of the target behavior will not match the behavior as the equation will be \n",
"\n",
"$$measurement = process\\_model(t) + manuever\\_delta(t) + noise(t)$$.\n",
"\n",
"Therefore if the residuals diverge from a mean of 0.0 we know that a manuever has commenced.\n",
"\n",
"We can see from the residual plot that we have our work cut out for us. We can clearly see the result of the manuever in the residual plot, but the amount of noise in the signal obscures the start of the manuever. This is our age old problem of extracting the signal from the noise. "
]
},
@@ -923,6 +967,7 @@
"plt.plot(t, epss)\n",
"plt.ylabel('$\\epsilon$')\n",
"plt.xlabel('time (sec)')\n",
"plt.title('Epsilon vs time')\n",
"plt.show()"
],
"language": "python",
@@ -931,9 +976,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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\nGY+3ftPcr18/rVq1SgUFBTp48KDWrVun3Nxc/eY3v9GNN97Yre/vf/zjx4+3e95/vL037z3FX6VZ\nt26dJOmNN97Q8ePH9dWvfrXNXj69MQah5h/LBQsWyOv1dviHJgMAogEJDgD0Me+88067+7H4WwtP\nmjSp3fuGDx+u2267TW+++aays7P19ttvq7q6usvff8qUKZKkTZs2tTnX2NiorVu3yjAMTZ48ucuP\n3VmXXHKJxo0bp9dff12lpaXtTk9rT3fHwG63S+p8lamnjR07Vv369dMHH3xAO2gAUY8EBwD6mP37\n9+uXv/xl0LE//vGPev/99zVmzBh9+ctfluRrT3zw4ME291dVVam2tlYOhyMwHaorbr31VjmdTj3z\nzDP6/PPPg849/vjjOnbsmK6++uoOp7D1lCVLlqipqUn/9V//pT//+c8aOXKkpk+fHnRNT42Bfxpb\nYWFhzwTfRXa7Xffff79KSkp0zz33qL6+vs01p06d0kcffWRBdAAQWqzBAYAwZpqmHn300XYrMpI0\nf/58felLXwo6dtVVV2nZsmX6xz/+oYsuukj79+/Xq6++qoSEBP36178OXLdr1y5df/31ys3N1dix\nY5WVlaXy8nL97W9/U3l5ub7zne+0WeDeGUOHDtXatWt19913Kzc3VzfeeKMyMjK0bds2bdmyRTk5\nOW0SsN7wta99TQ8++KB++MMfyuVy6bbbbmtzTU+Nwdy5c/XKK6/oG9/4hq6//nolJyerf//+uuee\newLXdPR/2FMeeughffzxx3r22Wf197//XbNmzVJ2drZOnjypL774Qlu3btW9997b4SaoANBnWNW+\nbfPmzea//Mu/mEOGDDENwzDXrVsXdL6ystK8++67zezsbDM+Pt684IILzJ/97GdB1zQ0NJj33nuv\nOXDgQDMxMdFcsGCBWVRUFMqnAQC9xt8K+kxtotesWRO43t8m+tFHHzW3bt1qzpo1y0xOTjZTUlLM\n+fPnm//85z+DHr+oqMj8wQ9+YE6bNs0cPHiwGRsbaw4ZMsScM2eO+corr7Qbz+ltolesWGHabLag\nNtF+b731ljl//nxzwIABptPpNEeOHGnef//95okTJ9pcu2TJkg4fp6CgwDQMw/z617/e6bHzu/ba\na03DMIL2vmmtq2PQEa/Xaz7yyCPmeeedZzqdTtMwDHPEiBGB8zNmzOiwTXR7z8v/nE8fb7/TH7+1\n3//+9+bcuXPNtLQ00+l0mllZWeaXv/xlc8WKFeaBAwc6/ZwAIFIZptnLHyl14B//+Ie2bt2qSZMm\n6bbbbtMvf/nLoE/X7rjjDm3evFnPPfecRowYoc2bN+sb3/iGnn32Wd16662SpLvvvlt//etf9dvf\n/lYDBgzQsmXLVFFRoR07dshmY/YdgOiybt063XHHHVqxYoUeeeQRq8MBAMASlmUB8+fP18qVK3XD\nDTe0m4xs375dt912m77yla9o6NCh+trXvqbLLrtMH374oSRfe9HnnntOq1at0uzZszVp0iQ9//zz\n2r17tzZu3BjqpwMAAAAgDIRtmWP+/Pn661//GtjIbNu2bdq1a5fmzZsnSdqxY4dcLpfmzp0buCc7\nO1tjx47Vtm3bLIkZAAAAgLXCtsnAE088odtuu01Dhw4NdLB5+umndfXVV0uSiouLZbfb22zAlpGR\n0WYPiPY2kwOAvqa+vl6GYaihoYHfewCAPqOr+6aFbYLzne98Rx988IFee+01DRs2TJs3b9a3v/1t\nDRs2TFdddZXV4QFA2Ln55pt18803Wx0GAACWCssEp7a2VmvWrNGf/vQnXXPNNZKkCy+8ULt27dKq\nVat01VVXKTMzUx6PR6WlpUFVnOLi4jb7HAAAAACIDmGZ4JimKdM02zQfsNlsgX0EpkyZIofDoQ0b\nNuimm26SJBUVFWnv3r2aOnVqh4/d1RIXzk1+fr5yc3OtDiPqMO7WYNytwbhbg3G3BuNuDcY99M5l\nqrVlCU5tba32798vSfJ6vSosLNSuXbuUlpamnJwczZ49W9/73veUlJSkoUOHavPmzXr++ef105/+\nVJIvUbnzzju1fPlypaenB9pET5w4UXPmzLHqaQEAAACwkGVd1LZv367Jkydr8uTJamhoUF5eniZP\nnqy8vDxJ0v/+7//qS1/6km699VaNHz9eTz75pFauXBm0K/Tq1au1aNEiLV68WJdffrlSUlL02muv\nyTAMq54WAAAAAAtZVsGZMWOGvF5vh+cHDRqkZ5999oyP4XQ6tXbtWq1du7anwwMAAAAQgcJ2HxwA\nAAAA6CoSHAAAAAB9BgkOAAAAgD6DBAcAAABAn0GCAwAAAKDPIMEBAAAA0GeQ4AAAAADoM0hwAAAA\nAPQZJDgAAAAA+gwSHAAAAAB9BgkOAAAAgD6DBAcAAABAn0GCAwAAAKDPIMEBAAAA0GeQ4ALine truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9cad58c5f8>"
"<matplotlib.figure.Figure at 0x7f6b74f654e0>"
]
}
],
@@ -989,7 +1034,8 @@
"plt.plot(t, xs, label='filter')\n",
"plt.ylabel('$\\epsilon$')\n",
"plt.xlabel('time (sec)')\n",
"plt.legend(loc=2)\n",
"plt.legend(loc=4)\n",
"plt.title('epsilon=4')\n",
"plt.show()"
],
"language": "python",
@@ -998,9 +1044,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "iVBORw0KGgoAAAANSUhEUgAAAzAAAAGxCAYAAAC9e1NPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdgFVXi9vFnbnpCCDUJPZRQpUkRQVEUkCaIKE06UhSQ\noiKgK+q6sLiKiCgivSqiiCKokV6CQOgQOqEGEgJJSELKzb3z/sH+8i6CSguTm3w/f+GZmXsfzrqE\nxzlzxjBN0xQAAAAAuACb1QEAAAAA4FZRYAAAAAC4DAoMAAAAAJdBgQEAAADgMigwAAAAAFwGBQYA\nAACAy6DAAACy3bp162Sz2fTuu+9eN/7444/LZuNHEQDg1vFTAwBw3xiGcUtjrmr9+vVyc3OTzWbT\n6NGjrY4DALmSu9UBAAC530MPPaRDhw6pSJEiVkfJNomJierRo4f8/PyUnJycq4oZAOQk3IEBAGQ7\nHx8fVaxYUYUKFbI6SrYZPHiwrl69qjFjxlgdBQByNQoMAORyO3fuVOfOnVW8eHF5eXmpePHi6tGj\nh44fP37deb169ZLNZtP69es1e/Zs1apVS76+vgoODla/fv0UGxt7w2efOHFCAwYMUGhoqHx9fVWo\nUCFVrVpVffv21ZkzZ7LO+7NnYP6MaZqaMWOGGjRoIH9/f/n5+enBBx/UxIkTlZmZecP5ISEhstls\ncjgcGjdunEJDQ+Xt7a3SpUtr1KhRstvttzlrt2fJkiVauHChpkyZouDg4Gz9LgDI61hCBgC52MKF\nC9WrVy95e3urbdu2KlWqlI4ePaqvvvpKy5cv17p161SzZs3rrpk4caJWrVqlzp07q3Xr1lq/fr1m\nzpyptWvXatu2bVl3Uc6fP6969eopKSlJLVu2VIcOHZSRkaFTp05p6dKleuGFF1SqVKnrPvtWl1X1\n7NlTCxYsUMmSJdW3b195eHjoxx9/1GuvvaawsDCtWLFCbm5uN1zXpUsXbdq0Sa1atVL+/Pm1YsUK\nffDBB4qNjdWsWbPucBb/WnR0tAYOHKjnn39enTp10pw5c7LlewAA11BgACCXOnbsmPr27auQkBBt\n2LBBxYoVyzq2fv16NW3aVH379lVERMR11/3666/aunXrdcXmlVde0ZQpUzRmzBh98cUXkqRvv/1W\n8fHxmjRpkl555ZXrPsNutysjI+OOci9evFgLFixQzZo1tXHjRuXLl0+SNG7cOLVs2VJhYWGaNGmS\nXn311RuujYqKUmRkpAoUKCBJev/991WzZk3NmzdP48ePV1BQUNa5c+bM0cmTJ285V8GCBTV06NDr\nxkzTVK9eveTl5aWpU6fewe8WAHC7KDAAkEtNnTpVGRkZ+vjjj68rL5L02GOP6emnn9ayZct06NAh\nVa5cOetY9+7db7gr8+6772rWrFlauHChPvvss+vufnh7e9/w3R4eHvLw8Lij3DNmzJAkjR8/Pqu8\n/N9nfvzxx6pZs6amT59+0wIzYcKErPIiSb6+vnrhhRf03nvvaceOHWrVqlXWsblz52r9+vW3nCsk\nJOSGAvPpp59q1apV+uGHH3L18z0AkJNQYAAgl9q8ebOka3db/niXRZJiYmIkSQcPHryuwDz22GM3\nnFuwYEFVr15dW7du1eHDh1W1alW1a9dOb775pgYPHqxffvlFzZs318MPP6waNWrc1Q5cO3fulGEY\natKkyQ3HqlevrqJFi+ro0aO6evWqfH19s44ZhqG6devecE3JkiUlSfHx8deNr1279o4zStfm7Y03\n3lCvXr309NNP39VnAQBuHQUGAHKpS5cuSZI++uijPz3HMAwlJydfN/a/y6xuNp6YmChJKl26tLZv\n3653331Xv/zyi5YtW5Z13pAhQzRq1Kg7ekllYmKiAgIC5OXlddPjxYoVU1xcnBITE68rMJKUP3/+\nG853d7/2o87hcNx2lr/SrVs3BQYGatKkSTc9bprmPf0+AMA1FBgAyKUCAgJkGIYuXbp03bKqv/N/\nd2b+bDwgICBrrFKlSlq0aJGcTqf27dunNWvW6LPPPtNbb70lh8Ohf/zjH3eUOyEhQenp6TctMefP\nn78hx52422dgdu3aJUl/OrcTJkzQhAkT1K5dO33//fd3lRUA8P9RYAAgl2rYsKF27typDRs2qG3b\ntrd83bp169StW7frxuLj47Vv3z75+fmpUqVKN1xjs9lUs2ZN1axZU23atFGlSpW0bNmyOyowderU\n0apVq7R27Vq1aNHiumP79+/XxYsXValSpRvuvtyuu30Gpm/fvjddKnfkyBFt2LBBNWvWVL169VS7\ndu27ygkAuB4FBgByqcGDB+vLL7/Uq6++qkqVKt1QPDIzM7Vx48YbnjWZP3++Bg8erFq1amWNvf32\n27p69ar69++f9QD/zp07Va5cuRvuQPzfHZI7LRh9+/bVqlWrNGbMGD366KPy8/OTdG1nsxEjRkiS\n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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9cad325a90>"
"<matplotlib.figure.Figure at 0x7f6b7cf7f0b8>"
]
}
],
@@ -1045,7 +1091,9 @@
"from math import sqrt\n",
"\n",
"\n",
"def zarchan_adaptive_filter(Q_scale_factor, std_scale):\n",
"def zarchan_adaptive_filter(Q_scale_factor, std_scale, \n",
" std_title=False,\n",
" Q_title=False):\n",
" pos2, zs2 = generate_data(120, noise_factor=0.2)\n",
" xs2 = pos2[:,0]\n",
" z_xs2 = zs2[:,0]\n",
@@ -1086,15 +1134,27 @@
" plt.ylabel('$\\epsilon$')\n",
" plt.xlabel('time (sec)')\n",
" plt.legend(loc=2)\n",
" plt.title('position')\n",
" if std_title:\n",
" plt.title('position(std={})'.format(std_scale))\n",
" elif Q_title:\n",
" plt.title('position(Q scale={})'.format(Q_scale_factor))\n",
" else:\n",
" plt.title('position')\n",
" \n",
" plt.subplot(122)\n",
" plt.plot(t, xs[:,1])\n",
" plt.xlabel('time (sec)')\n",
" plt.title('velocity')\n",
" if std_title:\n",
" plt.title('velocity(std={})'.format(std_scale))\n",
" elif Q_title:\n",
" plt.title('velocity(Q scale={})'.format(Q_scale_factor))\n",
" else:\n",
" plt.title('velocity')\n",
" \n",
" plt.show()\n",
"\n",
" \n",
"zarchan_adaptive_filter(1000, 2)"
"zarchan_adaptive_filter(1000, 2, std_title=True)"
],
"language": "python",
"metadata": {},
@@ -1102,9 +1162,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9ca52991d0>"
"<matplotlib.figure.Figure at 0x7f6b74e97208>"
]
}
],
@@ -1117,12 +1177,18 @@
"So I chose to use 1000 as the scaling factor for the noise, and 2 as the standard deviation limit. Why these numbers? Well, first, let's look at the difference between 2 and 3 standard deviations. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Two Standard Deviations**"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"zarchan_adaptive_filter(1000, 2)\n",
"zarchan_adaptive_filter(1000, 3)"
"zarchan_adaptive_filter(1000, 2, std_title=True)"
],
"language": "python",
"metadata": {},
@@ -1130,22 +1196,41 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9ca5208b70>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAzAAAAGxCAYAAAC9e1NPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XtcVHX+x/HXmRlgABFBQbxfUlPZvCSZWZlWumnlau1m\naZlamWlbdllNs9BSvOR66bputWm5Zpfd7N76K82ysqS0MvOSGt7xBsgdZub8/gBGEFRQ4DDM+/l4\n+FDOnDPzZlRmPvP5XgzTNE1ERERERER8gM3qACIiIiIiIuWlAkZERERERHyGChgREREREfEZKmBE\nRERERMRnqIARERERERGfoQJGRERERER8hgoYkWqwePFibDYbS5YsqdB1NpuNPn36VFEqERGpyXr3\n7o3NVr1v1Vq2bEmrVq2q9TFFKkoFjEg1MAzD+6s4m812xheKk68RERH/Ud2vAWW9Vk2dOvWsPoQT\nqSoOqwOI+IPBgwdzySWXEBMTU+q20704bdmyhZCQkKqMJiIi4rVq1apT3qYP1KSmUAEjUg3q1q1L\n3bp1K3xdu3btqiCNiIhI2U43KsA0zWpMInJqGkImtdbvv//unUOyb98+hg0bRlRUFCEhIVx00UW8\n+eabpa4xTZOXXnqJHj16EBYWRmhoKBdeeCHz5s3D5XKVOv+nn35i6NChtGrViuDgYKKioujcuTPj\nxo3j+PHj3vNOngPz+eefe8c1F+Us+jVy5EjvdaeaA5Oens6UKVNo3749wcHBREREcNVVV/Hee++d\n9nk4evQoo0ePplGjRjidTv7whz+wePHiCj+3IiL+bt26ddhsNgYOHHjKc+Li4rDb7SQlJXmPrV69\nmoEDBxIVFUVQUBAtW7Zk3LhxJCcnl/uxK/paBbBv3z7Gjx9Pu3btCAkJITIykri4OOLj40tcc/Ic\nmN69e/PEE08AMHLkyBKvV0lJSUyaNAmbzcarr75a5uNu2bIFm83G5ZdfXu7vT+RM1IGRWi8lJYXL\nLruMyMhI7rzzTo4dO8abb77JzTffzP79+xk/frz33Ntvv52lS5fStGlT7rjjDgICAnjvvfd4+OGH\nWblyJR9++CF2ux0oKF4uvvhi7HY71113Heeddx4ZGRns3LmTJUuW8NBDD5XquhS131u1akV8fDzT\npk0jPDycBx54wHtOly5dyrymSFpaGpdddhm//PILF154IePHjyclJYW33nqLQYMGMW3aNB577LFS\nz0NqaiqXXnopQUFB3HTTTeTm5vLmm28yatQobDYbw4cPP7cnWkTEj/To0YP27dvzySefcPjwYaKi\nokrc/ssvv/DDDz/Qu3dvWrRoAcDs2bOZNGkS9evX59prryUmJoYff/yRF154gffee49169bRpEmT\nMz52RV6rABITE7nmmms4duwYvXr14oYbbiAnJ4dff/2VWbNmlXq9Kv66M3LkSAzDYM2aNQwaNKjE\na1S9evW45557eOqpp1i0aFGZryOLFi0C4J577innMytSDqZILbVr1y7TMAzTMAzz5ptvLnHbjh07\nzHr16plBQUFmUlKSaZqmuXz5ctMwDLNLly5menq699y8vDzzqquuMg3DMOfOnes9/uCDD5qGYZjv\nvvtuqcfOyMgwc3NzvV+/8sorpmEY5pIlS0qcZxiG2apVq1N+D4ZhmH369ClxbMyYMaZhGOYdd9xR\n4vjevXvNRo0amTabzVy/fn2Zz8Ndd91lejwe722bN282HQ6H2bFjx1NmEBGRss2ePds0DMOcP39+\nqdv+9re/lfi5v2bNGtMwDLNnz55mWlpaiXNfe+010zAM88Ybbyxx/IorrjBtNluJYxV9rcrNzTVb\ntmxp2mw287XXXiuVMzk52XS5XN6vW7RoUep1KT4+vszXsCLXX3+9aRiG+dNPP5U4np2dbUZERJhR\nUVFmXl5emdeKnA0NIZNaz+FwMGvWrBLHWrduzdixY8nLy2Pp0qUAvPTSSwDMnDmTOnXqeM8NCAhg\n/vz5ALz44oul7t/pdJY6FhoaSmBgYKV9D0Xy8/N59dVXCQ0NZc6cOSVua9KkCZMnT/YOLSgr07x5\n80p8stahQwd69uzJli1byMrKqvS8IiK12W233Ybdbi+1Opfb7Wbp0qXUqVOHP//5zwAsXLgQKOhI\nnNydv/XWW+nSpQvvvvsuGRkZp33Mir5Wvf/++yQlJTFgwABuvfXWUvcXHR1doltzNsaOHQuc6LYU\nefPNN0lNTWXEiBEEBASc02OIFKchZFLrNW/e3Nu+L65Xr17MnDmTjRs3AvDDDz9gGEaZc04uuOAC\noqKi2L59O1lZWYSEhHDzzTfz9NNPM2jQIG688UauvPJKLrnkEtq3b19l38uWLVvIzs6mR48eREZG\nlrr96quvBmDDhg2lbmvbtm2JF7sizZo1wzRNUlJStOKZiEgFNGrUiL59+/LJJ5/w448/0rlzZwBW\nrlzJwYMHGTFihPfn6ldffYXD4eA///kPb7/9dqn7ys3Nxe12s23bNi688MJTPmZFX6vWrVsHQP/+\n/SvjWy7TNddcQ+vWrVm6dClz5szxfs+LFi3CZrNx9913V9lji39SASO1XsOGDU97PC0tzft7eHg4\nQUFBZZ7fqFEjjhw5QlpamnchgLVr15KQkMA777zDv//9b6BgAuTEiROr5Ad2UdaylmMufjw1NbXU\nbfXq1SvzGoej4MeA2+2ujIgiIn5l5MiRfPLJJyxZsoR58+YBeDsyI0aM8J539OhR3G4306ZNO+V9\nGYZBZmbmaR+voq9VRa8H5Zlbcy7GjBnDhAkTeP3117njjjv4+eef+eabb7j66qs577zzqvSxxf9o\nCJnUeqda2aXoeHh4uPf3tLQ0cnNzyzz/wIEDJc4HuPjii3n33XdJTU1l3bp1PPnkk2RnZ3PPPffw\n2muvVea3UeKxDx48WO6MIiJSdf70pz8RERHBsmXL8Hg8pKam8u6779K6dWt69erlPS88PJy6devi\n8XhO+cvtdp9xta6KvlYVfXi1d+/eyvh2T2nUqFE4nU7vMLKi38eMGVOljyv+SQWM1Hq7d+8usYRl\nkTVr1gDQtWtXALp164ZpmqxevbrUuZs2beLw4cPe5SdP5nA46N69O48++qh3KckVK1acMZthGBXq\nfHTo0IHg4GB+/vlnjh49Wur2zz77zPu9iIhI1QsMDOTmm2/m0KFDfPjhh7zxxhvk5uaWWpGrZ8+e\nHD9+nJ9++umcHq+ir1WXXHIJAB9//PFZP2bRHJnTvV5FRkYyZMgQEhMTWbt2LUuXLqVRo0YMGjTo\nrB9X5FRUwEit53K5mDhxYokNuHbs2MHzzz9PYGAgw4YNA+COO+4AYPLkySVa+Pn5+Tz44IMA3Hnn\nnd7jX3/9NTk5OaUer+jTr/LMJ6lfvz6HDx8u837K4nA4GD58OJmZmUyaNKnEbfv372fmzJnYbDZG\njRpVrvsTEZFzV7R/15IlS1iyZAk2m43bb7+9xDlFryOjR49m3759pe4jJyeHtWvXnvGxKvpadf31\n19OyZUs++ugj76I1xSUnJ5/xg7T69esDlPlhYHFFk/lvueUWjh8/zh133OHd80ykMmkOjNR6nTp1\n4ttvvyUuLo6+fft694FJT09n3rx5NG/eHIAhQ4bw/vvvs2zZMjp27MigQYMICAjg/fffZ/v27Vx9\n9dUl9muZM2cOq1at4vLLL6dly5bUrVuXbdu28cEHHxASElJif5lT6devH8uWLeOaa67h8ssvJygo\niC5dunDddded8ppZs2bx5Zdf8tJLL7FhwwauuuoqUlNTeeutt0hNTeXxxx/noosuOvcnTkREyiUu\nLo7Y2Fjee+89XC5Xib1fivTu3ZunnnqKiRMn0rZtWwYMGECrVq3Izs5m9+7dfPHFF7Ru3Zoffvih\nxHXFP3yDir9WBQQE8NZbb/HHP/6R4cOH89JLL3HxxReTl5fH1q1b+eyzzzh8+HCpldGKu+qqq7DZ\nbCxYsICjR49655Ded999Ja676KKL6NatG99//z12u53Ro0ef9XMqclpWruEsUpWK9j/p06ePuW/f\nPnPYsGFmVFSUGRwcbMbFxZlvvPFGqWs8Ho+5aNEis3v37mZoaKgZHBxsdunSxZw7d66Zn59f4tyV\nK1eao0aNMmNjY8169eqZISEhZrt27czRo0ebW7duLXHu4sWLTZvNVmoN/cOHD5vDhw83GzVqZNrt\ndtNms5kjR4703l7WPjCmaZppaWnm5MmTzfPPP98MCgoyw8PDzT59+pjvvPPOaZ+HsowYMcK02Wze\n/XBEapM1a9aY119/vdmkSRPTMAxz8eLFpzx39OjRpfbQECmvuXPnmoZhlPmzvrh169aZt9xyi9m0\naVMzMDDQbNCggdmpUyfz3nvvNb/88ssS5/bu3bvUPjCmWbHXqiJ79uwx7733XrN169ZmUFCQWb9+\nffOiiy4yp02bVuKali1blrk/2euvv25269bNDAkJ8X6fZb1uPPfcc6ZhGOb1119/yudA5FwZpnlS\naS9SS/z++++0bt2a3r17s2rVKqvjiIgFPv74Y7766iu6du3K8OHDeeGFF8rcLfztt98mISGBQ4cO\n8eCDD3qH4ohIxdx11128/PLLfPDBBwwYMMDqOFJLaWCiiIjUWv3792f69OnceOONpxyLn5SUxPjx\n43n99de12Z7IOdi3bx9Lly7lvPPOU/EiVUpzYERExG+5XC5uueUWHnvsMc4//3yr44j4pGXLlrF9\n+3aWL19OXl4eTzzxhNWRpJarFQVM0eZ+IsUdP34cKHiDon8jImevNu8rFB8fT3R09Bk3ntXPEJFT\ne+GFF/j6669p3Lgx06ZNY8CAAfo/IxVS0deZWlHAiJSlRYsWpKSkWB1DRGqozz//nCVLlrLine truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9ca5208ba8>"
"<matplotlib.figure.Figure at 0x7f6b7d035550>"
]
}
],
"prompt_number": 18
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Three Standard Deviations**"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"zarchan_adaptive_filter(1000, 3, std_title=True)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f6b7cf689e8>"
]
}
],
"prompt_number": 19
},
{
"cell_type": "markdown",
"metadata": {},
@@ -1157,8 +1242,8 @@
"cell_type": "code",
"collapsed": false,
"input": [
"zarchan_adaptive_filter(1000, .1)\n",
"zarchan_adaptive_filter(1000, 1)"
"zarchan_adaptive_filter(1000, .1, std_title=True)\n",
"zarchan_adaptive_filter(1000, 1, std_title=True)"
],
"language": "python",
"metadata": {},
@@ -1166,21 +1251,21 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9cad384f28>"
"<matplotlib.figure.Figure at 0x7f6b7cf747f0>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAzAAAAGxCAYAAAC9e1NPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VNXWBvD3nKnpJCEhoSQhEERQRAhVaSJeL5aL2FGR\nogiCihWpEVSKclEUC594FUXECoqVewVFRBAEBcTQeyCE9DZ9f39MZjKTTEhCMjlT3t/z8EDOnJmz\nMmGyZ83aa29JCCFARERERETkB2SlAyAiIiIiIqorJjBEREREROQ3mMAQEREREZHfYAJDRERERER+\ngwkMERERERH5DSYwRERERETkN5jAEDWBd999F7IsY/ny5fW6nyzLGDRokJeiIiIiXzZw4EDIctO+\nVUtJSUHbtm2b9JpE9cUEhqgJSJLk/ONKluVaB4qq9yEiouDR1GOAp7HqmWeeuaAP4Yi8Ra10AETB\n4KabbkKfPn2QkJBQ7bbzDU6ZmZkIDQ31ZmhERERO69evr/E2fqBGvoIJDFETiIyMRGRkZL3v16FD\nBy9EQ0RE5Nn5ZgUIIZowEqKacQoZBayjR486e0hOnTqFu+66C3FxcQgNDUWPHj3w8ccfV7uPEALL\nli1D7969ERERgbCwMHTr1g2LFi2CxWKpdv6uXbswYsQItG3bFiEhIYiLi8Nll12GiRMnoqioyHle\n1R6YH3/80Tmv2RGn48/o0aOd96upB6a4uBgzZsxAx44dERISgujoaAwePBhffvnleZ+H3NxcjBs3\nDomJidDr9bjkkkvw7rvv1vu5JSIKdlu2bIEsy7jxxhtrPCc9PR0qlQrHjh1zHtuwYQNuvPFGxMXF\nQafTISUlBRMnTkR2dnadr13fsQoATp06hcmTJ6NDhw4IDQ1FTEwM0tPTkZGR4Xafqj0wAwcOxJw5\ncwAAo0ePdhuvjh07hqlTp0KWZbz33nser5uZmQlZltGvX786f39EtWEFhgJefn4+rrzySsTExOC+\n++5DXl4ePv74Y9xxxx3IysrC5MmTnefee++9WLFiBVq3bo2xY8dCo9Hgyy+/xBNPPIF169bh66+/\nhkqlAmBPXnr16gWVSoXrr78e7dq1Q0lJCQ4fPozly5fj8ccfr1Z1cZTf27Zti4yMDMyePRtRUVF4\n9NFHned07drV430cCgsLceWVV+Kvv/5Ct27dMHnyZOTn5+OTTz7BsGHDMHv2bMycObPa81BQUIAr\nrrgCOp0Ot912G4xGIz7++GOMGTMGsixj5MiRDXuiiYiCSO/evdGxY0d89913yMnJQVxcnNvtf/31\nF3bs2IGBAwciOTkZALBgwQJMnToVsbGxuO6665CQkIA///wTb7zxBr788kts2bIFrVq1qvXa9Rmr\nAGD79u249tprkZeXh/79+2P48OEwGAz4+++/MX/+/Grjleu4M3r0aEiShJ9++gnDhg1zG6OaNWuG\nCRMm4MUXX8TSpUs9jiNLly4FAEyYMKGOzyxRHQiiAHXkyBEhSZKQJEnccccdbrcdOnRINGvWTOh0\nOnHs2DEhhBCrVq0SkiSJrl27iuLiYue5JpNJDB48WEiSJBYuXOg8/thjjwlJksQXX3xR7dolJSXC\naDQ6v37nnXeEJEli+fLlbudJkiTatm1b4/cgSZIYNGiQ27Hx48cLSZLE2LFj3Y6fPHlSJCYmClmW\nxbZt2zw+D/fff7+w2WzO2/bu3SvUarXo1KlTjTEQEZFnCxYsEJIkiZdeeqnabU8++aTb7/2ffvpJ\nSJIk+vbtKwoLC93Off/994UkSeLmm292Oz5gwAAhy7LbsfqOVUajUaSkpAhZlsX7779fLc7s7Gxh\nsVicXycnJ1cblzIyMjyOYQ433HCDkCRJ7Nq1y+14eXm5iI6OFnFxccJkMnm8L9GF4BQyCnhqtRrz\n5893O5aamooHH3wQJpMJK1asAAAsW7YMADBv3jyEh4c7z9VoNHjppZcAAG+99Va1x9fr9dWOhYWF\nQavVNtr34GA2m/Hee+8hLCwML7zwgtttrVq1wrRp05xTCzzFtGjRIrdP1i6++GL07dsXmZmZKCsr\na/R4iYgC2T333AOVSlVtdS6r1YoVK1YgPDwct9xyCwBg8eLFAOwViarV+bvvvhtdu3bFF198gZKS\nkvNes75j1dq1a3Hs2DEMHToUd999d7XHi4+Pd6vWXIgHH3wQQGW1xeHjjz9GQUEBRo0aBY1G06Br\nELniFDIKeElJSc7yvav+/ftj3rx5+OOPPwAAO3bsgCRJHntOLr30UsTFxeHAgQMoKytDaGgo7rjj\nDrzyyisYNmwYbr75Zlx11VXo06cPOnbs6LXvJTMzE+Xl5ejduzdiYmKq3X711VcDAHbu3FnttrS0\nNLfBzqFNmzYQQiA/P58rnhER1UNiYiKGDBmC7777Dn/++Scuu+wyAMC6detw5swZjBo1yvl79Zdf\nfoFarcZnn32GTz/9tNpjGY1GWK1W7N+/H926davxmvUdq7Zs2QIA+Oc//9kY37JH1157LVJTU7Fi\nxQq88MILzu956dKlkGUZDzzwgNeuTcGJCQwFvBYtWpz3eGFhofPvqKgo6HQ6j+cnJibi3LlzKCws\ndC4EsGnTJsydOxerV6/GBx98AMDeADllyhSv/MJ2xOppOWbX4wUFBdVua9asmcf7qNX2XwNWq7Ux\nQiQiCiqjR4/Gd999h+XLl2PRokUA4KzIjBo1ynlebm4urFYrZs+eXeNjSZKE0tLS816vvmOVYzyo\nS29NQ4wfPx5PPfUUPvzwQ4wdOxa7d+/Gr7/+iquvvhrt2rXz6rUp+HAKGQW8mlZ2cRyPiopy/l1Y\nWAij0ejx/NOnT7udDwC9evXCF198gYKCAmzZsgXPPvssysvLMWHCBLz//vuN+W24XfvMmTN1jpGI\niLznX//6F6Kjo7Fy5UrYbDYUFBTgiy++QGpqKvr37+88LyoqCpGRkbDZbDX+sVqtta7WVd+xyvHh\n1cmTJxvj263RmDFjoNfrndPIHH+PHz/eq9el4MQEhgLe8ePH3ZawdPjpp58AAJdffjkAoHv37hBC\nYMOGDdXO3bNnD3JycpzLT1alVqvRs2dPTJ8+3bmU5Jo1a2qNTZKkelU+Lr74YoSEhGD37t3Izc2t\ndvsPP/zg/F6IiMj7tFot7rjjDpw9exZff/01PvroIxiNxmorcvXt2xdFRUXYtWtXg65X37GqT58+\nAIBvv/32gq/p6JE533gVExOD22+/Hdu3b8emTZuwYsUKJCYmYtiwYRd8XaKaMIGhgGexWDBlyhS3\nDbgOHTqE119/HVqtFnfddRcAYOzYsQCAadOmuZXwzWYzHnvsMQDAfffd5zy+efNmGAyGatdzfPpV\nl36S2NhY5OTkeHwcT9RqNUaOHInS0lJMnTrV7basrCzMmzcPsixjzJgxdXo8IiJqOMf+XcuXL8fy\n5cshyzLuvfdet3Mc48i4ceNw6tSpao9hMBiwadOmWq9V37HqhhtuQEpKCr755hvnojWusrOza/0g\nLTY2FgA8fhjoytHMf+edd6KoqAhjx4517nlG1JjYA0MBr0uXLti6dSvS09MxZMgQ5z4wxcXFWLRo\nEZKSkgAAt99+O9auXYuVK1eiU6dOGDZsGDQaDdauXYsDBw7g6quvdtuv5YUXXsD69evRr18/pKSk\nIDIyEvv378dXX32F0NBQt/1lanLNNddg5cqVuPbaa9GvXz/odDp07doV119/fY33mT9/Pn7++Wcs\nW7YMO3fuxODBg1FQUIBPPvkEBQUFmDVrFnr06NHwJ46IiOokPT0dnTt3xpdffgmLxeK294vDwIED\n8eKLL2LKlClIS0vD0KFD0bZtW5SXl+P48ePYuHEjUlNTsWPHDrf7uX74BtR/rNJoNPjkk0/wj3/8\nAyNHjsSyZcvQq1cvmEwm7Nu3Dz/88ANycnKqrYzmavDgwZBlGS+//DJyc3OdPaQPP/yw2/169OiB\n7t274/fff4dKpcK4ceMu+DklOi8l13Am8ibH/ieDBg0Sp06dEnfddZeIi4sTISEhIj09XXz00UfV\n7mOz2cTSpUtFz549RVhYmAgJCRFdu3YVCxcuFGaz2e3cdevWiTFjxojOnTuLZs2aidDQUNGhQwcx\nbtw4sW/fPrdz3333XSHLcrU19HNycsTIkSNFYmKiUKlUQpZlMXr0aOftnvaBEUKIwsJCMW3aNHHR\nRRcJnU4noqKixKBBg8Tq1avP+zx4MmrUKCHLsnM/HCIiqr+FCxcKSZI8/q53tWXLFnHnnXeK1q1b\nC61WK5o3by66dOkiJk2aJH7++We3cwcOHFhtHxgh6jdWOZw4cUJMmjRJpKamCp1OJ2JjY0WPHj3E\n7Nmz3e6TkpLicX+yDz/8UHTv3l2EhoY6v09P48Zrr70mJEkSN9xwQ43PAVFDSUJUSe2JAsTRo0eR\nmpqKgQMHYv369UqHQ0REFPDuv/9+vP322/jqq68wdOhQpcOhAMWJiURERETUYKdOncKKFSvQrl07\nJi/kVeyBISIiIqILtnLlShw4cACrVq2CyWTCnDlzlA6JAlxAJDCOzf2IXBUVFQGwr0LG/yNEF477\nCnGcITqfN954A5s3b0bLli0xe/ZsDB06lK8Zqpf6jjMB0QPDFwkRkfcwgeE4Q0TkTfUdZ9gDQ0RE\nREREfiMgppC58odPCrdv34709HSlw6gTf4nVX+IEGKu3+Eus/hInKw414zjTuPwlVn+JE2Cs3uIv\nsfpLnA0ZZ1iBISIiIiIiv8EEhoiIiIiI/AYTGCIiIiIi8htMYIiIiIiIyG8wgSEiIiIiIr/BBIaI\niIiIiPxGwC2jXBubzQaTyaRoDMnJyTAYDIrGUFfeiFWr1UKWmTsTERERUf0FVQJjs9lgNBLine truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9cad3501d0>"
"<matplotlib.figure.Figure at 0x7f6b74f61048>"
]
}
],
"prompt_number": 19
"prompt_number": 20
},
{
"cell_type": "markdown",
@@ -1195,11 +1280,11 @@
"cell_type": "code",
"collapsed": false,
"input": [
"zarchan_adaptive_filter(1, 2)\n",
"zarchan_adaptive_filter(10, 2)\n",
"zarchan_adaptive_filter(100, 2)\n",
"zarchan_adaptive_filter(1000, 2)\n",
"zarchan_adaptive_filter(10000, 2)"
"zarchan_adaptive_filter(1, 2, Q_title=True)\n",
"zarchan_adaptive_filter(10, 2, Q_title=True)\n",
"zarchan_adaptive_filter(100, 2, Q_title=True)\n",
"zarchan_adaptive_filter(1000, 2, Q_title=True)\n",
"zarchan_adaptive_filter(10000, 2, Q_title=True)"
],
"language": "python",
"metadata": {},
@@ -1207,45 +1292,45 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "iVBORw0KGgoAAAANSUhEUgAAAzAAAAGxCAYAAAC9e1NPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4FFXbBvB7Zje7mx4CSUhoSYDQFAKE3rtgw6DSlCoB\nBAUrCFKliCJKE/kUBUXE9gKKgCggiAhK7z0hQCAJIb1uOd8fYVeWbBokmezm/l1XLsjMmZknm5w5\n88zMOUcSQggQERERERHZAVnpAIiIiIiIiIqKCQwREREREdkNJjBERERERGQ3mMAQEREREZHdYAJD\nRERERER2gwkMERERERHZDSYwpJjVq1dDlmWsWbOmWNvJsowuXbqUUlRF06NHD4SEhMBkMikaR1n6\n448/IMsyZs2apXQo92Xs2LHw9vbG7du3lQ6FiB5Q586dIctlewkTGBiIoKCgMjnW5cuXodVq8c47\n75TJ8cqLYcOGQZZlREdHKx1KsaWlpcHHxwdDhgxROpQKgQkMKUaSJMvX3WRZLrSRuHebsrRlyxbs\n2LEDM2bMyLcB3bRpE8LDw1GtWjXodDpUrlwZrVu3xty5c5GcnFzGEZcsJT97M4PBgMWLF2P48OEI\nDQ2FRqOBLMtYuXJlvttMnToVGRkZmD17dhlGSkSlpazPRbbaq5kzZ97XjbjCTJ48Ge7u7pg4caLN\n9cnJyZg3bx5at24Nb29v6HQ6VK9eHeHh4di4cWOJxlLWykMbAwBnzpzBjBkz8OSTT6JmzZqQZRmy\nLCMnJ8dmeTc3N7z55pv4+uuvceTIkTKOtuJRKx0AVVxPPfUU2rRpg6pVq+ZZV9AJ7OzZs3BxcSnN\n0Ao0depU1KxZE4MGDcqzLiUlBQMGDMC2bdvg4eGBPn36ICgoCKmpqfjtt98wbdo0LF26FP/73//Q\ntm1bBaJ3DGlpaXjllVcgSRL8/Pzg7++Pq1evFvh3U716dQwePBgrVqzAm2++iYCAgDKMmIjs3c6d\nO/NdV5IX3UePHsUPP/yAKVOmwN3dPc/6v/76C+Hh4YiPj0e9evUwaNAgeHl54fLly9iyZQs2btyI\nRx55BN9++63N7cu78jK/+q+//op33nkHarUadevWhU6nQ3Z2doHbjBs3Du+88w6mTZuGzZs3l1Gk\nFROfwJBiPDw8EBISAg8Pj2JtFxISgurVq5dSVAXbt28fjh07hkGDBuVpsEwmE5555hls27YN3bt3\nx6VLl7Bu3TrMnTsXS5YswZkzZ/Dhhx8iPj4evXv3xrlz5xT5GRyBq6srtm7dipiYGMTExGD48OFF\n2u7555+HXq/HqlWrSjlCInI0QUFB+b4dUJIX3R9//DEA2HwV6ezZs+jduzcSEhKwaNEinDlzBsuW\nLcOcOXOwbt06XLp0Cd27d8e2bdvw7LPPlptkwB716dMHBw4cQGpqKk6dOgVfX99Ct3FxcUF4eDi2\nbduGK1eulEGUFRcTmAokKirK0n/k+vXrGDx4MHx8fODi4oIWLVrgu+++s7mdEAKfffYZWrduDXd3\nd7i6uqJZs2ZYtGgRDAZDnvLHjx/HoEGDEBQUBGdnZ/j4+KBJkyYYN24cUlJSLOXu7QNj7mNxd6zm\nr7svUPPrA5Oamoq3334b9evXh7OzMypVqoRu3brhp59+KvCzSEhIQEREBPz9/aHT6fDQQw9h9erV\nNj8L84XvgAED8qz75ptv8NtvvyE4OBgbN25E5cqV85SZMGECXnvtNaSmpmLChAk2j2HLzz//jO7d\nuyMgIAA6nQ4BAQFo37495s+fn6dsZmYm3n//fbRo0QLu7u5wc3ND/fr1MW7cOFy9etVS7vz585g8\neTLCwsLg4+MDnU6HwMBAjBo1yqpcUSQnJ2P69Ol46KGH4OrqCg8PD3To0AE//PBDsfZTVE5OTujV\nqxf8/PyKtV3nzp3h5+fHBIaolOzfvx+yLOOJJ57It0xYWBhUKlWeC7xdu3bhiSeegI+PD7RaLQID\nAzFu3DjExsYW+fjFba8A4Pr165g4cSJCQkLg4uICb29vhIWFYcaMGVbb3NsHpnPnzpZXUocPH27V\nZl25cgVvvfUWZFnGl19+afO4Z8+ehSzL6NChg2VZZmYmvvnmG4SGhiIkJCTPNi+99BLS0tLw+uuv\n23y9rHLlytiwYQMCAwPx66+/4ttvvy3S55aamoo5c+bg4YcfhpeXF9zd3REcHIx+/fph9+7decqf\nO3cOI0eORFBQEHQ6HXx9fdGuXTt8+OGHVuU2btyI5557DiEhIXBzc4ObmxuaN2+OxYsXF7sP6eHD\nhzFgwAAEBARAq9UiICAAQ4YMwaVLl4q1n6IKCQlBixYtoNVqi7XdgAEDYDKZ8MUXX5RKXHSHoAoj\nMjJSSJIkmjRpIgIDA0WzZs3E5MmTRUREhPDy8hKSJIkPP/wwz3bPP/+8kCRJ1KhRQ0yYMEG8/vrr\nIiQkREiSJHr16iUMBoOl7LFjx4ROpxOurq6if//+YsqUKeLll18Wjz32mHB1dRWXLl2ylP3iiy+E\nJElizZo1QgghoqKixMyZM4UkScLLy0vMmjXL8rVp0ybLdpIkiS5duljFmJSUJB566CEhSZJo3ry5\nmDx5shg9erTw9vYWkiSJ2bNn2/wsQkNDRb169UTjxo3Fyy+/LEaPHi0qVapkFdfdatSoITw9PW1+\nvh07dhSSJIkVK1YU+Hu4ffu20Gq1QpZlERUVVWBZIYRYuXKlkCRJ+Pv7i1GjRompU6eK0aNHi/bt\n24tatWrl2XdoaKiQJEnUr19fTJgwQUyaNEk8/fTTwsvLy+pznD9/vvDy8hLh4eFiwoQJ4o033hC9\ne/cWsiwLPz8/ce3aNat979q1S0iSJGbNmmW1/Nq1a6Ju3bpCkiTRqVMn8eqrr4qIiAhRrVo1IUmS\nmDlzZqE/44OaMWOGkCRJrFy5stCy4eHhQpIkce7cuVKPi6giatCggXBychJxcXF51p08edLmOfzd\nd98VkiSJKlWqiKFDh4pJkyaJRx55REiSJKpXr57nfNSpUychy3Ke/RenvRJCiH///VdUrlzZcv6a\nNGmSmDBhgujZs6fQaDQiOTnZUrZWrVoiKCjI8v3q1atF586dhSRJ4qmnnrJqs5KSksSVK1eESqUS\nbdu2tfk5TZw4UUiSJL7++mvLst9//11IkiReeumlPOUvX74sJEkSzs7OIjEx0eY+zZYvX27zc7bF\nZDKJtm3bCkmSROvWrcWrr74qJk+eLJ577jkRGBgopk2bZlV+8+bNwtnZWciyLPr06SOmTJkixo0b\nJzp27CgqV65sVbZ+/fqiUaNGYsiQIeKtt94SL774oqhXr56QJEkMGjQoTyxDhw4VkiSJK1euWC1f\nu3atUKvVws3NTQwaNEhMmjRJhIeHC7VaLby8vMTRo0cL/TkfVK1atYQsyyI7O7vAcklJSUKWZdGm\nTZtSj6kiYwJTgZgv2iVJEgMGDLBad+nSJeHl5SW0Wq3ViWP9+vWWC/3U1FTL8pycHNGtWzchSZJY\nuHChZfmrr74qJEmyulA2S0tLs6r49yYwZpIkWTUS97J1Uh4zZoyQJEmMHDnSavm1a9eEv7+/kGVZ\n/PvvvzY/i1GjRgmTyWRZd/r0aaFWq0XDhg2t9hUVFSUkSRLdunXLE5NerxcajUbIsiwuXryYb+xm\nbdq0EZIkibVr1xZatlmzZkKn09m8GEhISLD6fuDAgUKSJBEREZGnbGZmprh9+7bl++vXr4ucnJw8\n5bZv3y5UKpUYM2aM1fL8Ephu3boJlUol1q9fb7U8JSVFNGvWTMiyLI4dO2a1bsaMGcX62rhxYz6f\nzn/7K2oCY75Q+vTTTwstS0TFt2DBgnxviL3xxht5zvu7d+8WkiSJtm3bWiUMQgjx1VdfCUmSRL9+\n/ayW20pgitteZWdni8DAQCHLsvjqq6/yxBobG2uV8NybwAjx37nH1g0vIYR4/PHHhSRJ4vjx41bL\nMzMzRaVKlYSPj4/Vedh8E89WPF9++aWQJEm0b9/e5rHudv78eUuyc3f7Zsvx48ctSZgtd7cz8fHx\nwsPDQ2g0GrFr1648Ze9NNC9fvpynjMlksiQq+/fvt1pnK4G5cOGC0Gq1ok6dOiImJsaq/B9//CHU\narVo3ry51fIjR44Uu50p7IZiURMYIXITN41GIzIzMwstS/eHCUwFYr5od3JysllRp0yZIiRJEnPn\nzrUs6969u5AkSWzdujVPefNJr169epZl5gTm119/LTSekkpgcnJyhIuLi3Bzc8tzQS+EEEuXLhWS\nJInRo0dblpk/Czc3N6uGzqxjx45ClmWRnp5uWbZz504hSZIYOnRonvKxsbFCkqQin9yeffbZPI1p\nfpo1ayZcXV2tkg9bYmNjhSzLwt/f3yru+/Hwww+L4OBgq2W2Ehjz38C9FxdmP/30k5AkSbz55ptW\ny82flTmJLOhLlmUxfPjwAuMtTgKzdu1aIUmSmDJlSqFliaj4YmJihFqtFqGhoVbLDQaD8Pf3F+7u\n7lbnKPNT0RMnTtjcX9OmTYVarbY6V9tKYIrbXv3www9CkiTx2GOPFennup8EZuvWrUKSJDFu3Dir\n5WvWrBGSJIk33njDavmQIUOEJEk2kwNzYjhw4MBCY83IyLCcP2/dulVgWfNnU5T9Lly4UEiSJMaP\nH19o2YIcOnRISJIk3nnnHavlthIY83XFzz//bHNfTz31lJAkSZw+fdqybPXq1UVqX+5uZ3bv3l1g\nzMVJYMx/i+fPny+0LN0fjkJWAdWsWRO1atXKs7xjx46YP38+jh49all2+PBhSJJks8/Jww8/DB8f\nH1y4cAEZGRlwcXHBgAEDsGTJEvTt2xf9+vVD165d0aZNG9SvX7/Ufp6zZ88iMzPTMpzkvbLine truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9ca17feb00>"
"<matplotlib.figure.Figure at 0x7f6b7cf7d7f0>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAzAAAAGxCAYAAAC9e1NPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4FOXaBvB7Zms2jSQkBAIkhCJFESEgRZoIKliw4kFF\niiLFoygKAkpohiIGUGxHPIAiougBBFs+BRFEEBSlF2kBQkII6dm+7/dHkoWYBBJSZnfn/l0XF8ns\nzM6zC++888zbJCGEABERERERkReQlQ6AiIiIiIioopjAEBERERGR12ACQ0REREREXoMJDBERERER\neQ0mMERERERE5DWYwBARERERkddgAkNUC5YtWwZZlrF8+fJKHSfLMnr37l1DURERkSfr1asXZLl2\nb9ViYmLQpEmTWj0nUWUxgSGqBZIkuf9cTpblq1YU/zyGiIjUo7brgLLqqmnTpl3TQziimqJVOgAi\nNbjvvvvQpUsXREZGlnrtSpXToUOHYDKZajI0IiIit40bN5b7Gh+okadgAkNUC4KCghAUFFTp41q0\naFED0RAREZXtSr0ChBC1GAlR+diFjHzWyZMn3WNIzp49i0cffRTh4eEwmUzo2LEjPv/881LHCCGw\nZMkSdO7cGYGBgfD390f79u2RmJgIh8NRav89e/Zg8ODBaNKkCfz8/BAeHo4bb7wRY8eORU5Ojnu/\nf46B+emnn9z9movjLP4zbNgw93HljYHJzc3FK6+8gpYtW8LPzw8hISHo06cPvvrqqyt+DxkZGRg5\nciTq168Po9GI66+/HsuWLav0d0tEpHbbt2+HLMu45557yt0nLi4OGo0Gp06dcm/btGkT7rnnHoSH\nh8NgMCAmJgZjx45FWlpahc9d2boKAM6ePYtx48ahRYsWMJlMCA0NRVxcHOLj40sc888xML169cKM\nGTMAAMOGDStRX506dQqTJk2CLMv46KOPyjzvoUOHIMsyunfvXuHPR3Q1bIEhn5eZmYlbbrkFoaGh\nePLJJ3Hx4kV8/vnneOSRR5CSkoJx48a5933iiSewYsUKNGzYECNGjIBOp8NXX32FF198EUlJSfj6\n66+h0WgAFCYvN998MzQaDe666y40bdoUeXl5OH78OJYvX47x48eXanUpbn5v0qQJ4uPjMX36dAQH\nB+P5559379OuXbsyjymWnZ2NW265Bfv370f79u0xbtw4ZGZmYvXq1Rg4cCCmT5+OV199tdT3kJWV\n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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9ca17fe1d0>"
"<matplotlib.figure.Figure at 0x7f6b7cf7db70>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9ca1801d30>"
"<matplotlib.figure.Figure at 0x7f6b7cf49eb8>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9ca18c2f28>"
"<matplotlib.figure.Figure at 0x7f6b74f53dd8>"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9cad433898>"
"<matplotlib.figure.Figure at 0x7f6b7d1f8828>"
]
}
],
"prompt_number": 20
"prompt_number": 21
},
{
"cell_type": "markdown",
@@ -1389,13 +1474,13 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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\namoqkH1x6+jRo3Ts2DHX/JUrV2bVqlWkpqbi5eVVKG0UIl9KFJvdu3crs9msDAaD6t+/v1q6dKk6\nduyY0nU933m++OILpWmamjhxYp7TExMT1aVLl3KVnz59WlWsWFHVqlUr1zRN05Smaapr167KarU6\nys+fP6/8/f2Vv7+/stlsjvLNmzcrTdNUtWrVnNaVkZGhWrdurTRNU+Hh4S5rV+fOnVV6errTtJiY\nGGUymVS5cuVUTEyMo1zXddW3b1+laZoyGAx57KG8tWvXTmmapkaPHq0sFovy9vZWP/7443XnOXbs\nWK4yXdfVE088oTRNU9u2bXOallN+4sQJp+3I2c7nnnvOqf7kyZOVpmnKz89P9e7d2+k7WLhwodI0\nTfXo0cNpnqL4/q8nZxu7d++uxo8fn+tz7ty5G+6LwYMHOy0z57u5uu7VOnbsqIxGo1q8eLFTeVJS\nkmrUqJEyGAxqz549jvJ169Y5tvn1118v0HYJIUReunTp4jie/PDDD3nW+euvvxx16tSpU2htSU1N\nVXFxcU5lsbGxStM01aFDB6WUUvv27VOapqkxY8bkmv/FF19Umqapv/76q9DaKER+JCEpZkuWLFEh\nISGOg1XOCWjXrl3V4sWLcyUnN0pIrueZZ55RmqapU6dOOZXnnLzndRAaOHCg0jRNHThwwFE2dOhQ\npWma+vzzz3PV37hxY54Jye20a+/evbnmmTRpUr4nlDExMcpoNN5SQpLzmTt3boHnvdavv/6qNE1T\nb731llP59U7CfXx8VGpqqlP9U6dOOfbBtSfjdrtdmUwmVa1atQK3y1Xf//XkbGNen6sTA1clJHv3\n7lWapqlevXrl2Z7ly5fnCr45CUlISIjKzMws0HYJIURe6tWr5zjGrV27Ns86V194KleuXJ51hg8f\nrpo3b35Tn6VLl96wfS+//LIyGo1q69atSqm/LyjmFTtfffVVpWma2rVr103sASFcQx7ZKmZ9+vSh\nR48erFu3js2bN7N79242bdrEihUrWLFiBXPnzmX58uWYTKYCL3Pz5s1Mnz6drVu3cuHCBTIzM52m\nx8bGUqlSJacyPz8/qlWrlmtZOY9HxcfHO8p+++03ANq1a5erfsuWLTEajS5rl8VioV69ermWdb02\nVK1alcqVK9/SMLFdunRh5cqVvPjii9x9992OYWrzcunSJd577z1WrFjBsWPHct0mj42NLfB6IyIi\ncj0ulNPp29/fnypVqjhNMxgMBAUFcfr06VzLKuzvvyDmzp173U7trpLTDysxMTHPjpg5z1IfOnQo\n17T69evf1N+VEEJc6+rj69V9MvJjtVrzLJ81a5bL2pTjr7/+YubMmbz66qs0b94c+LuNeT0ym5GR\nAeB4BE2IoiQJSQng5uZGp06d6NSpE5A9hOA333zDkCFDWLVqFbNmzeLZZ58t0LK+++47evfujaen\nJ506daJ69ep4eXlhMBhYt24dGzZscBx0rnb1M/nXtg3Abrc7yhITE9E0jQoVKuSqbzQaHX1jXNGu\nazsIXt0GIM825JTfSkLyyiuvEB0dzcsvv0yHDh346aefHAfyqyUkJHDPPfdw/PhxmjVrxqBBgwgI\nCMDNzY34+HimT5+e5/bkJ68+Lzn7Pr/+MG5ubmRlZTmVFcX3X5JcunQJgLVr1zp12ryapmmO56ev\ndjOjfAkhRF5CQ0M5cuRIgeuHhIQUYmv+lpGRweOPP85TTz3Fm2++6SgPDAzMd56c42Reg+wIUdgk\nISmBDAYDffr0Yd++fUyaNIlffvmlwAnJG2+8gcViYdeuXdSsWdNpWmxsbJ4v/rtZOSfI586dy3Xg\nstvtXLp0KdfV/lttV34dn3PaEBcXl+cdlLi4uIJtTB5eeuklvLy8eOaZZ+jcuTPLly93GkAA4PPP\nP+f48eNMmDAhV4fvrVu3Oo0EVpSK4vsvSXJ+B9OmTWPUqFE3Na+820QIcbtatmzJunXrALh8+XKe\ndXIunOTUL2xKKYYMGUKXLl1y3TmuUKECmqbledc7NTUVTdMcg+QIUZRk2N8SLGcscXXV+xdyHofK\n74r10aNHiYqKynUyqut6vu80uVmNGzdGKZXnye3mzZvzbJur29W4cWMgewjXa8XExHDq1KmbXubV\n/vnPfzJnzhzS0tLo2rUrK1eudJp+9OhRAHr16pVr3uI86S+K77+oXe83nxPcc4YGFkKIovTEE09g\nMGSfSv3+++951tm9ezeQfRFkwIABedZ56qmnuOeee27qk9fQ75B9YSoqKsopGckZ9dHT05PGjRvn\n+QTB0aNHqVGjhoywJYqFJCTFaNGiRfz88895vvDt3LlzzJ49G4C2bds6yu+66y4ATpw4kecyw8PD\nOXLkCGfPnnWUKaWYMGEChw4dcslV4UGDBgEwefJkpytCGRkZvPrqq0XSrscffxyTycTMmTLine truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f9ca18de080>"
"<matplotlib.figure.Figure at 0x7f6b7d07acf8>"
]
}
],
"prompt_number": 21
"prompt_number": 22
},
{
"cell_type": "markdown",
@@ -1465,7 +1550,7 @@
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 21
"prompt_number": 22
},
{
"cell_type": "heading",