Removed book title and link from top of pages.

I did this because it doesn't generate latex very well with nbconvert.
Also, the layout is strange - the chapter title is not clear.
This commit is contained in:
Roger Labbe 2014-05-26 14:05:14 -07:00
parent 2b6c7005ae
commit f8d670d6fe
11 changed files with 436 additions and 678 deletions

18
.gitignore vendored
View File

@ -1,9 +1,9 @@
*.aux
*.html
*.out
*.pdf
*.gz
*.tex
*.toc
*_files/
.ipynb_checkpoints/
*.aux
*.html
*.out
*.pdf
*.gz
*.tex
*.toc
*_files/
.ipynb_checkpoints/

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:accc4aa29e12d5a5ed17db77c8d414aad014c9ab74372dff107bdcaaa8e97d40"
"signature": "sha256:e7d1e5240da92450e6d3790326c446f6c2b8d4ef9dd3aa3ae42956412e150699"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -12,8 +12,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"<center><h1>Kalman and Bayesian Filters in Python</h1></center>\n",
"<center><a href =\"http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/toc.ipynb\">Table of Contents</a></center>"
"# The Extended Kalman Filter"
]
},
{
@ -38,6 +37,10 @@
" margin-left: 0% !important;\n",
" margin-right: auto;\n",
" }\n",
" div.text_cell code {\n",
" background: #F6F6F9;\n",
" color: #0000FF;\n",
" }\n",
" h1 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
"\t}\n",
@ -131,7 +134,7 @@
" max-height: 300px;\n",
" }\n",
" code{\n",
" font-size: 78%;\n",
" font-size: 70%;\n",
" }\n",
" .rendered_html code{\n",
" background-color: transparent;\n",
@ -239,13 +242,13 @@
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 1,
"prompt_number": 2,
"text": [
"<IPython.core.display.HTML at 0x1cb68d0>"
"<IPython.core.display.HTML at 0x1cb1390>"
]
}
],
"prompt_number": 1
"prompt_number": 2
},
{
"cell_type": "markdown",

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:24778ca76d9e38addb56b65e91a3d5d7a56a744438822a06d40215bdd10b0da2"
"signature": "sha256:43816bf77f55adc378d6365759a668c72b08dfb5d8cb7c26ce484ba0c3ee9571"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -12,8 +12,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"<center><h1>Kalman and Bayesian Filters in Python</h1></center>\n",
"<center><a href =\"http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/toc.ipynb\">Table of Contents</a></center>"
"#Kalman Filter Math"
]
},
{
@ -22,6 +21,7 @@
"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()"
@ -250,13 +250,6 @@
],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h1 align=\"center\">Kalman Filter Math</h1>"
]
},
{
"cell_type": "markdown",
"metadata": {},

View File

@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:6a8d055df393c9eb58810bcfe98b8b7fbe4da5dfbfe148387c1263cbc3f8d125"
"signature": "sha256:2d974c6ade3fc545dc4a52ec25342de94ed86181f0c1f6214bef7e63fff5b565"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -12,8 +12,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"<center><h1>Kalman and Bayesian Filters in Python</h1></center>\n",
"<center><a href =\"http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/toc.ipynb\">Table of Contents</a></center>"
"#Kalman Filters"
]
},
{
@ -22,6 +21,8 @@
"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()"
],
@ -36,6 +37,10 @@
" margin-left: 0% !important;\n",
" margin-right: auto;\n",
" }\n",
" div.text_cell code {\n",
" background: #F6F6F9;\n",
" color: #0000FF;\n",
" }\n",
" h1 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
"\t}\n",
@ -129,7 +134,7 @@
" max-height: 300px;\n",
" }\n",
" code{\n",
" font-size: 78%;\n",
" font-size: 70%;\n",
" }\n",
" .rendered_html code{\n",
" background-color: transparent;\n",
@ -239,7 +244,7 @@
"output_type": "pyout",
"prompt_number": 1,
"text": [
"<IPython.core.display.HTML at 0x25287d0>"
"<IPython.core.display.HTML at 0xe448d0>"
]
}
],

View File

