Class InterSatellitesRange

  • All Implemented Interfaces:
    Comparable<ComparableMeasurement>, ComparableMeasurement, ObservedMeasurement<InterSatellitesRange>, TimeStamped

    public class InterSatellitesRange
    extends AbstractMeasurement<InterSatellitesRange>
    One-way or two-way range measurements between two satellites.

    For one-way measurements, a signal is emitted by a remote satellite and received by local satellite. The measurement value is the elapsed time between emission and reception multiplied by c where c is the speed of light.

    For two-way measurements, a signal is emitted by local satellite, reflected on remote satellite, and received back by local satellite. The measurement value is the elapsed time between emission and reception multiplied by c/2 where c is the speed of light.

    Since 9.3, this class also uses the clock offsets of both satellites, which manage the value that must be added to each satellite reading of time to compute the real physical date. In this measurement, these offsets have two effects:

    • as measurement date is evaluated at reception time, the real physical date of the measurement is the observed date to which the local satellite clock offset is subtracted
    • as range is evaluated using the total signal time of flight, for one-way measurements the observed range is the real physical signal time of flight to which (Δtl - Δtr) ⨉ c is added, where Δtl (resp. Δtr) is the clock offset for the local satellite (resp. remote satellite). A similar effect exists in two-way measurements but it is computed as (Δtl - Δtl) ⨉ c / 2 as the local satellite clock is used for both initial emission and final reception and therefore it evaluates to zero.

    The motion of both satellites during the signal flight time is taken into account. The date of the measurement corresponds to the reception of the signal by satellite 1.

    Since:
    9.0
    Author:
    Luc Maisonobe
    • Constructor Detail

      • InterSatellitesRange

        @Deprecated
        public InterSatellitesRange​(int localIndex,
                                    int remoteIndex,
                                    boolean twoWay,
                                    AbsoluteDate date,
                                    double range,
                                    double sigma,
                                    double baseWeight)
        Simple constructor.
        Parameters:
        localIndex - index of local satellite propagator (i.e. the satellite which receives the signal and performs the measurement)
        remoteIndex - index of remote satellite propagator (i.e. the satellite which simply emits the signal in the one-way case, or reflects the signal in the two-way case)
        twoWay - flag indicating whether it is a two-way measurement
        date - date of the measurement
        range - observed value
        sigma - theoretical standard deviation
        baseWeight - base weight
      • InterSatellitesRange

        public InterSatellitesRange​(ObservableSatellite local,
                                    ObservableSatellite remote,
                                    boolean twoWay,
                                    AbsoluteDate date,
                                    double range,
                                    double sigma,
                                    double baseWeight)
        Simple constructor.
        Parameters:
        local - satellite which receives the signal and performs the measurement
        remote - satellite which simply emits the signal in the one-way case, or reflects the signal in the two-way case
        twoWay - flag indicating whether it is a two-way measurement
        date - date of the measurement
        range - observed value
        sigma - theoretical standard deviation
        baseWeight - base weight
        Since:
        9.3