Package org.orekit.signal
Class AdjustableEmitterSignalTimer
java.lang.Object
org.orekit.signal.AdjustableEmitterSignalTimer
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).
Note that a couple of iterations are usually enough for Earth orbits.
- Since:
- 14.0
- Author:
- Romain Serra
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final doubleReciprocal for light speed.protected static final intMaximum number of iterations. -
Constructor Summary
ConstructorsConstructorDescriptionAdjustableEmitterSignalTimer(PVCoordinatesProvider adjustableEmitterPVProvider) Constructor with default iteration settings.AdjustableEmitterSignalTimer(PVCoordinatesProvider adjustableEmitterPVProvider, ConvergenceChecker<Double> checker) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected doublecompute(PVCoordinatesProvider pvCoordinatesProvider, double initialOffset, Vector3D fixedPosition, AbsoluteDate guessDate, Frame frame) Compute propagation delay on a link leg (typically downlink or uplink).doublecomputeDelay(SignalReceptionCondition receptionCondition) Compute propagation delay on a link leg (typically downlink or uplink) without custom guess.doublecomputeDelay(SignalReceptionCondition receptionCondition, AbsoluteDate approxEmissionDate) Compute propagation delay on a link leg (typically downlink or uplink).computeEmissionCondition(SignalReceptionCondition receptionCondition, AbsoluteDate approxEmissionDate) Compute the signal emission condition on a link leg (typically downlink or uplink).protected doublecomputeShift(double offset, double delay) Computes the time shift.Getter for the convergence checker.
-
Field Details
-
C_RECIPROCAL
protected static final double C_RECIPROCALReciprocal for light speed.- See Also:
-
DEFAULT_MAX_ITER
protected static final int DEFAULT_MAX_ITERMaximum number of iterations.- See Also:
-
-
Constructor Details
-
AdjustableEmitterSignalTimer
Constructor with default iteration settings.- Parameters:
adjustableEmitterPVProvider- adjustable emitter
-
AdjustableEmitterSignalTimer
public AdjustableEmitterSignalTimer(PVCoordinatesProvider adjustableEmitterPVProvider, ConvergenceChecker<Double> checker) Constructor.- Parameters:
adjustableEmitterPVProvider- adjustable emitterchecker- convergence checker for fixed-point algorithm
-
-
Method Details
-
computeEmissionCondition
public SignalEmissionCondition computeEmissionCondition(SignalReceptionCondition receptionCondition, AbsoluteDate approxEmissionDate) Compute the signal emission condition on a link leg (typically downlink or uplink).- Parameters:
receptionCondition- signal reception conditionapproxEmissionDate- approximate emission date- Returns:
- emission condition
-
computeDelay
Compute propagation delay on a link leg (typically downlink or uplink) without custom guess.- Parameters:
receptionCondition- signal reception condition- Returns:
- positive delay between signal emission and signal reception dates
-
computeDelay
public double computeDelay(SignalReceptionCondition receptionCondition, AbsoluteDate approxEmissionDate) Compute propagation delay on a link leg (typically downlink or uplink).- Parameters:
receptionCondition- signal reception conditionapproxEmissionDate- approximate emission date- 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
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
-