Class SignalTravelTimeAdjustableEmitter
- java.lang.Object
-
- org.orekit.estimation.measurements.signal.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 Summary
Fields Modifier and Type Field Description protected static doubleC_RECIPROCALReciprocal for light speed.protected static intDEFAULT_MAX_ITERMaximum number of iterations.
-
Constructor Summary
Constructors Constructor Description SignalTravelTimeAdjustableEmitter(PVCoordinatesProvider adjustableEmitterPVProvider)Constructor with default iteration settings.SignalTravelTimeAdjustableEmitter(PVCoordinatesProvider adjustableEmitterPVProvider, ConvergenceChecker<Double> checker)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected doublecompute(PVCoordinatesProvider pvCoordinatesProvider, double initialOffset, Vector3D fixedPosition, AbsoluteDate guessDate, Frame frame)Compute propagation delay on a link leg (typically downlink or uplink).doublecomputeDelay(Vector3D receiverPosition, AbsoluteDate signalArrivalDate, Frame frame)Compute propagation delay on a link leg (typically downlink or uplink) without custom guess.doublecomputeDelay(AbsoluteDate approxEmissionDate, Vector3D receiverPosition, AbsoluteDate signalArrivalDate, Frame frame)Compute propagation delay on a link leg (typically downlink or uplink).protected doublecomputeShift(double offset, double delay)Computes the time shift.ConvergenceChecker<Double>getConvergenceChecker()Getter for the convergence checker.static SignalTravelTimeAdjustableEmitterof(SpacecraftState state)Build instance from spacecraft state.
-
-
-
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 emitterchecker- convergence checker for fixed-point algorithm
-
-
Method Detail
-
of
public static SignalTravelTimeAdjustableEmitter of(SpacecraftState state)
Build instance from spacecraft state.- Parameters:
state- spacecraft state- Returns:
- signal travel time computer
-
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 atsignalArrivalDatesignalArrivalDate- date at which the signal arrives to receiverframe- 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 datereceiverPosition- fixed position of receiver atsignalArrivalDatesignalArrivalDate- date at which the signal arrives to receiverframe- 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 offsetdelay- 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/receiverinitialOffset- guess for the time off setfixedPosition- fixed receiver/emitter positionguessDate- guess for emission/reception dateframe- Inertial frame in which receiver/emitter is defined.- Returns:
- positive delay between signal emission and signal reception dates
-
-