1

我正在处理极坐标中的时间序列,并且正在应用卡尔曼滤波器进行预测。时间序列与卫星轨道有关。

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

我知道如何使用该函数将我的预测转换为笛卡尔坐标

  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

我想知道如何在笛卡尔坐标中获得这个矩阵以进行第一次预测。谢谢!

4

3 回答 3

3

这也让我很困惑。我想我找到了答案:上面提供的公式,

错误属性,

遵循最一般的错误传播形式。该公式是正确的,前提是您可以做出一些假设,特别是您可以线性化转换。

请参阅https://en.wikipedia.org/wiki/Propagation_of_uncertainty#Non-linear_combinations。本节有一个小节,“注意事项和警告”,我认为值得以开放的心态阅读(所以你最终不会有偏见:P)。

于 2015-12-01T16:22:20.453 回答
2

在为雷达系统开发跟踪滤波器时,我使用了以下技术:

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
于 2013-07-18T15:33:22.053 回答
0

最好的方法是找到函数 Fhat = Jacobian[f(r,theta)] 的 Jacobian。如果球面的方差矩阵是 R(polar),则 P(Cart) = Fhat*R*Fhat'。使用旋转矩阵会给您错误的答案,因为它只是将笛卡尔协方差旋转到另一个“旋转”笛卡尔系统。有关该公式的完整推导以及如何使用它,请参阅我的《贝叶斯估计和跟踪:实用指南》一书中的附录 18.B。

于 2013-10-18T12:58:14.127 回答