Commit Graph
100 Commits
Author SHA1 Message Date
Roger Labbe e8facb1a8a Typos, and reran cells so numbering is sequential. 2015-01-16 06:29:37 -08:00
Roger Labbe 20f22d2cd6 Sensor fusion at different rates
Discussed how to perform sensor fusion when the sensors run at different rates.
2015-01-15 19:17:57 -08:00
Roger Labbe 28be39e0bf Added labels to the charts. 2015-01-14 22:17:39 -08:00
Roger Labbe 917e66bf86 Fixed errors in display of std error.
For some reason I was displaying the std error as +/- the filter
output, not the true path. I also neglected to take the sqrt of
the variance.
2015-01-14 22:15:16 -08:00
Roger Labbe 6c9b693d7d Generaded PDF. 2015-01-14 11:16:16 -08:00
Roger Labbe df2e5f5518 Added large section on filter order. 2015-01-14 11:11:48 -08:00
Roger Labbe f6bf3b88fa Reordered color cycle.
I need to change some of the colors because they do not render
well when next to each other, as is common when I am plotting
filter output vs measurement. For now I made the yellow color
last as it is the hardest to see.
2015-01-14 11:06:09 -08:00
Roger Labbe 88ad62b12f Discussion of performance of different orders.
Added description of how over and underdetermined filters perform.
2015-01-13 20:47:51 -08:00
Roger Labbe 597d3e2b5a Clean up headers, added exercise.
UKF chapter's headings were all messed up in the PDF output. I added
an exercise to use the unscented transform on the 5,000 point nonlinear
monte carlo example from the beginning of the chapter.
2015-01-13 14:02:55 -08:00
Roger Labbe 6533e3b22e Fixed typo 2015-01-13 07:56:50 -08:00
Roger Labbe f83282a289 Fixed bug, some clean up.
I was plotting velocity, not position of filter in one plot.

Also, wrote a initialize_filter function so all plot start
with the filter initialized to the same value.
2015-01-13 07:19:10 -08:00
Roger Labbe b97d71879b Removed cide that runs on import
When editting a notebook I tend to rerun the cells many times.
But imports are only done once, so the code in book_format()
is only run the first time. I put all of that code in a function
so that it is run every time.
2015-01-13 07:17:45 -08:00
Roger Labbe 84c16e1533 script to copy PDF to gh-pages. 2015-01-12 19:06:13 -08:00
Roger Labbe 860bc16346 More MM text. 2015-01-12 19:06:01 -08:00
Roger Labbe b7e78ff6cf Added section using Zarchan's adaptive filter. 2015-01-12 18:21:32 -08:00
Roger Labbe efd40c3e5e Minor layout changes, typos. 2015-01-12 09:46:52 -08:00
Roger Labbe 066958366c Expanded coverage.
Probably mostly just the Fading memory, but also played with
length of data, noise settings, etc.
2015-01-11 13:22:36 -08:00
Roger Labbe b40184dd45 Added Adaptive filtering chapter to PDF. 2015-01-11 00:30:17 -08:00
Roger Labbe 026413dbd4 Added Adaptive Filtering chapter.
Still a lot of work to be done on it. This is just an
initial commit.
2015-01-11 00:13:12 -08:00
Roger Labbe 573c9429c8 Set numpy printing to suppress scientific output. 2015-01-11 00:12:21 -08:00
Roger Labbe 23aee4b3ff Altered language of readme file.
Tried to make it clearer that you can click on the link to
immediately start reading online.
2015-01-08 21:39:12 -08:00
Roger Labbe 995bbc4ad2 Added readme to each subdirectory.
Contains link to nbviewer version of the book - allows browsing github
use to immediately start reading the book.
2015-01-08 21:27:16 -08:00
Roger Labbe 62ff1cf441 Trial - adding readme to chapter subdirectory.
Provides link to online book so github user can start reading
immediately.
2015-01-08 21:23:45 -08:00
Roger Labbe fe6900dc3c Changed pdf style to 'book'. 2015-01-08 21:16:36 -08:00
Roger Labbe 94f2f1af9b Minor text edits.
Replaced 'transverse' with 'transpose'.

