Class AbstractMeasurementBuilder<T extends ObservedMeasurement<T>>
- java.lang.Object
-
- org.orekit.estimation.measurements.generation.AbstractMeasurementBuilder<T>
-
- Type Parameters:
T
- the type of the measurement
- All Implemented Interfaces:
MeasurementBuilder<T>
- Direct Known Subclasses:
AngularAzElBuilder
,AngularRaDecBuilder
,BistaticRangeBuilder
,BistaticRangeRateBuilder
,FDOABuilder
,InterSatellitesOneWayRangeRateBuilder
,InterSatellitesPhaseBuilder
,InterSatellitesRangeBuilder
,OneWayGNSSPhaseBuilder
,OneWayGNSSRangeBuilder
,OneWayGNSSRangeRateBuilder
,PhaseBuilder
,PositionBuilder
,PVBuilder
,RangeBuilder
,RangeRateBuilder
,TDOABuilder
,TurnAroundRangeBuilder
public abstract class AbstractMeasurementBuilder<T extends ObservedMeasurement<T>> extends Object implements MeasurementBuilder<T>
Base class formeasurements builders
.- Since:
- 9.3
- Author:
- Luc Maisonobe
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractMeasurementBuilder(CorrelatedRandomVectorGenerator noiseSource, double[] sigma, double[] baseWeight, ObservableSatellite... satellites)
Simple constructor.protected
AbstractMeasurementBuilder(CorrelatedRandomVectorGenerator noiseSource, double sigma, double baseWeight, ObservableSatellite... satellites)
Simple constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addModifier(EstimationModifier<T> modifier)
Add a modifier.EstimatedMeasurementBase<T>
build(AbsoluteDate date, Map<ObservableSatellite,OrekitStepInterpolator> interpolators)
Generate a single measurement.protected abstract T
buildObserved(AbsoluteDate date, Map<ObservableSatellite,OrekitStepInterpolator> interpolators)
Build a dummy observed measurement.protected double[]
getBaseWeight()
Get the base weight associated with the measurementprotected AbsoluteDate
getEnd()
Get the end of the measurements time span.List<EstimationModifier<T>>
getModifiers()
Get the modifiers that apply to a measurement.protected double[]
getNoise()
Generate a noise vector.ObservableSatellite[]
getSatellites()
Get the satellites related to this measurement.protected AbsoluteDate
getStart()
Get the start of the measurements time span.protected double[]
getTheoreticalStandardDeviation()
Get the theoretical standard deviation.void
init(AbsoluteDate start, AbsoluteDate end)
Initialize builder at the start of a measurements generation.-
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.generation.MeasurementBuilder
build
-
-
-
-
Constructor Detail
-
AbstractMeasurementBuilder
protected AbstractMeasurementBuilder(CorrelatedRandomVectorGenerator noiseSource, double sigma, double baseWeight, ObservableSatellite... satellites)
Simple constructor.- Parameters:
noiseSource
- noise source, may be null for generating perfect measurementssigma
- theoretical standard deviationbaseWeight
- base weightsatellites
- satellites related to this builder
-
AbstractMeasurementBuilder
protected AbstractMeasurementBuilder(CorrelatedRandomVectorGenerator noiseSource, double[] sigma, double[] baseWeight, ObservableSatellite... satellites)
Simple constructor.- Parameters:
noiseSource
- noise source, may be null for generating perfect measurementssigma
- theoretical standard deviationbaseWeight
- base weightsatellites
- satellites related to this builder
-
-
Method Detail
-
init
public void init(AbsoluteDate start, AbsoluteDate end)
Initialize builder at the start of a measurements generation.This method is called once at the start of the measurements generation. It may be used by the builder to initialize some internal data if needed, typically setting up parameters reference dates.
This implementation stores the time span of the measurements generation.
- Specified by:
init
in interfaceMeasurementBuilder<T extends ObservedMeasurement<T>>
- Parameters:
start
- start of the measurements time spanend
- end of the measurements time span
-
addModifier
public void addModifier(EstimationModifier<T> modifier)
Add a modifier.- Specified by:
addModifier
in interfaceMeasurementBuilder<T extends ObservedMeasurement<T>>
- Parameters:
modifier
- modifier to add
-
getModifiers
public List<EstimationModifier<T>> getModifiers()
Get the modifiers that apply to a measurement.- Specified by:
getModifiers
in interfaceMeasurementBuilder<T extends ObservedMeasurement<T>>
- Returns:
- modifiers that apply to a measurement
- See Also:
MeasurementBuilder.addModifier(EstimationModifier)
-
getStart
protected AbsoluteDate getStart()
Get the start of the measurements time span.- Returns:
- start of the measurements time span
-
getEnd
protected AbsoluteDate getEnd()
Get the end of the measurements time span.- Returns:
- end of the measurements time span
-
getNoise
protected double[] getNoise()
Generate a noise vector.- Returns:
- noise vector (null if we generate perfect measurements)
-
getTheoreticalStandardDeviation
protected double[] getTheoreticalStandardDeviation()
Get the theoretical standard deviation.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).
- Returns:
- expected standard deviation
- See Also:
getBaseWeight()
-
getBaseWeight
protected double[] getBaseWeight()
Get the base weight associated with the measurementThe 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).- Returns:
- base weight
- See Also:
getTheoreticalStandardDeviation()
-
getSatellites
public ObservableSatellite[] getSatellites()
Get the satellites related to this measurement.- Specified by:
getSatellites
in interfaceMeasurementBuilder<T extends ObservedMeasurement<T>>
- Returns:
- satellites related to this measurement
-
buildObserved
protected abstract T buildObserved(AbsoluteDate date, Map<ObservableSatellite,OrekitStepInterpolator> interpolators)
Build a dummy observed measurement.- Parameters:
date
- measurement dateinterpolators
- interpolators relevant for this builder- Returns:
- dummy observed measurement
- Since:
- 13.0
-
build
public EstimatedMeasurementBase<T> build(AbsoluteDate date, Map<ObservableSatellite,OrekitStepInterpolator> interpolators)
Generate a single measurement.- Specified by:
build
in interfaceMeasurementBuilder<T extends ObservedMeasurement<T>>
- Parameters:
date
- measurement dateinterpolators
- interpolators relevant for this builder- Returns:
- generated measurement
-
-