Hi all,
First of all, I want to say that I am fairly new to filtering, so please let
me know if I am making conceptual mistakes here. I have read through the
old mailing list archives, but I still have a few questions about how I
should go about implementing two filters.
So I am working on setting up Bayes++ to implement the two filters I
mentioned above, an EKF and a UKF. The state of the system I am dealing
with is described in differential form (the specific equations are generated
at runtime):
Xk' = f(Xk) + noise
f in general can be a highly nonlinear function. The measurement model is
linear.
The first filter I first set about implementing is the Unscented Kalman
Filter. Using runge-kutta numerical methods I can accurately do a state
update between measurements (which may be quite far apart), so I
extended Addative_predict_model and overrode f(X) with a method to do the
numerical integration to advance the state a time step, and then just
instantiated an Unscented_filter and passed it this as a predict model. Is
this the correct way to go about implementing an Unscented filter for this
system? It seems to perform well, but I'm hardly a trained eye...
My goal is to next implement the Extended Kalman Filter, but I am a bit
stuck here. Given that f represents the state of my system with respect to
time, I'm not sure how I'd go about finding the derivative with respect to
my state variables (eg to calculate the covariance update.) What I think I
need are update equations of the form here:
http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=85891&userType=inst
("Design
and Implementation of an Extended Kalman Filter for the State Estimation of
a Permanent Magnet Synchronous Motor", the paper basically describes the
situation I'm facing.) I'm not sure how how I would go about extending the
EKF here to use numerical methods for state update and covariance update...
how would you suggest doing this?
Sorry if what I've asked doesn't make sense. Let me know if I should
clarify anything I've written here.
Thanks in advance,
Ben Podgursky
|