

Line 3: 
Line 3: 
   
 == Course Materials ==   == Course Materials == 
−  * [[Media:L41_Kalman.pdfLecture: Kalman Filtering]] (Henrik Sandberg)  +  * {{cds110bwi07 pdfssensor.pdfLecture notes on sensor fusion}} 
−  * [[Media:Stateestim.pdfLecture notes: State estimation]] (Henrik Sandberg)
 +  
 * {{cds110bwi07 pdfshw4.pdfHW #4}} (due 31 Jan 07)   * {{cds110bwi07 pdfshw4.pdfHW #4}} (due 31 Jan 07) 
   
 == References and Further Reading ==   == References and Further Reading == 
−  * [[NCS:_Kalman_FilteringCDS 2702 (Networked Control Systems) page]]  +  * {{AM06Output Feedback}}. Section 7.4 covers the discrete time Kalman filter. 
−  * [http://www.cs.unc.edu/~welch/media/pdf/kalman_intro.pdf An Introduction to the Kalman Filter], G. Welch and G. Bishop. A brief introduction to the Kalman filter in discrete time. No proofs are given, but it is a good first read.
 +  * [[NCS:_Kalman_FilteringCDS 2702 (Networked Control Systems) page on Kalman Filtering]]  provides additional notes and lecture materials (including some nice references) 
−  * [http://en.wikipedia.org/wiki/Kalman_filter Wikipedia: Kalman Filter] A webpage that gives a proof and some applications.
 +  
−  * [http://www.cs.unc.edu/~welch/kalman/kalmanPaper.html A New Approach to Linear Filtering and Prediction Problem], R.E. Kalman. ''Transactions of the ASME'', Series D, 1960. A classical paper. Still very readable. It uses different notation than the lecture, and present a different and more general proof.
 +  
   
 == Frequently Asked Questions ==   == Frequently Asked Questions == 
−  '''Q: How do you deal with time correlated noise (eg, GPS jumps on Alice)?'''
 
−  <blockquote>
 
−  <p>Correlated noise can be put into the Kalman filtering framework by using a (linear) filter to give a correlated noise source with a given correlation function (or spectral density). Suppose that <math>H(s)</math> is a transfer function that filters Gaussian white noise and provides the desired correlation. Let <math>(A_f, B_f, C_f)</math> be a state space representation for the filter. Then the entire system can be written as
 
−  <center>
 
−  {
 
−  
 
−   <math>
 
−  \left[\begin{matrix} x \\ z \end{matrix}\right] =
 
−  \left[\begin{matrix} A & F C_f \\ 0 & A_f \end{matrix}\right] \left[\begin{matrix} x \\ z \end{matrix}\right] +
 
−  \left[\begin{matrix} B \\ 0 \end{matrix}\right] u +
 
−  \left[\begin{matrix} 0 \\ B_f \end{matrix}\right] v
 
−  </math>
 
−  
 
−   <math>
 
−  y = \left[\begin{matrix} C & 0 \end{matrix}\right] \left[\begin{matrix} x \\ z \end{matrix}\right] + w
 
−  </math>
 
−  }
 
−  </center>
 
−  This system takes a Guassian white noise input <math>v</math>, filters it to give the desired spectrum, and uses it to drive the system.</p>
 
− 
 
−  <p>For Alice, the most correct approach would be to model the noise as something other than a Gaussian process (in which case the theory we have studied doesn't directly apply). However, we can also take data from the sensor and develop the correlation function numerically, then determine the linear system that best models the correlation.</p>
 
−  </blockquote>
 
− 
 
−  '''Q: In problem 1(a), can we assume <math>\alpha</math> and <math>\beta</math> as given in homework #2 when doing our plots? Can we also assume them when doing the calculations?'''
 
−  <blockquote>
 
−  Getting an expression first in terms of <math>\alpha</math> and <math>\beta</math> would be good, and then plugging in the values from homework #2. (And as always, if you used different values, please be sure to clearly state that.)
 
−  </blockquote>
 
− 
 
−  '''Q: In problem 1(b), what transfer function should we use to calculate the gain margin? I know we want open loop, but do we want to break the loop such that it's SISO?'''
 
−  <blockquote>
 
−  Yes, break the loop so it's SISO. In the coming weeks we'll make clear exactly where we'd want to break the loop and why based on precisely where the disturbances and noise are, but for now...just pick a SISO break spot.
 
−  </blockquote>
 
− 
 
−  '''Q: In dfan_kf.m, shouldn’t P22 be y1(:,20) and P33 be y1(:,27)?'''
 
−  <blockquote>
 
−  Good catch! There is a mistake in the file. You need to add 7 to each entry to go from one diagonal entry to the next. The code as written will plot the first column of the P matrix.
 
−  </blockquote>
 
− 
 
−  '''Q: What's up with the units of the power spectral density on the LN200 datasheet? Why is it in degrees/sqrt(hr)?'''
 
−  <blockquote>
 
−  Sometimes, the square root of the PSD is given instead of the PSD, as in this case. Thus, to get the PSD, you'll need to square the given value. (Also, remember that the units of PSD are not the same as the units of the covariance, e.g. <math>\sigma^2</math>. Because integrating the PSD over a band of frequencies will give you the correlation in the frequency band, the units of the PSD should be the units of <math>\sigma^2</math>divided by Hz.)
 
−  </blockquote>
 