All Implemented Interfaces:
Comparable<ComparableMeasurement>, ComparableMeasurement, ObservedMeasurement<FDOA>, TimeStamped, ParameterDriversProvider

public class FDOA extends SignalBasedMeasurement<FDOA>
Class modeling a Frequency Difference of Arrival measurement with a satellite as emitter and two ground stations as receivers.

FDOA measures the difference in signal arrival frequency between the emitter and receivers, corresponding to a difference in range-rate from the two receivers to the emitter.

The date of the measurement corresponds to the reception of the signal by the prime station. The measurement corresponds to the frequency of the signal received at the prime station at the date of the measurement minus the frequency of the signal received at the second station: fdoa = f1 - f2

The motion of the stations and the satellite during the signal flight time are taken into account.

Since:
12.0
Author:
Mark Rutten
  • Field Details

  • Constructor Details

    • FDOA

      public FDOA(Observer primeObserver, Observer secondObserver, double centreFrequency, AbsoluteDate date, double fdoa, double sigma, double baseWeight, ObservableSatellite satellite)
      Constructor with default signal travel time model.
      Parameters:
      primeObserver - observer that gives the date of the measurement
      secondObserver - observer that gives the measurement
      centreFrequency - satellite emitter frequency (Hz)
      date - date of the measurement
      fdoa - observed value (Hz)
      sigma - theoretical standard deviation
      baseWeight - base weight
      satellite - satellite related to this measurement
    • FDOA

      public FDOA(Observer primeObserver, Observer secondObserver, double centreFrequency, AbsoluteDate date, double fdoa, MeasurementQuality measurementQuality, SignalTravelTimeModel signalTravelTimeModel, ObservableSatellite satellite)
      Constructor.
      Parameters:
      primeObserver - observer that gives the date of the measurement
      secondObserver - observer that gives the measurement
      centreFrequency - satellite emitter frequency (Hz)
      date - date of the measurement
      fdoa - observed value (Hz)
      measurementQuality - measurement quality data as used in orbit determination
      signalTravelTimeModel - signal travel time model
      satellite - satellite related to this measurement
      Since:
      14.0
  • Method Details

    • getCentreFrequency

      public double getCentreFrequency()
      Get centre frequency of carrier wave.
      Returns:
      frequency value (Hz)
    • theoreticalEvaluationWithoutDerivatives

      protected EstimatedMeasurementBase<FDOA> 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 class AbstractMeasurement<FDOA>
      Parameters:
      iteration - iteration number
      evaluation - evaluation number
      states - orbital states at measurement date
      Returns:
      theoretical value
      See Also:
    • theoreticalEvaluation

      protected EstimatedMeasurement<FDOA> 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<FDOA>
      Parameters:
      iteration - iteration number
      evaluation - evaluation number
      states - orbital states at measurement date
      Returns:
      theoretical value
      See Also:
    • getPrimeStation

      @Deprecated public GroundStation getPrimeStation()
      Deprecated.
      as of 14.0, replaced by getPrimeObserver()
      Get the prime ground station, the one that receives the signal first.
      Returns:
      prime ground station
    • getPrimeObserver

      public Observer getPrimeObserver()
      Get the prime observer, the one that receives the signal first.
      Returns:
      prime observer
    • getSecondStation

      @Deprecated public GroundStation getSecondStation()
      Deprecated.
      as of 14.0, replaced by getSecondObserver()
      Get the second ground station, the one that receives the signal first.
      Returns:
      second ground station
    • getSecondObserver

      public Observer getSecondObserver()
      Get the second observer, the one that gives the measurement.
      Returns:
      second observer
    • computeDelays

      protected Gradient[] computeDelays(SpacecraftState[] states)
      Compute signal delays (always positive).
      Parameters:
      states - observed states
      Returns:
      delays (to prime and second sensors)
    • fillEstimation

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