Interface Observer
-
- All Known Implementing Classes:
GroundStation,ObserverSatellite
public interface ObserverAbstract interface that contains those methods necessary for both space and ground-based satellite observers.- Since:
- 14.0
- Author:
- Brianna Aubin
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classObserver.ObserverType
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default CommonParametersWithDerivativescomputeLocalParametersWith(SpacecraftState[] states, ObservableSatellite localSat, AbsoluteDate measurementDate, boolean receiverClockOffsetAlreadyApplied, List<ParameterDriver> parameterDrivers)Compute common estimation parameters with derivatives when the measured object is the receiver of the signal sent by the Observer.default CommonParametersWithoutDerivativescomputeLocalParametersWithout(SpacecraftState[] states, ObservableSatellite localSat, AbsoluteDate measurementDate, boolean receiverClockOffsetAlreadyApplied)Compute common estimation parameters in case where measured object is the receiver of the signal value (e.g.default CommonParametersWithDerivativescomputeRemoteParametersWith(SpacecraftState[] states, ObservableSatellite localSat, AbsoluteDate measurementDate, boolean receiverClockOffsetAlreadyApplied, List<ParameterDriver> parameterDrivers)Compute common estimation parameters with derivative when remote object is the receiver of the signal.default CommonParametersWithoutDerivativescomputeRemoteParametersWithout(SpacecraftState[] states, ObservableSatellite localSat, AbsoluteDate measurementDate, boolean receiverClockOffsetAlreadyApplied)Compute common estimation parameters when remote object is the receiver of the signal (e.g.ParameterDrivergetClockOffsetDriver()Get the clock offset driver.FieldPVCoordinatesProvider<Gradient>getFieldPVCoordinatesProvider(int freeParameters, Map<String,Integer> parameterIndices)Return the FieldPVCoordinatesProvider.StringgetName()Get the Observer 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.default FieldTransform<Gradient>getOffsetToInertial(Frame inertial, AbsoluteDate clockDate, int freeParameters, Map<String,Integer> indices)Get the transform between offset frame and inertial frame with derivatives.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.default Map<String,Integer>getParamaterIndices(SpacecraftState[] states, List<ParameterDriver> parameterDrivers)Create a map of the free parameter values.default Vector3DgetPosition(AbsoluteDate date, Frame frame)Return the time-stamped PV coordinates.default TimeStampedPVCoordinatesgetPVCoordinates(AbsoluteDate date, Frame frame)Return the time-stamped PV coordinates.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.
-
-
-
Method Detail
-
getObserverType
Observer.ObserverType getObserverType()
Get the type of object being used in measurement observations.- Returns:
- string value
- Since:
- 14.0
-
getName
String getName()
Get the Observer name.- Returns:
- name for the object
- Since:
- 12.1
-
getClockOffsetDriver
ParameterDriver getClockOffsetDriver()
Get the clock offset driver.- Returns:
- clock offset driver
-
getQuadraticClockModel
QuadraticClockModel getQuadraticClockModel()
Get a quadratic clock model valid at some date.- Returns:
- quadratic clock model
- Since:
- 12.1
-
getQuadraticFieldClock
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
-
getPVCoordinatesProvider
PVCoordinatesProvider getPVCoordinatesProvider()
Return the PVCoordinatesProvider.- Returns:
- pos/vel coordinates provider
- Since:
- 14.0
-
getFieldPVCoordinatesProvider
FieldPVCoordinatesProvider<Gradient> getFieldPVCoordinatesProvider(int freeParameters, Map<String,Integer> parameterIndices)
Return the FieldPVCoordinatesProvider.- 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
- Since:
- 14.0
-
getPosition
default Vector3D getPosition(AbsoluteDate date, Frame frame)
Return the time-stamped PV coordinates.- Parameters:
date- date of output coordinatesframe- desired frame for output coordinates- Returns:
- observer position vector
- Since:
- 14.0
-
getPVCoordinates
default TimeStampedPVCoordinates getPVCoordinates(AbsoluteDate date, Frame frame)
Return the time-stamped PV coordinates.- Parameters:
date- date of output coordinatesframe- desired frame for output coordinates- Returns:
- time-stamped observer pos/vel values
- Since:
- 14.0
-
getOffsetToInertial
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.- 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
default FieldTransform<Gradient> getOffsetToInertial(Frame inertial, AbsoluteDate clockDate, 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.
- Parameters:
inertial- inertial frame to transform toclockDate- 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
- Since:
- 10.2
-
getOffsetToInertial
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.
- 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
- Since:
- 10.2
-
getParamaterIndices
default Map<String,Integer> getParamaterIndices(SpacecraftState[] states, List<ParameterDriver> parameterDrivers)
Create a map of the free parameter values.- Parameters:
states- list of ObservableSatellite measurement statesparameterDrivers- list of all parameter values for the measurement- Returns:
- map of the free parameter values
- Since:
- 14.0
-
computeLocalParametersWithout
default CommonParametersWithoutDerivatives computeLocalParametersWithout(SpacecraftState[] states, ObservableSatellite localSat, AbsoluteDate measurementDate, boolean receiverClockOffsetAlreadyApplied)
Compute common estimation parameters in case where measured object is the receiver of the signal value (e.g. GNSS to ObservableSatellite).- Parameters:
states- state(s) of all measured spacecraftlocalSat- satellite whose state is being estimatedmeasurementDate- date when measurement was takenreceiverClockOffsetAlreadyApplied- if true, the specifieddateis as read by the receiver clock (i.e. clock offset not compensated), if false, the specifieddatewas already compensated and is a physical absolute date- Returns:
- common parameters
- Since:
- 14.0
-
computeLocalParametersWith
default CommonParametersWithDerivatives computeLocalParametersWith(SpacecraftState[] states, ObservableSatellite localSat, AbsoluteDate measurementDate, boolean receiverClockOffsetAlreadyApplied, List<ParameterDriver> parameterDrivers)
Compute common estimation parameters with derivatives when the measured object is the receiver of the signal sent by the Observer.- Parameters:
states- state(s) of all measured spacecraftlocalSat- satellite whose state is being estimatedmeasurementDate- date when measurement was takenreceiverClockOffsetAlreadyApplied- if true, the specifieddateis as readparameterDrivers- list of parameter drivers associated with measurement by the receiver clock (i.e. clock offset not compensated), if false, the specifieddatewas already compensated and is a physical absolute date- Returns:
- common parameters
- Since:
- 14.0
-
computeRemoteParametersWithout
default CommonParametersWithoutDerivatives computeRemoteParametersWithout(SpacecraftState[] states, ObservableSatellite localSat, AbsoluteDate measurementDate, boolean receiverClockOffsetAlreadyApplied)
Compute common estimation parameters when remote object is the receiver of the signal (e.g. ObservableSatellite sends signal to measuring ground station).- Parameters:
states- state(s) of all measured spacecraftlocalSat- satellite whose state is being estimatedmeasurementDate- date when measurement was takenreceiverClockOffsetAlreadyApplied- if true, the specifieddateis as read by the receiver clock (i.e. clock offset not compensated), if false, the specifieddatewas already compensated and is a physical absolute date- Returns:
- common parameters
- Since:
- 14.0
-
computeRemoteParametersWith
default CommonParametersWithDerivatives computeRemoteParametersWith(SpacecraftState[] states, ObservableSatellite localSat, AbsoluteDate measurementDate, boolean receiverClockOffsetAlreadyApplied, List<ParameterDriver> parameterDrivers)
Compute common estimation parameters with derivative when remote object is the receiver of the signal.- Parameters:
states- state(s) of all measured spacecraftlocalSat- satellite whose state is being estimatedmeasurementDate- date when measurement was takenreceiverClockOffsetAlreadyApplied- if true, the specifieddateis as readparameterDrivers- list of parameter drivers associated with measurement- Returns:
- common parameters
- Since:
- 14.0
-
-