Covariance/noise matrix 在 body frame 和 inertial frame 之间的转换

这部分代码出现在 UnivariateProcessNoise 中,see
#537: `FIXME` in codes
#403: Add a provider generating process noise increasing in time, for better Kalman filtering
for more discussions.

RSW === LVLH in Orekit.

lofCartesianProcessNoiseMatrix Local orbital frame (RSW, or LVLH) 中的 covariance QRSWQ^{RSW}

  • GP-prediction covariance, a diagonal 6 x 6 matrix. (in my codes)

jacLofToInertial JR2I=JRSWIner.=XIner.XRSWJ_{R2I} = J_{RSW\rightarrow Iner.} = \frac{\partial X^{Iner.}}{\partial X^{RSW}}

  • Question? Is there a loss of information at this step?

jacParametersWrtCartesian JP2C=JPar.Cart.=Par.Cart.=Par.XIner.J_{P2C} = J_{Par.\rightarrow Cart.} = \frac{\partial Par.}{\partial Cart.} = \frac{\partial Par.}{\partial X^{Iner.}}

  • If the parameters used to represent the orbit is inertial Cartesian, then this should be I6I_6.
  • Otherwise, it’s not.

Finial conversion:

QIner.=QPar.=Par.XIner.XIner.XRSWQRSW(XIner.XRSW)T(Par.XIner.)T=JP2CJR2IQRSWJR2ITJP2CT\begin{aligned} Q^{Iner.} &= Q^{Par.} \\ &= \frac{\partial Par.}{\partial X^{Iner.}} \frac{\partial X^{Iner.}}{\partial X^{RSW}} Q^{RSW} \left(\frac{\partial X^{Iner.}}{\partial X^{RSW}}\right)^T \left(\frac{\partial Par.}{\partial X^{Iner.}}\right)^T \\ &= J_{P2C} \cdot J_{R2I} \cdot Q^{RSW} J_{R2I}^T \cdot J_{P2C}^T \end{aligned}

inverse: from Inertial to RSW

Read more »