Class DynamicOutlierFilter<T extends ObservedMeasurement<T>>

  • Type Parameters:
    T - the type of the measurement
    All Implemented Interfaces:
    EstimationModifier<T>, ParameterDriversProvider

    public class DynamicOutlierFilter<T extends ObservedMeasurement<T>>
    extends OutlierFilter<T>
    Modifier that sets estimated measurement weight to 0 if residual is too far from expected domain. The "dynamic" aspect comes from the fact that the value of sigma can be changed on demand. This is mainly used when searching for outliers in Kalman filters' prediction phase. The value of sigma is then set to the square root of the diagonal of the matrix (H.Ppred.Ht+R) Note that in the case of the Kalman filter we use the "iteration" word to represent the number of measurements processed by the filter so far.
    Since:
    9.2
    Author:
    Luc Maisonobe
    • Constructor Detail

      • DynamicOutlierFilter

        public DynamicOutlierFilter​(int warmup,
                                    double maxSigma)
        Simple constructor.
        Parameters:
        warmup - number of iterations before with filter is not applied
        maxSigma - detection limit for outlier
    • Method Detail

      • getSigma

        public double[] getSigma()
        Get the current value of sigma.
        Returns:
        The current value of sigma
      • setSigma

        public void setSigma​(double[] sigma)
        Set the current value of sigma.
        Parameters:
        sigma - The value of sigma to set
      • modify

        public void modify​(EstimatedMeasurement<T> estimated)
        Apply a modifier to an estimated measurement.
        Parameters:
        estimated - estimated measurement to modify