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!
This had me perplexed as well. I think I found the answer: the formula provided above,
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 ).