Class Range
- java.lang.Object
-
- org.orekit.estimation.measurements.AbstractMeasurement<T>
-
- org.orekit.estimation.measurements.SignalBasedMeasurement<T>
-
- org.orekit.estimation.measurements.AbstractRangeRelatedMeasurement<Range>
-
- org.orekit.estimation.measurements.Range
-
- All Implemented Interfaces:
Comparable<ComparableMeasurement>,ComparableMeasurement,ObservedMeasurement<Range>,TimeStamped,ParameterDriversProvider
public class Range extends AbstractRangeRelatedMeasurement<Range>
Class modeling a range measurement received by an observer.For one-way measurements, a signal is emitted by the satellite and received by the observer. 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, the measurement is considered to be a signal emitted from a observer, reflected on spacecraft, and received on the same observer. Its value is the elapsed time between emission and reception multiplied by c/2 where c is the speed of light.
The motion of both the sensor and the spacecraft during the signal flight time are taken into account. The date of the measurement corresponds to the reception on ground of the emitted or reflected signal.
The clock offsets of both the observer and the satellite are taken into account. These offsets correspond to the values that must be subtracted from sensor (resp. satellite) reading of time to compute the real physical date. 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 receiving observer 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 (Δtg - Δts) ⨯ c is added, where Δtg (resp. Δts) is the clock offset for the receiving observer (resp. emitting satellite). A similar effect exists in two-way measurements but it is computed as (Δtg - Δtg) ⨯ c / 2 as the same clock is used for initial emission and final reception and therefore it evaluates to zero.
- Since:
- 8.0
- Author:
- Thierry Ceolin, Luc Maisonobe, Maxime Journot
-
-
Field Summary
Fields Modifier and Type Field Description static StringMEASUREMENT_TYPEType of the measurement.
-
Constructor Summary
Constructors Constructor Description Range(Observer observer, boolean twoWay, AbsoluteDate date, double range, double sigma, double baseWeight, ObservableSatellite satellite)Simple constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected EstimatedMeasurement<Range>oneWayTheoreticalEvaluation(int iteration, int evaluation, FieldPVCoordinatesProvider<Gradient> satellitePVProvider, SpacecraftState state, Map<String,Integer> indices, int nbParams)Evaluate measurement in one-way.protected EstimatedMeasurementBase<Range>theoreticalEvaluationWithoutDerivatives(int iteration, int evaluation, SpacecraftState[] states)Estimate the theoretical value without derivatives.protected EstimatedMeasurement<Range>twoWayTheoreticalEvaluation(int iteration, int evaluation, FieldPVCoordinatesProvider<Gradient> satellitePVProvider, SpacecraftState state, Map<String,Integer> indices, int nbParams)Evaluate measurement in two-way.-
Methods inherited from class org.orekit.estimation.measurements.AbstractRangeRelatedMeasurement
fillEstimation, getCorrectedReceptionDateField, getObserver, getStation, initializeOneWayTheoreticalEvaluation, initializeTwoWayTheoreticalEvaluation, theoreticalEvaluation
-
Methods inherited from class org.orekit.estimation.measurements.SignalBasedMeasurement
getSignalTravelTimeModel, isTwoWay
-
Methods inherited from class org.orekit.estimation.measurements.AbstractMeasurement
addModifier, addParameterDriver, addParametersDrivers, estimate, estimateWithoutDerivatives, getBaseWeight, getCoordinates, getDate, getDimension, getMeasurementQuality, getModifiers, getObservedValue, getParameterIndices, getParametersDrivers, getSatellites, getTheoreticalStandardDeviation, isEnabled, setEnabled, setObservedValue
-
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
-
Range
public Range(Observer observer, boolean twoWay, AbsoluteDate date, double range, double sigma, double baseWeight, ObservableSatellite satellite)
Simple constructor.- Parameters:
observer- observer that performs the measurementtwoWay- flag indicating whether it is a two-way measurementdate- date of the measurementrange- observed valuesigma- theoretical standard deviationbaseWeight- base weightsatellite- satellite related to this measurement- Since:
- 9.3
-
-
Method Detail
-
theoreticalEvaluationWithoutDerivatives
protected EstimatedMeasurementBase<Range> 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:
theoreticalEvaluationWithoutDerivativesin classAbstractMeasurement<Range>- Parameters:
iteration- iteration numberevaluation- evaluation numberstates- orbital states at measurement date- Returns:
- theoretical value
- See Also:
AbstractMeasurement.estimate(int, int, SpacecraftState[])
-
twoWayTheoreticalEvaluation
protected EstimatedMeasurement<Range> twoWayTheoreticalEvaluation(int iteration, int evaluation, FieldPVCoordinatesProvider<Gradient> satellitePVProvider, SpacecraftState state, Map<String,Integer> indices, int nbParams)
Evaluate measurement in two-way.- Specified by:
twoWayTheoreticalEvaluationin classAbstractRangeRelatedMeasurement<Range>- Parameters:
iteration- iteration numberevaluation- evaluations countersatellitePVProvider- coordinates provider of observable for automatic differentiationstate- observable stateindices- indices of the estimated parameters in derivatives computationsnbParams- the number of estimated parameters in derivative computations- Returns:
- theoretical value
-
oneWayTheoreticalEvaluation
protected EstimatedMeasurement<Range> oneWayTheoreticalEvaluation(int iteration, int evaluation, FieldPVCoordinatesProvider<Gradient> satellitePVProvider, SpacecraftState state, Map<String,Integer> indices, int nbParams)
Evaluate measurement in one-way.- Specified by:
oneWayTheoreticalEvaluationin classAbstractRangeRelatedMeasurement<Range>- Parameters:
iteration- iteration numberevaluation- evaluations countersatellitePVProvider- coordinates provider of observable for automatic differentiationstate- observable stateindices- indices of the estimated parameters in derivatives computationsnbParams- the number of estimated parameters in derivative computations- Returns:
- theoretical value
-
-