public class GroundStation extends Object
This class adds a position offset parameter to a base topocentric frame
.
Modifier and Type | Class and Description |
---|---|
static class |
GroundStation.OffsetDerivatives
Container for offset frame defining vectors with derivatives.
|
Modifier and Type | Field and Description |
---|---|
static String |
OFFSET_SUFFIX
Suffix for ground station position offset parameter name.
|
Constructor and Description |
---|
GroundStation(TopocentricFrame baseFrame)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
double |
downlinkTimeOfFlight(SpacecraftState state,
AbsoluteDate groundArrivalDate)
Compute propagation delay on the downlink leg.
|
TopocentricFrame |
getBaseFrame()
Get the base frame associated with the station.
|
ParameterDriver |
getEastOffsetDriver()
Get a driver allowing to change station position along East axis.
|
ParameterDriver |
getNorthOffsetDriver()
Get a driver allowing to change station position along North axis.
|
GroundStation.OffsetDerivatives |
getOffsetDerivatives(int parameters,
int eastOffsetIndex,
int northOffsetIndex,
int zenithOffsetIndex)
Get the offset frame defining vectors with derivatives.
|
TopocentricFrame |
getOffsetFrame()
Get the offset frame associated with the station.
|
ParameterDriver |
getZenithOffsetDriver()
Get a driver allowing to change station position along Zenith axis.
|
double |
uplinkTimeOfFlight(SpacecraftState state)
Compute propagation delay on the uplink leg.
|
public static final String OFFSET_SUFFIX
public GroundStation(TopocentricFrame baseFrame) throws OrekitException
baseFrame
- base frame associated with the stationOrekitException
- if some frame transforms cannot be computedpublic ParameterDriver getEastOffsetDriver()
public ParameterDriver getNorthOffsetDriver()
public ParameterDriver getZenithOffsetDriver()
public TopocentricFrame getBaseFrame()
The base frame corresponds to a null position offset
public TopocentricFrame getOffsetFrame() throws OrekitException
The offset frame takes the position offset into account
OrekitException
- if offset frame cannot be computed for current offset valuespublic double downlinkTimeOfFlight(SpacecraftState state, AbsoluteDate groundArrivalDate) throws OrekitException
state
- of the spacecraft, close to reception dategroundArrivalDate
- date at which the associated measurement
is received on groundOrekitException
- if some frame transforms failspublic double uplinkTimeOfFlight(SpacecraftState state) throws OrekitException
state
- of the spacecraft at signal transit date on boardOrekitException
- if some frame transforms failspublic GroundStation.OffsetDerivatives getOffsetDerivatives(int parameters, int eastOffsetIndex, int northOffsetIndex, int zenithOffsetIndex) throws OrekitException
Note that this method works only if the ground station is defined on
an ellipsoid
body. For any other body shape,
the method will throw an exception.
As the East and North vector are not well defined at pole, the derivatives of these two vectors diverge to infinity as we get closer to the pole. So this method should not be used for stations less than 0.0001 degree from either poles.
parameters
- number of free parameters in derivatives computationseastOffsetIndex
- index of the East offset in the set of
free parameters in derivatives computationsnorthOffsetIndex
- index of the North offset in the set of
free parameters in derivatives computationszenithOffsetIndex
- index of the Zenith offset in the set of
free parameters in derivatives computationsOrekitException
- if some frame transforms cannot be computed
or if the ground station is not defined on a ellipsoid
.Copyright © 2002-2016 CS Systèmes d'information. All rights reserved.