Function lupnt::ShapiroRangeDelay

Function Documentation

double lupnt::ShapiroRangeDelay(const Vec3d &r_tx, const Vec3d &r_rx, const std::vector<std::pair<Vec3d, double>> &bodies)

Relativistic (Shapiro) one-way range delay for a signal travelling between r_tx and r_rx, summed over the given gravitating bodies.

Each body contributes 2 GM / c^2 * ln[(r1 + r2 + r12)/(r1 + r2 - r12)], with r1, r2 the transmitter/receiver distances to the body and r12 the transmitter-receiver range. For an Earth-station to lunar-spacecraft link the Earth term dominates and the Sun term is a secondary contribution.

Parameters:
  • r_txTransmitter position [m], in a common inertial frame.

  • r_rxReceiver position [m], same frame.

  • bodies – List of (body position [m], GM [m^3/s^2]) in the same frame.

Returns:

One-way range delay [m] (>= 0 for the usual geometry).