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
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
-
-
Constructor Summary
Constructors Constructor Description InterSatellitesRange(int localIndex, int remoteIndex, boolean twoWay, AbsoluteDate date, double range, double sigma, double baseWeight)
Deprecated.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.-
Methods inherited from class org.orekit.estimation.measurements.AbstractMeasurement
addModifier, addParameterDriver, estimate, getBaseWeight, getCoordinates, getDate, getDimension, getModifiers, getObservedValue, getParametersDrivers, getPropagatorsIndices, getSatellites, getTheoreticalStandardDeviation, isEnabled, setEnabled, signalTimeOfFlight, signalTimeOfFlight
-
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
-
-
-
-
Constructor Detail
-
InterSatellitesRange
@Deprecated public InterSatellitesRange(int localIndex, int remoteIndex, boolean twoWay, AbsoluteDate date, double range, double sigma, double baseWeight)
Deprecated.Simple constructor.- Parameters:
localIndex
- index of local satellite propagator (i.e. the satellite which receives the signal and performs the measurement)remoteIndex
- index of remote satellite propagator (i.e. the satellite which simply emits the signal in the one-way case, or reflects the signal in the two-way case)twoWay
- flag indicating whether it is a two-way measurementdate
- date of the measurementrange
- observed valuesigma
- theoretical standard deviationbaseWeight
- base weight
-
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
-
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[])
-
-