# CDS 110b: Sensor Fusion

WARNING: This page is for a previous year.See current course homepage to find most recent page available. |

CDS 110b | Schedule | Project | FAQ | Reading |

In this lecture we discuss discrete time random processes and the discrete time Kalman filter. We use the discrete time formulation to consider problems in (multi-rate) sensor fusion and sensor fusion in the presence of information/packet loss.

## Course Materials

- Lecture Notes on Sensor Fusion
- HW #4 (due 31 Jan 07)

## References and Further Reading

- CDS 270-2 (Networked Control Systems) page
- 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.
- Wikipedia: Kalman Filter A webpage that gives a proof and some applications.
- 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

**Q: How do you deal with time correlated noise (eg, GPS jumps on Alice)?**

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 is a transfer function that filters Gaussian white noise and provides the desired correlation. Let be a state space representation for the filter. Then the entire system can be written as

This system takes a Guassian white noise input , filters it to give the desired spectrum, and uses it to drive the system.

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.

**Q: In problem 1(a), can we assume and as given in homework #2 when doing our plots? Can we also assume them when doing the calculations?**

Getting an expression first in terms of and 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.)

**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?**

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.

**Q: In dfan_kf.m, shouldn’t P22 be y1(:,20) and P33 be y1(:,27)?**

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.

**Q: What's up with the units of the power spectral density on the LN200 datasheet? Why is it in degrees/sqrt(hr)?**

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. . 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 divided by Hz.)