Skip to main content

[WIP] Feat: Ground Station Bias Estimation in Nyx

·319 words·2 mins
Adrien Raimbault
Author
Adrien Raimbault

Nyx is an open-source orbital dynamics library built for scalable, efficient, and flexible space mission analysis. It emphasizes precision modeling and modular design, making it ideal for integrating advanced estimation features like the one I’m currently working on.


🎯 The Problem: Ground Station Biases
#

In orbit determination (OD), ground station biases—especially in Doppler and range measurements—can significantly distort the results. Nyx models these biases using a first-order Gauss-Markov (GM) process, but does not yet estimate the constant offsets they may include.

This can lead to instability and noise in the OD solution when such biases are present.


🛠️ My Ongoing Work
#

I’m currently designing and implementing a feature to estimate the constant offset component of the GM process used for ground station biases.

🔗 Related Issue #326 – Support estimation of ground station biases
📌 Status: In development

I discussed this with Christopher Rabotin, who gave me helpful information on the existing GaussMarkov implementation and how to extend it for bias estimation.

✔️ Requirements
#

  • Extend GM process to include a constant offset.
  • Support independent bias estimation per station and per measurement type.
  • Allow enabling/disabling of bias estimation.
  • Ensure correct initialization even in the case of frequency mismatches (especially for Doppler).

🧪 Test Plan
#

  • Inject known biases and verify their estimation from tracking data.
  • Ensure configurability across stations and measurement types.

📐 Design Challenges
#

Nyx uses statically sized matrices and vectors for performance reasons, which makes dynamically adding estimated states (like these biases) non-trivial. I’m currently:

  • Analyzing how to embed the biases within the existing state vector and Jacobian structure.
  • Exploring generic or templated ways to extend the system state without breaking existing models.

This contribution will allow Nyx to produce more accurate orbit determination estimates under real-world ground station conditions. Once finalized, I’ll link the pull request and add a more detailed breakdown of the implementation.

Stay tuned!

📂 See my other contributions: github.com/Assstra