HInfinityFilter

Introduction and Overview


Copyright 2014 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]
__init__(dim_x, dim_z, dim_u, gamma)

Create an 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.
P

covariance matrix property

batch_filter(Zs, Rs=None, update_first=False)

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’.
Rs : list-like, optional
optional list of values to use for the measurement error covariance; a value of None in any position will cause the filter to use self.R for that time step.
update_first : bool, optional,
controls whether the order of operations is update followed by predict, or predict followed by update. Default is predict->update.

Returns

means: np.array((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: np.array((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)

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

Parameters

u : np.array
optional control input

Returns

x : numpy.ndarray
State vecto of the prediction.
measurement_of_state(x)

Helper function that converts a state into a measurement.

Parameters

x : np.array
kalman state vector

Returns

z : np.array
measurement corresponding to the given state
predict(u=0)

Predict next position.

Parameters

u : np.array
Optional control vector. If non-zero, it is multiplied by G to create the control input into the system.
residual_of(z)

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

update(Z)

Add a new measurement (Z) to the kalman filter. If Z is None, nothing is changed.

Parameters

Z : np.array
measurement for this update.
x

state vector property