2013-05-16 209 views
1

我正在处理极坐标中的时间序列,我正在应用卡尔曼滤波器进行预测。时间序列与卫星轨道有关。从极坐标到笛卡尔坐标的方差矩阵

然而,我对方差的预测和估计以极坐标[r,θ]表示。

我知道怎么我的预测转换成直角坐标系与功能

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

但我不知道该如何应对变化,因为它不是一个线性算。

我为大家提供我的数据,以便你能不能帮我改造:

 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" 

和方差矩阵的第一个预言:

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

我想知道如何以第一预测的笛卡尔坐标获得该矩阵。谢谢!

+2

这感觉更像是一个理论问题,因此CrossValidated SE更多的ontopic。 –

+1

我相信没有办法从极地坐标获得笛卡尔坐标的方差。至少不准确。你能重新创建笛卡尔数据的方差矩阵吗?从局部线性化获得的近似答案是否可接受?还有一件事:[tag:sta]标记表示什么,并且您确定这适合于此吗?这个问题似乎不适合那个标签的其他人。 – MvG

+0

也许你可以在这里找到你要找的东西:http://www.centerforspace.com/downloads/files/pubs/AAS-03-526。pdf这是David Vallado关于协方差矩阵坐标变换的论文。它包含一个从卫星球坐标(lat,long,alt)到笛卡尔坐标,以地球为中心的坐标的部分。不完全符合您的需求,但您可以根据自己的需求进行简化。 – siritinga

回答

1

在制定雷达系统跟踪滤波器,我使用下面所述的技术:

1)确定极性到笛卡尔旋转矩阵作为

R = [cos(theta) - sin(theta); 
     sin(theta) cos(theta)] 

2)执行下列矩阵相乘,以获得协方差矩阵在笛卡尔坐标系,Pcart:

Pcart = R*Ppol*R' 

    where Ppol is the covariance matrix in polar coordinates 
     R' is the transpose of R 
0

做到这一点,最好的办法是找到功能Fhat的雅可比=雅可比[f(r,theta)]。如果球面的方差矩阵是R(极坐标),那么P(Cart)= Fhat * R * Fhat'。使用旋转矩阵会给出错误答案,因为它只是将笛卡尔协方差旋转到另一个“旋转”的笛卡尔系统。请参阅我的书“贝叶斯估计和跟踪:实用指南”中的附录18.B,以获取此公式的完整推导以及如何使用它。

2

这让我感到困惑。我认为找到了答案:上面所提供的公式,

errorprop

从错误传播的最一般的形式如下所述。该公式是正确的,只要您做出一些假设即可,尤其是您可以线性化转换。

参见https://en.wikipedia.org/wiki/Propagation_of_uncertainty#Non-linear_combinations。本节有一个小节“警告和警告”,我认为这是值得开放思考的(所以你最终没有偏见:P)。