Path: news.mathworks.com!not-for-mail
From: "Bruno Luong" <b.luong@fogale.fr>
Newsgroups: comp.soft-sys.matlab
Subject: Re: Kalman filtering with multiplicative noise
Date: Mon, 21 Jul 2008 07:35:02 +0000 (UTC)
Organization: FOGALE nanotech
Lines: 44
Message-ID: <g61e76$f06$1@fred.mathworks.com>
References: <1309743c-3d5c-4165-9cdb-1ab51892727d@z16g2000prn.googlegroups.com>
Reply-To: "Bruno Luong" <b.luong@fogale.fr>
NNTP-Posting-Host: webapp-03-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1216625702 15366 172.30.248.38 (21 Jul 2008 07:35:02 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Mon, 21 Jul 2008 07:35:02 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 390839
Xref: news.mathworks.com comp.soft-sys.matlab:480613



dsp@myallit.com wrote in message
<1309743c-3d5c-4165-9cdb-1ab51892727d@z16g2000prn.googlegroups.com>...
> I'm trying to implement a Kalman filter in MATLAB that
will use two
> types of measurements: volume and in/out flow rate. For
the flow rate,
> the measurement error is additive Gaussian, but for the
volume the
> measurement error is expressed as a percentage of the
volume, so that
> the volume measurement is less accurate when its value is
higher. I
> think the measurement model should therefore be:
> 
> Flow rate measurement model:
> z1 = x1 + v1 where v1 ~ N(0,e1)
> 
> Volume measurement model:
> z2 = x2*v2 where v2 ~ N(1,e2)
> 
> I assumed the volume filtering should be done in the log
domain to
> make the noise additive but how do I deal with a noise
mean of one
> when the Kalman filter assumes a mean of zero? And how can
I have a
> Kalman filter using both the measurements if one is in the
log domain
> and the other one isn't?

You might consider Extended Kalman filtering (EKF). Be aware
about the eventual non-stability of the scheme.

> 
> I am also dealing with a system where measurements will
usually be
> missing (they are arriving sequentially) and at an uneven
sampling
> rate, any other pointers on these too would be appreciated.

No difference in implementation, just change your state
transition matrix accordingly.

Bruno