Interface Observer

  • All Known Implementing Classes:
    GroundStation, ObserverSatellite

    public interface Observer
    Abstract interface that contains those methods necessary for both space and ground-based satellite observers.
    Since:
    14.0
    Author:
    Brianna Aubin
    • Method Detail

      • getObserverType

        Observer.ObserverType getObserverType()
        Get the type of object being used in measurement observations.
        Returns:
        string value
        Since:
        14.0
      • getName

        String getName()
        Get the Observer name.
        Returns:
        name for the object
        Since:
        12.1
      • getClockOffsetDriver

        ParameterDriver getClockOffsetDriver()
        Get the clock offset driver.
        Returns:
        clock offset driver
      • getQuadraticClockModel

        QuadraticClockModel getQuadraticClockModel()
        Get a quadratic clock model valid at some date.
        Returns:
        quadratic clock model
        Since:
        12.1
      • getQuadraticFieldClock

        QuadraticFieldClockModel<Gradient> getQuadraticFieldClock​(int freeParameters,
                                                                  AbsoluteDate date,
                                                                  Map<String,​Integer> indices)
        Get emitting satellite clock provider.
        Parameters:
        freeParameters - total number of free parameters in the gradient
        date - time of computations
        indices - indices of the differentiation parameters in derivatives computations, must be span name and not driver name
        Returns:
        emitting satellite clock provider
      • getPVCoordinatesProvider

        PVCoordinatesProvider getPVCoordinatesProvider()
        Return the PVCoordinatesProvider.
        Returns:
        pos/vel coordinates provider
        Since:
        14.0
      • getFieldPVCoordinatesProvider

        FieldPVCoordinatesProvider<Gradient> getFieldPVCoordinatesProvider​(int freeParameters,
                                                                           Map<String,​Integer> parameterIndices)
        Return the FieldPVCoordinatesProvider.
        Parameters:
        freeParameters - number of estimated parameters
        parameterIndices - indices of the estimated parameters in derivatives computations, must be driver
        Returns:
        pos/vel coordinates provider for values with Gradient field
        Since:
        14.0
      • getPosition

        default Vector3D getPosition​(AbsoluteDate date,
                                     Frame frame)
        Return the time-stamped PV coordinates.
        Parameters:
        date - date of output coordinates
        frame - desired frame for output coordinates
        Returns:
        observer position vector
        Since:
        14.0
      • getPVCoordinates

        default TimeStampedPVCoordinates getPVCoordinates​(AbsoluteDate date,
                                                          Frame frame)
        Return the time-stamped PV coordinates.
        Parameters:
        date - date of output coordinates
        frame - desired frame for output coordinates
        Returns:
        time-stamped observer pos/vel values
        Since:
        14.0
      • getOffsetToInertial

        Transform getOffsetToInertial​(Frame inertial,
                                      AbsoluteDate date,
                                      boolean clockOffsetAlreadyApplied)
        Get the transform between offset frame and inertial frame.

        The offset frame takes the current position offset, polar motion and the meridian shift into account. The frame returned is disconnected from later changes in the parameters. When the parameters managing these offsets are changed, the method must be called again to retrieve a new offset frame.

        Parameters:
        inertial - inertial frame to transform to
        date - date of the transform
        clockOffsetAlreadyApplied - if true, the specified date is as read by the ground station clock (i.e. clock offset not compensated), if false, the specified date was already compensated and is a physical absolute date
        Returns:
        transform between offset frame and inertial frame, at real measurement date (i.e. with clock, Earth and station offsets applied)
      • getOffsetToInertial

        default FieldTransform<Gradient> getOffsetToInertial​(Frame inertial,
                                                             AbsoluteDate clockDate,
                                                             int freeParameters,
                                                             Map<String,​Integer> indices)
        Get the transform between offset frame and inertial frame with derivatives.

        As the East and North vectors are not well defined at pole, the derivatives of these two vectors diverge to infinity as we get closer to the pole. So this method should not be used for stations less than 0.0001 degree from either poles.

        Parameters:
        inertial - inertial frame to transform to
        clockDate - date of the transform, clock offset and its derivatives already compensated
        freeParameters - total number of free parameters in the gradient
        indices - indices of the estimated parameters in derivatives computations, must be driver span name in map, not driver name or will not give right results (see ParameterDriver.getValue(int, Map))
        Returns:
        transform between offset frame and inertial frame, at specified date
        Since:
        10.2
      • getOffsetToInertial

        FieldTransform<Gradient> getOffsetToInertial​(Frame inertial,
                                                     FieldAbsoluteDate<Gradient> offsetCompensatedDate,
                                                     int freeParameters,
                                                     Map<String,​Integer> indices)
        Get the transform between offset frame and inertial frame with derivatives.

        As the East and North vectors are not well defined at pole, the derivatives of these two vectors diverge to infinity as we get closer to the pole. So this method should not be used for stations less than 0.0001 degree from either poles.

        Parameters:
        inertial - inertial frame to transform to
        offsetCompensatedDate - date of the transform, clock offset and its derivatives already compensated
        freeParameters - total number of free parameters in the gradient
        indices - indices of the estimated parameters in derivatives computations, must be driver span name in map, not driver name or will not give right results (see ParameterDriver.getValue(int, Map))
        Returns:
        transform between offset frame and inertial frame, at specified date
        Since:
        10.2
      • getParamaterIndices

        default Map<String,​Integer> getParamaterIndices​(SpacecraftState[] states,
                                                              List<ParameterDriver> parameterDrivers)
        Create a map of the free parameter values.
        Parameters:
        states - list of ObservableSatellite measurement states
        parameterDrivers - list of all parameter values for the measurement
        Returns:
        map of the free parameter values
        Since:
        14.0
      • computeLocalParametersWithout

        default CommonParametersWithoutDerivatives computeLocalParametersWithout​(SpacecraftState[] states,
                                                                                 ObservableSatellite localSat,
                                                                                 AbsoluteDate measurementDate,
                                                                                 boolean receiverClockOffsetAlreadyApplied)
        Compute common estimation parameters in case where measured object is the receiver of the signal value (e.g. GNSS to ObservableSatellite).
        Parameters:
        states - state(s) of all measured spacecraft
        localSat - satellite whose state is being estimated
        measurementDate - date when measurement was taken
        receiverClockOffsetAlreadyApplied - if true, the specified date is as read by the receiver clock (i.e. clock offset not compensated), if false, the specified date was already compensated and is a physical absolute date
        Returns:
        common parameters
        Since:
        14.0
      • computeLocalParametersWith

        default CommonParametersWithDerivatives computeLocalParametersWith​(SpacecraftState[] states,
                                                                           ObservableSatellite localSat,
                                                                           AbsoluteDate measurementDate,
                                                                           boolean receiverClockOffsetAlreadyApplied,
                                                                           List<ParameterDriver> parameterDrivers)
        Compute common estimation parameters with derivatives when the measured object is the receiver of the signal sent by the Observer.
        Parameters:
        states - state(s) of all measured spacecraft
        localSat - satellite whose state is being estimated
        measurementDate - date when measurement was taken
        receiverClockOffsetAlreadyApplied - if true, the specified date is as read
        parameterDrivers - list of parameter drivers associated with measurement by the receiver clock (i.e. clock offset not compensated), if false, the specified date was already compensated and is a physical absolute date
        Returns:
        common parameters
        Since:
        14.0
      • computeRemoteParametersWithout

        default CommonParametersWithoutDerivatives computeRemoteParametersWithout​(SpacecraftState[] states,
                                                                                  ObservableSatellite localSat,
                                                                                  AbsoluteDate measurementDate,
                                                                                  boolean receiverClockOffsetAlreadyApplied)
        Compute common estimation parameters when remote object is the receiver of the signal (e.g. ObservableSatellite sends signal to measuring ground station).
        Parameters:
        states - state(s) of all measured spacecraft
        localSat - satellite whose state is being estimated
        measurementDate - date when measurement was taken
        receiverClockOffsetAlreadyApplied - if true, the specified date is as read by the receiver clock (i.e. clock offset not compensated), if false, the specified date was already compensated and is a physical absolute date
        Returns:
        common parameters
        Since:
        14.0
      • computeRemoteParametersWith

        default CommonParametersWithDerivatives computeRemoteParametersWith​(SpacecraftState[] states,
                                                                            ObservableSatellite localSat,
                                                                            AbsoluteDate measurementDate,
                                                                            boolean receiverClockOffsetAlreadyApplied,
                                                                            List<ParameterDriver> parameterDrivers)
        Compute common estimation parameters with derivative when remote object is the receiver of the signal.
        Parameters:
        states - state(s) of all measured spacecraft
        localSat - satellite whose state is being estimated
        measurementDate - date when measurement was taken
        receiverClockOffsetAlreadyApplied - if true, the specified date is as read
        parameterDrivers - list of parameter drivers associated with measurement
        Returns:
        common parameters
        Since:
        14.0