dymoesco.estimation package

Submodules

dymoesco.estimation.filters module

The filters module contains the Filter abstract class that is subclassed by specific filters such as KalmanFilter and EKF. Filters implement the predict and update methods which are used to “denoise” noisy state-space trajectories.

class dymoesco.estimation.filters.EKF(f, g, Q_or_ustd, R, eps=1e-10, use_autograd=False)

Bases: dymoesco.estimation.filters.Filter

filter(traj, x0, P0)
predict(x, P, u)
update(x, P, z)
class dymoesco.estimation.filters.Filter

Bases: abc.ABC

An abstract class for enforcing the predict/update filtering API.

The Filter abstract class allows filtering algorithms to be represented and plotted in Python. It is intended as a parent class for a set of subclasses that are used to implement specific structures and operations for different types of dynamical systems.

plot(xs, Ps, ax=None, cov_step=5, color=None, **kwargs)
abstract predict(x, P, u)
abstract update(x, P, z)
class dymoesco.estimation.filters.KalmanFilter(A, B, C, Q, R)

Bases: dymoesco.estimation.filters.Filter

The well-known algorithm for filtering linear dynamical systems.

The KalmanFilter class implements the predict and update abstract methods of Filter for linear dynamical systems

\[\begin{split}x_{k+1} &= Ax_k + Bu_k + v \\ y_k &= Cu_k + w\end{split}\]
Parameters
  • A (numpy matrix or equivalent list of list) – Dynamics matrix from \(x_{k+1}=Ax_k+Bu_k+v\).

  • B (numpy matrix or equivalent list of list) – Control matrix from \(x_{k+1}=Ax_k+Bu_k+v\).

  • C (numpy matrix or equivalent list of list) – Observation matrix from \(y_k=Cu_k\).

  • Q (numpy matrix or equivalent list of list) – Prediction noise covariance matrix for \(v \sim N(0,Q)\).

  • R (numpy matrix or equivalent list of list) – Observation noise covariance matrix for \(w \sim N(0,Q)\).

predict(x, P, u)
update(x, P, z)
class dymoesco.estimation.filters.beaconsEKF(f, g, Q_or_ustd, R, eps=1e-10, use_autograd=False)

Bases: dymoesco.estimation.filters.EKF

update(x, P, z_dct)

Module contents