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]¶ Initialize self. See help(type(self)) for accurate 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
- Returns
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
- Returns
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
- Returns
z : ndarray
measurement corresponding to the given state
-
property
V
¶ measurement noise matrix