Sidereon.IOD (Sidereon v0.8.0)

Copy Markdown View Source

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

vec3()

@type vec3() :: {number(), number(), number()}

Functions

gauss(d1, d2, d3, ra1, ra2, ra3, jd1, jdf1, jd2, jdf2, jd3, jdf3, s1, s2, s3)

@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 radians
  • rtasc1..3 - right ascensions in radians
  • jd1..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(r1, r2, r3)

@spec gibbs(vec3(), vec3(), vec3()) ::
  {{float(), float(), float()}, float(), float(), float()}

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/s
  • theta12, theta23 - angles between position vectors in radians
  • copa - coplanarity angle in radians

hgibbs(r1, r2, r3, jd1, jd2, jd3)

@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 km
  • jd1, jd2, jd3 - Julian day fractions (only differences matter)