Class SignalTravelTimeAdjustableEmitter


  • public class SignalTravelTimeAdjustableEmitter
    extends Object
    Class for computing signal time of travel with an adjustable emitter and a fixed receiver's position and date. The delay is calculated via a fixed-point algorithm with customizable settings (even enabling instantaneous transmission).
    Since:
    14.0
    Author:
    Romain Serra
    • Field Detail

      • C_RECIPROCAL

        protected static final double C_RECIPROCAL
        Reciprocal for light speed.
        See Also:
        Constant Field Values
      • DEFAULT_MAX_ITER

        protected static final int DEFAULT_MAX_ITER
        Maximum number of iterations.
        See Also:
        Constant Field Values
    • Constructor Detail

      • SignalTravelTimeAdjustableEmitter

        public SignalTravelTimeAdjustableEmitter​(PVCoordinatesProvider adjustableEmitterPVProvider)
        Constructor with default iteration settings.
        Parameters:
        adjustableEmitterPVProvider - adjustable emitter
      • SignalTravelTimeAdjustableEmitter

        public SignalTravelTimeAdjustableEmitter​(PVCoordinatesProvider adjustableEmitterPVProvider,
                                                 ConvergenceChecker<Double> checker)
        Constructor.
        Parameters:
        adjustableEmitterPVProvider - adjustable emitter
        checker - convergence checker for fixed-point algorithm
    • Method Detail

      • computeDelay

        public double computeDelay​(Vector3D receiverPosition,
                                   AbsoluteDate signalArrivalDate,
                                   Frame frame)
        Compute propagation delay on a link leg (typically downlink or uplink) without custom guess.
        Parameters:
        receiverPosition - fixed position of receiver at signalArrivalDate
        signalArrivalDate - date at which the signal arrives to receiver
        frame - Inertial frame in which receiver is defined.
        Returns:
        positive delay between signal emission and signal reception dates
      • computeDelay

        public double computeDelay​(AbsoluteDate approxEmissionDate,
                                   Vector3D receiverPosition,
                                   AbsoluteDate signalArrivalDate,
                                   Frame frame)
        Compute propagation delay on a link leg (typically downlink or uplink).
        Parameters:
        approxEmissionDate - approximate emission date
        receiverPosition - fixed position of receiver at signalArrivalDate
        signalArrivalDate - date at which the signal arrives to receiver
        frame - Inertial frame in which receiver is defined.
        Returns:
        positive delay between signal emission and signal reception dates
      • computeShift

        protected double computeShift​(double offset,
                                      double delay)
        Computes the time shift.
        Parameters:
        offset - time offset
        delay - time delay
        Returns:
        time shift to use in computation
      • getConvergenceChecker

        public ConvergenceChecker<Double> getConvergenceChecker()
        Getter for the convergence checker.
        Returns:
        checker
      • compute

        protected double compute​(PVCoordinatesProvider pvCoordinatesProvider,
                                 double initialOffset,
                                 Vector3D fixedPosition,
                                 AbsoluteDate guessDate,
                                 Frame frame)
        Compute propagation delay on a link leg (typically downlink or uplink). The max. iteration number and convergence checker can be tweaked to emulate no-delay a.k.a. instantaneous transmission.
        Parameters:
        pvCoordinatesProvider - adjustable emitter/receiver
        initialOffset - guess for the time off set
        fixedPosition - fixed receiver/emitter position
        guessDate - guess for emission/reception date
        frame - Inertial frame in which receiver/emitter is defined.
        Returns:
        positive delay between signal emission and signal reception dates