Path: news.mathworks.com!newsfeed-00.mathworks.com!nlpi057.nbdc.sbc.com!prodigy.net!news.glorb.com!postnews.google.com!z72g2000hsb.googlegroups.com!not-for-mail
From: RRogers <rerogers@plaidheron.com>
Newsgroups: comp.soft-sys.matlab,sci.stat.math,sci.engr.control,comp.dsp
Subject: Re: Kalman filtering with multiplicative noise
Date: Wed, 23 Jul 2008 07:35:40 -0700 (PDT)
Organization: http://groups.google.com
Lines: 90
Message-ID: <9192261b-be41-4875-b215-6014a1a9cb97@z72g2000hsb.googlegroups.com>
References: <1309743c-3d5c-4165-9cdb-1ab51892727d@z16g2000prn.googlegroups.com> 
NNTP-Posting-Host: 76.179.99.130
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
X-Trace: posting.google.com 1216823741 3020 127.0.0.1 (23 Jul 2008 14:35:41 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Wed, 23 Jul 2008 14:35:41 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: z72g2000hsb.googlegroups.com; posting-host=76.179.99.130; 
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.16) 
Xref: news.mathworks.com comp.soft-sys.matlab:481252 sci.stat.math:83554 sci.engr.control:50839 comp.dsp:245481



On Jul 23, 1:02 am, d...@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?
>
> > 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