Class GPSBlockIIA

  • All Implemented Interfaces:
    AttitudeProvider, GNSSAttitudeProvider, EventDetectorsProvider

    public class GPSBlockIIA
    extends Object
    Attitude providers for GPS block IIA navigation satellites.

    This class is based on the May 2017 version of J. Kouba eclips.f subroutine available at IGS Analysis Center Coordinator site. The eclips.f code itself is not used ; its hard-coded data are used and its low level models are used, but the structure of the code and the API have been completely rewritten.

    Since:
    9.2
    Author:
    J. Kouba original fortran routine, Luc Maisonobe Java translation
    • Field Detail

      • DEFAULT_YAW_BIAS

        public static final double DEFAULT_YAW_BIAS
        Default yaw bias (rad).
    • Constructor Detail

      • GPSBlockIIA

        public GPSBlockIIA​(double yawRate,
                           double yawBias,
                           AbsoluteDate validityStart,
                           AbsoluteDate validityEnd,
                           ExtendedPositionProvider sun,
                           Frame inertialFrame)
        Simple constructor.
        Parameters:
        yawRate - yaw rate to use in radians per seconds (typically GPSBlockIIA.getDefaultYawRate(prnNumber))
        yawBias - yaw bias to use (rad) (typicall DEFAULT_YAW_BIAS)
        validityStart - start of validity for this provider
        validityEnd - end of validity for this provider
        sun - provider for Sun position
        inertialFrame - inertial frame where velocity are computed
        Since:
        9.3
    • Method Detail

      • getDefaultYawRate

        public static double getDefaultYawRate​(int prnNumber)
        Get the default yaw rate for a satellite.
        Parameters:
        prnNumber - satellite PRN
        Returns:
        default yaw rate for the specified satellite
        Since:
        10.0
      • correctedYaw

        protected TimeStampedAngularCoordinates correctedYaw​(org.orekit.gnss.attitude.GNSSAttitudeContext context)
        Select the /** Compute GNSS attitude with midnight/noon yaw turn correction.
        Parameters:
        context - context data for attitude computation
        Returns:
        corrected yaw, using inertial frame as the reference
      • correctedYaw

        protected <T extends CalculusFieldElement<T>> TimeStampedFieldAngularCoordinates<T> correctedYaw​(org.orekit.gnss.attitude.GNSSFieldAttitudeContext<T> context)
        Compute GNSS attitude with midnight/noon yaw turn correction.
        Type Parameters:
        T - type of the field elements
        Parameters:
        context - context data for attitude computation
        Returns:
        corrected yaw, using inertial frame as the reference
      • getAttitude

        public Attitude getAttitude​(PVCoordinatesProvider pvProv,
                                    AbsoluteDate date,
                                    Frame frame)
        Compute the attitude corresponding to an orbital state.
        Specified by:
        getAttitude in interface AttitudeProvider
        Parameters:
        pvProv - local position-velocity provider around current date
        date - current date
        frame - reference frame from which attitude is computed
        Returns:
        attitude on the specified date and position-velocity state
      • getAttitude

        public <T extends CalculusFieldElement<T>> FieldAttitude<T> getAttitude​(FieldPVCoordinatesProvider<T> pvProv,
                                                                                FieldAbsoluteDate<T> date,
                                                                                Frame frame)
        Compute the attitude corresponding to an orbital state.
        Specified by:
        getAttitude in interface AttitudeProvider
        Type Parameters:
        T - type of the field elements
        Parameters:
        pvProv - local position-velocity provider around current date
        date - current date
        frame - reference frame from which attitude is computed
        Returns:
        attitude on the specified date and position-velocity state
      • getSun

        protected ExtendedPositionProvider getSun()
        Get provider for Sun position.
        Returns:
        provider for Sun position
        Since:
        12.0
      • getInertialFrame

        protected Frame getInertialFrame()
        Get inertial frame where velocity are computed.
        Returns:
        inertial frame where velocity are computed