Class FieldSignalTravelTimeAdjustableReceiver<T extends CalculusFieldElement<T>>
- java.lang.Object
-
- org.orekit.estimation.measurements.signal.FieldSignalTravelTimeAdjustableReceiver<T>
-
public class FieldSignalTravelTimeAdjustableReceiver<T extends CalculusFieldElement<T>> extends Object
Class for computing signal time of travel with an adjustable receiver and a fixed emitter'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
- See Also:
SignalTravelTimeAdjustableReceiver
-
-
Constructor Summary
Constructors Constructor Description FieldSignalTravelTimeAdjustableReceiver(FieldPVCoordinatesProvider<T> adjustableReceiverPVProvider)Constructor with default iteration settings.FieldSignalTravelTimeAdjustableReceiver(FieldPVCoordinatesProvider<T> adjustableReceiverPVProvider, ConvergenceChecker<T> convergenceChecker)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Tcompute(FieldPVCoordinatesProvider<T> pvCoordinatesProvider, T initialOffset, FieldVector3D<T> fixedPosition, FieldAbsoluteDate<T> guessDate, Frame frame)Compute propagation delay on a link leg (typically downlink or uplink).TcomputeDelay(FieldVector3D<T> emitterPosition, FieldAbsoluteDate<T> emissionDate, Frame frame)Compute propagation delay on a link leg (typically downlink or uplink) without custom guess.TcomputeDelay(FieldVector3D<T> emitterPosition, FieldAbsoluteDate<T> emissionDate, FieldAbsoluteDate<T> approxReceptionDate, Frame frame)Compute propagation delay on a link leg (typically downlink or uplink).protected TcomputeShift(T offset, T delay)Computes the time shift.ConvergenceChecker<T>getConvergenceChecker()Getter for the convergence checker.static <S extends CalculusFieldElement<S>>
FieldSignalTravelTimeAdjustableReceiver<S>of(FieldSpacecraftState<S> 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
-
-
Constructor Detail
-
FieldSignalTravelTimeAdjustableReceiver
public FieldSignalTravelTimeAdjustableReceiver(FieldPVCoordinatesProvider<T> adjustableReceiverPVProvider)
Constructor with default iteration settings.- Parameters:
adjustableReceiverPVProvider- adjustable receiver
-
FieldSignalTravelTimeAdjustableReceiver
public FieldSignalTravelTimeAdjustableReceiver(FieldPVCoordinatesProvider<T> adjustableReceiverPVProvider, ConvergenceChecker<T> convergenceChecker)
Constructor.- Parameters:
adjustableReceiverPVProvider- adjustable receiverconvergenceChecker- convergence checker for fixed-point algorithm
-
-
Method Detail
-
of
public static <S extends CalculusFieldElement<S>> FieldSignalTravelTimeAdjustableReceiver<S> of(FieldSpacecraftState<S> state)
Build instance from spacecraft state.- Type Parameters:
S- field type- Parameters:
state- spacecraft state- Returns:
- signal travel time computer
-
computeDelay
public T computeDelay(FieldVector3D<T> emitterPosition, FieldAbsoluteDate<T> emissionDate, Frame frame)
Compute propagation delay on a link leg (typically downlink or uplink) without custom guess.- Parameters:
emitterPosition- fixed position of emitteremissionDate- emission dateframe- inertial frame in which emitter is defined- Returns:
- positive delay between signal emission and signal reception dates
-
computeDelay
public T computeDelay(FieldVector3D<T> emitterPosition, FieldAbsoluteDate<T> emissionDate, FieldAbsoluteDate<T> approxReceptionDate, Frame frame)
Compute propagation delay on a link leg (typically downlink or uplink).- Parameters:
emitterPosition- fixed position of emitteremissionDate- emission dateapproxReceptionDate- approximate reception dateframe- inertial frame in which emitter is defined- Returns:
- positive delay between signal emission and signal reception dates
-
computeShift
protected T computeShift(T offset, T delay)
Computes the time shift.- Parameters:
offset- time offsetdelay- time delay- Returns:
- time shift to use in computation
-
getConvergenceChecker
public ConvergenceChecker<T> getConvergenceChecker()
Getter for the convergence checker.- Returns:
- checker
-
compute
protected T compute(FieldPVCoordinatesProvider<T> pvCoordinatesProvider, T initialOffset, FieldVector3D<T> fixedPosition, FieldAbsoluteDate<T> 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
-
-