ReferenceSystems
The ReferenceSystems submodule contains precision transformations between common standard reference systems.
Currently only Earth-based reference systems are supported.
Most of the transformations are make backend calls to the SOFA C-library functions provide the package SOFA.jl
SatelliteDynamics.ReferenceSystems.rRTNtoECI
— Function.Compute the radial, along-track, cross-track (RTN) rotation matrix. Which, if applied to a position vector in the RTN frame, will transform that vector to beinto the equivalent relative position in the ECI frame.
The RTN frame is also commonly refered to as the local-vertical, local-horizontal (LVLH) frame.
Arguments:
x::Array{<:Real, 1}
: Inertial state (position and velocity) of primary (observing) satellitext::Array{<:Real, 1}
: Inertial state (position and velocity) of the target satellite
Returns:
R_rtn_to_eci::Array{<:Real, 1}
: Rotation matrix transforming from the RTN frame to the ECI frame.
SatelliteDynamics.ReferenceSystems.rECItoRTN
— Function.Compute the Earth-centered inertial to radial, along-track, cross-track (RTN) rotation matrix. Which, if applied to a position vector in the ECI frame, will transform that vector into the equivalent position vector in the RTN frame.
The RTN frame is also commonly refered to as the local-vertical, local-horizontal (LVLH) frame.
Arguments:
x::Array{<:Real, 1}
: Inertial state (position and velocity) of primary (observing) satellitext::Array{<:Real, 1}
: Inertial state (position and velocity) of the target satellite
Returns:
R_eci_to_rtn::Array{<:Real, 1}
: Rotation matrix transforming from the ECI frame to the RTN frame.
SatelliteDynamics.ReferenceSystems.sECItoRTN
— Function.Compute the radial, along-track, cross-track (RTN) coordinates of a target satellite in the primary satellites RTN frame.
The RTN frame is also commonly refered to as the local-vertical, local-horizontal (LVLH) frame.
Arguments:
x::Array{<:Real, 1}
: Inertial state (position and velocity) of primary (observing) satellitext::Array{<:Real, 1}
: Inertial state (position and velocity) of the target satellite
Returns:
rtn::Array{<:Real, 1}
: Position and velocity of the target relative of the observing satellite in the RTN.
SatelliteDynamics.ReferenceSystems.sRTNtoECI
— Function.Compute the Earth-center
The RTN frame is also commonly refered to as the local-vertical, local-horizontal (LVLH) frame.
Arguments:
x::Array{<:Real, 1}
: Inertial state (position and velocity) of primary (observing) satellitext::Array{<:Real, 1}
: Inertial state (position and velocity) of the target satellite
Returns:
rtn::Array{<:Real, 1}
: Position and velocity of the target relative of the observing satellite in the RTN.
Computes the Bias-Precession-Nutation matrix transforming the GCRS to the CIRS intermediate reference frame. This transformation corrects for the bias, precession, and nutation of Celestial Intermediate Origin (CIO) with respect to inertial space.
Arguments:
epc::Epoch
: Epoch of transformation
Returns:
rc2i::Array{<:Real, 2}
: 3x3 Rotation matrix transforming GCRS -> CIRS
Computes the Earth rotation matrix transforming the CIRS to the TIRS intermediate reference frame. This transformation corrects for the Earth rotation.
Arguments:
epc::Epoch
: Epoch of transformation
Returns:
r::Array{<:Real, 2}
: 3x3 Rotation matrix transforming CIRS -> TIRS
SatelliteDynamics.ReferenceSystems.polar_motion
— Function.Computes the Earth rotation matrix transforming the TIRS to the ITRF reference frame.
Arguments
epc::Epoch
: Epoch of transformation
Returns
rpm::Array{<:Real, 2}
: 3x3 Rotation matrix transforming TIRS -> ITRF
SatelliteDynamics.ReferenceSystems.rECItoECEF
— Function.Computes the combined rotation matrix from the inertial to the Earth-fixed reference frame. Applies corrections for bias, precession, nutation, Earth-rotation, and polar motion.
The transformation is accomplished using the IAU 2006/2000A, CIO-based theory using classical angles. The method as described in section 5.5 of the SOFA C transformation cookbook.
Arguments
epc::Epoch
: Epoch of transformation
Returns
r::Array{<:Real, 2}
: 3x3 Rotation matrix transforming GCRF -> ITRF
SatelliteDynamics.ReferenceSystems.rECEFtoECI
— Function.Computes the combined rotation matrix from the Earth-fixed to the inertial reference frame. Applies corrections for bias, precession, nutation, Earth-rotation, and polar motion.
The transformation is accomplished using the IAU 2006/2000A, CIO-based theory using classical angles. The method as described in section 5.5 of the SOFA C transformation cookbook.
Arguments
epc::Epoch
: Epoch of transformation
Returns
r::Array{<:Real, 1}
: 3x3 Rotation matrix transforming ITRF -> GCRF
SatelliteDynamics.ReferenceSystems.sECItoECEF
— Function.Transforms an Earth inertial state into an Earth fixed state
The transformation is accomplished using the IAU 2006/2000A, CIO-based theory using classical angles. The method as described in section 5.5 of the SOFA C transformation cookbook.
Arguments
epc::Epoch
: Epoch of transformationx::Array{<:Real, 1}
: Inertial state (position, velocity) [m; m/s]
Returns
x_ecef::Array{<:Real, 1}
: Earth-fixed state (position, velocity)
SatelliteDynamics.ReferenceSystems.sECEFtoECI
— Function.Transforms an Earth fixed state into an Inertial state
The transformation is accomplished using the IAU 2006/2000A, CIO-based theory using classical angles. The method as described in section 5.5 of the SOFA C transformation cookbook.
Arguments
epc::Epoch
: Epoch of transformationx::Array{<:Real, 1}
: Earth-fixed state (position, velocity) [m; m/s]
Returns
x_ecef::Array{<:Real, 1}
: Inertial state (position, velocity)