{
 "metadata": {
  "name": "",
  "signature": "sha256:3902df81d4a65468d74c91a7d5441eba58bde48d630e4949c25bd244969debdb"
 },
 "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": "markdown",
     "metadata": {},
     "source": [
      " # $H_\\infty$ filter"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "#format the book\n",
      "%matplotlib inline\n",
      "from __future__ import division, print_function\n",
      "import book_format\n",
      "book_format.load_style()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "html": [
        "<style>\n",
        "@import url('http://fonts.googleapis.com/css?family=Source+Code+Pro');\n",
        "@import url('http://fonts.googleapis.com/css?family=Vollkorn');\n",
        "@import url('http://fonts.googleapis.com/css?family=Arimo');\n",
        "\n",
        "    div.cell{\n",
        "        width: 850px;\n",
        "        margin-left: 0% !important;\n",
        "        margin-right: auto;\n",
        "    }\n",
        "    div.text_cell code {\n",
        "        background: transparent;\n",
        "        color: #000000;\n",
        "        font-weight: 600;\n",
        "        font-size: 11pt;\n",
        "        font-style: bold;\n",
        "        font-family:  'Source Code Pro', Consolas, monocco, monospace;\n",
        "   }\n",
        "    h1 {\n",
        "        font-family: 'Open sans',verdana,arial,sans-serif;\n",
        "\t}\n",
        "\t\n",
        "    div.input_area {\n",
        "        background: #F6F6F9;\n",
        "        border: 1px solid #586e75;\n",
        "    }\n",
        "\n",
        "    .text_cell_render h1 {\n",
        "        font-weight: 200;\n",
        "        font-size: 30pt;\n",
        "        line-height: 100%;\n",
        "        color:#c76c0c;\n",
        "        margin-bottom: 0.5em;\n",
        "        margin-top: 1em;\n",
        "        display: block;\n",
        "        white-space: wrap;\n",
        "    } \n",
        "    h2 {\n",
        "        font-family: 'Open sans',verdana,arial,sans-serif;\n",
        "    }\n",
        "    .text_cell_render h2 {\n",
        "        font-weight: 200;\n",
        "        font-size: 20pt;\n",
        "        font-style: italic;\n",
        "        line-height: 100%;\n",
        "        color:#c76c0c;\n",
        "        margin-bottom: 0.5em;\n",
        "        margin-top: 1.5em;\n",
        "        display: block;\n",
        "        white-space: nowrap;\n",
        "    } \n",
        "    h3 {\n",
        "        font-family: 'Open sans',verdana,arial,sans-serif;\n",
        "    }\n",
        "    .text_cell_render h3 {\n",
        "        font-weight: 300;\n",
        "        font-size: 18pt;\n",
        "        line-height: 100%;\n",
        "        color:#d77c0c;\n",
        "        margin-bottom: 0.5em;\n",
        "        margin-top: 2em;\n",
        "        display: block;\n",
        "        white-space: nowrap;\n",
        "    }\n",
        "    h4 {\n",
        "        font-family: 'Open sans',verdana,arial,sans-serif;\n",
        "    }\n",
        "    .text_cell_render h4 {\n",
        "        font-weight: 300;\n",
        "        font-size: 16pt;\n",
        "        color:#d77c0c;\n",
        "        margin-bottom: 0.5em;\n",
        "        margin-top: 0.5em;\n",
        "        display: block;\n",
        "        white-space: nowrap;\n",
        "    }\n",
        "    h5 {\n",
        "        font-family: 'Open sans',verdana,arial,sans-serif;\n",
        "    }\n",
        "    .text_cell_render h5 {\n",
        "        font-weight: 300;\n",
        "        font-style: normal;\n",
        "        color: #1d3b84;\n",
        "        font-size: 16pt;\n",
        "        margin-bottom: 0em;\n",
        "        margin-top: 1.5em;\n",
        "        display: block;\n",
        "        white-space: nowrap;\n",
        "    }\n",
        "    div.text_cell_render{\n",
        "        font-family: 'Arimo',verdana,arial,sans-serif;\n",
        "        line-height: 135%;\n",
        "        font-size: 125%;\n",
        "        width:750px;\n",
        "        margin-left:auto;\n",
        "        margin-right:auto;\n",
        "        text-align:justify;\n",
        "        text-justify:inter-word;\n",
        "    }\n",
        "    div.output_subarea.output_text.output_pyout {\n",
        "        overflow-x: auto;\n",
        "        overflow-y: scroll;\n",
        "        max-height: 50000px;\n",
        "    }\n",
        "    div.output_subarea.output_stream.output_stdout.output_text {\n",
        "        overflow-x: auto;\n",
        "        overflow-y: scroll;\n",
        "        max-height: 50000px;\n",
        "    }\n",
        "    code{\n",
        "      font-size: 70%;\n",
        "    }\n",
        "    .rendered_html code{\n",
        "    background-color: transparent;\n",
        "    }\n",
        "    ul{\n",
        "        margin: 2em;\n",
        "    }\n",
        "    ul li{\n",
        "        padding-left: 0.5em; \n",
        "        margin-bottom: 0.5em; \n",
        "        margin-top: 0.5em; \n",
        "    }\n",
        "    ul li li{\n",
        "        padding-left: 0.2em; \n",
        "        margin-bottom: 0.2em; \n",
        "        margin-top: 0.2em; \n",
        "    }\n",
        "    ol{\n",
        "        margin: 2em;\n",
        "    }\n",
        "    ol li{\n",
        "        padding-left: 0.5em; \n",
        "        margin-bottom: 0.5em; \n",
        "        margin-top: 0.5em; \n",
        "    }\n",
        "    ul li{\n",
        "        padding-left: 0.5em; \n",
        "        margin-bottom: 0.5em; \n",
        "        margin-top: 0.2em; \n",
        "    }\n",
        "    a:link{\n",
        "       font-weight: bold;\n",
        "       color:#447adb;\n",
        "    }\n",
        "    a:visited{\n",
        "       font-weight: bold;\n",
        "       color: #1d3b84;\n",
        "    }\n",
        "    a:hover{\n",
        "       font-weight: bold;\n",
        "       color: #1d3b84;\n",
        "    }\n",
        "    a:focus{\n",
        "       font-weight: bold;\n",
        "       color:#447adb;\n",
        "    }\n",
        "    a:active{\n",
        "       font-weight: bold;\n",
        "       color:#447adb;\n",
        "    }\n",
        "    .rendered_html :link {\n",
        "       text-decoration: underline; \n",
        "    }\n",
        "    .rendered_html :hover {\n",
        "       text-decoration: none; \n",
        "    }\n",
        "    .rendered_html :visited {\n",
        "      text-decoration: none;\n",
        "    }\n",
        "    .rendered_html :focus {\n",
        "      text-decoration: none;\n",
        "    }\n",
        "    .rendered_html :active {\n",
        "      text-decoration: none;\n",
        "    }\n",
        "    .warning{\n",
        "        color: rgb( 240, 20, 20 )\n",
        "    } \n",
        "    hr {\n",
        "      color: #f3f3f3;\n",
        "      background-color: #f3f3f3;\n",
        "      height: 1px;\n",
        "    }\n",
        "    blockquote{\n",
        "      display:block;\n",
        "      background: #fcfcfc;\n",
        "      border-left: 5px solid #c76c0c;\n",
        "      font-family: 'Open sans',verdana,arial,sans-serif;\n",
        "      width:680px;\n",
        "      padding: 10px 10px 10px 10px;\n",
        "      text-align:justify;\n",
        "      text-justify:inter-word;\n",
        "      }\n",
        "      blockquote p {\n",
        "        margin-bottom: 0;\n",
        "        line-height: 125%;\n",
        "        font-size: 100%;\n",
        "      }\n",
        "</style>\n",
        "<script>\n",
        "    MathJax.Hub.Config({\n",
        "                        TeX: {\n",
        "                           extensions: [\"AMSmath.js\"]\n",
        "                           },\n",
        "                tex2jax: {\n",
        "                    inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n",
        "                    displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ]\n",
        "                },\n",
        "                displayAlign: 'center', // Change this to 'center' to center equations.\n",
        "                \"HTML-CSS\": {\n",
        "                    styles: {'.MathJax_Display': {\"margin\": 4}}\n",
        "                }\n",
        "        });\n",
        "</script>\n"
       ],
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 1,
       "text": [
        "<IPython.core.display.HTML at 0x7f781e4548d0>"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "markdown",
     "metadata": {},
     "source": [
      "I am still mulling over how to write this chapter. In the meantime, Dan Simon has an accessible introduction here:\n",
      "\n",
      "http://academic.csuohio.edu/simond/courses/eec641/hinfinity.pdf\n",
      "\n",
      "In one sentence the $H_\\infty$ (H infinity) filter is like a Kalman filter, but it is robust in the face of non-Gaussian, non-predictable inputs.\n",
      "\n",
      "\n",
      "My FilterPy library contains an H-Infinity filter. I've pasted some test code below which implements the filter designed by Simon in the article above. Hope it helps."
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "from __future__ import (absolute_import, division, print_function,\n",
      "                        unicode_literals)\n",
      "\n",
      "from numpy import array\n",
      "import matplotlib.pyplot as plt\n",
      "\n",
      "from filterpy.hinfinity import HInfinityFilter\n",
      "\n",
      "dt = 0.1\n",
      "f = HInfinityFilter(2, 1, dim_u=1, gamma=.01)\n",
      "\n",
      "f.F = array([[1., dt],\n",
      "             [0., 1.]])\n",
      "\n",
      "f.H = array([[0., 1.]])\n",
      "f.G = array([[dt**2 / 2, dt]]).T\n",
      "\n",
      "f.P = 0.01\n",
      "f.W = array([[0.0003, 0.005],\n",
      "             [0.0050, 0.100]])/ 1000  #process noise\n",
      "\n",
      "f.V = 0.01\n",
      "f.Q = 0.01\n",
      "u = 1. #acceleration of 1 f/sec**2\n",
      "\n",
      "xs = []\n",
      "vs = []\n",
      "\n",
      "for i in range(1,40):\n",
      "    f.update (5)\n",
      "    #print(f.x.T)\n",
      "    xs.append(f.x[0,0])\n",
      "    vs.append(f.x[1,0])\n",
      "    f.predict(u=u)\n",
      "\n",
      "plt.subplot(211)\n",
      "plt.plot(xs)\n",
      "plt.title('position')\n",
      "plt.subplot(212)\n",
      "plt.plot(vs) \n",
      "plt.title('velocity')\n",
      "plt.show()\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nvO4J4nK58Mknn6CpqQm///3vMXXqVJhMJvj9fphMJgSDQfz85z/HOeecg2AwiJUrV8Jut+N3v/sd\n+6LG4XTXXa1W495770VmZiYCgQAOHDiAW2+9FaFQCL/5zW943eOwfPlyPPnkk3j++edRXFyMrq4u\ndHV1QZIkaLVaSJLEez4JBrruLpeL93wS/OQnP1H+hh4/fhyPPPIIduzYgYcffhhnn3027/UkOd11\nz8/P572eBHq9HhaLRXlYrVb813/9F0pKSrB48eL4/m1P3iRcp7d161ZRWloqdDqdqKioEG+//Xaq\nqjJu3HjjjaKwsFBotVpRVFQkvv71r4tPP/001dUaU9544w0hSZKQJEnIsqy8Xrp0qXLMmjVrREFB\ngdDr9WLevHni4MGDKazx2HC66+52u8WXvvQlYbVahVarFSUlJWLp0qWirq4u1dUe9U6+3tHH2rVr\nY47jPZ9YA1133vPJsWTJElFSUiJ0Op2wWq1iwYIFYteuXTHH8F5PvNNdd97rw6f3dLpRQ7nfJSHO\nYKQIERERERFRHFKycjkREREREY0vDB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERERERJR0\nDB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5E\nRERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERERE\nRJR0DB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERERERJR0\nDB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5E\nRERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERERERJR0DB5ERHRa8+bNgywP75+L\n0tJS2Gy2YT0nERElF4MHERENSJKkYT/fyedcs2YNZFlGZWXlsNaFiIgSQ53qChAREZ3s9ddfP+W+\n4Q5BRESUGAweREQ04pyum5UQYhhrQkREicKuVkREo9jevXshyzKuueaaUx5TUVEBlUqF2tpaZdsb\nb7yBa665BhaLBTqdDqWlpVi+fDnsdvsZn1sIgSeeeAKzZs1CRkYGjEYjLrroImzevBmBQKDfz9TX\n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\ni+NuIS0tLTh79iw0Gg3++c9/Yvz48VAqlejs7IRSqYRWq8Wbb76J0NBQaLVabNy4EXV1dXj33Xd5\nLmof9DTudnZ2ePnll+Hi4oIHDx6gtLQUf/rTn6DT6fD2229z3Ptg/fr12LNnDw4dOgQfHx80Nzej\nubkZEokEcrkcEomEc94KjI17S0sL57wVvPTSS/r/h9bW1uJvf/sb9u3bh7S0NIwZM4Zz3Up6GncP\nDw/OdStwdHTE6NGj9S+VSoW9e/fC398fq1ev7tu/7da7CVfP0tPThYCAAMHBwUGIiYkR8vPzxSpl\nyFi2bJng5eUlyOVywdvbW/j9738vnDt3TuyyBpXc3FxBIpEIEolEkEql+vdr167V90lJSRE8PT0F\nR0dHYc6cOUJFRYWIFQ8OPY17W1ub8Jvf/EZQqVSCXC4X/P39hbVr1wpXr14Vu+wB7+Hx/vm1detW\ng36c85ZlbNw5561jzZo1gr+/v+Dg4CCoVCohLi5OOHbsmEEfznXL62ncOddt59e30/1Zb+a7RBBM\nuFKEiIiIiIioD0R5cjkREREREQ0tDB5ERERERGR1DB5ERERERGR1DB5ERERERGR1DB5ERERERGR1\nDB5ERERERGR1DB5ERERERGR1DB5ERERERGR1/x+sDcCfF6VKlwAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x7f7801fc2278>"
       ]
      }
     ],
     "prompt_number": 2
    }
   ],
   "metadata": {}
  }
 ]
}