Kalman Filter measurement covariance

Hi All,

It seems UKF does not consider the measurement noise. In UnscentedKalmanEstimator class, in the estimationStep method, the state is estimated with

 final ProcessEstimate estimate = filter.estimationStep(KalmanEstimatorUtil.decorate(observedMeasurement, referenceDate));

KalmanEstimatorUtil.decorate method pass identity matrix for all measurement types except PV and Position. Therefore the UKF tuning seems to be unpredictable.

This does not affect EKF even though the same code is used since the Measurement Matrix is scaled by the theoretical standard deviation in the getMeasurementMatrix() method in AbastractKalmanModel class.

Appreciate it if someone can clarity whether this is the case. If so what would be a work around way to input measurement noise in UKF.

Thank you.

It seems the UKF has some issues with estimating parameters too.
I tried to estimate the Solar radiation pressure reflective coefficient with UKF and it does not seem to estimate accurately. The EKF works fine. I think it could be related to the covariance matrix of the parameters.

Hi @niluj

Sorry for the late answer…

Thank you for opening the issue about the decorate method. I will look at your contribution and see if we can include it in a patch release.

About the estimation of propagation parameters, like the satellite’s reflection coefficient, you’re right. That something we identified just after implementing the filter. I thought I had opened an issue, but no. Could you open one?

Because these parameters are not “time propagated” like orbital parameters, the propagated sigma points are equals to the initial sigma points for these parameters. As a results, they don’t have any evolution because the computation of the corrected value depends on the difference between the propagated and the initial ones.
We also identified a solution. It is detailed in the following paper: Matthew C. VANDYKE et al. Unscented Kalman Filtering for Spacecraft attitude state and parameter estimation. AAS.
Unfortunately we didn’t had time yet to implement it, but we shall.

Best regards,


I opened the issue: Improve estimation of propagation and measurement parameters with Unscented Kalman Filter (#1036) · Issues · Orekit / Orekit · GitLab

Hi @niluj

Your fix on the decorate method for Unscented Kalman Filter has been released with Orekit 11.3.2 yesterday.

Thank you!

Thank you very much for updating the code base. :slight_smile: