Covariance matrix computation using the unscented transform

Hi everyone :smiley:

I am trying to obtain the state covariance matrix of a spacecraft for any given date in Python. For each measurement date, I obtain a Kalman estimator from:

estimator.estimationStep(measurement)[0]

I store an array of Kalman estimators in estimated_propagators, which I use to propagate the orbit between certain dates. Depending on the date, the algorithm automatically selects the appropriate Kalman estimator to use.

However, this approach only gives me the state; I would like to obtain the corresponding covariance matrix as well. I’ve seen that the StateTransitionMatrix is commonly used in these cases, but I would like to use the UnscentedTransform from the filter to retrieve the covariance matrix—not only at the update epochs, but whenever I want.

I want to use the UT to be consistent: since I am retrieving the covariance matrix at update epochs (when measurements arrive) using the UT, it would be awkward to obtain the covariance matrix at intermediate epochs using the STM.

Thank you so much in advance,
Antonio

Hi @a.malaver,

When you say

You mean a Propagator no ? Because that is what estimationStep()[0] returns a Propagator if I’m not wrong.

If I understand well, you want to propagate both state and covariance matrix, with the covariance being computed with the unscented transform ?

If so, this is not available in Orekit yet. It would be a nice addition.
It’s doable manually if required.

Cheers,
Maxime

Thank you, Maxime. Yes, it would be a nice addition. Cheers, Antonio.