Reply by Tim Wescott July 23, 20082008-07-23
dsp@myallit.com wrote:
>> Contrary to the beliefs of some, the MathWorks isn't on high, and MatLab >> isn't an extension of the Bible. I would trust them for examples, but >> don't take their documentation for anything but a means of selling you >> copies of MatLab. > > The link I posted is a user contribution, not an example from the > Mathworks, so I don't trust it entirely. However the Wikipedia article > on EKF's seems to show the same formulation with the noise being > assumed to be additive, only the process and measurement models are > allowed to be non-linear: > > http://en.wikipedia.org/wiki/Extended_Kalman_filter#Formulation > > Does this mean the EKF is not appropriate for my problem or am I > misunderstanding how it works?
The 'E' in 'EKF' stands for 'extended'. I'd take that and run with it. If you understand how the Kalman filter works you know how to iterate your covariance matrix with known noise properties -- why not use the predicted volume to set the noise intensity from one iteration to the next?
>> If this is a student project then why not assume there will be a set >> point and the controller will maintain that set point with little >> variation. Now the volume is fixed and the variance is therefore >> fixed. Now you can assume the system is linear around that set point. > > I have already implemented a regular Kalman filter simply by > approximating both of the noise terms as additive noise and the > results are okay but not great (another idea I might try is > approximating both of them as multiplicative noise, and then I can do > all the calculations in the log domain). To improve it I want to try > incorporating the multiplicative noise. When z2 terms have smaller > values, we have more confidence in them (less variance), so I want to > explicitly incorporate this into the filter. In particular, when z2 > reaches zero, we have almost 100% confidence it is correct.
Good for you -- you're not just using the fancy math because it's there, you're using it because you have to. (responses to other guy snipped) -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" gives you just what it says. See details at http://www.wescottdesign.com/actfes/actfes.html