Class MerweUnscentedTransform

  • All Implemented Interfaces:
    UnscentedTransformProvider

    public class MerweUnscentedTransform
    extends AbstractUnscentedTransform
    Unscented transform as defined by Merwe and Wan.

    The unscented transform uses three parameters: alpha, beta and kappa. Alpha determines the spread of the sigma points around the process state, kappa is a secondary scaling parameter, and beta is used to incorporate prior knowledge of the distribution of the process state.

    Since:
    2.2
    See Also:
    "E. A. Wan and R. Van der Merwe, The unscented Kalman filter for nonlinear estimation, in Proc. Symp. Adaptive Syst. Signal Process., Commun. Contr., Lake Louise, AB, Canada, Oct. 2000."
    • Field Detail

      • DEFAULT_ALPHA

        public static final double DEFAULT_ALPHA
        Default value for alpha (0.5, see reference).
        See Also:
        Constant Field Values
      • DEFAULT_BETA

        public static final double DEFAULT_BETA
        Default value for beta (2.0, see reference).
        See Also:
        Constant Field Values
      • DEFAULT_KAPPA

        public static final double DEFAULT_KAPPA
        Default value for kappa, (0.0, see reference).
        See Also:
        Constant Field Values
    • Constructor Detail

      • MerweUnscentedTransform

        public MerweUnscentedTransform​(int stateDim,
                                       double alpha,
                                       double beta,
                                       double kappa)
        Simple constructor.
        Parameters:
        stateDim - the dimension of the state
        alpha - scaling control parameter (determines the spread of the sigma points around the process state)
        beta - free parameter (used to incorporate prior knowledge of the distribution of the process state)
        kappa - secondary scaling factor (usually set to 0.0)
    • Method Detail

      • getWc

        public RealVector getWc()
        Get the covariance weights.
        Returns:
        the covariance weights
      • getWm

        public RealVector getWm()
        Get the mean weights.
        Returns:
        the mean weights
      • getMultiplicationFactor

        protected double getMultiplicationFactor()
        Get the factor applied to the covariance matrix during the unscented transform.
        Specified by:
        getMultiplicationFactor in class AbstractUnscentedTransform
        Returns:
        the factor applied to the covariance matrix during the unscented transform