ExtendedKalmanFilter.process_measurement

giant.ufo.extended_kalman_filter:

ExtendedKalmanFilter.process_measurement(measurement, pre_update_state=None, pre_update_predicted_measurement=None, backwards=False, backwards_index=0)[source]

This does a update step for a new measurement.

The predicted state is used along with the measurement to compute the state update, which is applied. The residuals are also computed. Everything is stored in the appropriate history attributes.

Parameters:
  • measurement (Measurement) – The new measurement to ingest

  • pre_update_state (State | None) – The predicted state at the measurement time. If None then the state will be propagated to the measurement time

  • pre_update_predicted_measurement (Sequence | ndarray | Real | None) – The predicted measurement using the predicted state at the measurement time. If None then the predicted measurement will be generated for you

  • backwards (bool) – A boolean flag indicating if we are doing backwards smoothing. If True then the way we store the results changes.

  • backwards_index (int) – An integer specifying the index into the short history lists where we should insert the results. This is ignored if backwards is not True

Returns:

The applied state update as a numpy array the same length of the state vector (including covariance)

Return type:

ndarray | None