Variance matrix from polar to cartesian coordinates

JPV picture JPV · May 16, 2013 · Viewed 7.1k times · Source

I am dealing with a time series in polar coordinates and I am applying the Kalman filter for predictions. The time series is related with the satellite orbite.

However my prediction and estimation for the variance are expressed in polar coordinates [r,theta].

I know how to convert my prediction in cartesian coordinates with the function

  f(r,theta) <- [r*cos(theta),r*sin(theta)].

But I do not know how to deal with the variance since it is not a linear operator.

I provide you my data in order if you can help me with the transformation:

     Radius                  Angle        
[1,] "39805.9613778309" "1.46134492279737"
[2,] "39805.9613778309" "1.48689546833425"
[3,] "39805.9613778309" "1.51244601387112"
[4,] "39805.9613778309" "1.537996559408"  
[5,] "39805.9613778309" "1.56354710494488"
[6,] "39805.9613778309" "1.58909765048176"

And the variance matrix for the first prediction is :

        radius    theta
[1,] 5132782 0.000000000
[2,]       0 0.001646994

I would like to know how to obtain this matrix in cartesian coordinates for the first prediction. thanks!

Answer

Beepboop bebop picture Beepboop bebop · Dec 1, 2015

This had me perplexed as well. I think I found the answer: the formula provided above,

errorprop,

follows from the most general form of error propagation. The formula is correct, provided you're OK with making a few assumptions, in particular that you are OK with linearizing the transformation.

See https://en.wikipedia.org/wiki/Propagation_of_uncertainty#Non-linear_combinations. This section has a subsection, 'Caveats and Warnings,' which I think is worth approaching with an open mind (so you don't end up biased :P ).