T
- the type of the measurementComparable<T>
, ComparableMeasurement
, TimeStamped
AbstractMeasurement
, AngularAzEl
, AngularRaDec
, InterSatellitesRange
, Phase
, PV
, Range
, RangeRate
, TurnAroundRange
public interface ObservedMeasurement<T extends ObservedMeasurement<T>> extends ComparableMeasurement
The most important methods of this interface allow to:
The estimated theoretical values can be modified by registering one or several EstimationModifier
objects. These objects will manage notions
like tropospheric delays, biases, ...
Modifier and Type | Method | Description |
---|---|---|
void |
addModifier(EstimationModifier<T> modifier) |
Add a modifier.
|
EstimatedMeasurement<T> |
estimate(int iteration,
int evaluation,
SpacecraftState[] states) |
Estimate the theoretical value of the measurement.
|
double[] |
getBaseWeight() |
Get the base weight associated with the measurement
|
int |
getDimension() |
Get the dimension of the measurement.
|
List<EstimationModifier<T>> |
getModifiers() |
Get the modifiers that apply to a measurement.
|
List<ParameterDriver> |
getParametersDrivers() |
Get the drivers for this measurement parameters, including its modifiers parameters.
|
List<Integer> |
getPropagatorsIndices() |
Get the indices of the
propagators
related to this measurement. |
double[] |
getTheoreticalStandardDeviation() |
Get the theoretical standard deviation.
|
boolean |
isEnabled() |
Check if a measurement is enabled.
|
void |
setEnabled(boolean enabled) |
Enable or disable a measurement.
|
compareTo, getObservedValue
getDate
void setEnabled(boolean enabled)
Disabling a measurement allow to not consider it at one stage of the orbit determination (for example when it appears to be an outlier as per current estimated covariance).
enabled
- if true the measurement will be enabled,
otherwise it will be disabledboolean isEnabled()
int getDimension()
Dimension is the size of the array containing the value. It will be one for a scalar measurement like a range or range-rate, but 6 for a position-velocity measurement.
double[] getTheoreticalStandardDeviation()
The theoretical standard deviation is a theoretical value used for normalizing the residuals. It acts as a weighting factor to mix appropriately measurements with different units and different accuracy. The value has the same dimension as the measurement itself (i.e. when a residual is divided by this value, it becomes dimensionless).
getBaseWeight()
double[] getBaseWeight()
The base weight is used on residuals already normalized thanks to
getTheoreticalStandardDeviation()
to increase or
decrease relative effect of some measurements with respect to
other measurements. It is a dimensionless value, typically between
0 and 1 (but it can really have any non-negative value).
getTheoreticalStandardDeviation()
,
EstimatedMeasurement.getCurrentWeight()
void addModifier(EstimationModifier<T> modifier) throws OrekitException
The modifiers are applied in the order in which they are added in order to
estimate
the measurement.
modifier
- modifier to addOrekitException
- if there is a conflict between measurement and
modifiers parametersgetModifiers()
List<EstimationModifier<T>> getModifiers()
addModifier(EstimationModifier)
List<ParameterDriver> getParametersDrivers()
List<Integer> getPropagatorsIndices()
propagators
related to this measurement.
The propagators are indexed starting from 0 and ordered according to
the order of the propagators builders
in the orbit determination engine used.
propagators
related to this measurementEstimatedMeasurement<T> estimate(int iteration, int evaluation, SpacecraftState[] states) throws OrekitException
The estimated value is the combination of the raw estimated value and all the modifiers that apply to the measurement.
iteration
- iteration numberevaluation
- evaluations numberstates
- orbital states at measurement dateOrekitException
- if value cannot be computedCopyright © 2002-2018 CS Systèmes d'information. All rights reserved.