{ "metadata": { "name": "", "signature": "sha256:50f42ee2e006c1e6799c0cb38dfead8dba5bfdb7035dedbdd6496865de36531e" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "[Table of Contents](http://nbviewer.ipython.org/github/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/table_of_contents.ipynb)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "#format the book\n", "%matplotlib inline\n", "from __future__ import division, print_function\n", "import matplotlib.pyplot as plt\n", "import book_format\n", "book_format.load_style()" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", "\n" ], "metadata": {}, "output_type": "pyout", "prompt_number": 1, "text": [ "" ] } ], "prompt_number": 1 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Symbology" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This is just notes at this point. \n", "\n", "### State\n", "\n", "$x$ (Brookner, Zarchan, Brown)\n", "\n", "$\\underline{x}$ Gelb)\n", "\n", "### State at step n\n", "\n", "$x_n$ (Brookner)\n", "\n", "$x_k$ (Brown, Zarchan)\n", "\n", "$\\underline{x}_k$ (Gelb)\n", "\n", "\n", "\n", "### Prediction\n", "\n", "$x^-$\n", "\n", "$x_{n,n-1}$ (Brookner) \n", "\n", "$x_{k+1,k}$\n", "\n", "\n", "## measurement\n", "\n", "\n", "$x^*$\n", "\n", "\n", "\n", "Y_n (Brookner)\n", "\n", "##control transition Matrix\n", "\n", "$G$ (Zarchan)\n", "\n", "\n", "Not used (Brookner)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#Nomenclature\n", "\n", "\n", "## Equations\n", "### Brookner\n", "\n", "$$\n", "\\begin{aligned}\n", "X^*_{n+1,n} &= \\Phi X^*_{n,n} \\\\\n", "X^*_{n,n} &= X^*_{n,n-1} +H_n(Y_n - MX^*_{n,n-1}) \\\\\n", "H_n &= S^*_{n,n-1}M^T[R_n + MS^*_{n,n-1}M^T]^{-1} \\\\\n", "S^*_{n,n-1} &= \\Phi S^*_{n-1,n-1}\\Phi^T + Q_n \\\\\n", "S^*_{n-1,n-1} &= (I-H_{n-1}M)S^*_{n-1,n-2}\n", "\\end{aligned}$$\n", "\n", "### Gelb\n", "\n", "$$\n", "\\begin{aligned}\n", "\\underline{\\hat{x}}_k(-) &= \\Phi_{k-1} \\underline{\\hat{x}}_{k-1}(+) \\\\\n", "\\underline{\\hat{x}}_k(+) &= \\underline{\\hat{x}}_k(-) +K_k[Z_k - H_k\\underline{\\hat{x}}_k(-)] \\\\\n", "K_k &= P_k(-)H_k^T[H_kP_k(-)H_k^T + R_k]^{-1}\\\\\n", "P_k(+) &= \\Phi_{k-1} P_{k-1}(+)\\Phi_{k-1}^T + Q_{k-1} \\\\\n", "P_k(-) &= (I-K_kH_k)P_k(-)\n", "\\end{aligned}$$\n", "\n", "\n", "### Brown\n", "\n", "$$\n", "\\begin{aligned}\n", "\\hat{\\textbf{x}}^-_{k+1} &= \\mathbf{\\phi}_{k}\\hat{\\textbf{x}}_{k} \\\\\n", "\\hat{\\textbf{x}}_k &= \\hat{\\textbf{x}}^-_k +\\textbf{K}_k[\\textbf{z}_k - \\textbf{H}_k\\hat{\\textbf{}x}^-_k] \\\\\n", "\\textbf{K}_k &= \\textbf{P}^-_k\\textbf{H}_k^T[\\textbf{H}_k\\textbf{P}^-_k\\textbf{H}_k^T + \\textbf{R}_k]^{-1}\\\\\n", "\\textbf{P}^-_{k+1} &= \\mathbf{\\phi}_k \\textbf{P}_k\\mathbf{\\phi}_k^T + \\textbf{Q}_{k} \\\\\n", "\\mathbf{P}_k &= (\\mathbf{I}-\\mathbf{K}_k\\mathbf{H}_k)\\mathbf{P}^-_k\n", "\\end{aligned}$$\n", "## \n", "\n", "### Zarchan\n", "\n", "$$\n", "\\begin{aligned}\n", "\\hat{x}_{k} &= \\Phi_{k}\\hat{x}_{k-1} + G_ku_{k-1} + K_k[z_k - H\\Phi_{k}\\hat{x}_{k-1} - HG_ku_{k-1} ] \\\\\n", "M_{k} &= \\Phi_k P_{k-1}\\phi_k^T + Q_{k} \\\\\n", "K_k &= M_kH^T[HM_kH^T + R_k]^{-1}\\\\\n", "P_k &= (I-K_kH)M_k\n", "\\end{aligned}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Wikipedia\n", "$$\n", "\\begin{aligned}\n", "\\hat{\\textbf{x}}_{k\\mid k-1} &= \\textbf{F}_{k}\\hat{\\textbf{x}}_{k-1\\mid k-1} + \\textbf{B}_{k} \\textbf{u}_{k} \\\\\n", "\\textbf{P}_{k\\mid k-1} &= \\textbf{F}_{k} \\textbf{P}_{k-1\\mid k-1} \\textbf{F}_{k}^{\\text{T}} + \\textbf{Q}_{k}\\\\\n", "\\tilde{\\textbf{y}}_k &= \\textbf{z}_k - \\textbf{H}_k\\hat{\\textbf{x}}_{k\\mid k-1} \\\\\n", "\\textbf{S}_k &= \\textbf{H}_k \\textbf{P}_{k\\mid k-1} \\textbf{H}_k^\\text{T} + \\textbf{R}_k \\\\\n", "\\textbf{K}_k &= \\textbf{P}_{k\\mid k-1}\\textbf{H}_k^\\text{T}\\textbf{S}_k^{-1} \\\\\n", "\\hat{\\textbf{x}}_{k\\mid k} &= \\hat{\\textbf{x}}_{k\\mid k-1} + \\textbf{K}_k\\tilde{\\textbf{y}}_k \\\\\n", "\\textbf{P}_{k|k} &= (I - \\textbf{K}_k \\textbf{H}_k) \\textbf{P}_{k|k-1}\n", "\\end{aligned}$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Labbe\n", "\n", "$$\n", "\\begin{aligned}\n", "\\hat{\\textbf{x}}^-_{k+1} &= \\mathbf{F}_{k}\\hat{\\textbf{x}}_{k} + \\mathbf{B}_k\\mathbf{u}_k \\\\\n", "\\textbf{P}^-_{k+1} &= \\mathbf{F}_k \\textbf{P}_k\\mathbf{F}_k^T + \\textbf{Q}_{k} \\\\\n", "\\textbf{y}_k &= \\textbf{z}_k - \\textbf{H}_k\\hat{\\textbf{}x}^-_k \\\\\n", "\\mathbf{S}_k &= \\textbf{H}_k\\textbf{P}^-_k\\textbf{H}_k^T + \\textbf{R}_k \\\\\n", "\\textbf{K}_k &= \\textbf{P}^-_k\\textbf{H}_k^T\\mathbf{S}_k^{-1} \\\\\n", "\\hat{\\textbf{x}}_k &= \\hat{\\textbf{x}}^-_k +\\textbf{K}_k\\textbf{y} \\\\\n", "\\mathbf{P}_k &= (\\mathbf{I}-\\mathbf{K}_k\\mathbf{H}_k)\\mathbf{P}^-_k\n", "\\end{aligned}$$\n", "## \n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] } ], "metadata": {} } ] }