Families (choose once per body)
fixed-n— e.g., Moon, Jupiter, Saturn, Uranus, Neptune, Pluto. Uses a known sidereal rate:n = 360 / P_sid.free-n— e.g., Sun, Mercury, Venus, Mars. Learns a single slopenonce and stores it in the manifest.
Carriers & constants (small, interpretable set)
- Sidereal period.
P_sid(days); forfixed-n,n = 360 / P_sid. - Synodic period.
P_syn = 1 / | 1/P_sid − 1/365.2564 |. - Synodic harmonics.
w1 = 2*pi / P_syn,w2 = 2*w1,w3 = 3*w1(tiny extras; gated). - Slow sidereal wobble.
wS = 2*pi / P_sid. - Annual carrier (Earth).
nE = 2*pi / 365.2564(gated).
Design sets (parsimonious by default)
BASE={ w1, w2, wS }CANDIDATE=BASE ∪ { nE } ∪ { w3 } ∪ { nE, w3 }(extras must pass the gate from §2.7)
Usage notes
- Keep the carrier pool minimal; admit extras only when they decisively improve event-aware loss and BIC (
ΔBIC ≥ 6). - Use the same
t0and time convention across experiments to avoid phase drift. - For reporting, list the chosen family (
fixed-n|free-n) and the final carrier set used by the selected model.
Manifest mapping (portable evaluator)
fixed-n: storeP_sidand harmonic coefficients; at runtime setn_deg_per_day = 360.0 / P_sid.free-n: storen_deg_per_day(learned) and harmonic coefficients.
Evaluation one-liner (both families):L_hat_deg(t) = wrap360( a0_deg + n_deg_per_day*t + sum_k[ c_k*sin(w_k*t) + d_k*cos(w_k*t) ] ).
Navigation
Back: SSM-JTK – Data & Calibration — Train/Test windows & midpoint anchor (2.5)
Next: SSM-JTK – Data & Calibration — OLS target, BIC, event-aware loss, selection (2.7)