Hi @Echulion
Please find below some answers.
That’s right. My dream is to have a single Builder class common to all Kalman filters. The user could choose the type based on a KalmanFilterType
enumerate. Unfortunately, that’s not implemented yet and user shall use the Builder corresponding to the Kalman he/she wants to use.
UKF is maily used for problems with big uncertainties (e.g. high eccentric orbits, undetermined maneuver, stochastic parameters, etc.). I think that Starlink orbits contain in OEM files are smooth and don’t contain particular uncertainty. Therefore, it is normal that UKF and EKF give same results. In other words, you will see differences in case of estimation problems with big uncertainties.
sigma
parameters represent the uncertainty of your data. For instance, if you use position data with 10 meters of uncertainty, you can set sigmaPos
equals to 10. However, I don’t know the uncertainty of position/velocity in Starlink OEM files…
Default values come from litterature and correspond to “optimal” values for flight dynamics problems. Because your problem doesn’t contain strong non-linearities, you can keep using default values.
For more information, you can look at the two papers available in the following post: Unscented filter with non-zero process noise - #13 by bcazabonne
Accuracy of ephemeris files strongly depend on the orbit type and the provider. Having default values is difficult for this type of data.
For instance, you can look at the following paper which present the accuracy of CPF files (CPF is also a format of satellite ephemeris).
Therefore, I recommend you to look at spacetrack website to see if this information is available somewhere for Starlink OEM.
Best regards,
Bryan