Added a class to implement the Kalman filter.

Not sure i am crazy about it. But it needs to either be removed,
or added to all the examples in the chapter.
This commit is contained in:
Roger Labbe committed 2014-09-14 22:36:26 -07:00
1 parent cbfd8db15c
commit ee15475c3d
1 file changed
+181 -67
+181 -67
View File
@@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:6bbf3b69472f466f37cf43314d0391a512ece3f8f9592b3b02ec292d425f2c17"
"signature": "sha256:40612f6bc9924dbda2c3d14cf0077f63a2ba9109782c950a0523fc7bd1192850"
},
"nbformat": 3,
"nbformat_minor": 0,
@@ -257,7 +257,7 @@
"output_type": "pyout",
"prompt_number": 2,
"text": [
"<IPython.core.display.HTML at 0x7feedcb960f0>"
"<IPython.core.display.HTML at 0x7f634c5fa588>"
]
}
],
@@ -349,10 +349,10 @@
"output_type": "stream",
"stream": "stdout",
"text": [
" 0.3063\t 0.0614\t 0.7215\t 0.8443\t-0.6958\t\n",
" 0.3727\t 1.0889\t 0.2490\t 0.1126\t-1.0971\t\n",
" 2.5001\t 1.0345\t 1.0200\t 0.2969\t-1.5525\t\n",
" 0.9133\t-1.1189\t 0.9056\t-0.8069\t-0.5581\t\n"
" 0.7405\t 0.7229\t-0.5326\t 1.2238\t-0.1799\t\n",
" 0.0760\t-0.5359\t 1.0663\t 0.5362\t-0.6931\t\n",
" 1.9148\t 0.5687\t 1.1368\t-0.7581\t 1.7235\t\n",
"-1.1808\t 0.9561\t 0.4169\t 0.1081\t-1.5491\t\n"
]
}
],
@@ -399,7 +399,7 @@
"output_type": "display_data",
"png": "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\n/nM5nU5J0syZMzV69Gh9/fXX6ty5s9577z3l5OTo4YcfliT94he/0EcffaTFixf7w/fYsWPq1KmT\nbr31VkmX36h3tdTUVEmS3W6/5r64uDilp6fr0qVLkqSUlBSlp6dfs11ycrKSk5OVlJRU4+kQy5cv\nV9u2bfXCCy9Iktq3b68dO3ZoyZIl1cI3NzdXY8eOlSQ99thj2rBhg44ePaquXbsanBgAAKhPtASv\nj+XDN9gjs+FQVlamsrIyZWVl+W/r1q1btW0OHz4sSbr55pv9t/m+PnTokDp16qRDhw4pNzfXf39S\nUpLatWsX0JquXIsv/g4fPqzOnTvr8OHD1fbjW8v27dv9348fP16PPfaYhg4dqjvvvFP9+vXTPffc\n0+ifenb48GFlZ2dfs9bNmzdXu61Dhw7+r1NSUiRd/nsBAADBi7bg9bF8+FpRqGKwpuep701hDXku\nI/f5DB06VJ999pk+/vhjffLJJ3riiSc0evTooC9b1lA2m83QDOLjr33pBjo7AABwWbQGr09kr94k\nLVq0UFpamr766iv/bfv27au2je/I7d69e/23+b5u3769pMtHLb/88kv//eXl5f4jxQ115Vr2799f\nbQ3t2rWrth/fWnzr8ElLS9O9997rP2d206ZNDV5HQkKCJKmysrLebWsK8nbt2lX7s9S2VgAAEDqR\n/qY1ozjiG6AJEyZo4cKF6tmzp1JTU/Wb3/ym2v1ZWVnq3bu3Zs2apXnz5snr9WrWrFnq27evOnfu\nLEl68MEH9cADD2jx4sXKycnRokWL5Ha7A1rP4sWL1aNHD6WnpysvL0933HGHunTp4t/PT3/6Uy1a\ntEgDBgxQfn6+duzYodWrV/sf/9prr6lbt27KysrSxYsXtXXrVnXv3t1/f3l5ub799ltJl6P2woUL\n/itUtGzZ0r9dy5YtlZycrI0bN6pHjx5KSkpSUlKSbDabqqqq/G9oKy8vV0VFhc6cOSOv16vU1FQl\nJCRo/PjxWrhwoebOnat/+Zd/0a5du7R+/XrNmzev2p+Xo7sAAAQv2o/wXo3wDdCUKVN0+vRpPfzw\nw2rWrJmeffZZ7dy5s9o2f/jDH/Tiiy/635TldDqrBXK/fv300ksv6fe//73mzZunCRMmqGfPnkpM\nTGzweh566CHNmDFDx48f1+23317tcmN33XWX5s6dq7feekt5eXlq3bq1FixYUO0DJpKSkrRgwQId\nO3ZMTZs2VZ8+fTR79mz//evXr9czzzwj6fKR2rfffltvv/22bDabXC6Xf7u4uDgtWLBAr7zyim65\n5Ra53W7/h1mcOHHCf7kz3/P06tVLNptNq1atUp8+fdSxY0f98Y9/1IIFC/Sf//mfSk9P15QpU3T/\n/fdX+/NefbS4sc9FBgAgksVa8PrYiouLw3bozOVyXfNGpSudOXNGGRkZ4dp9ROrdu7ceeughTZ48\n2dD2Rj8pLZbF4uvM4XBIkkpKSkxeibUxJ2OYk3HMyhjmZFyoZxWtwetwOFRUVKTMzMw6t+OIr8le\nffVVDRkyRC1atNCaNWtUUlKi0aNHm70sAAAQRaI1eBuK8DXZF198ocWLF6uiokJdu3bVe++9V+M1\ndOvCr/kBAEBNCN7qCF+TLV26NKjHZ2ZmVjvHFgAAgOCtGeELAAAQJQjeuhG+AAAAEY7gNcbU8PV6\nvfJ6vZyjirCpqqrimr8AgKhF8DZMUOH7+eef6+WXX9bRo0fVvn17zZkzR1lZWYYfn5ycrPPnzysl\nJSWYZQA1qqqq0unTp/2XggEAIFoQvIEJOHwrKir01FNP6bnnntOoUaP0xz/+UVOmTNGWLVsMP8d1\n113n//SuWBYff/mvwcjH/Mayhs7J6/XK4XD4P0YZAIBIR/AGJ+DwPXTokC5duuS/5uzPf/5z/e53\nv9Nf//pX/0flGsHRXi7kbRRzAgDEKoI3NEJ2jq/vXN1jx441KHwBAABQswq3R8vy92ru+x8TvCEQ\ncPh26NBBTZs21YcffqgRI0Zo0aJFstvtunTpUrXtOL+yfr5fxTOrujEn45iVMczJGOZkHLMyhjnV\nzxe8r6xcpSMnyyRJWTc5NH18f43NyZLdTvBeyehpjQGHb2Jion73u9/pN7/5jebNm6cRI0aoTZs2\nSk5OrrZdXl6e/2un06nc3NxAdwkAABDVfME7f8V2HT11XpKUfVO6po3vR/BepaCgQIWFhZIku90u\np9NZ72NsxcXFIbnWU2lpqXJzc7V582bdeOONkiSXy6Xs7OxQPH1U49xVY5iTcczKGOZkDHMyjlkZ\nw5yuVds5vDMedGpsTpbKykpNXqG1ORwOFRUVKTMzs87tgjrH99ChQ2rTpo0uXbqkvLw89enTxx+9\nAAAAqFt9b1prmZFh8gqjS1Dhm5+fr4ULF6qyslJOp1OvvPJKqNYFAAAQtbhKgzmCCt9JkyLine truncated
"text": [
"<matplotlib.figure.Figure at 0x7feec4299b70>"
"<matplotlib.figure.Figure at 0x7f633596c3c8>"
]
}
],
@@ -442,9 +442,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7feec3fbfb38>"
"<matplotlib.figure.Figure at 0x7f63356150b8>"
]
}
],
@@ -476,9 +476,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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\ngC0gbanMdUJCQqPPt2YN+KBBgwA4dOgQ5557rvr4oUOHHJ7X6XTExMTU25BaXV3N0aNHmTBhgsf3\njomJQavVcujQIS6//HL18SNHjmC1WtV7CyFEW5AAXAghGnHuueei0Wj48ssvHfpbf/nll0DjJR0N\ndUGxWCyUlZURGBioPhYSEkJAQAB6vV59bMKECQQEBPDee+8xefJkvLy8HK6Rk5PjUD/ujvasAY+N\njaV79+6sXr2am2++Wf32YdWqVQQGBjJu3Dj12KlTp/LWW29x4MABhg4dCsDatWspKytrsM/4woUL\n2b9/Pw8++CDTpk1zeC4kJIT4+Hh+/PFH5s+fj7+/PwBffPEFXl5eTJ48uTX+ZCGEcEoCcCGEqMO+\nl3VUVBTXXHMNn376Kffddx/jx4/nwIEDfPnll0yePJnhw4erx27ZskXt5JGWlkZ5eTnffPONer05\nc+YAtu4mEydOZMaMGcTGxuLr68svv/zCyZMn1emPYCu9eOKJJ3jssceYO3cus2fPJigoiBMnTrBh\nwwbmzJnDvffe69Hf1lo14KtXryY9PZ2SkhIA/vjjD/75z38CcNlll6k18/Pnz2fBggXccccdzJgx\ng+3bt7N582YWLlzo0J/7xhtv5LPPPuPuu+/mtttuw2g0smzZMmJjY5k9e7bTNWRkZHDixAm1pryu\nBx54gJtvvplbbrmFK664gsTERD777DNuuOEGGcIjhGhTEoALITqthjLUdR//+9//TkREBF999RUb\nNmwgPDycW2+9lb/97W8Ox7399ttqZxLlGgsXLlR/VwJwPz8/brjhBrZs2cK6deuwWq307duXRYsW\ncfXVVztcc+7cuURGRvLuu++ybNkyzGYz3bt3Z9KkScyaNav5L0ILWbVqlcPf/scff7Bz5040Gg1j\nxoxRA/DZs2dTXV3NsmXLWLRoEVFRUTz22GPcdNNNDtcLDQ1lxYoVvPjii7zxxhvo9XqmTJnCo48+\n2uiE0cZ6r48ePZp//etfvPHGGzz//POEhYVx9913c88997TAKyCEEO7TJCYmNjy2rAWtW7eOZcuW\ncejQIWbPns2LL74I2HafP/XUU/z4448EBwezcOFCh/+ofPjhh/z73//GZDJx7bXXMn/+/LZYrhBC\nCCGEEK2izTLgQUFB/OUvf2Hr1q1qr1eA999/n6SkJDZt2sShQ4e48847GTlyJN26dePPP//krbfe\n4uOPP8ZgMHD99dcTGxvbobI+QgghhBBCeKLN+m+NHTuW6dOnExwc7PD4jz/+yLx58zAYDIwdO5aR\nI0fy888/q89deOGFREdH07VrV6666ip++OGHtlqyEEIIIYQQLa7Na8DtNzcBpKSk0K9fPxYsWMCU\nKVOIjo7mxIkT6nNjxozhgw8+IDMzk/j4eL777ru2XrIQQgghhBAtps0nUNTdIFNRUYG/vz/Hjh0j\nOzubgIAAysvLHZ5LS0sjNTXV4TkhhBBCCCHORO2eAffz86OiooKvv/4agOeee46AgAD1ufLycp54\n4gkAfv75Z7V3a11paWmtuGohhBBCCCFsevXq1azz2zwAr5sB79u3L8nJycTFxQGQnJysDlno27cv\nx48fV49NSkqif//+DV47Nja2FVYszlTh4eF8+eWXTJo0qb2XIjoIeU8IZ+R9IZyR90Wtgbe/T5nR\nxJQRvVjx0EyXx2cVlDPq3o8AiAzxY89bNzZ7DRc89DnH0gv56YXLuenltWQWlPHN05cSP8CzYWR1\n6VJS2HLTfC5N/p38EfFUf/91o8eHh4ezefPmZt0T2rAExWKxUFlZidlsxmw2U1VVRXV1NbNmzWLF\nihWUlJSwY8cO9u7dy/Tp0wGYNWsWP//8M0lJSWRlZbFq1SrpgCKEEEII0UbKjCbKjCYAdidl16tk\ncGZPcrb6c36J0a1zXMkrsXXQiwj249JxtmTs6q3JTb6eLiWFkPnziZw4kcuTd4BGg19MP6isbPZa\n3dFmGfDVq1fz2GOPqb9/88033Hvvvdx1110cP36cSZMmERwczAsvvKCOVh42bBj33HMPN910E9XV\n1Vx77bUSgAshhBBCtJGswtq9d4WllSRnFBHTPaTRc/Yk1Qbg1WYrJRUmgvy9m7wGs8VCYaktMA41\n+DJ3QjTvrNnPtzuO89SN4/DSeZhPNpnoctll6HJysGh1vN9tBD9MuYI3Xr6tyWv0VJsF4JdffjmX\nX3650+deeOEFXnjhBafP3XTTTfUmpAnhLilLEnXJe0I4I+8L4Yy8LyC7wLH5xa5jWa4D8OM5Dr/n\nlxibFYAXlVVhsVoJ9vdG76XlnL5d6NctiBOZxWw9lM7Ec3p6dkG9ntK77kKfmMhzvc7nxV35PDhu\neJPX1xRt3gVFiLYk/89T1CXvCeGMvC+EM/K+cMyAA+w6lt3AkTZmi4U/k20BePdwW1ON/BLine truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7feec428f4a8>"
"<matplotlib.figure.Figure at 0x7f6335619d68>"
]
}
],
@@ -496,9 +496,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7feec3f060b8>"
"<matplotlib.figure.Figure at 0x7f63355a0630>"
]
}
],
@@ -541,7 +541,7 @@
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7feec3eb3c50>"
"<matplotlib.figure.Figure at 0x7f63354cd8d0>"
]
}
],
@@ -578,9 +578,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "iVBORw0KGgoAAAANSUhEUgAAAsYAAAF2CAYAAABtSl5dAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXmcHHWd//+qvnvunnuSTGaSTMhBOJJguEIiEVyRlf0K\nsiquyK6LfCWoiIisu0IQDP7A66viY3U5FVw5IoIKCggGgoAQEiAJuSeTmUnmPvu+6vdH9ae6urqq\nuqqrerp78n4+HjxIMj3d1dXVVe96fV7v15vbt28fD4IgCIIgCII4wbEVewMIgiAIgiAIohSgwpgg\nCIIgCIIgQIUxQRAEQRAEQQCgwpggCIIgCIIgAFBhTBAEQRAEQRAAqDAmCIIgCIIgCABUGBMEQRAE\nQRAEAB2F8Y033oi1a9di9erVuOSSS/CXv/wFABCLxfDNb34Tq1atwvnnn49nn3224BtLEARBEARB\nEIWCyzXgY+/evVi4cCFcLhdeffVVXHPNNfj73/+ORx55BM8//zzuv/9+7NmzB9dccw2effZZtLa2\nztS2EwRBEARBEIRl5FSMly5dCpfLBZ7nEYvFUFlZCY7j8Kc//Qmf/exnUVVVhTVr1mDlypV4/vnn\nZ2KbCYIgCIIgCMJyHHoetGnTJmzZsgUejwc///nP4fV6ceTIESxYsAA33ngjNmzYgEWLFqG7u7vQ\n20sQBEEQBEEQBUFX892mTZuwY8cOXH/99fj617+OSCSCUCiEiooKHDhwAENDQ6isrEQwGCz09hIE\nQRAEQRBEQdClGAOAw+HAZz7zGTz88MN47bXX4PV6EQqF8NRTTwEA7rjjDlRWVmb9Xm9vr3VbSxAE\nQRAEQRAatLe35/27ugtjBs/z4HkenZ2dOHToEE4++WQAwKFDh/ChD31I8XeWLVuW9wYSs4+Ghgb8\n9re/xfr164u9KUQJQccFoQQdF4QSdFwQSjQ0NGDbtm2mnkPTSjEyMoLHH38cfr8f8Xgcv/nNbzA2\nNoaVK1fioosuwq9+9StMT0/jjTfewM6dO3HhhRea2hiCIAiCIAiCKBaairHNZsMf/vAHfP/730cs\nFkNXVxd+9rOfoa6uDldddRUOHz6M9evXo7a2Fps3b0ZLS8tMbTdBEARBEARBWIpmYVxfX4+HHnpI\n+RcdDmzevBmbN28uyIYRsxuy1xBK0HFBKEHHBaEEHRdEIaCR0ERRoBMaoQQdF4QSdFwQStBxQRQC\nKowJgiAIgiAIAnmkUhAEQRAEQSgRi8UwPj4OjuMK+jrj4+MAgHg8XtDXIUoLnufh8/ngdDoL9hpU\nGBMEQRAEYZpYLIbR0VE0NzfDZqMFacJ6kskkhoaG0NDQULDimI5cgiAIgiBMMz4+TkUxUVBsNhua\nm5vFFYOCvEbBnpkgCIIgiBMGjuOoKCYKjs1mK6hVh45ggiAIgiAIggAVxgRBEARBEAQBgApjgiAI\ngiAIggBAhTFBEARBEIQi8+bNw+OPP17szSg4Z511Fn74wx+aeo7rr78en/jEJyzaouJBcW0EQRAE\nQRAnMM888wy8Xq/iz3p7e3H22WfjiSeewFlnnaX6HHfccQcSiUShNnHGoMKYIAiCIAjiBKa+vj7n\nY3ie1/x5VVWVVZtTVMhKQRAEQRDECU84HMaNN96IJUuWYNWqVfjf//3frMccP34cn//857FkyRIs\nWbIEV199NYaGhjIec99992HlypVYsmQJbr31Vlx22WX46le/qns7ent7MW/ePPzsZz/D+eefj0WL\nFuFTn/oU+vv7Mx73yCOP4Nxzz8WCBQuwdu1aPProoxk/n5qawpe+9CWcdtpp6OrqwoYNG/Dkk09m\nPGbdunWYN28e5s2bhx/84AeK23H22WcDAC6//HLxsa+//rr4uG984xviv6tZKf785z/jQx/6EBYu\nXIg1a9bgnnvuyfj5Jz7xCdxxxx340pe+hJNOOglnn302/vznP+veZ1ZCijFBEARBEDPG3M/8T0Ge\nt/+Rq039/o9+9CP85S9/wf3334+6ujp885vfzHrMddddh3A4jCeeeAI8z+Omm27Cddddh8ceewwA\n8Oqrr+K2227Dt7/9baxbtw7/8z//g+3bt6Ojo8Pw9tx333344Q9/iKamJvzHf/wHvvSlL+G3v/2t\n+Do333wzNm3ahA0bNuCFF17AjTfeiM7OTpx55pkAgO9973t488038cADD6C5uRn79u1DMBjMeI2n\nnnoK8XgcH/3oR7OygefOnYudO3eiv78fF198Me69916cccYZAIDa2lrxcd/61rdw44034pZbbsHI\nyEjW+zh8+DC+8IUv4Itf/CI++clPYvv27fjGN76BlpaWjEL617/+NW6//XZ87Wtfw1133YWvfe1r\nWL9+PTwej+F9ZwYqjAmCIAiCOOF5+OGHce211+Lcc88FAPzXf/0XPv7xj4s/37dvH9544w387ne/\n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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7feec4299940>"
"<matplotlib.figure.Figure at 0x7f633596c550>"
]
}
],
@@ -677,7 +677,7 @@
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAtEAAAF2CAYAAACoOMTMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8VNX9//HXnclkmWwkkw1ICGAgLAGTsKsBRBBB64Io\nFKFaFbXaqqhFq8W6YxXqVmuLP6xUURE3kNUdRJB9EZEk7CEsWcm+z/z+iKTNV0jIerO8n4+HD5O5\n9577nsM8kk/OnDnHSExMdCEiIiIiIufMYnYAEREREZHWRkW0iIiIiEgdqYgWEREREakjFdEiIiIi\nInWkIlpEREREpI5URIuIiIiI1JGKaBERERGROqq1iD5x4gTTpk0jNjaWCRMmkJycXGuj33//Pb/6\n1a8YMGAAw4YN48EHH6SgoKDq+MaNGxk7dixxcXHcdddd5OfnN+xZiIiIiIg0o1qL6FmzZhEdHc2m\nTZsYN24cM2bMqLXR8847j//3//4fW7du5YsvviAjI4N58+YBUFRUxD333MPdd9/Nhg0bMAyDuXPn\nNvyZiIiIiIg0kxqL6Pz8fNavX8/06dNxd3fnxhtvJDU1laSkpBobDQ4OJjQ0FIDy8nJcLhfe3t5A\n5Si0n58fl19+OZ6entx8882sWLGikZ6OiIiIiEjTq7GIPnz4MO7u7tjtdqZMmcLRo0fp0qULBw4c\nqLXhY8eOMWDAAIYMGYKfnx+33XYbAAcPHqR79+5s3bqVW265hcjISHJycsjOzm6cZyQiIiIi0sRq\nLKKLiorw9vamoKCA/fv3k5ubi7e3N0VFRbU23KlTJ7Zu3crnn3/OoUOHePfddwEoLCzEbreTkZHB\n/v37cXd3r3pcRERERKQ1cKvpoJeXFwUFBYSFhbFx40YACgoKsNvt53yDiIgIbrvtNubPn8+vf/1r\n7HY7hYWFjB07lrFjx5KTkwNwxjZTUlLq8lxEREREROolIiKiTufXWERHRkZSUlLCyZMnCQ0NpbS0\nlCNHjtCtW7c63cTpdOJyuQDo2rVr1ag0wL59+/D39ycgIOCM1/bu3btO95KGczgcfPTRR4wYMcLs\nKO2S+t9c6n/zqO/Npf43l/rfPA6Hg3Xr1tX5uhqnc/j4+HDRRRcxb948SkpKePPNN+ncuTM9e/as\nOmfatGnMmTOn2nXLly8nMTERp9PJsWPHeOONNxg+fDgAQ4cOJS8vj2XLllFYWMgbb7zB+PHj6xxc\nRERERMQstS5x98QTT5CUlMTgwYNZtWoVL7zwQrXjqampZGZmVnvs1KlT3H333QwYMIBJkyYxcOBA\n7rzzTqByishLL73EK6+8wgUXXADA/fff31jPR0RERESkyRmJiYkus0OcTUpKiqZzmMDhcPDTTz8R\nEhJidpR2Sf1vLvW/edT35lL/m0v9b57T0znqOida237LGemPF3Op/82l/jeP+t5c6n9zqf9bFxXR\nIiIiIiJ1VOPqHCIiIiLtSVlZGdnZ2RiG0az3Pb3pXHl5ebPetz1wuVwEBARgs9katV0V0SIiIiJU\nFtCZmZmEhIRgsejN+rbC6XSSlpaGw+Fo1EJarxARERERKkeDVUC3PRaLhZCQkKrR/kZrt1FbExER\nEWmlDMNQAd1GWSyWRp+io1eKiIiIiEgdqYgWEREREakjFdEiIiIiInWkIlpEREREqgkPD2fx4sUN\namPixIncd999jZSoutdff53w8HDCw8MZOnRok9yjNlriTkRERESq2bFjBz4+Pg1qY/78+Vit1kZK\nVN3UqVO55pprWLJkCa+//nqT3KM2KqJFREREpJqgoKAGt+Hv798ISc7My8sLLy+vBhf6DaHpHCIi\nIiJtwEsvvcTAgQPp3r07o0eP5osvvvjFOUOGDOH5559n9uzZ9O/fn6ioKGbOnFl1vHv37lXTJN5/\n//1fXJ+Tk8P06dOJioriggsu4D//+Q/h4eF8//33VefccMMNVW3MmDHjF23MnTuXiRMn8vLLL3P+\n+efTv39/nn/++WrnvPrqq4wePZoePXrQt29fbr/9do4fP96Q7ml0GokWERERqYPONzTN9IHUhdPr\nfe2iRYt4+eWXef7554mLi+Pdd99l+vTpfPPNN0RGRladZxgGixcv5pJLLuH999/H5XKxc+fOquOb\nN2/G6XQSFxd3xnWVH330Ufbs2cO7776LzWZjxowZvzjvtddeo6SkhFtvvfWsazPv3LmT2NhYlixZ\nwqpVq3jqqacYPXo0cXFxAOTm5jJz5kyio6PJy8tj1qxZ3H777SxdurTefdTYNBItIiIi0sotWLCA\na6+9lgkTJtCtWzcefvhhOnXqxNtvv13tPJfLhcPhYPbs2fTq1YvevXszefLkquMOh4Pg4OAz3iM3\nN5clS5Ywc+ZMBg0aRGxsLPfeey8ul6vaeX5+fgQHB9e4xbafnx+PPPIIXbt25Y477sDX17daMf+n\nP/2JSy+9lMjISGJiYvjd737Htm3byMnJqU/3NAmNRIuIiIjUQUNGjJvKoUOHuP7666s91qdPHw4e\nPFjtMcMwGDx4cL3uceTIEcrLy+ndu3fVY9HR0fVqq0uXLtVGqf39/atty71hwwZefvllkpOTycvL\no7y8HMMwKCgoaNK51nWhkWgRERGRNupM0yk6dOhgQpLqalq1IzU1lalTp9KvXz/+/e9/89lnn/HM\nM8/gcrl+MeptJhXRIiIiIq1c165d2bNnT9X3LpeLPXv20LVr10a7R2RkJG5ubvz4449Vj+3du7fR\n2j9tx44deHl58fDDD9OvXz8iIyNJS0s747ne3t4UFRU1eoZzoekcIiIiIq3cb37zGx555BGGDBlC\nbGws7733HseOHWPq1KnVzqtpJLewsJD8/Pyq73Nzc0lLS8NqteJwOPD19eXqq69mzpw5hIeHY7PZ\nePXVV6u1UVZWVjUto7S0lKKiItLT03G5XAQFBWGxnHn89n9zdevWjdzcXBYtWsSwYcPYunUrCxYs\nOON1/fr1Izs7mw8//JCEhAQ8PDyabbqHRqJFREREWrnJkyfz+9//ntmzZzN69Gi+/vpr/vWvf1Vb\nmQPOPL3jtNdee434+Hji4+MxDIO//OUvxMfHc8UVV1Sd8/jjj9OnTx8mT57MXXfdxU033QSAu7s7\nULm6x+k2tm/fzqeffkpcXBwDBgyoWqLOMIxf5Pjf7/v06cOTTz7J3Llzufjii3nvvfd46KGHzpg9\nMjKSJ554gqeffpr4+Hjuv//+unVcAxiJiYktZ3LJ/5GSklJt8ro0D4fDAUBmZqbJSdon9b+51P/m\nUd+bS/0P6enpZ12ZQs7su+++Y9KkSezYsaNRNmhpSmf793U4HKxbt46IiIg6tafpHCIiIiJyTrZs\n2cKBAwcYMGAABQUF/PWvf2XEiBEtvoBuCiqiRUREROScuFwu5s2bx8GDB/H19SUhIYHHH3/c7Fim\nUBEtIiIiIudk0KBBZ9xOvD3SBwtFREREROpIRbSIiIiISB2piBYRERERqSMV0SIiIiIidaQiWkRE\nRESkjlREi4iIiIjUkYpoEREREeHRRx8lPDyc8PBwJk6c2OD2Jk6cyH333Vfn63JycqpyhIeHs2HD\nhgZnaQoqokVERESEBx98kO3bt3P77bdjGMZZz1u/fj3h4eGkpqbW2N78+fN54okn6pzD39+fHTt2\nsH37doAas5hJm62IiIiICN7e3nh7e2O323G5XLWeX9s5/v7+9c7SGrYR10i0iIiISCu3fv164uPj\nufnmm+nduzdvvvkmY8aMoX///nz77bcAhIeH8/3331dds2jRIsLDw+t0j/DwcK6//noAhg4dWjXl\n4n9HpW+44Yaqx2fMmPGLdubOncvQoUN58cUX6du3LzExMcyePbtOz/e66677xVSRlJQUwsPD2bJl\nS53aqi+NRIuIiIjUwaIfpzVJu5P6vtWg69PT07njjjuIjIxk1qxZLF68mC+++IJ58+aRkJDQ4HyD\nBg1ix44dbN68menTp7NixQo6deoEQGBgYNV5r732GiUlJdx6661nnYpx/Phxdu/ezZIlS0hKSuLe\ne++lW7duTJ48+ZyyTJkyhYceeoinn34aLy8vAD744AOioqIYOHBgA5/pudFItIiIiEgb4HA4GDx4\nMAkJCTgcDoYOHcqFF17I0aNHG6V9m81GUFBQ1TQNh8NBUFAQQUFBWCz/LSn9/PwIDg7GZrOdtS2n\n08kzzzxDVFQU48ePZ8KECbz11rn/ETFu3Djc3NxYvnx51WMffPABkyZNqsczqx+NRIuIiIjUQUNH\njJuKp6dn1f9Pf+3h4UFxcbGZsc6oQ4cOhISEVH0fHR3Np59+es7Xe3p6cvXVV7N48WImTpzI5s2b\nOXr0aKOsKnKuNBItIiIi0oad7QOA5/LhwaZypmkedc3z61//mvXr15OamsoHH3zAxRdfTHBwcGNF\nrJWKaBEREZF2wN/fn7y8vKrvzzbNw9vbu8bR69PTNMrLy+udJTs7m7S0tKrv9+7dS7du3X5xnt1u\np7Cw8IxtxMTE0LdvXxYuXMiyZcvOeT51Y1ERLSIiItIOnH/++XzyySe4XC6OHj3K4sWLz3hebGws\nP/74I2vXriUtLY2CgoJqx7t27YrVamXJkiXk5eVVK7jLyspIS0sjLS2N0tJSioqKSE9PJy0tDafT\nWXWexWLh4YcfZt++fSxfvpyPP/6YqVOnnjHzu+++S2pqarWi+7TJkyfzj3/8Azc3N8aMGVPfrqkX\nFdEiIiIibcD/TpE409d/+ctfSE5Opl+/ftx7771MnDjxjNMqhg4dyh133MFdd91FfHw8zz//fLXj\nwcHBPPbYYyxcuJCYmBh69OhRtcTd5s2biY+PJz4+nu3bt/Ppp58SFxfHgAEDOH78eFUbHTLine truncated
"text": [
"<matplotlib.figure.Figure at 0x7feec0193ba8>"
"<matplotlib.figure.Figure at 0x7f6335563630>"
]
}
],
@@ -725,7 +725,7 @@
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7feec00e27f0>"
"<matplotlib.figure.Figure at 0x7f63205d3d30>"
]
}
],
@@ -775,7 +775,7 @@
"output_type": "display_data",
"png": "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\nV18NwPjx4wE4duwYL7/8Mq+99hqzZs0CYM2aNbz00ku89NJLrFq1KtBvT0goiRYRERHpNNAZ48ES\nHx/v/+j7PC4ujtbWVgD279+PaZpcddVV3R7X2tpKaWkpAE6nk8cff5y33nqLiooK2traaG1tZebM\nmf7jb7zxRl544QUWLFjAlVdeydy5c7nuuuv6XS4xd+7c827bv38/ADfffHO3210uFyUlJf06Tygo\niRYRERGxqLNngJOTk3njjTfOOyY1NRXwzkzv3LmTdevWMWnSJGw2G3fccQcej8d/bH5+Pnv27GHn\nzp2899573HfffWzatImtW7cCFy7bOPvx50pOTr7ofX/4wx9ITEzsdtuIESMueny4URItIiIiYnF5\neXk0NjbS1tbGlClTLnjMnj17WLFihb+8wul0UlZWRl5eXrfjkpKSuOaaa7jmmmsoLCxk1apV1NfX\nk5qa6k+Km5ub/ceXlZUF1BnDN/NdUVHBV77ylYCeZzhRdw4RERERi1uwYAGzZ8/me9/7Hjt27KCk\npIQdO3bwox/9iOPHjwMwadIkXnnlFQ4dOsTBgwdZvXo1HR0d3cZ56qmnePHFFzly5AiHDx/m5Zdf\nJicnxz+bnZyczMSJE3nhhRcAOHDgAH/+858DinXy5Mlcf/313HvvvbzxxhuUlJSwe/dufvrTn7J7\n9+4+j9PW1sb+/fvZv38/brebiooK9u/f361zyGDSTLSIiIhImDt7pvdCnxuGwe9+9zseeeQR1qxZ\nQ319PZmZmSxcuJC0tDQAHnjgAe655x6uv/56kpOTWblyJU1NTd3OM2LECDZs2MDx48ex2Wzk5+fz\n7LPPdjvmn//5n7nnnnv4r//6L2bPns3SpUt55513eoz5XE888QTr16/ngQceoLKykvT0dObNm9fn\nhYwAZ86c4Zprrun2/H/3u99xyy23DMnGK8ahQ4cuvJwyDJw8eZIZM2aEOgwJUEZGBgA1NTUhjkT6\nQ9fPunTtrE3Xb/BVVVX5O1fI8HOx65+RkcHOnTsZN25cQOOpnENEREREJEBKokVEREREAqQkWkRE\nREQkQEqiRUREREQCpCRaRERERCRASqJFRERERAKkJFpEREREJEBKokVEREREAqQkWkREREQkQEqi\nRUREREQCpCRaRERERCxn06ZNXH/99Vx66aXMnDmTW265hQ8//HDIzq8kWkREREQsZ/fu3dxyyy28\n8MILvPzyy2RmZrJs2TKOHz8+JOdXEi0iIiISxnbt2sXs2bNZsWIFM2bMYOPGjVx99dVcfvnlvPvu\nu/7jGhsbueeee5g1axYzZszgtttu4/Dhw/77jxw5wre//W0KCgqYNGkSixYtYtOmTd3O1dbWxv33\n309hYSGTJ09m/vz5bNiwwX//yZMnGTt2LOXl5f7b1q9fz7x587qNs3nzZsaOHcv+/fu57rrrmDx5\nMkVFRRw4cAAAt9vNww8/TGFhIZdccgk33HBDwLPITzzxBMuXL2fGjBlMmTKFf/qnf6KlpYW//OUv\nAY3TX9FDchYRERERC9h8YPmgjPvNmc8N6PFVVVXceeed5Obmsm7dOrZs2cK2bdvYsGEDCxYswDRN\nli9fTkxMDM8++ywpKSk89dRT3Hrrrbz77rvY7XZqa2spKChgzZo1ZGRksGPHDu69915ycnJYtGgR\nAP/xH//B1q1b2bBhAxMnTuTEiROcPHmy1/gMw7jg7T/5yU/4wQ9+wIwZM/jss8+IiYkBYO3atRw6\ndIhf//rXjBkzhhdffJHbbruNHTt2MHr06H59jxoaGgBISUnp1+MDpSRaREREJMxlZGRQVFREc3Mz\nL730EvPmzcPpdPL2228D8O6777J371727t1LZmYmAA899BBbt25l27Zt3HDDDRQVFVFUVOQfc9my\nZTz33HO8/fbb/iT65MmTZGVlMX/+fABycnL6FJ9pmhe8/e/+7u+4+uqrARg/fjwAx44d4+WXX+a1\n115j1qxZAKxZs4aXXnqJl156iVWrVgX67QHg4YcfZtKkSXzta1/r1+MDpSRaREREpNNAZ4wHS3x8\nvP+j7/O4uDhaW1sB2L9/P6ZpctVVV3V7XGtrK6WlpQA4nU4ef/xx3nrrLSoqKmhra6O1tZWZM2f6\nj7/xxht54YUXWLBgAVdeeSVz587luuuuIzY2tl9xz50797zb9u/fD8DNN9/c7XaXy0VJSUm/zvPo\no4/y/vvv8+KLLxIXF9evMQKlJFpERETEos6eAU5OTuaNN94475jU1FTAOzO9c+dO1q1bx6RJk7DZ\nbNxxxx14PB7/sfn5+ezZs4edO3fy3nvvcd9997Fp0ya2bt0KXLhs4+zHnys5Ofmi9/3hD38gMTGx\n220jRoy46PEX8+STT7Jx40Y2b97MlClTAn58fymJFhEREbG4vLw8GhsbaWtru2giuWfPHlLine truncated
"text": [
"<matplotlib.figure.Figure at 0x7feec00479e8>"
"<matplotlib.figure.Figure at 0x7f632057f208>"
]
}
],
@@ -898,26 +898,26 @@
"output_type": "stream",
"stream": "stdout",
"text": [
"time: 0 \tposition = 1.650 \tvariance = 2.500\n",
"time: 1 \tposition = 1.081 \tvariance = 1.667\n",
"time: 2 \tposition = 0.837 \tvariance = 1.250\n",
"time: 3 \tposition = 0.305 \tvariance = 1.000\n",
"time: 4 \tposition = 0.540 \tvariance = 0.833\n",
"time: 5 \tposition = 0.393 \tvariance = 0.714\n",
"time: 6 \tposition = 0.301 \tvariance = 0.625\n",
"time: 7 \tposition = 0.262 \tvariance = 0.556\n",
"time: 8 \tposition = 0.257 \tvariance = 0.500\n",
"time: 9 \tposition = 0.240 \tvariance = 0.455\n",
"time: 10 \tposition = 0.204 \tvariance = 0.417\n",
"time: 11 \tposition = 0.147 \tvariance = 0.385\n",
"time: 12 \tposition = 0.261 \tvariance = 0.357\n",
"time: 13 \tposition = 0.330 \tvariance = 0.333\n",
"time: 14 \tposition = 0.297 \tvariance = 0.312\n",
"time: 15 \tposition = 0.287 \tvariance = 0.294\n",
"time: 16 \tposition = 0.269 \tvariance = 0.278\n",
"time: 17 \tposition = 0.168 \tvariance = 0.263\n",
"time: 18 \tposition = 0.173 \tvariance = 0.250\n",
"time: 19 \tposition = 0.116 \tvariance = 0.238\n"
"time: 0 \tposition = 1.616 \tvariance = 2.500\n",
"time: 1 \tposition = 0.501 \tvariance = 1.667\n",
"time: 2 \tposition = 0.388 \tvariance = 1.250\n",
"time: 3 \tposition = 0.105 \tvariance = 1.000\n",
"time: 4 \tposition = 0.222 \tvariance = 0.833\n",
"time: 5 \tposition = 0.154 \tvariance = 0.714\n",
"time: 6 \tposition = 0.194 \tvariance = 0.625\n",
"time: 7 \tposition = 0.024 \tvariance = 0.556\n",
"time: 8 \tposition = -0.019 \tvariance = 0.500\n",
"time: 9 \tposition = -0.079 \tvariance = 0.455\n",
"time: 10 \tposition = -0.064 \tvariance = 0.417\n",
"time: 11 \tposition = -0.046 \tvariance = 0.385\n",
"time: 12 \tposition = -0.108 \tvariance = 0.357\n",
"time: 13 \tposition = -0.138 \tvariance = 0.333\n",
"time: 14 \tposition = -0.159 \tvariance = 0.312\n",
"time: 15 \tposition = -0.151 \tvariance = 0.294\n",
"time: 16 \tposition = -0.212 \tvariance = 0.278\n",
"time: 17 \tposition = -0.212 \tvariance = 0.263\n",
"time: 18 \tposition = -0.266 \tvariance = 0.250\n",
"time: 19 \tposition = -0.241 \tvariance = 0.238\n"
]
}
],
@@ -1037,24 +1037,24 @@
"output_type": "stream",
"stream": "stdout",
"text": [
"PREDICT: 1.0000 502.0000\tUPDATE: 5.9025 9.8047\n",
"PREDICT: 6.9025 11.8047\tUPDATE: 5.2123 5.4138\n",
"PREDICT: 6.2123 7.4138\tUPDATE: 4.9745 4.2574\n",
"PREDICT: 5.9745 6.2574\tUPDATE: 5.2439 3.8490\n",
"PREDICT: 6.2439 5.8490\tUPDATE: 5.8732 3.6904\n",
"PREDICT: 6.8732 5.6904\tUPDATE: 5.6334 3.6267\n",
"PREDICT: 6.6334 5.6267\tUPDATE: 7.1423 3.6007\n",
"PREDICT: 8.1423 5.6007\tUPDATE: 9.0740 3.5900\n",
"PREDICT: 10.0740 5.5900\tUPDATE: 9.8442 3.5856\n",
"PREDICT: 10.8442 5.5856\tUPDATE: 13.7547 3.5838\n"
"PREDICT: 1.0000 502.0000\tUPDATE: 0.0324 9.8047\n",
"PREDICT: 1.0324 11.8047\tUPDATE: 1.4467 5.4138\n",
"PREDICT: 2.4467 7.4138\tUPDATE: 1.8519 4.2574\n",
"PREDICT: 2.8519 6.2574\tUPDATE: 3.6222 3.8490\n",
"PREDICT: 4.6222 5.8490\tUPDATE: 3.9355 3.6904\n",
"PREDICT: 4.9355 5.6904\tUPDATE: 6.1234 3.6267\n",
"PREDICT: 7.1234 5.6267\tUPDATE: 8.3287 3.6007\n",
"PREDICT: 9.3287 5.6007\tUPDATE: 8.6857 3.5900\n",
"PREDICT: 9.6857 5.5900\tUPDATE: 9.6664 3.5856\n",
"PREDICT: 10.6664 5.5856\tUPDATE: 9.7450 3.5838\n"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7feec01adac8>"
"<matplotlib.figure.Figure at 0x7f6328076a20>"
]
}
],
@@ -1190,9 +1190,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7feeb80a87b8>"
"<matplotlib.figure.Figure at 0x7f63205351d0>"
]
},
{
@@ -1200,7 +1200,7 @@
"output_type": "display_data",
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7feeb80817b8>"
"<matplotlib.figure.Figure at 0x7f63280d25f8>"
]
},
{
@@ -1252,6 +1252,82 @@
"When the track first starts you can see that the measurements varies quite a bit from the initial prediction. At this point the Gaussian probability is small (the curve is low and wide) so the filter does not trust its prediction. As a result, the filter adjusts its estimate a large amount. As the filter innovates you can see that as the Gaussian becomes taller, indicating greater certainty in the estimate, the filter's output becomes very close to a straight line. At `x=15` and greater you can see that there is a large amount of noise in the measurement, but the filter does not react much to it compared to how much it changed for the firs noisy measurement."
]
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"Implementation in a Class (Optional)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For many purposes the code above suffices. However, if you write enough of these filters the functions will become a bit annoying. For example, having to write\n",
"\n",
" pos = predict(pos[0], pos[1], movement, movement_error) \n",
" \n",
"is a bit cumbersome and error prone. Let's investigate how we might implement this in a form that makes our lives easier.\n",
"\n",
"First, values for the movement error and the measurement errors are typically constant for a given problem, so we only want to specify them once. We can store them in instance variables in the class. Second, it is annoying to have to pass in the state (pos in the code snippet above) and then remember to assign the output of the function back to that state, so the state should also be an instance variable. Our first attempt might look like:\n",
"\n",
" class KalmanFilter1D:\n",
" def __init__(self, initial_state, measurement_error, movement_error):\n",
" self.state = initial_state\n",
" self.measurement_error = measurement_error\n",
" self.movement_error = movement error\n",
"\n",
"That works, but I am going to use different naming. The Kalman filter literature has settled on one letter notations for each of these concepts, and so you might as well start getting exposed to it now. At first it seems impossiblely terse, but as you become familiar with the nomenclature you'll see that the math formulas in the textbooks will have an exact one-to-one correspondance with the code. Unfortunately there is not a lot of meaning behind the names chosen; you will just have to memorize them.\n",
"\n",
"So, we use `x` for the state (estimated value of the filter) and `P` for the variance of the state. `R` is the measurement error, and `Q` is the movement error. This gives us:\n",
"\n",
" class KalmanFilter1D:\n",
" def __init__(self, x0, R, Q):\n",
" self.x = x0\n",
" self.R = R\n",
" self.Q = Q\n",
" \n",
"Now we can implement the `update()` and `predict()` function. In the literature the measurement is usually named either `z` or `y`; I find `y` is too easy to confuse with the y axis of a plot, so I like `z`. I like to think I can hear a `z` in *measurement*, which helps me remember what `z` stands for. So for the update method we might write:\n",
"\n",
" def update(z):\n",
" self.x = (self.P * z + self.x * self.R) / (self.P + self.R)\n",
" self.P = 1 / (1/self.P + 1/self.R)\n",
"\n",
"Finally, the movement is usually called `u`, and so we will use that. So for the predict function we might write:\n",
"\n",
" def predict(self, u):\n",
" self.x += u\n",
" self.P += self.Q\n",
" \n",
"That give us the following code. Production code would require signficant comments. However, in the next chapter we will develop Kalman filter code that works for any dimension, including 1, so this class will never be more than a stepping stone for us, since we can, and will use the class developed in the next chapter in the rest of the book."
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"class KalmanFilter1D:\n",
" def __init__(self, x0, P, R, Q):\n",
" self.x = x0\n",
" self.P = P\n",
" self.R = R\n",
" self.Q = Q\n",
" \n",
" def update(self, z):\n",
" self.x = (self.P * z + self.x * self.R) / (self.P + self.R)\n",
" self.P = 1. / (1./self.P + 1./self.R)\n",
"\n",
"\n",
" def predict(self, u=0.0):\n",
" self.x += u\n",
" self.P += self.Q"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 29
},
{
"cell_type": "heading",
"level": 2,
@@ -1365,14 +1441,13 @@
"cell_type": "code",
"collapsed": false,
"input": [
"temp_variance = 2.13**2\n",
"def volt():\n",
"def volt(temp_variance):\n",
" return random.randn()*temp_variance + 16.3"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 20
"prompt_number": 32
},
{
"cell_type": "markdown",
@@ -1402,6 +1477,8 @@
"cell_type": "code",
"collapsed": false,
"input": [
"'''\n",
"temp_variance = 2.13**2\n",
"sensor_error = temp_variance\n",
"movement_error = .2\n",
"movement = 0\n",
@@ -1431,6 +1508,41 @@
"plt.title('Variance')\n",
"plt.show()\n",
"print('Variance converges to',vs[-1])\n",
"print('Last voltage is',voltage[0])\n",
"\n",
"'''\n",
"\n",
"temp_variance = 2.13**2\n",
"movement_error = .2\n",
"\n",
"N=50\n",
"zs = [volt(temp_variance) for i in range(N)]\n",
"ps = []\n",
"estimates = []\n",
"\n",
"kf = KalmanFilter1D(x0=25, # initial state\n",
" P = 1000, # initial variance - large says 'who knows?'\n",
" R=temp_variance, # sensor noise\n",
" Q=movement_error) # movement noise\n",
"\n",
"for i in range(N):\n",
" kf.predict(movement)\n",
" kf.update(zs[i])\n",
"\n",
" # save for latter plotting\n",
" estimates.append(kf.x)\n",
" ps.append(kf.P)\n",
"\n",
"# plot the filter output and the variance\n",
"plt.scatter(range(N), zs, marker='+', s=64, color='r', label='measurements')\n",
"p1, = plt.plot(estimates, label='filter')\n",
"plt.legend(loc='best')\n",
"plt.xlim((0,N));plt.ylim((0,30))\n",
"plt.show()\n",
"plt.plot(ps)\n",
"plt.title('Variance')\n",
"plt.show()\n",
"print('Variance converges to',vs[-1])\n",
"print('Last voltage is',voltage[0])"
],
"language": "python",
@@ -1439,9 +1551,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAsMAAAF2CAYAAACLY5UZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdYleUbwPHvYe/hQVDBgeAEB6goOXDnNs1SKysrszTN\ntNQsR5mjodXPppZl7hw5cpQbEdyQ4kBlyFBAEASVfc7vD5IiURlnAffnuryUc95xn8Pje+73Offz\nPIqIiAg1QgghhBBCVENG+g5ACCGEEEIIfZFkWAghhBBCVFuSDAshhBBCiGpLkmEhhBBCCFFtSTIs\nhBBCCCGqLUmGhRBCCCFEtSXJsBBCCCGEqLYemQy//fbbdOrUiTZt2jBo0CD27dsHQF5eHjNmzMDX\n15du3bqxa9curQcrhBBCCCGEJiketejGxYsXadiwIWZmZhw5coSxY8dy/PhxVq9ezZ49e1i+fDnn\nz59n7Nix7Nq1i1q1aukqdiGEEEIIISrkkT3DTZs2xczMDLVaTV5eHtbW1igUCnbv3s2oUaOwsbHB\nz88PHx8f9uzZo4uYhRBCCCGE0AiT0mw0Z84cNm3ahIWFBd9//z2WlpbExMTg7u7O22+/Tffu3fHw\n8CA6Olrb8QohhBBCCKExpRpAN2fOHEJDQ5k0aRLvvPMOOTk5ZGVlYWVlxeXLl0lOTsba2pq7d+9q\nO14hhBBCCCE0plQ9wwAmJiY8++yzrFq1ipCQECwtLcnKymLr1q0AfPTRR1hbW9+3X1xcnOaiFUII\nIYQQ4iHq1q1bpu1LnQzfo1arUavVNGjQgMjISLy8vACIjIykR48eJe7TrFmzsp5GVGFKpZLNmzcT\nEBCg71CEAZF2IUoi7UKURNqFKIlSqSQoKKjM+z20TCIlJYUNGzZw+/Zt8vPzWbduHTdv3sTHx4e+\nffuycuVKMjMzOXbsGGFhYfTq1avcL0AIIYQQQghde2jPsJGREb///juLFi0iLy8PT09PvvnmGxwc\nHHjxxReJiooiICAAe3t75s+fj4uLi67iFkIIIYQQosIemgzXqFGDFStWlLyjiQnz589n/vz5WglM\nVG1SOiNKIu1ClETahSiJtAuhKbIcs9ALuYiJkki7ECWRdiFKIu1CaIokw0IIIYQQotoq82wSQggh\nhBAPkpeXR1paGgqFQmvnSEtLAyA/P19r5xCGx9TUFAcHB40fV5JhIYQQQmhEXl4eqampODs7Y2Qk\nXz4LzUpPT+fu3btYWVlp9LjSUoUQQgihEWlpaZIIC62xt7fn9u3bGj+utFYhhBBCaIRCoZBEWGiN\nQqHQSvmNtFghhBBCCFFtSTIshBBCCCGqLUmGhRBCCCFEtSXJsBBCCCEEkJmZycsvv0yzZs1wc3Pj\n888/L/b8pEmTGDZs2H37zZo1Czc3N9zc3Ep8Xhg2SYaFEEIIIYCVK1dy4sQJNm/eTFhYGK+99lqx\n5z/66CN+/PHH+/abNm0aoaGhjB079qEDvIKDg3FzcyMhIUHjsYvyk3mGhRBCCCGAqKgoGjdu/MCl\nnm1sbEp83NraGmtra6ysrFCr1Y88T2m2EbojPcNCCCGEqNYmTZqEm5sb69at4+jRo0UlD/fKJKZN\nm1ahMoh7PcJPP/00AB06dCg63r97ia9fv85rr72Gl5cX3t7ejBkzhuvXrxc71vr163FzcyM8PJwB\nAwbg4eGBn58f586dq8A7UL1Jz7AQQgghdMb12WVaOW7C6jHl3nfu3Lm89957zJo1i+vXr/PDDz8A\nFK10NnPmTN5++21mzZpFSkpKmY/frl07wsLCOHHiBGPGjGHnzp3UqVMHgBo1agBw9+5dhg0bhre3\nN5s2bcLExISPP/6Y0aNHs2vXrvvKL9577z0mTJhAs2bNOHv2LKampuV+/dWdJMNCCCGEqNZsbW2x\ntbXF3NwcExMTnJycij1vY2ODjY0N5ubm5SpxMDU1xcnJCXt7ewCUSuV959iyZQvp6el89dVXRYnt\nvHnz8PX1JSwsDB8fn2Lbv/HGG/Tq1QuAevXqlTkm8Q9JhoUQQgihMxXpwa3Kzp49S2ZmJl5eXsUe\nVygUxMbG3pcMt2/fXpfhVWmSDAshhBBCGABPT09++umn+x7/by8ygJ2dnS5CqhYkGRZCCCGE+NvD\npkZ71PPW1tZkZ2c/8Pl75Q/5+fn3PdeiRQs2btyIra1tUR2x0A2ZTUIIIYQQ4m//rQlWqVQkJyeT\nnJxMdnY2ubm53Lhxg+TkZPLy8opt27p1a86dO0dgYCDJycncuXOn2PMNGjTA2NiYrVu3kpmZWSxx\nHjJkCM7OzowZM4YTJ04QExPDnj17eO2118jKytLeCxaSDAshhBBCQGGv7397fhMSEvD19cXX15ff\nf/+d06dP4+PjQ5s2bTh16lSxbTt06MBrr73G+PHj8fX15dNPPy32fM2aNZkzZw6rV6/G29ubRo0a\nFU2tZmlpyaZNm6hTpw4vvfQSPXr04IMPPsDZ2RkzM7P74hSao4iIiNDqzM9xcXEPnLxaVE9KpRKA\n1NRUPUciDIm0C1ESaReVy40bN6hZs6a+wxBV2MPamFKpJCgoiLp165bpmNIzLIQQQgghqi1JhoUQ\nQgghRLUlybAQQgghhKi2JBkWQgghhBDVliTDQgghhBCi2pJkWAghhBBCVFuSDAshhBBCiGpLkmEh\nhBBCCFFtSTIshBBCCCGqLUmGhRBCCCFEtSXJsBBCCCEMkllwsL5DEBrQvn17Fi9erO8wHkiSYSGE\nEELoVGmTXPOQEC1HInRBoVDoO4SHkmRYCCGEEDql6SS3oj3IwcHB+Pr68tJLL9GsWTN+/vlnevXq\nRcuWLTl8+DAAGRkZTJ06lVatWtGsWTNGjhzJ5cuXi45x5coVRo8ejY+PDw0bNiQgIIA1a9YUO09e\nXh6zZs2iTZs2eHh40KlTJ5YuXVr0fFxcHG5ubiQkJBQ9tmjRIjp06FDsOOvXr8fNzY3w8HAGDBiA\nh4cHfn5+nDt3DoDc3Fw++ugj2rRpQ6NGjRg0aBAnT54s2r99+/ZMmDABLy8vXn31VebOnUvjxo2Z\nMWPGfecJCAjAw8ODrl27snbt2mLPu7m5sXr1ap544gk8PT0ZMGAAV65cKXYeNzc34uPjWbx4MW5u\nbri5ufH555+X+j3RBROdnk0IIYQQQsPMQ0LIfeyxCh3jxo0bvPbaa9SvX5+ZM2eyYcMG9u7dy9Kl\nS+ncuTOjRo3C1NSUFStWYG9vz7JlyxgxYgSHDx/GysqKmzdv4uPjw6RJk1AqlQQGBjJt2jRcXV0J\nCAgA4KeffmLjxo0sXboUd3d3YmJiiIuLe2RsD+pZfe+995gwYQLNmjXj7NmzmJqaAvDWW28RERHB\n119/TZ06ddi8eTMjR47k8OHD1KpVC4VCgaOjIytWrGDIkCGMHj2adevW8cQTTzBlyhSUSiWrVq1i\n/vz5LFiwgDZt2vDXX3/x1ltv4ejoSJ8+fYpi+OGHH1i4cCF2dnaMGzeODz74gJUrVwKwa9cuCgoK\n6NevH4MHD+a1114DwMrKqmj/8r4nmiTJsIEzCw6u8H9wIYQQojIwCw4u1mts+5860xx/f619JiqV\nSvz8/Lh9+za//fYbHTp0ICsri3379nH48GFOnz7N6dOnqVmzJgBz585l48aN7N27l0GDBuHn54ef\nn1/R8Z555hlWrlzJvn37ipLhuLg4XFxc6NSpEwCurq6lik2tVpf4+BtvvEGvXr0AqFevHgBRUVFs\n3bqVHTt20KpVKwAmTZrEb7/9xubNmxk3bhwA3bt3p23btiiVSrp3746vry9KpZL4+HiUSiWff/45\nEydOZPDgwUBhL3BgYCCrV68ulgyPHj2a9u3bAzBixAiWLFlS9FyNGjUAMDY2xtraGicnp/teQ3nf\nE02SZNjAaeJuVwghhNCn0ia59/78W+aUKTqJ0cLCoujve/82NzcnOzub8PBw1Go1HTt2LLZPdnY2\nsbGxAGRlZfHFF1+wZ88ekpKSyMvLIzs7Gy8vr6Ltn3zySTZt2kTnzp157LHHaN++PQMGDMDMzKxc\nMd9LQv8tPDwcgKeeeuq+WK9evVqq15uSkkJSUhKffvppsYFveXl51K1bt9hxGzZsWPRvBwcH0tPT\ny/QaNP2elIckw0IIIYTQKk0nubrsQb7XK2tnZ8euXbvue97BwQEo7CkOCgpi5syZNGzYEGNjY159\n9VVUKlXRtq1bt+b48eMEBQUREhLC+++/z5o1a9i4cSNQcjnEv/f/Lzs7uwc+t2XLFqytrYs9Zmtr\n+5BXWujfvdAffvhhUY/tPSYmJg/9uawe9Z7ogiTDQgghhKhUdN2D7OXlRUZGBnl5eXh6epa4zfHj\nx3nppZeKyhaysrKIj4/H29u72HY2Njb06dOHPn360KZNG8aNG0d6ejoODg5Fye3t27eLto+Pjy/T\nbAz3eqKTkpLo1q1bmV7nPU5OTtSqVYurV6/y7LPPlusY/2ZqakpeXt4Dn3/Ye6ILkgwbGH3WSwkh\nhBCGJMffX98hANC5c2d8fX0ZO3Yss2fPpn79+ly9epXt27czbtw43N3dadiwIdu2bcPf35+CggI+\n//xzCgoKih1n2bJlKJVKWrZsiVqtZuvWrbi6uhYlfXZ2dri7u7Np0yZmzJjBuXPn+PPPP8uUFHp4\neDBw4ECmTZvGBx98QPPmzUlMTGTnzp3069evxNKKkkycOJEPPvgAFxcXunbtyp07dzhy5AiWlpa8\n+OKLpY4HCkspAgMDGTVqFI6OjpiammJsbFyq90QXJBk2MPqslxJCCCF0obRJri47f/7d+/rffysU\nClatWsWCBQuYNGkS6enp1KxZky5duuDo6AjAnDlzmDp1KgMHDsTOzo4xY8aQmZlZ7By2trLine truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7feec00ae048>"
"<matplotlib.figure.Figure at 0x7f6320161438>"
]
},
{
@@ -1449,19 +1561,19 @@
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAsoAAAGDCAYAAAAyKTZ5AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8VOXd///3zCSTPYQMIQIBA0k1YNgKUhVIRAWNW1sU\npdLEinrrl/jzq4ILrbW2tPampfSuW4vVtixuRdyLVBS+oQgJoCy3IGgIYAwSIAFC9szy+yPMSOSQ\nmQkkc5K8ng/nwcyZa858kM9D37m4znUsu3bt8ggAAABAC9ZQFwAAAACYEUEZAAAAMEBQBgAAAAwQ\nlAEAAAADBGUAAADAAEEZAAAAMEBQBgCTKioqUkZGhjZu3BjqUgCgWyIoA8C3vP7668rIyNDbb799\nynuNjY0aPny4pk2b1iG1WCyWDvkeAMCpCMoA8C3jx4+XJBUWFp7y3pYtW9TQ0KDs7Ox2r2PMmDHa\nunWrRo8e3e7fBQA4VVioCwAAs0lKSlJGRoaKiopOec97zBum25PFYpHdbm/37wEAGGNGGQAMZGVl\nqaysTF999VWL44WFherVq5cGDx4sSXrjjTd0++23a/z48Ro6dKguu+wy/eY3v1FVVdUp5/SuOd6w\nYYP+8Y9/6PLLL9ewYcN05ZVXas2aNb5xd911lzIyMnyPDRs2GNa4atUq5efna8KECRo6dKjGjRun\n2bNnq7y8vMW4p556ShkZGfryyy912223aeTIkbryyiv15ptvGp63vLxcjz32mLKzszVs2DBNmjRJ\nv/vd71RTU9Ni3LZt23T77bdr9OjRGjFihPLy8rRt2zb//3IBoJNgRhkADIwfP17PPfecCgsLdeON\nN0qS6urqtHXrVl133XW+cX/729/Uu3dv3X777YqNjdXOnTv1yiuv6H//93/1yiuvGJ574cKF+uyz\nzzR58mT16tVL27dvV1lZme/922+/Xddee62Ki4u1YMGC065T/uc//6mjR4/qRz/6kXr16qW9e/fq\npZde0oYNG/Tee++dMhudn5+vrKwsTZw4Ua+99ppmz57tC+Ne5eXlmjJlio4dO6abbrpJ5513ng4d\nOqQ33nhD119/vW/s+vXrdeeddyotLU333HOPLBaLli1bpry8PC1dulTf+c532vYvHgBMhKAMAAZG\njBih2NhYFRUV+YLyJ598IqfT2WLZxQsvvKDevXu3+GxCQoKefvppbdu2TcOGDTvl3Nu3b9c777yj\nuLg43zG32+17PmbMGEnNM9ALFiw4bY2//OUvlZyc3OLYwIEDNXv2bH344YfKyclp8d5NN92k3Nxc\nSdKll16qyy+/XKtWrWoRlOfPn6+DBw9qyZIlLdZG33777WpqavLV+otf/EKDBg3Sa6+9pvDwcEnS\nDTfcoIkTJ+rZZ5/VH//4x9PWDQCdBUsvAMBAeHi4Lr744hbrlAsLC2W1WjVu3DjfsZNDcnV1tSor\nKzVo0CBJ0pdffml47ltuuaVFSJYkqzX4/xyfHJJra2tVWVmp1NTU0373lVde6Xvet29fJSQk6MCB\nA75jbrdbK1eu1EUXXXTKBYQRERGKjY2VJO3YsUNffvmlrrrqKh0/flyVlZWqrKxUY2OjBg8ezHZ2\nALoMZpQB4DTGjx+vlStXas+ePRo4cKAKCws1bNgwxcfH+8Zs375dTz31lDZt2qTq6uoWn29oaDA8\nb1pa2lmpb9++fXrqqaf0n//8R8eOHfP73d+e+Y6KivLNEktSZWWlamtrlZ6e3ur3ekP4k08+qSef\nfPKU9202W8C/BwAwM4IyAJyGd+a4qKhISUlJ2rFjh/Lz833vl5WVadq0aerbt6/uv/9+9e/fX+Hh\n4dq+fbvmzZsnj8djeN6Tg3ZbVVdXa9q0abLZbLrrrrs0aNAgRUREqLy8XI888shpv/tsuvfeezVy\n5Mh2/x4ACBWCMgCcRt++fZWenq7169crOTlZLpdLWVlZvvc/+OAD1dfX67nnnlNKSorv+Ld3ymgP\nhYWFOnz4sBYuXKjvfe97vuPr169v8zkTExMVExOjL774otVx/fv3lyRFR0fr4osvbvP3AYDZsUYZ\nAFoxfvx4bdiwQYWFhUpMTFRmZqbvPe8Sg5OXGjQ1Nenll19u97qMvtvj8WjRokVtPqfVatXEiRNV\nVFSkTZs2tXivoaHBt7QkMzNTKSkpWrx48SlbxknS119/3eYaAMBMmFEGgFaMHz9ef//73/Xmm2+e\ncje+rKwsRURE6O6779ZNN92khoYGvfPOO3I6nW3+vtLSUn3yySeSpJKSEknS2rVrtX//fknSd7/7\nXfXv31+jRo1SYmKiHnnkEf34xz+W1WrVypUrdfTo0TZ/tyQ98MADWr9+vaZPn66bb75Z5513ng4f\nPqw333xTf/rTn5SRkSGLxaJf/epXuuuuu3Tddddp8uTJSkpKUmlpqQoKCpSZmanf/va3Z1QHAJgB\nQRkAWjF69GhFRUWpqqrqlLvxDRgwQH/5y180f/58zZs3T3Fxcbr22ms1fvx43XbbbYbnO92eyF4b\nN27UT3/60xbjvVvEWSwW/fa3v1X//v0VHx+v559/Xv/93/+tJ598Una7XVdccYUee+yxFvs8ez/n\n73u9evfuraVLl+rpp5/W+++/r1deeUV9+vTRFVdc4VtyIUmXXHKJXnrpJT377LNavHix6urq1KdP\nH40aNUpTp04N6LsAwOwsu3bt8nvFR25urrZu3er7K75JkyZp7ty5fk++aNEiLViwQE1NTZo6daoe\neOCBM68YAAAA6AABzyg/9thjvk33A7F161Y988wzeumllxQbG6tbbrlFgwcPPmUDfAAAAMCMAr6Y\nL9ithlasWKFJkyYpLS1NycnJmjJlipYvXx50gQAAAEAoBByU58+fr4suukjTp0/X7t27/Y7fu3ev\nBg4cqIULF2ru3LlKT0/Xnj17zqhYAAAAoKMEFJQffvhhFRQUaPXq1brgggs0Y8YMv1d119XVKTo6\nWqWlpdq3b59iYmJUW1t7VooGAAAA2ltAa5RP3jf0gQce0IsvvqiSkhKdd955p/1MVFSUamtr9eij\nj0qSVq5cqejo6FPGlZaWBlszAAAAELSTd+8JRJu2h7NYLH7XLKempvr2AJWk4uJiDRo0yHDs4MGD\n21IGuiCHw6HXX3/9lP1q0b3RFzBCX8AIfQEjDodDa9euDfpzfpdeHD9+XAUFBWpsbFRjY6Oefvpp\n9erVS+np6b4xubm5mjdvXovP5eTkaOXKlSouLlZ5ebmWLVvGjhcAAADoNPzOKDc1Nel//ud/dN99\n9yk8PFxDhw7Vn//85xa3TS0rK1NKSkqLzw0bNkz5+fnKy8uT0+nU1KlTCcoAAADoNPwG5cTERL3x\nxhutjlm1apXh8by8POXl5bWtMnRbLMWBEfoCRugLGKEvcLYEvD0c0FH4DxyM0BcwQl/ACH2Bs4Wg\nDAAAABggKAMAAAAGCMoAAACAAYIyAAAAYICgDAAAABggKAMAAAAGCMoAAACAAYIyAAAAYICgDAAA\nABggKAMAAAAGCMoAAACAAYIyAAAAYICgDAAAABggKAMAAAAGCMoAAACAAYIyAAAAYICgDAAAABgg\nKAMAAAAGCMoAAACAAYIyAAAAYICgDAAAABggKAMAAAAGCMoAAACAAYIyAAAAYICgDAAAABggKAMA\nAAAGAg7KmzZtUkZGhpYuXep3bFFRkTIyMjRy5Ejfo6Sk5IwKBQAAADpSWCCDnE6n5s2bp7S0NFks\nloBOnJycrIKCgjMqDgAAAAiVgGaUlyxZogkTJigxMbG96wEAAABMwW9QPnTokF5//XXddtttQZ24\noqJCY8eO1cSJE7VgwYI2FwgAAACEgt+lF3PnztXdd98tu90e8EnT09O1fPlyDRgwQDt37tSMGTOU\nlJSkyZMnG453OByBV4wuLTw8XBI9gZboCxihL2CEvoARb18Eq9Wg/PHHH+urr77S1Vdf7Tvm8Xj8\nntThcPgaNCMjQ9OmTdPq1atPG5TnzJnje56VlaXs7OyAigcAAACMFBQUaM2aNZIkm82mrKysoM/R\nalD+9NNPtWXLFmVkZPiObdy4UcXFxZo9e3bQX3Y6M2bMaPG6oqLirJ0bnYv3Byx6ACejL2CEvoAR\n+gJemZmZyszMlNTcF2vXrg36HK2uUb711lu1c+dO3+PCCy/Ur3/96xYhOTc3V/PmzWvxucLCQu3f\nv1+StHv3br388suaMGFC0MUBAAAAoRLQ9nCtKSsrU0pKSotjO3bs0MyZM1VTUyOHw6GpU6eedtkF\nAAAAYEZBBeXFixefcmzVqlWnHJs+fbqmT58e8Hk9Hk/A+zMDAAAAHcEUt7A+VtsY6hIAAACAFkwR\nlCuq6kJdAgAAANCCKYJyZVV9qEsAAAAAWjBFUK44TlAGAACAuZgiKFcSlAEAAGAypgjKFSy9AAAA\ngMmYIygf52I+AAAAmIs5gjIzygAAADAZUwRl1igDAADAbEwRlJlRBgAAgNmYIyizRhkAAAAmY4qg\nXFlVL4/HE+oyAAAAAB9TBOX6JpdqG5yhLgMAAADwMUVQlqSKKpZfAAAAwDxME5QrjzeEugQAAADA\nxzRBmQv6AAAAYCbmCcpsEQcAAAATMU1Q5qYjAAAAMBPTBGUu5gMAAICZmCcoM6MMAAAAEzFPUGaN\nMgAAAEyEoAwAAAAYME1QrmR7OAAAAJiIaYIyM8oAAAAwE1MEZZvVour6JjU0uUJdCgAAACDJJEE5\nMS5SEnspAwAAwDxMEZQdJ4Iyyy8AAABgFgEH5U2bNikjI0NLly4NaPyiRYs0duxYjRkzRvPnz291\nbGK8d0aZC/oAAABgDmGBDHI6nZo3b57S0tJksVj8jt+6daueeeYZvfTSS4qNjdUtt9yiwYLine truncated
"text": [
"<matplotlib.figure.Figure at 0x7feec01d3550>"
"<matplotlib.figure.Figure at 0x7f6320126ef0>"
]
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Variance converges to 0.8577995630075655\n",
"Last voltage is 17.438686650938127\n"
"Variance converges to 16.920051100338714\n",
"Last voltage is 25\n"
]
}
],
"prompt_number": 22
"prompt_number": 45
},
{
"cell_type": "markdown",
@@ -1548,7 +1660,7 @@
"def VKF():\n",
" voltage=(14,1000)\n",
" for i in range(N):\n",
" Z = volt()\n",
" Z = volt(temp_variance)\n",
" voltage = update(voltage[0], voltage[1], Z, sensor_error)\n",
" return voltage[0]\n",
"\n",
@@ -1564,13 +1676,13 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7f207ab078d0>"
"<matplotlib.figure.Figure at 0x7f63205bf898>"
]
}
],
"prompt_number": 22
"prompt_number": 42
},
{
"cell_type": "markdown",
@@ -1592,6 +1704,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"**author's note:** I am not overly keen about this explanation. It is true that multiple sensors improve results, but we get good results merely by having an accurate model of the process. I explain this much better in the next chapter. I'll leave this section here while I mull how best to explain this at this stage of learning. For now don't worry if this section is not entirely convincing; it does need work.\n",
"\n",
"So how does the Kalman filter do so well? I have glossed over one aspect of the filter as it becomes confusing to address too many points at the same time. We will return to the dog tracking problem. We used two sensors to track the dog - the RFID sensor that detects position, and the inertial tracker that tracked movement. However, we have focused all of our attention on the position sensor. Let's change focus and see how the filter performs if the inertial tracker is also noisy. This will provide us with an vital insight into the performance of Kalman filters."
]
},