Interface ObservedMeasurement<T extends ObservedMeasurement<T>>

Type Parameters:
T - the type of the measurement
All Superinterfaces:
Comparable<ComparableMeasurement>, ComparableMeasurement, ParameterDriversProvider, TimeStamped
All Known Implementing Classes:
AbstractInterSatellitesMeasurement, AbstractMeasurement, AbstractOneWayGNSS, AbstractRangeRelatedMeasurement, AngularAzEl, AngularMeasurement, AngularRaDec, BistaticRange, BistaticRangeRate, FDOA, InterSatellitesOneWayRangeRate, InterSatellitesPhase, InterSatellitesRange, MultiplexedMeasurement, OneWayGNSSPhase, OneWayGNSSRange, OneWayGNSSRangeRate, Phase, Position, PseudoMeasurement, PV, Range, RangeRate, SignalBasedMeasurement, TDOA, TurnAroundRange

public interface ObservedMeasurement<T extends ObservedMeasurement<T>> extends ComparableMeasurement, ParameterDriversProvider
Interface for measurements used for orbit determination.

The most important methods of this interface allow to:

  • get the observed value,
  • estimate the theoretical value of a measurement,
  • compute the corresponding partial derivatives (with respect to state and parameters)

The estimated theoretical values can be modified by registering one or several EstimationModifier objects. These objects will manage notions like tropospheric delays, biases, ...

Since:
8.0
Author:
Luc Maisonobe
  • Method Details

    • setEnabled

      void setEnabled(boolean enabled)
      Enable or disable a measurement.

      Disabling a measurement allow to not consider it at one stage of the orbit determination (for example when it appears to be an outlier as per current estimated covariance).

      Parameters:
      enabled - if true the measurement will be enabled, otherwise it will be disabled
    • isEnabled

      boolean isEnabled()
      Check if a measurement is enabled.
      Returns:
      true if the measurement is enabled
    • getDimension

      default int getDimension()
      Get the dimension of the measurement.

      Dimension is the size of the array containing the value. It will be one for a scalar measurement like a range or range-rate, but 6 for a position-velocity measurement.

      Returns:
      dimension of the measurement
    • getMeasurementQuality

      MeasurementQuality getMeasurementQuality()
      Getter for the measurement quality data as used in estimation. Note that in Orekit the crossed-terms of the covariance matrix are only used by Kalman filters, not least squares.
      Returns:
      measurement quality
      Since:
      14.0
    • getTheoreticalStandardDeviation

      default double[] getTheoreticalStandardDeviation()
      Get the theoretical standard deviation.

      The theoretical standard deviation is a theoretical value used for normalizing the residuals. It acts as a weighting factor to mix appropriately measurements with different units and different accuracy. The value has the same dimension as the measurement itself (i.e. when a residual is divided by this value, it becomes dimensionless).

      Returns:
      expected standard deviation
      See Also:
    • getBaseWeight

      default double[] getBaseWeight()
      Get the base weight associated with the measurement

      The base weight is used on residuals already normalized thanks to getTheoreticalStandardDeviation() to increase or decrease relative effect of some measurements with respect to other measurements. It is a dimensionless value, typically between 0 and 1 (but it can really have any non-negative value).

      Returns:
      base weight
      See Also:
    • addModifier

      void addModifier(EstimationModifier<T> modifier)
      Add a modifier.

      The modifiers are applied in the order in which they are added in order to estimate the measurement.

      Parameters:
      modifier - modifier to add
      See Also:
    • getModifiers

      List<EstimationModifier<T>> getModifiers()
      Get the modifiers that apply to a measurement.
      Returns:
      modifiers that apply to a measurement
      See Also:
    • getSatellites

      List<ObservableSatellite> getSatellites()
      Get the satellites related to this measurement.
      Returns:
      satellites related to this measurement
      Since:
      9.3
    • estimateWithoutDerivatives

      default EstimatedMeasurementBase<T> estimateWithoutDerivatives(SpacecraftState[] states)
      Estimate the theoretical value of the measurement, without derivatives.

      The estimated value is the combination of the raw estimated value and all the modifiers that apply to the measurement.

      Parameters:
      states - orbital states corresponding to getSatellites() at measurement date
      Returns:
      estimated measurement
      Since:
      12.1
    • estimateWithoutDerivatives

      EstimatedMeasurementBase<T> estimateWithoutDerivatives(int iteration, int evaluation, SpacecraftState[] states)
      Estimate the theoretical value of the measurement, without derivatives. For use in orbit determination.

      The estimated value is the combination of the raw estimated value and all the modifiers that apply to the measurement.

      Parameters:
      iteration - iteration number
      evaluation - evaluations number
      states - orbital states corresponding to getSatellites() at measurement date
      Returns:
      estimated measurement
      Since:
      12.0
    • estimate

      EstimatedMeasurement<T> estimate(int iteration, int evaluation, SpacecraftState[] states)
      Estimate the theoretical value of the measurement, with derivatives.

      The estimated value is the combination of the raw estimated value and all the modifiers that apply to the measurement.

      Parameters:
      iteration - iteration number
      evaluation - evaluations number
      states - orbital states corresponding to getSatellites() at measurement date
      Returns:
      estimated measurement
    • getMeasurementType

      default String getMeasurementType()
      Get the type of measurement.

      Default behavior is to return the class simple name as a String.

      Returns:
      type of measurement