Fixed creative commons license - it was pointing to the old
name of the book.
2015-01-08 21:14:44 -08:00
Roger Labbe f635810a70 Adjusted template to generate TOC. 2015-01-08 19:10:26 -08:00
Roger Labbe cfdf66a5eb Fixed headers for nbconvert.
nbconvert does not work with the ### style headers, so I
converted to using the header cells where I was using the hash
headers.
2015-01-08 09:03:14 -08:00
Roger Labbe c241f715c9 Added to g-h Chapter
Added more examples, and added more charts to illustrate what
I was talking about. Notably, added error bars to the weight
readings to make the possible range of values clear.
2015-01-07 19:17:08 -08:00
Roger Labbe d096acce09 Fixed a few typos.
Text and code used slightly different number from earlier edits.
2015-01-04 09:46:55 -08:00
Roger Labbe ea6a9601a2 Fixed Broken Header
For some reason the Heading 1 cell cannot accept \infty latex.
I am sure this used to work; I have done some updates so perhaps
something changed?
2015-01-03 16:49:50 -08:00
Roger Labbe 952d81e3ef Added installation instructions.
Expanded installation instructions in the preface, readme,
and appendix.
2014-12-31 19:02:40 -08:00
Roger Labbe c71cac557f Added SymPy and FilterPy to list of requirements. 2014-12-31 17:10:27 -08:00
Roger Labbe 53f1101047 Python 2.7 compatibility.
list does not have copy in 2.7, so I created a new tuple where
I was using list.copy().
2014-12-31 13:55:24 -08:00
Roger Labbe bb0f9eb5ef Python 2.7 compatibility bug.
I was overwriting x,y variables with the list comprehension, causing
the lists in x,y to be replaced with a single value.
2014-12-31 13:22:16 -08:00
Roger Labbe 401a0004e1 Unicode problems with Python 2.7.
I read the matplotlib rcParams from a json file. The json module
always uses Unicode, but this does not work in Python 2.7. This
was causing the plots not to appear if using Python 2.7.

Wrote code to detect Python version and to convert to ASCII if
Python version 2.
2014-12-31 10:56:09 -08:00
Roger Labbe e68c9b9b14 Minor typo fixes. 2014-12-30 14:40:02 -08:00
Roger Labbe 7b6acde781 Removed gray background from 538 style.
white background renders better on cheap LCDs, and it will print better as well.
2014-12-22 14:20:42 -08:00
Roger Labbe 9e6c6ffb5f Removed need for matplotlibs 538 style.
I got the original code from the author, Cameron Davidson-Pilon,
modified it for the minor changes I make for the book, and put it
in 538.json. The main gain is that somebody doesn't need bleeding
edge matplotlib installed to get the 538 look.
2014-12-22 13:34:50 -08:00
Roger Labbe 8eaa6ee693 Reran for 538 plot formatting.
Ran all notebooks so that all images are properly plotted using
the 538 matplotlib style.
2014-12-22 13:07:31 -08:00
Roger Labbe 5a60d94d6a Switched to 538 plot style.
I like this one the best.
2014-12-22 12:29:24 -08:00
Roger Labbe 874a2ed59c Switched to ggplot style plotting. 2014-12-22 12:15:19 -08:00
Roger Labbe fc7c174999 update() and predict() alter in place.
I made the update() and predict() functions alter the belief array
in place rather than returning the value in a new array. I find this
far more readable and less error prone.
2014-12-20 20:56:23 -08:00
Roger Labbe 17b30bc395 Renamed variables to improve understanding.
I used p and pos for the belief in position, which can be a bit
confusing.
2014-12-20 20:33:44 -08:00
Roger Labbe 62f13ace77 Renamed chapter.
Renamed to One Dimensional Kalman Filters
2014-12-20 20:33:18 -08:00
Roger Labbe 74a18b72c5 Additions to MKF chapter.
Several changes and clarifications. Added chart showing 2d distribution
of points for multivariate gaussian. Improved some discussions. Fixed
some typos.
2014-12-20 20:00:17 -08:00
Roger Labbe e168f6eed6 Added message that chapter is not useful. 2014-12-20 14:36:47 -08:00
Roger Labbe af5f7af5b8 Fixed section heading
Removed use of hashes to denote section so PDF is generated
correctly.
2014-12-20 14:36:06 -08:00
Roger Labbe c865b57a74 Fixed section headings, added math
Added section in math chapter for Bayesian statistics, and improved
on the discussion of system dynamics.

