> > 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?
>
> > 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.
>
> > I really suggest that you make up a graphical model of the system,
> > Simulink or Scicos ( I can deal with Scicos), both the physical system
> > and then the proposed filtering.
>
> I'm not too familiar with Simulink or Scicos but here's a small
> diagram:
>
> z2
> +---------+
> | |
> ======>| |
> z1 | |
> <====== | |
> | |
> +---------+
>
> The measurement z1 is measuring the amount going in and out of the
> container (flow rate), the measurement z2 is measuring the total
> currently in the container (volume). I am trying to find the true
> value of x2 (the volume) by combining the noisy measurements of z1 and
> z2. Actually there are multiple sensors measuring flow rate and
> volume, but I've only shown one of each to simplify the problem. The
> z1 measurement has additive Gaussian noise, the z2 measurement has
> multiplicative (and possibly additive?) Gaussian noise.
>
> > So your multiplicative noise can be negative? This seems strange.
> > In any case, why not simply derive the appropriate filtering from
> > scratch instead of trying to find off the shelf solutions? That way
> > you can incorporate all the specifics of your problem.
>
> No I suppose it should always should be positive, I have uploaded an
> example image to help clarify:
>
> http://picasaweb.google.com.au/dspmyallit/ExampleVolumeMeasurements/p...
>
> > The EKF propagates first and second moments which is essentially
> > treating the problem like it can be approximated like a linear
> > Gaussian.
> > Particle filters come in various flavors and there are versions that
> > can handle multiplicative noise.
>
> I will look into particle filters. Are you aware of any good C++
> implementations? (For the Kalman filter I have been using MATLAB to
> design and test it, OpenCV to implement it.)
> So your multiplicative noise can be negative? This seems strange.
> > In any case, why not simply derive the appropriate filtering from
> > scratch instead of trying to find off the shelf solutions? That way
> > you can incorporate all the specifics of your problem.
>
> No I suppose it should always should be positive, I have uploaded an
> example image to help clarify:
>
> http://picasaweb.google.com.au/dspmyallit/ExampleVolumeMeasurements/p...
Example? Where did this data come from? If it's experimental data,
can you post the raw numbers. I can characterize it if you want.
RayR