Struct EphemerisFitOptions¶
Defined in File lunanet_ephemeris.h
Struct Documentation¶
-
struct EphemerisFitOptions¶
Configuration for
LansEphemeris::Fit/Eval.Public Members
-
int poly_order = 8¶
Order of the Chebyshev polynomial used to represent the position residual (and, through its analytic time derivative, the velocity residual) left over after subtracting the two-body Keplerian baseline orbit.
-
bool use_keplerian_baseline = true¶
If true, subtract an osculating two-body Kepler orbit (fit at the fitting window’s midpoint epoch) before fitting the Chebyshev polynomial to the residual — this is what lets a modest polynomial order stay accurate over a multi-hour window. If false, position/velocity are represented by the polynomial alone (useful as a baseline comparison, but needs a much higher order for the same accuracy).
-
double gm = GM_MOON¶
Gravitational parameter of the central body [m^3/s^2], consistent with the position/velocity units passed to Fit/Eval.
-
Frame frame = Frame::MOON_CI¶
Frame the input states (and the fitted output) are represented in. For an inertial frame (e.g.
Frame::MOON_CI, the default) the two-body baseline is a standard osculating Kepler orbit. For the rotating Moon-fixed principal-axis frame (Frame::MOON_PA) the baseline is propagated in that rotating frame — the ascending node drifts at the Moon’s rotation rate and the velocity carries the corresponding -omega x r term —so the osculating elements are effectively fit in the Principal-Axis Inertial (PAI) frame and the position/velocity output is in MOON_PA (per Iiyama & Gao, “Ephemeris
and LansAlmanac Design for Lunar Navigation Satellites”). States passed to Fit/EvalError must already be expressed in this frame (convert e.g. from MOON_CI with
ConvertFramefirst).
-
int num_fourier_terms = 0¶
Number of Fourier terms (harmonics of the argument of latitude u) appended to the Chebyshev position-residual model: term h adds a cos(h*u), sin(h*u) pair per axis, capturing once/twice/… -per-orbit periodic residuals. 0 (the default) is a pure Chebyshev model. Requires
use_keplerian_baseline(the argument of latitude comes from the two-body baseline orbit).
-
int poly_order = 8¶