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

Orbit determination constant biases + measurement ambiguity and moduli #398

Merged
merged 13 commits into from
Jan 14, 2025

Conversation

ChristopherRabotin
Copy link
Member

@ChristopherRabotin ChristopherRabotin commented Jan 8, 2025

Summary

Architectural Changes

  • Add moduli to tracking data arc
  • Add optional constant to stochastic models

New Features

  • Accounts for ambiguity resolution / modulus in orbit determination

Improvements

No change

Bug Fixes

  • Fix TDM parsing for two-way measurements

Testing and validation

As per #397 :
Simulate a tracking arc with the JPL DSN Code whose modulus is 75660 km. To ensure testing of the ambiguity intervals, fix the apply_moduli function to account for that ambiguity. Then, build two tests:

  • Solve the OD with a properly configured moduli
  • Solve the OD with a constant bias

Measurements for reference (2x):
image

So we see that nearly from the start of the arc, we're already at factor of 2x the JPL code. The comforts the properly configured moduli test.

Solving with properly configured moduli

No tuning done at all

The results without any tuning look reasonable, especially in the range component where we've put a full 75 Mm ambiguity from the JPL DSN code.

image

Solving with a constant bias

No tuning done at all

We see step function residuals and ratios on range around the time the range measurement is > 2x the JPL code ambiguity, causing the filter to rely on Doppler instead.

image

image

Documentation

Greatly expanded ODProcess documentation.

Add serde almost everywhere, focusing on inputs: Outputs, such as event details, should be stored differently, e.g. in a column based storage

Add constant offset to noises, add multiplier in TDM parsing/formatting, better check on TDM parsing

Add optional moduli on all OD data type and support reading range moduli
…es, must add tests from github ticket.

Also greatly expand documentation
Cargo.toml Outdated Show resolved Hide resolved
Copy link

github-actions bot commented Jan 8, 2025

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

https://nyx-rustdoc--pr398-feat-gh-396-moar-ser-8k6vbtsw.web.app

(expires Tue, 21 Jan 2025 21:45:39 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: d8e2a55934352d850c15d11866c39eb2d2e029be

Copy link

codecov bot commented Jan 8, 2025

Codecov Report

Attention: Patch coverage is 81.32296% with 48 lines in your changes missing coverage. Please review.

Project coverage is 67.83%. Comparing base (0f9ed48) to head (84e4f43).
Report is 14 commits behind head on master.

Files with missing lines Patch % Lines
src/od/msr/trackingdata/io_ccsds_tdm.rs 73.87% 29 Missing ⚠️
src/od/noise/white.rs 0.00% 7 Missing ⚠️
src/od/msr/trackingdata/io_parquet.rs 50.00% 3 Missing ⚠️
src/md/events/mod.rs 50.00% 2 Missing ⚠️
src/od/ground_station/mod.rs 91.66% 2 Missing ⚠️
src/od/msr/measurement.rs 90.00% 1 Missing ⚠️
src/od/msr/trackingdata/mod.rs 93.33% 1 Missing ⚠️
src/od/msr/types.rs 80.00% 1 Missing ⚠️
src/od/noise/mod.rs 91.66% 1 Missing ⚠️
src/od/simulator/trackdata.rs 93.75% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #398      +/-   ##
==========================================
+ Coverage   67.81%   67.83%   +0.01%     
==========================================
  Files          86       86              
  Lines       13756    13928     +172     
==========================================
+ Hits         9329     9448     +119     
- Misses       4427     4480      +53     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@ChristopherRabotin ChristopherRabotin merged commit b03b1cb into master Jan 14, 2025
7 checks passed
@ChristopherRabotin ChristopherRabotin deleted the feat/gh-396-moar-serde branch January 14, 2025 22:08
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.

CCSDS TDM blue book checks and other OD checks Add serde support where relevant + various cleanups
1 participant