Package org.orekit.gnss.attitude
Class GPSBlockIIA
- java.lang.Object
-
- org.orekit.gnss.attitude.GPSBlockIIA
-
- All Implemented Interfaces:
AttitudeProvider
,AttitudeRotationModel
,GNSSAttitudeProvider
,EventDetectorsProvider
,ParameterDriversProvider
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 Summary
Fields Modifier and Type Field Description static double
DEFAULT_YAW_BIAS
Default yaw bias (rad).-
Fields inherited from interface org.orekit.propagation.events.EventDetectorsProvider
DATATION_ACCURACY
-
-
Constructor Summary
Constructors Constructor Description GPSBlockIIA(double yawRate, double yawBias, AbsoluteDate validityStart, AbsoluteDate validityEnd, ExtendedPositionProvider sun, Frame inertialFrame)
Simple constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected TimeStampedAngularCoordinates
correctedYaw(org.orekit.gnss.attitude.GNSSAttitudeContext context)
Select the /** Compute GNSS attitude with midnight/noon yaw turn correction.protected <T extends CalculusFieldElement<T>>
TimeStampedFieldAngularCoordinates<T>correctedYaw(org.orekit.gnss.attitude.GNSSFieldAttitudeContext<T> context)
Compute GNSS attitude with midnight/noon yaw turn correction.<T extends CalculusFieldElement<T>>
FieldAttitude<T>getAttitude(FieldPVCoordinatesProvider<T> pvProv, FieldAbsoluteDate<T> date, Frame frame)
Compute the attitude corresponding to an orbital state.Attitude
getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
Compute the attitude corresponding to an orbital state.static double
getDefaultYawRate(int prnNumber)
Get the default yaw rate for a satellite.protected Frame
getInertialFrame()
Get inertial frame where velocity are computed.protected ExtendedPositionProvider
getSun()
Get provider for Sun position.AbsoluteDate
validityEnd()
Get end of validity for this provider.AbsoluteDate
validityStart()
Get start of validity for this provider.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.orekit.attitudes.AttitudeProvider
getAttitudeRotation, getAttitudeRotation, getAttitudeRotation, getAttitudeRotation, getEventDetectors, getFieldEventDetectors, getParametersDrivers
-
Methods inherited from interface org.orekit.propagation.events.EventDetectorsProvider
getDateDetector, getEventDetectors, getFieldDateDetector, getFieldEventDetectors
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
-
-
-
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 (typicallyGPSBlockIIA.getDefaultYawRate(prnNumber)
)yawBias
- yaw bias to use (rad) (typicallDEFAULT_YAW_BIAS
)validityStart
- start of validity for this providervalidityEnd
- end of validity for this providersun
- provider for Sun positioninertialFrame
- 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
-
validityStart
public AbsoluteDate validityStart()
Get start of validity for this provider.- Specified by:
validityStart
in interfaceGNSSAttitudeProvider
- Returns:
- start of validity for this provider
-
validityEnd
public AbsoluteDate validityEnd()
Get end of validity for this provider.- Specified by:
validityEnd
in interfaceGNSSAttitudeProvider
- Returns:
- end of validity for this provider
-
getAttitude
public Attitude getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame)
Compute the attitude corresponding to an orbital state.- Specified by:
getAttitude
in interfaceAttitudeProvider
- Parameters:
pvProv
- local position-velocity provider around current datedate
- current dateframe
- 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 interfaceAttitudeProvider
- Type Parameters:
T
- type of the field elements- Parameters:
pvProv
- local position-velocity provider around current datedate
- current dateframe
- 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
-
-