HInfinityFilter¶

Copyright 2015 Roger R Labbe Jr.

FilterPy library. http://github.com/rlabbe/filterpy

Documentation at: https://filterpy.readthedocs.org

Supporting book at: https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python

This is licensed under an MIT license. See the readme.MD file for more information.

class filterpy.hinfinity.HInfinityFilter(dim_x, dim_z, dim_u, gamma)[source]

H-Infinity filter. You are responsible for setting the various state variables to reasonable values; the defaults below will not give you a functional filter.

Parameters: dim_x : int Number of state variables for the Kalman filter. For example, if you are tracking the position and velocity of an object in two dimensions, dim_x would be 4. This is used to set the default size of P, Q, and u dim_z : int Number of of measurement inputs. For example, if the sensor provides you with position in (x, y), dim_z would be 2. dim_u : int Number of control inputs for the Gu part of the prediction step. gamma : float .. warning:: I do not believe this code is correct. DO NOT USE THIS. In particular, note that predict does not update the covariance matrix.
__init__(dim_x, dim_z, dim_u, gamma)[source]

x.__init__(…) initializes x; see help(type(x)) for signature

update(z)[source]

Add a new measurement z to the H-Infinity filter. If z is None, nothing is changed.

Parameters: z : ndarray measurement for this update.
predict(u=0)[source]

Predict next position.

Parameters: u : ndarray Optional control vector. If non-zero, it is multiplied by B to create the control input into the system.
batch_filter(Zs, update_first=False, saver=False)[source]

Batch processes a sequences of measurements.

Parameters: Zs : list-like list of measurements at each time step self.dt Missing measurements must be represented by ‘None’. update_first : bool, default=False, optional, controls whether the order of operations is update followed by predict, or predict followed by update. saver : filterpy.common.Saver, optional filterpy.common.Saver object. If provided, saver.save() will be called after every epoch means: ndarray ((n, dim_x, 1)) array of the state for each time step. Each entry is an np.array. In other words means[k,:] is the state at step k. covariance: ndarray((n, dim_x, dim_x)) array of the covariances for each time step. In other words covariance[k, :, :] is the covariance at step k.
get_prediction(u=0)[source]

Predicts the next state of the filter and returns it. Does not alter the state of the filter.

Parameters: u : ndarray optional control input x : ndarray State vector of the prediction.
residual_of(z)[source]

returns the residual for the given measurement (z). Does not alter the state of the filter.

measurement_of_state(x)[source]

Helper function that converts a state into a measurement.

Parameters: x : ndarray H-Infinity state vector z : ndarray measurement corresponding to the given state
V

measurement noise matrix