@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:1dc131b15da6cd7244d52ea00f85302deed12274cd93ac32c078d53e70b8ecac"
"signature": "sha256:fee9697d6045cc2e7b201f1c2087dc4b21e26e84b3d4dbeb2219f4c109bd6893"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -12,8 +12,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"<center><h1>Kalman and Bayesian Filters in Python</h1></center>\n",
"<center><a href =\"http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/toc.ipynb\">Table of Contents</a></center>"
"<h1 align=\"center\">Multidimensional</h1>\n",
"<h1 align=\"center\">Kalman Filters</h1>"
]
},
{
@ -22,6 +22,7 @@
"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()"
@ -250,14 +251,6 @@
],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<h1 align=\"center\">Multidimensional</h1>\n",
"<h1 align=\"center\">Kalman Filters</h1>"
]
},
{
"cell_type": "markdown",
"metadata": {},

View File

@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:d097c57c4d45e5e426a939ac1d87aaa192287a218b40d044dac5f0e32cc8156a"
"signature": "sha256:136798fb33e978117815e8cc04f4e7c4365f59442a30151e6a2f3e3d796c5e9f"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -20,11 +20,6 @@
"Not ready for public consumption. In development.\n",
"\n",
"\n",
"[Table of Contents](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-Filters-and-Random-Signals-in-Python/master/toc.ipynb)\n",
"\n",
"\n",
"\n",
"\n",
"# Motivation\n",
"\n",
"This is a book for programmers that have a need or interest in Kalman filtering. The motivation for this book came out of my desire for a gentle introduction to Kalman filtering. I'm a software engineer that spent almost two decades in the avionics field, and so I have always been 'bumping elbows' with the Kalman filter, but never had the need to implement one myself. As I moved into solving tracking problems with computer vision I needed to start implementing them. There are classic textbooks in the field, such as Grewal and Andrew's excellent *Kalman Filtering*. But sitting down and trying to read these books is a dismal and trying experience if you do not have the background. Typcially the first few chapters fly through several years of undergraduate math, blithely referring you to textbooks on, for example, It\u014d calculus, and presenting an entire semester's worth of statistics in a few brief paragraphs. These books are good textbooks for an upper undergraduate course, and an invaluable reference to researchers and professionals, but the going is truly difficult for the more casual reader. Symbology is introduced without explanation, different texts use different words and variables names for the same concept, and the books are almost devoid of examples or worked problems. I often found myself able to parse the words and comprehend the mathematics of a defition, but had no idea as to what real world phenomena these words and math were attempting to describe. \"But what does that *mean?*\" was my repeated thought.\n",

View File

@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:703bbb2a324a363413963c59ffc0352bd2a22c86dd5a5fab42333dd36436566b"
"signature": "sha256:5cac6d1e4e2cb015dbc3ae11ac0be80b8490b74c9ff0d054c006b499e2186165"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -12,8 +12,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"<center><h1>Kalman and Bayesian Filters in Python</h1></center>\n",
"<center><a href =\"http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/toc.ipynb\">Table of Contents</a></center>"
"# Unscented Kalman Filters"
]
},
{
@ -38,6 +37,10 @@
" margin-left: 0% !important;\n",
" margin-right: auto;\n",
" }\n",
" div.text_cell code {\n",
" background: #F6F6F9;\n",
" color: #0000FF;\n",
" }\n",
" h1 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
"\t}\n",
@ -131,7 +134,7 @@
" max-height: 300px;\n",
" }\n",
" code{\n",
" font-size: 78%;\n",
" font-size: 70%;\n",
" }\n",
" .rendered_html code{\n",
" background-color: transparent;\n",
@ -241,19 +244,12 @@
"output_type": "pyout",
"prompt_number": 1,
"text": [
"<IPython.core.display.HTML at 0x1b6d990>"
"<IPython.core.display.HTML at 0x1e308d0>"
]
}
],
"prompt_number": 1
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Unscented Kalman Filters"
]
},
{
"cell_type": "markdown",
"metadata": {},

View File

@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:410ce21bf24ce671ae0a839a3fed5bea5ddb8cc7d05fb2719f7e8b1d57126411"
"signature": "sha256:21d9832d6077dac81c77a2069d45a9bbf83c85aa80ab3aa2a0df2870fec18787"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -12,8 +12,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"<center><h1>Kalman and Bayesian Filters in Python</h1></center>\n",
"<center><a href =\"http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/toc.ipynb\">Table of Contents</a></center>"
"#Discrete Bayes Filter"
]
},
{
@ -22,6 +21,8 @@
"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()"
],
@ -36,6 +37,10 @@
" margin-left: 0% !important;\n",
" margin-right: auto;\n",
" }\n",
" div.text_cell code {\n",
" background: #F6F6F9;\n",
" color: #0000FF;\n",
" }\n",
" h1 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
"\t}\n",
@ -129,7 +134,7 @@
" max-height: 300px;\n",
" }\n",
" code{\n",
" font-size: 78%;\n",
" font-size: 70%;\n",
" }\n",
" .rendered_html code{\n",
" background-color: transparent;\n",
@ -237,20 +242,18 @@
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 1,
"prompt_number": 3,
"text": [
"<IPython.core.display.HTML at 0x260a750>"
"<IPython.core.display.HTML at 0x247b650>"
]
}
],
"prompt_number": 1
"prompt_number": 3
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#Discrete Bayes Filter\n",
"\n",
"The Kalman filter belongs to a family of filters called *bayesian filters*. Without going into"
]
},

View File

@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:6c60ac864bcb53244749d19ec802eea1dda3eff6515e5eb3cd0d3d0672d84403"
"signature": "sha256:d9983a12d2de111eca8f8d2ef0ebbb01623530d2e91fda95463c95650560ad9d"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -12,10 +12,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"<center><h1>Kalman and Bayesian Filters in Python</h1></center>\n",
"\n",
"<p>\n",
"<center><a href =\"http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/toc.ipynb\">Table of Contents</a></center>"
"# The g-h Filter"
]
},
{
@ -24,6 +21,8 @@
"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()"
],
@ -38,6 +37,10 @@
" margin-left: 0% !important;\n",
" margin-right: auto;\n",
" }\n",
" div.text_cell code {\n",
" background: #F6F6F9;\n",
" color: #0000FF;\n",
" }\n",
" h1 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
"\t}\n",
@ -131,7 +134,7 @@
" max-height: 300px;\n",
" }\n",
" code{\n",
" font-size: 78%;\n",
" font-size: 70%;\n",
" }\n",
" .rendered_html code{\n",
" background-color: transparent;\n",
@ -239,21 +242,19 @@
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 1,
"prompt_number": 4,
"text": [
"<IPython.core.display.HTML at 0x29af750>"
"<IPython.core.display.HTML at 0x2b89490>"
]
}
],
"prompt_number": 1
"prompt_number": 4
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## The g-h Filter\n",
"\n",
"### Building Intuition via Thought Experiments\n",
"## Building Intuition via Thought Experiments\n",
"\n",
"Imagine that we live in a world without scales - the devices you stand on to weigh yourself. One day at work a coworker comes running up to you and announces her invention to you. After she explains, you eagerly stand on it and announce the results: \"172 lbs\". You are estatic - for the first time in your life you know what you weigh. More importantly, dollar signs dance in your eyes as you imagine selling this device to weight loss clinics across the world! This is fantastic!\n",
"\n",