我正在处理极坐标中的时间序列,我正在应用卡尔曼滤波器进行预测。时间序列与卫星轨道有关。
然而,我对方差的预测和估计用极坐标[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
我想知道如何在笛卡尔坐标系中获得第一个预测的矩阵。谢谢!
答案 0 :(得分:3)
这让我感到困惑。我想我找到了答案:上面提供的公式,
遵循最常见的错误传播形式。如果您可以做出一些假设,那么公式是正确的,特别是您可以线性化转换。
见https://en.wikipedia.org/wiki/Propagation_of_uncertainty#Non-linear_combinations。本节有一个小节,“警告和警告”,我认为值得以开放的心态接近(所以你最终没有偏见:P)。
答案 1 :(得分: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
答案 2 :(得分:0)
实现此目的的最佳方法是找到函数Fhat = Jacobian [f(r,theta)]的雅可比行列式。如果球面中的方差矩阵是R(极坐标),那么P(Cart)= Fhat * R * Fhat'。使用旋转矩阵会给出错误的答案,因为它只是将笛卡尔协方差旋转到另一个“旋转”的笛卡尔系统中。请参阅我的“贝叶斯估计和跟踪:实用指南”一书中的附录18.B,以获得该公式的完整推导以及如何使用它。