Class TDOA
- java.lang.Object
-
- org.orekit.estimation.measurements.AbstractMeasurement<T>
-
- org.orekit.estimation.measurements.GroundReceiverMeasurement<TDOA>
-
- org.orekit.estimation.measurements.TDOA
-
- All Implemented Interfaces:
Comparable<ComparableMeasurement>
,ComparableMeasurement
,ObservedMeasurement<TDOA>
,TimeStamped
,ParameterDriversProvider
public class TDOA extends GroundReceiverMeasurement<TDOA>
Class modeling a Time Difference of Arrival measurement with a satellite as emitter and two ground stations as receivers.TDOA measures the difference in signal arrival time between the emitter and receivers, corresponding to a difference in ranges from the two receivers to the emitter.
The date of the measurement corresponds to the reception of the signal by the prime station. The measurement corresponds to the date of the measurement minus the date of reception of the signal by the second station:
tdoa = tr1 - tr2
The motion of the stations and the satellite during the signal flight time are taken into account.
- Since:
- 11.2
- Author:
- Pascal Parraud
-
-
Field Summary
Fields Modifier and Type Field Description static String
MEASUREMENT_TYPE
Type of the measurement.
-
Constructor Summary
Constructors Constructor Description TDOA(GroundStation primeStation, GroundStation secondStation, AbsoluteDate date, double tdoa, double sigma, double baseWeight, ObservableSatellite satellite)
Simple constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T extends CalculusFieldElement<T>>
TforwardSignalTimeOfFlight(TimeStampedFieldPVCoordinates<T> adjustableEmitterPV, FieldVector3D<T> receiverPosition, FieldAbsoluteDate<T> signalArrivalDate)
Compute propagation delay on a link leg (typically downlink or uplink).This differs from signalTimeOfFlight through advancing rather than delaying the emitter.static double
forwardSignalTimeOfFlight(TimeStampedPVCoordinates adjustableEmitterPV, Vector3D receiverPosition, AbsoluteDate signalArrivalDate)
Compute propagation delay on a link leg (typically downlink or uplink).GroundStation
getPrimeStation()
Get the prime ground station, the one that gives the date of the measurement.GroundStation
getSecondStation()
Get the second ground station, the one that gives the measurement.protected EstimatedMeasurement<TDOA>
theoreticalEvaluation(int iteration, int evaluation, SpacecraftState[] states)
Estimate the theoretical value.protected EstimatedMeasurementBase<TDOA>
theoreticalEvaluationWithoutDerivatives(int iteration, int evaluation, SpacecraftState[] states)
Estimate the theoretical value without derivatives.-
Methods inherited from class org.orekit.estimation.measurements.GroundReceiverMeasurement
computeCommonParametersWithDerivatives, computeCommonParametersWithout, getGroundStationCoordinates, getGroundStationPosition, getStation, isTwoWay
-
Methods inherited from class org.orekit.estimation.measurements.AbstractMeasurement
addModifier, addParameterDriver, estimate, estimateWithoutDerivatives, getBaseWeight, getCoordinates, getDate, getDimension, getModifiers, getObservedValue, getParametersDrivers, getSatellites, getTheoreticalStandardDeviation, isEnabled, setEnabled, setObservedValue, signalTimeOfFlightAdjustableEmitter, signalTimeOfFlightAdjustableEmitter, signalTimeOfFlightAdjustableEmitter, signalTimeOfFlightAdjustableEmitter, signalTimeOfFlightAdjustableReceiver, signalTimeOfFlightAdjustableReceiver, signalTimeOfFlightAdjustableReceiver, signalTimeOfFlightAdjustableReceiver
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.estimation.measurements.ComparableMeasurement
compareTo
-
Methods inherited from interface org.orekit.estimation.measurements.ObservedMeasurement
estimateWithoutDerivatives, getMeasurementType
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
Methods inherited from interface org.orekit.time.TimeStamped
durationFrom
-
-
-
-
Field Detail
-
MEASUREMENT_TYPE
public static final String MEASUREMENT_TYPE
Type of the measurement.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
TDOA
public TDOA(GroundStation primeStation, GroundStation secondStation, AbsoluteDate date, double tdoa, double sigma, double baseWeight, ObservableSatellite satellite)
Simple constructor.- Parameters:
primeStation
- ground station that gives the date of the measurementsecondStation
- ground station that gives the measurementdate
- date of the measurementtdoa
- observed value (s)sigma
- theoretical standard deviationbaseWeight
- base weightsatellite
- satellite related to this measurement
-
-
Method Detail
-
getPrimeStation
public GroundStation getPrimeStation()
Get the prime ground station, the one that gives the date of the measurement.- Returns:
- prime ground station
-
getSecondStation
public GroundStation getSecondStation()
Get the second ground station, the one that gives the measurement.- Returns:
- second ground station
-
theoreticalEvaluationWithoutDerivatives
protected EstimatedMeasurementBase<TDOA> theoreticalEvaluationWithoutDerivatives(int iteration, int evaluation, SpacecraftState[] states)
Estimate the theoretical value without derivatives. The default implementation uses the computation with derivatives and ought to be overwritten for performance.The theoretical value does not have any modifiers applied.
- Overrides:
theoreticalEvaluationWithoutDerivatives
in classAbstractMeasurement<TDOA>
- Parameters:
iteration
- iteration numberevaluation
- evaluation numberstates
- orbital states at measurement date- Returns:
- theoretical value
- See Also:
AbstractMeasurement.estimate(int, int, SpacecraftState[])
-
theoreticalEvaluation
protected EstimatedMeasurement<TDOA> theoreticalEvaluation(int iteration, int evaluation, SpacecraftState[] states)
Estimate the theoretical value.The theoretical value does not have any modifiers applied.
- Specified by:
theoreticalEvaluation
in classAbstractMeasurement<TDOA>
- Parameters:
iteration
- iteration numberevaluation
- evaluation numberstates
- orbital states at measurement date- Returns:
- theoretical value
- See Also:
AbstractMeasurement.estimate(int, int, SpacecraftState[])
-
forwardSignalTimeOfFlight
public static double forwardSignalTimeOfFlight(TimeStampedPVCoordinates adjustableEmitterPV, Vector3D receiverPosition, AbsoluteDate signalArrivalDate)
Compute propagation delay on a link leg (typically downlink or uplink). This differs from signalTimeOfFlight through advancing rather than delaying the emitter.- Parameters:
adjustableEmitterPV
- position/velocity of emitter that may be adjustedreceiverPosition
- fixed position of receiver atsignalArrivalDate
, in the same frame asadjustableEmitterPV
signalArrivalDate
- date at which the signal arrives to receiver- Returns:
- positive delay between signal emission and signal reception dates
-
forwardSignalTimeOfFlight
public static <T extends CalculusFieldElement<T>> T forwardSignalTimeOfFlight(TimeStampedFieldPVCoordinates<T> adjustableEmitterPV, FieldVector3D<T> receiverPosition, FieldAbsoluteDate<T> signalArrivalDate)
Compute propagation delay on a link leg (typically downlink or uplink).This differs from signalTimeOfFlight through advancing rather than delaying the emitter.- Type Parameters:
T
- the type of the components- Parameters:
adjustableEmitterPV
- position/velocity of emitter that may be adjustedreceiverPosition
- fixed position of receiver atsignalArrivalDate
, in the same frame asadjustableEmitterPV
signalArrivalDate
- date at which the signal arrives to receiver- Returns:
- positive delay between signal emission and signal reception dates
-
-