Class AbstractRangeRelatedMeasurement<T extends AbstractRangeRelatedMeasurement<T>>

All Implemented Interfaces:
Comparable<ComparableMeasurement>, ComparableMeasurement, ObservedMeasurement<T>, TimeStamped, ParameterDriversProvider
Direct Known Subclasses:
Range, RangeRate

public abstract class AbstractRangeRelatedMeasurement<T extends AbstractRangeRelatedMeasurement<T>> extends SignalBasedMeasurement<T>
Abstract class modeling one-way or two-way range-related measurement. For the latter, a signal is emitted by a sensor, reflected on the spacecraft and received by the same sensor. For the former, a signal is emitted by the spacecraft and receiver by the sensor.
Since:
14.0
Author:
Romain Serra
  • Constructor Details

    • AbstractRangeRelatedMeasurement

      protected AbstractRangeRelatedMeasurement(Observer observer, AbsoluteDate date, double value, MeasurementQuality measurementQuality, boolean twoWay, SignalTravelTimeModel signalTravelTimeModel, ObservableSatellite satellite)
      Simple constructor.
      Parameters:
      observer - observer that performs the measurement
      date - date of the measurement
      value - observed value
      measurementQuality - measurement quality data as used in orbit determination
      twoWay - if true, this is a two-way measurement
      signalTravelTimeModel - signal model
      satellite - satellite related to this measurement
  • Method Details

    • getStation

      @Deprecated public final GroundStation getStation()
      Deprecated.
      as of 14.0, replaced by getObserver()
      Get receiving ground station.
      Returns:
      measurement ground station
    • getObserver

      public final Observer getObserver()
      Get receiving object.
      Returns:
      measurement observer
    • initializeTwoWayTheoreticalEvaluation

      protected EstimatedMeasurementBase<T> initializeTwoWayTheoreticalEvaluation(T measurement, int iteration, int evaluation, AbsoluteDate receptionDate, SpacecraftState state)
      Compute participants for two-way case.
      Parameters:
      measurement - measurement object
      iteration - iteration
      evaluation - evaluation
      receptionDate - signal reception date
      state - estimated state
      Returns:
      partially filled estimated measurement
    • initializeOneWayTheoreticalEvaluation

      protected EstimatedMeasurementBase<T> initializeOneWayTheoreticalEvaluation(T measurement, int iteration, int evaluation, AbsoluteDate receptionDate, SpacecraftState state)
      Compute participants for one-way case.
      Parameters:
      measurement - measurement object
      iteration - iteration
      evaluation - evaluation
      receptionDate - signal reception date
      state - estimated state
      Returns:
      partially filled estimated measurement
    • theoreticalEvaluation

      protected EstimatedMeasurement<T> theoreticalEvaluation(int iteration, int evaluation, SpacecraftState[] states)
      Estimate the theoretical value.

      The theoretical value does not have any modifiers applied.

      Specified by:
      theoreticalEvaluation in class AbstractMeasurement<T extends AbstractRangeRelatedMeasurement<T>>
      Parameters:
      iteration - iteration number
      evaluation - evaluation number
      states - orbital states at measurement date
      Returns:
      theoretical value
      See Also:
    • twoWayTheoreticalEvaluation

      protected abstract EstimatedMeasurement<T> twoWayTheoreticalEvaluation(int iteration, int evaluation, FieldPVCoordinatesProvider<Gradient> observablePVProvider, SpacecraftState state, Map<String,Integer> paramIndices, int nbParams)
      Evaluate measurement in two-way.
      Parameters:
      iteration - iteration number
      evaluation - evaluations counter
      observablePVProvider - coordinates provider of observable for automatic differentiation
      state - observable state
      paramIndices - indices of the estimated parameters in derivatives computations
      nbParams - the number of estimated parameters in derivative computations
      Returns:
      theoretical value
    • oneWayTheoreticalEvaluation

      protected abstract EstimatedMeasurement<T> oneWayTheoreticalEvaluation(int iteration, int evaluation, FieldPVCoordinatesProvider<Gradient> observablePVProvider, SpacecraftState state, Map<String,Integer> paramIndices, int nbParams)
      Evaluate measurement in one-way.
      Parameters:
      iteration - iteration number
      evaluation - evaluations counter
      observablePVProvider - coordinates provider of observable for automatic differentiation
      state - observable state
      paramIndices - indices of the estimated parameters in derivatives computations
      nbParams - the number of estimated parameters in derivative computations
      Returns:
      theoretical value
    • getCorrectedReceptionDateField

      protected FieldAbsoluteDate<Gradient> getCorrectedReceptionDateField(int nbParams, Map<String,Integer> paramIndices)
      Compute actual reception date taking into account clock offset.
      Parameters:
      nbParams - number of independent variables for automatic differentiation
      paramIndices - mapping between parameter name and variable index
      Returns:
      reception date
    • fillEstimation

      protected void fillEstimation(Gradient quantity, Map<String,Integer> paramIndices, EstimatedMeasurement<T> estimated)
      Fill estimated measurements with value and derivatives.
      Parameters:
      quantity - estimated quantity
      paramIndices - indices mapping parameter names to derivative indices
      estimated - theoretical measurement class