Class ObserverSatellite
- java.lang.Object
-
- org.orekit.estimation.measurements.ObserverSatellite
-
- All Implemented Interfaces:
Observer,ParameterDriversProvider
public class ObserverSatellite extends Object implements Observer
Class that accepts a PVCoordinatesProvider for a space- based measurement receiver.- Since:
- 14.0
- Author:
- Brianna Aubin
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.orekit.estimation.measurements.Observer
Observer.ObserverType
-
-
Field Summary
Fields Modifier and Type Field Description static StringACCELERATION_SUFFIXSuffix for ground clock drift parameters name.static StringDRIFT_SUFFIXSuffix for ground clock drift parameters name.static StringOFFSET_SUFFIXSuffix for ground station position and clock offset parameters names.
-
Constructor Summary
Constructors Constructor Description ObserverSatellite(String name, PVCoordinatesProvider pvCoordsProvider)Simple constructor.ObserverSatellite(String name, PVCoordinatesProvider pvCoordsProvider, QuadraticClockModel quadraticClock)Simple constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddParameterDriver(ParameterDriver parameterDriver)Add a single parameter.protected static QuadraticClockModelcreateEmptyQuadraticClock(String name)Creates an quadratic clock with zero displacement.static FieldPVCoordinatesProvider<Gradient>extractFieldPVCoordinatesProvider(SpacecraftState templateState, TimeStampedFieldPVCoordinates<Gradient> pvCoordinates)Create PV provider from position-velocity-acceleration vector and template state.static PVCoordinatesProviderextractPVCoordinatesProvider(SpacecraftState templateState, TimeStampedPVCoordinates pvCoordinates)Create PV provider from position-velocity-acceleration vector and template state.ParameterDrivergetClockAccelerationDriver()Get the clock acceleration driver.ParameterDrivergetClockDriftDriver()Get the clock drift driver.ParameterDrivergetClockOffsetDriver()Get the clock offset driver.FieldPVCoordinatesProvider<Gradient>getFieldPVCoordinatesProvider(int freeParameters, Map<String,Integer> parameterIndices)Return the FieldPVCoordinatesProvider.StringgetName()Get the MeasurementObject name.Observer.ObserverTypegetObserverType()Get the type of object being used in measurement observations.TransformgetOffsetToInertial(Frame inertial, AbsoluteDate date, boolean clockOffsetAlreadyApplied)Get the transform between offset frame and inertial frame.FieldTransform<Gradient>getOffsetToInertial(Frame inertial, FieldAbsoluteDate<Gradient> offsetCompensatedDate, int freeParameters, Map<String,Integer> indices)Get the transform between offset frame and inertial frame with derivatives.List<ParameterDriver>getParametersDrivers()Get the drivers for parameters.PVCoordinatesProvidergetPVCoordinatesProvider()Return the PVCoordinatesProvider.QuadraticClockModelgetQuadraticClockModel()Get a quadratic clock model valid at some date.QuadraticFieldClockModel<Gradient>getQuadraticFieldClock(int freeParameters, AbsoluteDate date, Map<String,Integer> indices)Get emitting satellite clock 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.estimation.measurements.Observer
computeLocalParametersWith, computeLocalParametersWithout, computeRemoteParametersWith, computeRemoteParametersWithout, getClockOffsetDriver, getName, getOffsetToInertial, getParamaterIndices, getPosition, getPVCoordinates, getQuadraticClockModel, getQuadraticFieldClock
-
Methods inherited from interface org.orekit.utils.ParameterDriversProvider
getNbParametersDriversValue, getParameterDriver, getParameters, getParameters, getParameters, getParameters, getParametersAllValues, getParametersAllValues, isSupported
-
-
-
-
Field Detail
-
OFFSET_SUFFIX
public static final String OFFSET_SUFFIX
Suffix for ground station position and clock offset parameters names.- See Also:
- Constant Field Values
-
DRIFT_SUFFIX
public static final String DRIFT_SUFFIX
Suffix for ground clock drift parameters name.- See Also:
- Constant Field Values
-
ACCELERATION_SUFFIX
public static final String ACCELERATION_SUFFIX
Suffix for ground clock drift parameters name.- Since:
- 12.1
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ObserverSatellite
public ObserverSatellite(String name, PVCoordinatesProvider pvCoordsProvider)
Simple constructor.- Parameters:
name- name of receiverpvCoordsProvider- position/velocity coordinates provider for receiver- Since:
- 14.0
-
ObserverSatellite
public ObserverSatellite(String name, PVCoordinatesProvider pvCoordsProvider, QuadraticClockModel quadraticClock)
Simple constructor.- Parameters:
name- name of receiverpvCoordsProvider- position/velocity coordinates provider for receiverquadraticClock- clock model for receiver- Since:
- 14.0
-
-
Method Detail
-
getObserverType
public final Observer.ObserverType getObserverType()
Get the type of object being used in measurement observations.- Specified by:
getObserverTypein interfaceObserver- Returns:
- string value
-
getPVCoordinatesProvider
public final PVCoordinatesProvider getPVCoordinatesProvider()
Return the PVCoordinatesProvider.- Specified by:
getPVCoordinatesProviderin interfaceObserver- Returns:
- pos/vel coordinates provider
-
getFieldPVCoordinatesProvider
public FieldPVCoordinatesProvider<Gradient> getFieldPVCoordinatesProvider(int freeParameters, Map<String,Integer> parameterIndices)
Return the FieldPVCoordinatesProvider.- Specified by:
getFieldPVCoordinatesProviderin interfaceObserver- Parameters:
freeParameters- number of estimated parametersparameterIndices- indices of the estimated parameters in derivatives computations, must be driver- Returns:
- pos/vel coordinates provider for values with Gradient field
-
getOffsetToInertial
public Transform getOffsetToInertial(Frame inertial, AbsoluteDate date, boolean clockOffsetAlreadyApplied)
Get the transform between offset frame and inertial frame.The offset frame takes the current position offset, polar motion and the meridian shift into account. The frame returned is disconnected from later changes in the parameters. When the
parametersmanaging these offsets are changed, the method must be called again to retrieve a new offset frame.- Specified by:
getOffsetToInertialin interfaceObserver- Parameters:
inertial- inertial frame to transform todate- date of the transformclockOffsetAlreadyApplied- if true, the specifieddateis as read by the ground station clock (i.e. clock offset not compensated), if false, the specifieddatewas already compensated and is a physical absolute date- Returns:
- transform between offset frame and inertial frame, at real measurement date (i.e. with clock, Earth and station offsets applied)
-
getOffsetToInertial
public FieldTransform<Gradient> getOffsetToInertial(Frame inertial, FieldAbsoluteDate<Gradient> offsetCompensatedDate, int freeParameters, Map<String,Integer> indices)
Get the transform between offset frame and inertial frame with derivatives.As the East and North vectors 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.
- Specified by:
getOffsetToInertialin interfaceObserver- Parameters:
inertial- inertial frame to transform tooffsetCompensatedDate- date of the transform, clock offset and its derivatives already compensatedfreeParameters- total number of free parameters in the gradientindices- indices of the estimated parameters in derivatives computations, must be driver span name in map, not driver name or will not give right results (seeParameterDriver.getValue(int, Map))- Returns:
- transform between offset frame and inertial frame, at specified date
-
getName
public final String getName()
Get the MeasurementObject name.- Returns:
- name for the object
- Since:
- 12.1
-
getClockOffsetDriver
public final ParameterDriver getClockOffsetDriver()
Get the clock offset driver.- Returns:
- clock offset driver
-
getClockDriftDriver
public final ParameterDriver getClockDriftDriver()
Get the clock drift driver.- Returns:
- clock drift driver
-
getClockAccelerationDriver
public final ParameterDriver getClockAccelerationDriver()
Get the clock acceleration driver.- Returns:
- clock acceleration driver
-
createEmptyQuadraticClock
protected static QuadraticClockModel createEmptyQuadraticClock(String name)
Creates an quadratic clock with zero displacement.- Parameters:
name- name of object that is holding the clock- Returns:
- new quadratic clock model
-
getQuadraticClockModel
public final QuadraticClockModel getQuadraticClockModel()
Get a quadratic clock model valid at some date.- Returns:
- quadratic clock model
- Since:
- 12.1
-
getQuadraticFieldClock
public QuadraticFieldClockModel<Gradient> getQuadraticFieldClock(int freeParameters, AbsoluteDate date, Map<String,Integer> indices)
Get emitting satellite clock provider.- Parameters:
freeParameters- total number of free parameters in the gradientdate- time of computationsindices- indices of the differentiation parameters in derivatives computations, must be span name and not driver name- Returns:
- emitting satellite clock provider
-
getParametersDrivers
public List<ParameterDriver> getParametersDrivers()
Get the drivers for parameters.- Specified by:
getParametersDriversin interfaceParameterDriversProvider- Returns:
- drivers for parameters
-
addParameterDriver
protected final void addParameterDriver(ParameterDriver parameterDriver)
Add a single parameter.- Parameters:
parameterDriver- parameter being added to the MeasurementObject
-
extractPVCoordinatesProvider
public static PVCoordinatesProvider extractPVCoordinatesProvider(SpacecraftState templateState, TimeStampedPVCoordinates pvCoordinates)
Create PV provider from position-velocity-acceleration vector and template state.- Parameters:
templateState- template statepvCoordinates- position-velocity-acceleration- Returns:
- position-velocity-acceleration provider
- Since:
- 14.0
-
extractFieldPVCoordinatesProvider
public static FieldPVCoordinatesProvider<Gradient> extractFieldPVCoordinatesProvider(SpacecraftState templateState, TimeStampedFieldPVCoordinates<Gradient> pvCoordinates)
Create PV provider from position-velocity-acceleration vector and template state.- Parameters:
templateState- template statepvCoordinates- position-velocity-acceleration- Returns:
- position-velocity-acceleration provider
- Since:
- 14.0
-
-