Hello,
I am working on injection window sizing for a nanosatellite mission study (SSO ~400 km, 2-year lifetime) and would like feedback on whether my overall approach makes sense before investing more in it.
Goal
Given End-of-Life (EOL) orbit requirements after two years (altitude 350 ± 2 km, inclination ± 0.05°, …), I want to determine the required Beginning-of-Life (BOL) injection tolerances: what initial orbit do I need to guarantee ending up within spec?
Approach
Instead of a classical forward Monte Carlo (which requires guessing the injection window first, then iterating), I am running a backward Monte Carlo:
- Draw N final states uniformly from the EOL requirement box. The sampled parameters are:
Orbital elements: altitude, eccentricity, inclination, RAAN, argument of perigee
Spacecraft: mass, drag coefficient C_d, drag cross-section area
Environment: F10.7 solar flux index, sampled over the expected range for the mission epoch
I treat F10.7 and B* as the dominant drivers of altitude decay, but all parameters are varied simultaneously to capture cross-effects.
- Propagate each one backward for the mission duration using
DSSTPropagator - Collect the resulting initial states and study the relationship between final and initial uncertainties - try to find the initials orbits that verify the EOL specs.
Questions
- Is this backward MC methodology the right approach to size an injection window, or is there a more standard method in mission analysis?
- Is
DSSTPropagatorreliable for backward propagation under significant drag (350–425 km, F10.7 up to 150 SFU)? - Since all parameters vary simultaneously across samples, simple pairwise correlation between an input and an output can be misleading — a third parameter may be driving both. What is the recommended way in Orekit workflows to isolate the independent contribution of each uncertain parameter?
- Monte Carlo simulations can be computationnaly costly, how could I avoid N propagations (2 years DSST) ?
Thank you for your help !