Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor orbit/spacecraft state generator to always use the multivariate normal #340

Conversation

ChristopherRabotin
Copy link
Member

Summary

Until this PR, the spacecraft state generator made the completely incorrect assumption that each component of a state was iid. Obviously, this is wrong. This PR aims to fix this by removing the Generator structure and replacing it with the Multivariate Normal.

This also removes the ability to sample from anything but a normal distribution: in my experience, this is all that's ever done.

Architectural Changes

Remove Generator structure.

New Features

No change

Improvements

No change

Bug Fixes

No change

Testing and validation

Sampling from a full Kalman Filter estimate and from a fully defined Cartesian state space is checked to meet the 99.7% criteria with 1000 samples. There is following validation work in #339 . However the "robust" OD tests have switched to this new dispersion method very successfully.

Documentation

This PR does not primarily deal with documentation changes.

Trying to replace the IID generator with multivariate generator. This leads to some troubles with Keplerian dispersions because the rotation matrix is not necessarily positive. I may need to disperse the orbital state independently from the rest of the state (Cr, Cd, Mass).
Copy link

github-actions bot commented Jul 19, 2024

Visit the preview URL for this PR (updated for commit ef77dcc):

https://nyx-rustdoc--pr340-331-measurement-upda-xc7kd37s.web.app

(expires Sat, 27 Jul 2024 03:12:02 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: d8e2a55934352d850c15d11866c39eb2d2e029be

@ChristopherRabotin ChristopherRabotin merged commit 7103621 into master Jul 20, 2024
6 checks passed
@ChristopherRabotin ChristopherRabotin deleted the 331-measurement-update-and-residual-rejection-shall-account-for-each-participants-noise-level branch July 20, 2024 03:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant