From: James Carter on
I am employing a Kalman Filter on some test data of size 1300x128 (i.e. 1300 samples over a number of 128 records). The test data is generated from a rangefinding device. Typically for a single laser pulse, return data will be some laser pulse return completely buried in broad spectrum noise. One possible approach for digging the signal from the noise is to add together all 128 records such that the noise tends to average itself out. I was thinking that Kalman Filter was superior to the Averaging method, but it appears that this thinking is incorrect or my filter is simply not working
(I made some fundament error employing it). I used a kalman function provided on the Mathworks website (as a Kalman filter tutorial) by Michael Kleder - an excellent intro to Kalman filters (MATLAB Central)

http://www.mathworks.com/matlabcentral/fx_files/5377/1/kalmanf.m

but it did not produce good results. The output appeared as noisy as the input and there was no laser pulse return visible from the 128 record iterations (in contrast to using simple averaging). I was modifying the process noise and measurement noise variables and noting a difference in output, but certainly there was no improvement in signal over noise. I beleive I should be able to use a simple discrete Kalman Filter and don't require an Extended Kalman Filter. I and the target are stationary. Can anyone provide me any insight as to why application to a Kalman Filter might be an inferior technique to using the central limit theorum (ie., employing simple averaging).
From: Michael_RW on
James,

Averaging several time-correlated observation vectors is a fundamental way of eliminating interfering noise. In your case, averaging 128 realizations (each with 1,300 samples) should drop the noise-level considerably.

With respect to your Kalman filter work, how did you apply Kleder's KALMANF Matlab function script-file?

The example included by Kleder's script-file considers a 1-dimensional state-vector or simple scalar case. This seems to be a solid way to introduce Kalman filter principals; see the article by Roger M. du Plessis, "Poor Man's Explanation of Kalman Filtering or How I Stopped Worrying and Learned to Love Matrix Inversion."

With respect to your case, the state transition matrix would not be unity or 1, this is because the echo-signal received by the sensor is not constant. It would be some time-dependent discrete function characterizing this behavior; I do not know what this would look like.

You should also note that there are important assumptions with respect to application of Kalman filtering. In basic cases, likely yours, the underlying noise processes (both process and measurement) are Gaussian in nature and the state-transition and measurement matrices are linear. With both of these assumptions met and having correct state transition and measurement matrices in place, the Kalman filter will operate as the optimal minimum mean-square estimator.

In more advanced cases, the associated noise processes are not Gaussian and system dynamics are not linear. Non-linear dynamics require linearization, thus the presence of the extended Kalman filter.


Michael.

---
frmsrcurl: http://compgroups.net/comp.soft-sys.matlab/Kalman-Filter