Class AbstractMeasurementBuilder<T extends ObservedMeasurement<T>>

    • 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 measurements
        sigma - theoretical standard deviation
        baseWeight - base weight
        satellites - 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 measurements
        sigma - theoretical standard deviation
        baseWeight - base weight
        satellites - 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 interface MeasurementBuilder<T extends ObservedMeasurement<T>>
        Parameters:
        start - start of the measurements time span
        end - end of the measurements time span
      • 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 measurement

        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).

        Returns:
        base weight
        See Also:
        getTheoreticalStandardDeviation()
      • buildObserved

        protected abstract T buildObserved​(AbsoluteDate date,
                                           Map<ObservableSatellite,​OrekitStepInterpolator> interpolators)
        Build a dummy observed measurement.
        Parameters:
        date - measurement date
        interpolators - interpolators relevant for this builder
        Returns:
        dummy observed measurement
        Since:
        13.0