The PDF generator cannot deal with the markdown for section headings
(using hash marks), so I needed to fix chapters that use them.

Appendix B still uses them, but for now that is just a list of
notes for myself, so I left that alone.

This contains the new PDF generated from these changes.
2014-12-20 14:24:08 -08:00
Roger Labbe 4d632bdc2d Fixed math error.
Variance was given without sigma being squared.
2014-12-20 13:56:29 -08:00
Roger Labbe b7f798ef74 Fixed typo. 2014-12-20 13:55:33 -08:00
Roger Labbe 176c2af00a Various typeo fixes. 2014-12-19 11:04:08 -08:00
Roger Labbe fe3c8ae0f5 Fixed inconsistency in covariances.
I had changed my example from (8,10) to (8,4), but did not change
it everywhere.
2014-12-17 11:05:36 -08:00
Roger Labbe 8824085607 Added link to SIAM News article on EnKF. 2014-12-14 17:31:02 -08:00
Roger Labbe 7a588b0683 Added radar tracking problem.
Added the radar tracking problem from the EKF chapter to the UKF
chapter.

fixed bug in ekf_internal that was drawing the radar image on import.
2014-12-13 21:07:11 -08:00
Roger Labbe 5e35a314bd Changed to use 1D x state array. 2014-12-13 20:40:08 -08:00
Roger Labbe 0a129a3e46 Briefly covered batch processing and RTS.
Added sections on batch processing and using RTS smoothing.
2014-12-13 20:26:43 -08:00
Roger Labbe 0c6999e25f Batch processing and RTS.
This belonged with the last check in. Added desciptions on
batch processing and using the RTS smoothing algorithm.
2014-12-13 20:05:06 -08:00
Roger Labbe a794fdced2 Batch filtering and RTS additions.
Added descriptions on using batch filtering to produce results,
and how to call the RTS smoother algorithms.
2014-12-13 20:04:07 -08:00
Roger Labbe 6721ae4dc3 Regenerated PDF.
Needed to fix a latex bug in the ensemble chapter for that to work,
and to add the changes to the chapter numbers in the merge script.
2014-12-08 22:48:00 -08:00
Roger Labbe 3f798c6717 Pretty graphs are pretty.
Added a fill for the covariance to many of the charts.

