Reply by Juca July 31, 20082008-07-31
ARGHH!!!

I cannot believe I still wrote it down wrong the second time. The non-
linear equation is meant to be:

xd(k) = xd(k-1) + sqrt(xd(k-1)) * v(k)

I am sorry for the mess. Being thinking too much about this today.
Gone brain dead!!!
Reply by Frank Neuhaus July 31, 20082008-07-31
So we need to determine the additive covariance matrix of the noise. I 
believe you should be able to do it like this:

cov(f(v(k))
= (1st order Taylor expansion)
cov(f(p)+J_f(p)*(v(k)-p))
=
cov(f(p)+J_f(p)*v(k)-J_f(p)*p)
=f(p) and J_f(p)*p are constant so...
cov(J_f(p)*v(k))
=
J_f(p)*cov(v(k))*J_f(p)

So to conclude:
1. Compute the Jacobian (only with respect to noise v) of your non linear 
model called J_f
2. Compute J_f(p) where p is the last estimation for the system state
3. Choose cov(v(k)) As a diagonal matrix with sigma^2 on the diagonal.
4. Compute J_f(p)*cov(v(k))*J_f(p)^T and use it as additive noise

I hope this works
   Frank 


Reply by Juca July 31, 20082008-07-31
Sorry, there was a mistake. The non-linear equation is:

xd(k) = xd(k-1) + xd(k-1) * sqrt(v(k)) and not xd(k) = xd(k-1) *
sqrt(v(k))
Reply by Juca July 31, 20082008-07-31
Hi,

I am trying to model an EKF where the noise is not simply additive and
I am not sure how to begin. Perhaps someone could give some
pointers...

To explain my model I start with a simple linear (and very common)
discrete model:

x(k) = x(k-1) + dt * xd(k-1) + dt^2/2 * v(k)
xd(k) = xd(k-1) + dt * v(k)

where,

x =>position
xd => speed
v => noise
dt=> time step

On my non-linear model, the discrete speed equation is modified to be:

xd(k) = xd(k-1) * sqrt(v(k))

How would I go about redefining the effect of this multiplicative
noise on the position equation?