Class FieldSignalTravelTimeAdjustableEmitter<T extends CalculusFieldElement<T>>
- java.lang.Object
-
- org.orekit.estimation.measurements.signal.FieldSignalTravelTimeAdjustableEmitter<T>
-
public class FieldSignalTravelTimeAdjustableEmitter<T extends CalculusFieldElement<T>> 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
- See Also:
SignalTravelTimeAdjustableEmitter
-
-
Constructor Summary
Constructors Constructor Description FieldSignalTravelTimeAdjustableEmitter(FieldPVCoordinatesProvider<T> adjustableEmitterPVProvider)Constructor with default iteration settings.FieldSignalTravelTimeAdjustableEmitter(FieldPVCoordinatesProvider<T> adjustableEmitterPVProvider, 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> receiverPosition, FieldAbsoluteDate<T> signalArrivalDate, Frame frame)Compute propagation delay on a link leg (typically downlink or uplink) without custom guess.TcomputeDelay(FieldAbsoluteDate<T> approxEmissionDate, FieldVector3D<T> receiverPosition, FieldAbsoluteDate<T> signalArrivalDate, 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>>
FieldSignalTravelTimeAdjustableEmitter<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
-
FieldSignalTravelTimeAdjustableEmitter
public FieldSignalTravelTimeAdjustableEmitter(FieldPVCoordinatesProvider<T> adjustableEmitterPVProvider)
Constructor with default iteration settings.- Parameters:
adjustableEmitterPVProvider- adjustable emitter
-
FieldSignalTravelTimeAdjustableEmitter
public FieldSignalTravelTimeAdjustableEmitter(FieldPVCoordinatesProvider<T> adjustableEmitterPVProvider, ConvergenceChecker<T> convergenceChecker)
Constructor.- Parameters:
adjustableEmitterPVProvider- adjustable emitterconvergenceChecker- convergence checker for fixed-point algorithm
-
-
Method Detail
-
of
public static <S extends CalculusFieldElement<S>> FieldSignalTravelTimeAdjustableEmitter<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> receiverPosition, FieldAbsoluteDate<T> 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 T computeDelay(FieldAbsoluteDate<T> approxEmissionDate, FieldVector3D<T> receiverPosition, FieldAbsoluteDate<T> 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 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
-
-