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.rRTNtoECI
— FunctionCompute the radial, along-track, cross-track (RTN) to Earth-centered inertial rotation matrix. If applied to a position vector in the RTN frame, it will transform that vector to into the equivalent position vector in the ECI frame.
The RTN frame is also commonly refered to as the local-vertical, local-horizontal (LVLH) frame.
Arguments:
x::AbstractVector{<:Real}
: Inertial state (position and velocity) of primary (observing) satellite
Returns:
R_rtn2eci::SMatrix{3,3}
: Rotation matrix transforming from the RTN frame to the ECI frame
SatelliteDynamics.rECItoRTN
— FunctionCompute the Earth-centered inertial to radial, along-track, cross-track (RTN) rotation matrix. If applied to a position vector in the ECI frame, it 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::AbstractVector{<:Real}
: Inertial state (position and velocity) of primary (observing) satellite
Returns:
R_eci2rtn::SMatrix{3,3}
: Rotation matrix transforming from the ECI frame to the RTN frame
SatelliteDynamics.sECItoRTN
— FunctionCompute 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::AbstractVector{<:Real}
: Inertial state (position and velocity) of primary (observing) satellitext::AbstractVector{<:Real}
: Inertial state (position and velocity) of the target satellite
Returns:
xrtn::AbstractVector{<:Real}
: Position and velocity of the target relative of the observing satellite in the RTN.
Arguments:
x::AbstractVector{<:Real}
: Inertial state (position and velocity) of primary (observing) satellitext::SVector{3,<:Real}
: Inertial state (position) of the target satellite
Returns:
xrtn::SVector{3,<:Real}
: Position of the target relative of the observing satellite in the RTN.
Arguments:
x::AbstractVector{<:Real}
: Inertial state (position and velocity) of primary (observing) satellitext::SVector{6,<:Real}
: Inertial state (position and velocity) of the target satellite
Returns:
xrtn::SVector{6,<:Real}
: Position and velocity of the target relative of the observing satellite in the RTN.
SatelliteDynamics.sRTNtoECI
— FunctionCompute the Earth-center
The RTN frame is also commonly refered to as the local-vertical, local-horizontal (LVLH) frame.
Arguments:
x::AbstractVector{<:Real}
: Inertial state (position and velocity) of primary (observing) satellitexrtn::AbstractVector{<:Real}
: Inertial state (position and velocity) of the target satellite
Returns:
xt::AbstractVector{<:Real}
: Position and velocity of the target relative of the observing satellite in the RTN.
Arguments:
x::AbstractVector{<:Real}
: Inertial state (position and velocity) of primary (observing) satellitexrtn::SVector{3,<:Real}
: Inertial state (position) of the target satellite
Returns:
xt::SVector{3,<:Real}
: Position of the target relative of the observing satellite in the RTN.
Arguments:
x::AbstractVector{<:Real}
: Inertial state (position and velocity) of primary (observing) satellitexrtn::SVector{6,<:Real}
: Inertial state (position and velocity) of the target satellite
Returns:
xt::SVector{6,<:Real}
: Position and velocity of the target relative of the observing satellite in the RTN.
SatelliteDynamics.bias_precession_nutation
— FunctionComputes 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::Matrix{<:Real}
: 3x3 Rotation matrix transforming GCRS -> CIRS
SatelliteDynamics.earth_rotation
— FunctionComputes 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::Matrix{<:Real}
: 3x3 Rotation matrix transforming CIRS -> TIRS
SatelliteDynamics.polar_motion
— FunctionComputes the Earth rotation matrix transforming the TIRS to the ITRF reference frame.
Arguments
epc::Epoch
: Epoch of transformation
Returns
rpm::Matrix{<:Real}
: 3x3 Rotation matrix transforming TIRS -> ITRF
SatelliteDynamics.rECItoECEF
— FunctionComputes 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::Matrix{<:Real}
: 3x3 Rotation matrix transforming GCRF -> ITRF
SatelliteDynamics.rECEFtoECI
— FunctionComputes 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::Matrix{<:Real}
: 3x3 Rotation matrix transforming ITRF -> GCRF
SatelliteDynamics.sECItoECEF
— FunctionTransforms 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::AbstractVector{<:Real}
: Inertial state (position, velocity) [m; m/s]
Returns
x_ecef::Vector{<:Real}
: Earth-fixed state (position, velocity)
SatelliteDynamics.sECEFtoECI
— FunctionTransforms 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::AbstractVector{<:Real}
: Earth-fixed state (position, velocity) [m; m/s]
Returns
x_eci::Vector{<:Real}
: Inertial state (position, velocity)