Initial Orbit Determination methods.
Given observations (position vectors, angles, or times), determine the orbit of a satellite.
Summary
Functions
Gauss angles-only IOD: determine orbit from three angular observations.
Gibbs method: determine velocity at r2 from three coplanar position vectors.
Herrick-Gibbs method: determine velocity at r2 from three closely-spaced position vectors with timestamps.
Types
Functions
@spec gauss( number(), number(), number(), number(), number(), number(), number(), number(), number(), number(), number(), number(), vec3(), vec3(), vec3() ) :: {{float(), float(), float()}, {float(), float(), float()}}
Gauss angles-only IOD: determine orbit from three angular observations.
Algorithm 52, Vallado 2022, pp. 448-459.
Parameters
decl1..3- declinations in radiansrtasc1..3- right ascensions in radiansjd1..3,jdf1..3- Julian dates (whole + fraction)site1..3- ECI site position vectors in km as{x, y, z}tuples
Returns
{r2, v2} - position and velocity at the middle observation.
Gibbs method: determine velocity at r2 from three coplanar position vectors.
Algorithm 54, Vallado 2022, pp. 460-467.
Parameters
r1,r2,r3- ECI position vectors in km as{x, y, z}tuples
Returns
{v2, theta12, theta23, copa} where:
v2- velocity at r2 in km/stheta12,theta23- angles between position vectors in radianscopa- coplanarity angle in radians
@spec hgibbs(vec3(), vec3(), vec3(), number(), number(), number()) :: {{float(), float(), float()}, float(), float(), float()}
Herrick-Gibbs method: determine velocity at r2 from three closely-spaced position vectors with timestamps.
Algorithm 55, Vallado 2022, pp. 467-472.
Parameters
r1,r2,r3- ECI position vectors in kmjd1,jd2,jd3- Julian day fractions (only differences matter)