public class StateCovariance extends Object implements TimeStamped
Currently, the covariance only represents the orbital elements.
It is possible to change the covariance frame by using the
changeCovarianceFrame(Orbit, Frame)
or changeCovarianceFrame(Orbit, LOFType)
method.
These methods are based on Equations (18) and (20) of Covariance Transformations for Satellite
Flight Dynamics Operations by David A. SVallado.
Finally, covariance orbit type can be changed using the
changeCovarianceType(Orbit, OrbitType, PositionAngle)
method.
Constructor and Description |
---|
StateCovariance(RealMatrix orbitalCovariance,
AbsoluteDate epoch,
Frame covarianceFrame,
OrbitType orbitType,
PositionAngle angleType)
Constructor.
|
StateCovariance(RealMatrix orbitalCovariance,
AbsoluteDate epoch,
LOFType lofType)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
StateCovariance |
changeCovarianceFrame(Orbit orbit,
Frame frameOut)
Get the covariance in the output frame.
|
StateCovariance |
changeCovarianceFrame(Orbit orbit,
LOFType lofOut)
Get the covariance in a given local orbital frame.
|
StateCovariance |
changeCovarianceType(Orbit orbit,
OrbitType outOrbitType,
PositionAngle outAngleType)
Get the covariance matrix in another orbit type.
|
AbsoluteDate |
getDate()
Get the date.
|
Frame |
getFrame()
Get the covariance frame.
|
LOFType |
getLOFType()
Get the covariance LOF type.
|
RealMatrix |
getMatrix()
Get the covariance matrix.
|
OrbitType |
getOrbitType()
Get the covariance orbit type.
|
PositionAngle |
getPositionAngle()
Get the covariance angle type.
|
StateCovariance |
shiftedBy(Orbit orbit,
double dt)
Get a time-shifted covariance matrix.
|
public StateCovariance(RealMatrix orbitalCovariance, AbsoluteDate epoch, LOFType lofType)
orbitalCovariance
- 6x6 orbital parameters covarianceepoch
- epoch of the covariancelofType
- covariance LOF typepublic StateCovariance(RealMatrix orbitalCovariance, AbsoluteDate epoch, Frame covarianceFrame, OrbitType orbitType, PositionAngle angleType)
orbitalCovariance
- 6x6 orbital parameters covarianceepoch
- epoch of the covariancecovarianceFrame
- covariance frame (inertial or Earth fixed)orbitType
- orbit type of the covariance (CARTESIAN if covarianceFrame is not pseudo-inertial)angleType
- position angle type of the covariance (not used if orbitType is CARTESIAN)public AbsoluteDate getDate()
getDate
in interface TimeStamped
public RealMatrix getMatrix()
public OrbitType getOrbitType()
public PositionAngle getPositionAngle()
public Frame getFrame()
getLOFType()
public LOFType getLOFType()
getFrame()
public StateCovariance changeCovarianceType(Orbit orbit, OrbitType outOrbitType, PositionAngle outAngleType)
The covariance orbit type cannot be changed if the covariance
matrix is expressed in a local orbital frame
or a
non-pseudo inertial frame.
orbit
- orbit to which the covariance matrix should correspondoutOrbitType
- target orbit type of the state covariance matrixoutAngleType
- target position angle type of the state covariance matrixchangeCovarianceFrame(Orbit, Frame)
public StateCovariance changeCovarianceFrame(Orbit orbit, LOFType lofOut)
orbit
- orbit to which the covariance matrix should correspondlofOut
- output local orbital framepublic StateCovariance changeCovarianceFrame(Orbit orbit, Frame frameOut)
orbit
- orbit to which the covariance matrix should correspondframeOut
- output framepublic StateCovariance shiftedBy(Orbit orbit, double dt)
The shifting model is a Keplerian one. In other words, the state transition matrix is computed supposing Keplerian motion.
Shifting is not intended as a replacement for proper covariance propagation, but should be sufficient for small time shifts or coarse accuracy.
orbit
- orbit to which the covariance matrix should corresponddt
- time shift in secondsCopyright © 2002-2022 CS GROUP. All rights reserved.