diff --git a/Gaussians.ipynb b/Gaussians.ipynb
index 8882560..7d3e08b 100644
--- a/Gaussians.ipynb
+++ b/Gaussians.ipynb
@@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
- "signature": "sha256:7fd79b3e15d4ee3d51905db93b49addeffa3ef9aaf5d48215e9d5f54efb042c2"
+ "signature": "sha256:2d351f8c72f6c3e40db4e6edb6b72d9bad558e859c283e1b4b0f5d677aadc8b5"
},
"nbformat": 3,
"nbformat_minor": 0,
@@ -12,10 +12,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "
Kalman Filters and Random Signals in Python
\n",
- "\n",
- "\n",
- "
Table of Contents\n"
+ "Kalman and Bayesian Filters in Python
\n",
+ "Table of Contents"
]
},
{
diff --git a/Introduction.ipynb b/Introduction.ipynb
index eaa3db8..ed440a5 100644
--- a/Introduction.ipynb
+++ b/Introduction.ipynb
@@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
- "signature": "sha256:ffa2f476b0ab6e185b89d9d7255b5228129a1566094ead255891daee73653bb8"
+ "signature": "sha256:43416a14f959d23aa804ae91a3c213fef3293323bbf36835c5a5ed68028f3374"
},
"nbformat": 3,
"nbformat_minor": 0,
@@ -12,10 +12,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Kalman Filters and Random Signals in Python
\n",
- "\n",
- "\n",
- "
Table of Contents\n"
+ "Kalman and Bayesian Filters in Python
\n",
+ "Table of Contents"
]
},
{
diff --git a/Kalman_Filters.ipynb b/Kalman_Filters.ipynb
index adbbd55..223f44f 100644
--- a/Kalman_Filters.ipynb
+++ b/Kalman_Filters.ipynb
@@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
- "signature": "sha256:f1282b1b6912ea5fac0efff388529fc18afc720e3243660b0bd5efe9f5dfee23"
+ "signature": "sha256:3cc661cc1c3e7d97ef3bf1f3e92ed7dcc7bd6b80a050041eb2301b523ac997d2"
},
"nbformat": 3,
"nbformat_minor": 0,
@@ -12,10 +12,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Kalman Filters and Random Signals in Python
\n",
- "\n",
- "\n",
- "
Table of Contents"
+ "Kalman and Bayesian Filters in Python
\n",
+ "Table of Contents"
]
},
{
diff --git a/Multidimensional_Kalman_Filters.ipynb b/Multidimensional_Kalman_Filters.ipynb
index 5c4de53..768ad30 100644
--- a/Multidimensional_Kalman_Filters.ipynb
+++ b/Multidimensional_Kalman_Filters.ipynb
@@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
- "signature": "sha256:7fe38b773d6649570c671d3b55bfd687b0013871fbb58ef30149ee4904ecb549"
+ "signature": "sha256:79131055a1ee48c9ec2e033ac83e7ad69114f60b4d0488eb9f3fb1991a959d66"
},
"nbformat": 3,
"nbformat_minor": 0,
@@ -12,10 +12,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Kalman Filters and Random Signals in Python
\n",
- "\n",
- "\n",
- "
Table of Contents"
+ "Kalman and Bayesian Filters in Python
\n",
+ "Table of Contents"
]
},
{
diff --git a/Preface.ipynb b/Preface.ipynb
index 0d865f0..0712429 100644
--- a/Preface.ipynb
+++ b/Preface.ipynb
@@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
- "signature": "sha256:6f4d2f385db2ea6a3f7f74c2bccd7eeed269a8f0dfce00a1dd0cc6d62319dd1f"
+ "signature": "sha256:d097c57c4d45e5e426a939ac1d87aaa192287a218b40d044dac5f0e32cc8156a"
},
"nbformat": 3,
"nbformat_minor": 0,
@@ -12,10 +12,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Kalman Filters and Random Signals in Python
\n",
- "\n",
- "\n",
- "
Table of Contents\n",
+ "Kalman and Bayesian Filters in Python
\n",
+ "Table of Contents\n",
"\n",
"### Version 0.0\n",
"\n",
diff --git a/g-h_filter.ipynb b/g-h_filter.ipynb
index 6dcd5d6..d64cdb3 100644
--- a/g-h_filter.ipynb
+++ b/g-h_filter.ipynb
@@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
- "signature": "sha256:425e4dfd12cb6c737dd7de18934a6dbc340fa581f4a00035b04741641c1d66be"
+ "signature": "sha256:e3077ed9cc5e7d1fe6e2252136dea1f9f206aa65d651dfdaa68de613616cfd79"
},
"nbformat": 3,
"nbformat_minor": 0,
@@ -12,10 +12,10 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Kalman Filters and Random Signals in Python
\n",
+ "Kalman and Bayesian Filters in Python
\n",
"\n",
"\n",
- "
Table of Contents\n"
+ "Table of Contents"
]
},
{
@@ -23,10 +23,10 @@
"metadata": {},
"source": [
"### Building Intuition via Thought Experiments\n",
- ".\n",
- "Imagine 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",
- "Another coworker hears the commotion and walks over to find out what has you so excited. You explain the invention and once again step onto the scale, and proudly proclaim the result: \"161 lbs.\" And then you hesitate, confused.\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",
+ "Another coworker hears the commotion and comes over to find out what has you so excited. You explain the invention and once again step onto the scale, and proudly proclaim the result: \"161 lbs.\" And then you hesitate, confused.\n",
"\n",
"\"What? It read 172 lbs just a few seconds ago\" you complain to your coworker. \n",
"\n",
diff --git a/histogram_filter.ipynb b/histogram_filter.ipynb
index d0f0b04..4016d1f 100644
--- a/histogram_filter.ipynb
+++ b/histogram_filter.ipynb
@@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
- "signature": "sha256:6469cdd761bc5bdb0dbc3a390418e00a65073fdcc40a62fa714d579b3d4fdf1a"
+ "signature": "sha256:b105d6995f19073d8376cf55418d5b1ba33b4d192a9eda1b6733add7091d54b3"
},
"nbformat": 3,
"nbformat_minor": 0,
@@ -12,10 +12,8 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Kalman Filters and Random Signals in Python
\n",
- "\n",
- "\n",
- "
Table of Contents"
+ "Kalman and Bayesian Filters in Python
\n",
+ "Table of Contents"
]
},
{
diff --git a/toc.ipynb b/toc.ipynb
index 807fbdc..a13714e 100644
--- a/toc.ipynb
+++ b/toc.ipynb
@@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
- "signature": "sha256:efbd913a73b6e4d9eb89edc786c31ac905a3faf68b0704d9c04df93f4ffd80f2"
+ "signature": "sha256:a0a265824bc94f8854fda3508ed1e85d9bc00b1da6aed1fa64fc35d9db5e80bf"
},
"nbformat": 3,
"nbformat_minor": 0,
@@ -12,12 +12,12 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Kalman Filters and Random Signals in Python
\n",
+ "Kalman Filters and Bayesian Filters in Python
\n",
"\n",
"
\n",
"Table of Contents\n",
"-----\n",
- "* [**Preface**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-Filters-and-Random-Signals-in-Python/master/Preface.ipynb)\n",
+ "* [**Preface**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Preface.ipynb)\n",
"\n",
" Motivation for the book. Where to download, how to use.\n",
"\n",
@@ -49,7 +49,66 @@
"\n",
"* [**Chapter 5: Multidimensional Kalman Filter**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-Filters-and-Random-Signals-in-Python/master/Multidimensional_Kalman_Filters.ipynb)\n",
"\n",
- " We extend the Kalman filter developed in the previous chapter to the full, generalized filter. \n"
+ " We extend the Kalman filter developed in the previous chapter to the full, generalized filter. \n",
+ "\n",
+ "\n",
+ "* [**Chapter 6: Kalman Filter Math**](not implemented)\n",
+ "\n",
+ " We gotten about as far as we can without forming a strong mathematical foundation. This chapter is optional, especially the first time, but if you intend to write robust, numerically stable filters, or to read the literature, you will need to know this.\n",
+ " \n",
+ "\n",
+ "* [**Chapter 7: Designing Kalman Filters**](not implemented)\n",
+ "\n",
+ " Building on material in Chapter 5, walks you through the design of several Kalman filters. Discusses, but does not solve issues like numerical stability.\n",
+ " \n",
+ "\n",
+ "* [**Chapter 8: Extended Kalman Filters**](not implemented)\n",
+ " \n",
+ " Kalman filter as covered only work for linear problems. Extended Kalman filters (EKF) are the most common approach to linearizing non-linear problems.\n",
+ "\n",
+ "\n",
+ "* [**Chapter 9: Unscented Kalman Filters**](not implemented)\n",
+ " \n",
+ " Unscented Kalman filters (UKF) are a recent development in Kalman filter theory. They allow you to filter nonlinear problems without requiring a closed form solution like the Extended Kalman filter requires.\n",
+ "\n",
+ "\n",
+ "* [**Chapter 10: Numerical Stability**](not implemented)\n",
+ " \n",
+ " EKF and UKF are linear approximations of nonlinear problems. Unless programmed carefully, they are not numerically stable. We discuss some common approaches to this problem.\n",
+ " \n",
+ " \n",
+ "* [**Chapter 11: Smoothing**](not implemented)\n",
+ " \n",
+ " Kalman filters are recursive, and thus very suitable for real time filtering. However, they work well for post-processing data. We discuss some common approaches.\n",
+ " \n",
+ " \n",
+ "* [**Chapter 12: Control Theory**](not implemented)\n",
+ "\n",
+ " This book focuses on tracking and filtering, but Kalman filters have an input for control. We discuss using Kalman filters to control devices like robots, CNC machinery and so on.\n",
+ " \n",
+ " \n",
+ "* [**Chapter 13: Particle Filters**](not implemented)\n",
+ " \n",
+ " Particle filters uses a Monte Carlo technique to \n",
+ " \n",
+ " \n",
+ " * [**Chapter 13: Multihypothesis Tracking**](not implemented)\n",
+ " \n",
+ " stuff\n",
+ "\n",
+ "\n",
+ "* [**Appendix: Python and NumPy**](not implemented)\n",
+ "\n",
+ " Brief introduction of Python and how it is used in this book. Explanation of my use of NumPy matrices.\n",
+ " \n",
+ "\n",
+ "* [**Appendix: Statistics**](not implemented)\n",
+ "\n",
+ " Brief review of statistical math. \n",
+ " \n",
+ "\n",
+ "### Github repository\n",
+ "http://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python\n"
]
},
{