I also fixed a code typo in the ensemble chapter.
2014-12-08 22:36:41 -08:00
Roger Labbe 203616ff1c Bug fixes and added example.
Several of the equations were slightly wrong. I made variables
bold when required, and added an example. I also expanded some of the
explanations.
2014-12-07 20:58:58 -08:00
Roger Labbe 8566445bfb Added link back to Table of Contents. 2014-12-07 19:56:23 -08:00
Roger Labbe 5d759da7dc Fixed links to Ensemble chapter. 2014-12-07 19:51:29 -08:00
Roger Labbe 116e58e824 Rename to be consistant with rest of book 2014-12-07 19:48:05 -08:00
Roger Labbe a27ebac336 Added Ensemble Kalman Filter chapter.
Had to rename and move directories around to allow the new chapter
to fit in.
2014-12-07 19:44:42 -08:00
Roger Labbe 3c6abb8899 Minor formatting change.
Print number with less precision.
2014-12-07 16:36:18 -08:00
Roger Labbe 6ea738ef50 Proofreading changes.
A kind reader suggested these corrections.
2014-12-07 16:30:17 -08:00
Roger Labbe b705767a5b Generated PDF. 2014-12-01 10:45:38 -08:00
Roger Labbe d07e06ec8e PEP-8 compliance 2014-12-01 09:43:39 -08:00
Roger Labbe 8cbbdc6380 PEP-8 compliance 2014-12-01 09:31:17 -08:00
Roger Labbe dc4d234d04 PEP-8 compliance 2014-12-01 09:29:06 -08:00
Roger Labbe 546eca9a6c PEP-8 compliance 2014-12-01 09:24:51 -08:00
Roger Labbe 43e6d101e9 PEP-8 compliance. 2014-12-01 09:22:11 -08:00
Roger Labbe 4755c46714 PEP-8 compliance. 2014-12-01 09:18:41 -08:00
Roger Labbe 5f1cc41067 PEP-8 compliance, better variable names. 2014-12-01 09:13:43 -08:00
Roger Labbe 6e73cd9786 PEP-8 compliance. 2014-12-01 08:50:29 -08:00
Roger Labbe b1ce657cca Discussion about Python codding 2014-12-01 08:50:15 -08:00
Roger Labbe f6537d34a8 Added link to Wikipedia for Cholesky decomposition. 2014-12-01 07:17:56 -08:00
Roger Labbe e76698dd33 Link to nbconverter and PDF at top of README.
This is mostly so that I the github.io page, which uses the README, has a ready
link to the PDF.
2014-11-30 22:59:39 -08:00
Roger Labbe 1fb0859e2c Rearrange, clean up, added implementation.
Rearranged the text and added implementation of the UKF. Not sure it
reads completely smoothly, but shoudl be better than before.
2014-11-30 22:24:07 -08:00
Roger Labbe 32024ccde8 Script to generate HTML version.
Still early going. just an experiement at this point.
2014-11-30 16:45:17 -08:00
Roger Labbe 5367367baf Added description for H-infinity filters. 2014-11-30 16:45:01 -08:00
Roger Labbe dd8a0b72f6 Fixed link to HInifnity chapter. 2014-11-30 16:41:52 -08:00
Roger Labbe 7cbdc63e06 Fixed file location. 2014-11-30 16:26:22 -08:00
Roger Labbe f73719970d Expansion of UKF chapter.
Wrote several examples. Still more to do.
2014-11-30 15:34:06 -08:00
Roger Labbe dd3177cd02 Interim check in
Got a UKF working, just want to check point it.
2014-11-30 09:48:02 -08:00
Roger Labbe bf14f2fbc4 PEP-8 compliance. 2014-11-28 11:14:47 -08:00
Roger Labbe f9af363792 Bug in dog animation cell.
We were adding the movement error in the wrong place, causing the
filter output to never vary dispite changes in sensor noise.

Also some PEP-8 cleanup.
2014-11-28 10:33:10 -08:00
Roger Labbe 22375983c2 Fixed erroroneous statement about PDFs.
For some reason I stated the PDF displayed the probability,
not the probability density.
2014-11-28 09:34:57 -08:00
Roger Labbe 545a4650a1 PEP-8 compliance, typo fixes. 2014-11-28 09:16:55 -08:00
Roger Labbe a9537504c6 Fixed ^T to use non serif font. 2014-11-24 18:01:59 -08:00
Roger Labbe 7a343857f0 removed explicit call to test code. 2014-11-24 17:58:11 -08:00
Roger Labbe c05c04a94e Better introduction.
Added Dan Simon's example of a range/bearing with noise to illustrate
nonlinear behavior.
2014-11-24 17:57:24 -08:00
Roger Labbe 3e5248f7fa More P,Q,R cleanup.
Added units to all values, corrected some descriptions, chose values to better
illustrate my points by causing either better or worse filter convergence.
2014-11-20 08:22:20 -08:00
Roger Labbe 66f20b745e More work on R and Q.
Added more examples and cleaned up explanations on modifying R
and Q. In particular, the filter setting for R was not the same
as the simulated noise for no obvious reason. Also, names were
bad R instead of R_var, for example.
2014-11-19 23:50:11 -08:00
Roger Labbe 60e31b890d Add references to smoothing chapter. 2014-11-16 16:12:14 -08:00
Roger Labbe 75c4e9ce97 Start of the Smoothin chapter. RTS implemented. 2014-11-16 15:54:28 -08:00
Roger Labbe 3367806b07 Layout changes to make PDF read better.
Mostly just shortening lines of code. There was a SymPy font render issue as well.
2014-11-16 11:24:59 -08:00
Roger Labbe c1281bc47c Cleanup of Q material, and rename of FilterPy.
I renamed the functions that compute Q in FilterPy and had
not propogated that through the book.

I have renamed FilterPy from filterpy, and propogated that
change through the book.

Moved the material on SymPy from the short lived Appendix C
to Appendix A
2014-11-16 09:41:41 -08:00
Roger Labbe 9c0729d837 Text on Approximating Q
Discussed approximating Q by only assigning a value to the
lower rightmost term.
2014-11-16 01:01:42 -08:00