Class InterSatellitesRange
- java.lang.Object
-
- org.orekit.estimation.measurements.AbstractMeasurement<InterSatellitesRange>
-
- org.orekit.estimation.measurements.InterSatellitesRange
-
- All Implemented Interfaces:
Comparable<ComparableMeasurement>
,ComparableMeasurement
,ObservedMeasurement<InterSatellitesRange>
,TimeStamped
,ParameterDriversProvider
public class InterSatellitesRange extends AbstractMeasurement<InterSatellitesRange>
One-way or two-way range measurements between two satellites.For one-way measurements, a signal is emitted by a remote satellite and received by local satellite. The measurement value is the elapsed time between emission and reception multiplied by c where c is the speed of light.
For two-way measurements, a signal is emitted by local satellite, reflected on remote satellite, and received back by local satellite. The measurement value is the elapsed time between emission and reception multiplied by c/2 where c is the speed of light.
Since 9.3, this class also uses the clock offsets of both satellites, which manage the value that must be added to each satellite reading of time to compute the real physical date. In this measurement, these offsets have two effects:
- as measurement date is evaluated at reception time, the real physical date of the measurement is the observed date to which the local satellite clock offset is subtracted
- as range is evaluated using the total signal time of flight, for one-way measurements the observed range is the real physical signal time of flight to which (Δtl - Δtr) ⨯ c is added, where Δtl (resp. Δtr) is the clock offset for the local satellite (resp. remote satellite). A similar effect exists in two-way measurements but it is computed as (Δtl - Δtl) ⨯ c / 2 as the local satellite clock is used for both initial emission and final reception and therefore it evaluates to zero.
The motion of both satellites during the signal flight time is taken into account. The date of the measurement corresponds to the reception of the signal by satellite 1.
- Since:
- 9.0
- Author:
- Luc Maisonobe
-
-
Field Summary
Fields Modifier and Type Field Description static String
MEASUREMENT_TYPE
Type of the measurement.
-
Constructor Summary
Constructors Constructor Description InterSatellitesRange(ObservableSatellite local, ObservableSatellite remote, boolean twoWay, AbsoluteDate date, double range, double sigma, double baseWeight)
Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
isTwoWay()
Check if the instance represents a two-way measurement.protected EstimatedMeasurement<InterSatellitesRange>
theoreticalEvaluation(int iteration, int evaluation, SpacecraftState[] states)
Estimate the theoretical value.protected EstimatedMeasurementBase<InterSatellitesRange>
theoreticalEvaluationWithoutDerivatives(int iteration, int evaluation, SpacecraftState[] states)
Estimate the theoretical value without derivatives.-
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
-
InterSatellitesRange
public InterSatellitesRange(ObservableSatellite local, ObservableSatellite remote, boolean twoWay, AbsoluteDate date, double range, double sigma, double baseWeight)
Simple constructor.- Parameters:
local
- satellite which receives the signal and performs the measurementremote
- satellite which simply emits the signal in the one-way case, or reflects the signal in the two-way casetwoWay
- flag indicating whether it is a two-way measurementdate
- date of the measurementrange
- observed valuesigma
- theoretical standard deviationbaseWeight
- base weight- Since:
- 9.3
-
-
Method Detail
-
isTwoWay
public boolean isTwoWay()
Check if the instance represents a two-way measurement.- Returns:
- true if the instance represents a two-way measurement
-
theoreticalEvaluationWithoutDerivatives
protected EstimatedMeasurementBase<InterSatellitesRange> 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<InterSatellitesRange>
- Parameters:
iteration
- iteration numberevaluation
- evaluation numberstates
- orbital states at measurement date- Returns:
- theoretical value
- See Also:
AbstractMeasurement.estimate(int, int, SpacecraftState[])
-
theoreticalEvaluation
protected EstimatedMeasurement<InterSatellitesRange> 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<InterSatellitesRange>
- Parameters:
iteration
- iteration numberevaluation
- evaluation numberstates
- orbital states at measurement date- Returns:
- theoretical value
- See Also:
AbstractMeasurement.estimate(int, int, SpacecraftState[])
-
-