Articles : Extended Kalman Filter (EKF) MATLAB Implimentation
full Link : Extended Kalman Filter (EKF) MATLAB Implimentation
Article advantages, Article applications, Article c program, Article Code, Article download, Article extended Kalman Filter, Article implimentation, Article kalman filter, Article LINEAR, Article linear system, Article M.E, Article MATLAB, Article matlab alternate, Article non linear, Article programming,
Extended Kalman Filter (EKF) MATLAB Implimentation
Kalman Filter (KF)
Linear dynamical system (Linear evolution functions)
Extended Kalman Filter (EKF)
Non-linear dynamical system (Non-linear evolution functions)
MATLAB CODE
########################################################################
function [x_next,P_next,x_dgr,P_dgr] = ekf(f,Q,h,y,R,del_f,del_h,x_hat,P_hat);
% Extended Kalman filter
%
% -------------------------------------------------------------------------
%
% State space model is
% X_k+1 = f_k(X_k) + V_k+1 --> state update
% Y_k = h_k(X_k) + W_k --> measurement
%
% V_k+1 zero mean uncorrelated gaussian, cov(V_k) = Q_k
% W_k zero mean uncorrelated gaussian, cov(W_k) = R_k
% V_k & W_j are uncorrelated for every k,j
%
% -------------------------------------------------------------------------
%
% Inputs:
% f = f_k
% Q = Q_k+1
% h = h_k
% y = y_k
% R = R_k
% del_f = gradient of f_k
% del_h = gradient of h_k
% x_hat = current state prediction
% P_hat = current error covariance (predicted)
%
% -------------------------------------------------------------------------
%
% Outputs:
% x_next = next state prediction
% P_next = next error covariance (predicted)
% x_dgr = current state estimate
% P_dgr = current estimated error covariance
%
% -------------------------------------------------------------------------
%
if isa(f,'function_handle') & isa(h,'function_handle') & isa(del_f,'function_handle') & isa(del_h,'function_handle')
y_hat = h(x_hat);
y_tilde = y - y_hat;
t = del_h(x_hat);
tmp = P_hat*t;
M = inv(t'*tmp+R+eps);
K = tmp*M;
p = del_f(x_hat);
x_dgr = x_hat + K* y_tilde;
x_next = f(x_dgr);
P_dgr = P_hat - tmp*K';
P_next = p* P_dgr* p' + Q;
else
error('f, h, del_f, and del_h should be function handles')
return
end
##############################################################################
For more
https://drive.google.com/folderview?id=0B2l8IvcdrC4oMzU3Z2NVXzQ0Y28&usp=sharing
Linear dynamical system (Linear evolution functions)
Extended Kalman Filter (EKF)
Non-linear dynamical system (Non-linear evolution functions)
Consider the following non-linear system:
Assume that we can somehow determine a reference trajectory
Then:
where
For the measurement equation, we have:
We can then apply the standard Kalman filter to the linearized model
How to choose the reference trajectory?
Idea of the extended Kalman filter is to re-linearize the model around the most recent state estimate, i.e.
The Extended Kalman Filter (EKF) has become a standard technique used in a number of
# nonlinear estimation and
# machine learning applications
#State estimation
#estimating the state of a nonlinear dynamic system
#Parameter estimation
#estimating parameters for nonlinear system identification
#e.g., learning the weights of a neural network
#dual estimation
#both states and parameters are estimated simultaneously
#e.g., the Expectation Maximization (EM) algorithm
MATLAB CODE
########################################################################
function [x_next,P_next,x_dgr,P_dgr] = ekf(f,Q,h,y,R,del_f,del_h,x_hat,P_hat);
% Extended Kalman filter
%
% -------------------------------------------------------------------------
%
% State space model is
% X_k+1 = f_k(X_k) + V_k+1 --> state update
% Y_k = h_k(X_k) + W_k --> measurement
%
% V_k+1 zero mean uncorrelated gaussian, cov(V_k) = Q_k
% W_k zero mean uncorrelated gaussian, cov(W_k) = R_k
% V_k & W_j are uncorrelated for every k,j
%
% -------------------------------------------------------------------------
%
% Inputs:
% f = f_k
% Q = Q_k+1
% h = h_k
% y = y_k
% R = R_k
% del_f = gradient of f_k
% del_h = gradient of h_k
% x_hat = current state prediction
% P_hat = current error covariance (predicted)
%
% -------------------------------------------------------------------------
%
% Outputs:
% x_next = next state prediction
% P_next = next error covariance (predicted)
% x_dgr = current state estimate
% P_dgr = current estimated error covariance
%
% -------------------------------------------------------------------------
%
if isa(f,'function_handle') & isa(h,'function_handle') & isa(del_f,'function_handle') & isa(del_h,'function_handle')
y_hat = h(x_hat);
y_tilde = y - y_hat;
t = del_h(x_hat);
tmp = P_hat*t;
M = inv(t'*tmp+R+eps);
K = tmp*M;
p = del_f(x_hat);
x_dgr = x_hat + K* y_tilde;
x_next = f(x_dgr);
P_dgr = P_hat - tmp*K';
P_next = p* P_dgr* p' + Q;
else
error('f, h, del_f, and del_h should be function handles')
return
end
##############################################################################
For more
https://drive.google.com/folderview?id=0B2l8IvcdrC4oMzU3Z2NVXzQ0Y28&usp=sharing
Articles Extended Kalman Filter (EKF) MATLAB Implimentation has been discussed
A few gadget information Extended Kalman Filter (EKF) MATLAB Implimentation, hopefully can provide benefits to you all.
You're reading an article Extended Kalman Filter (EKF) MATLAB Implimentation and this article url is https://androidtabletgadgets.blogspot.com/2014/08/extended-kalman-filter-ekf-matlab.html?m=1 you can bookmark , Hopefully this article could be useful and do not forget to always to this blog to find information on gadget.
Tag : advantages, applications, c program, Code, download, extended Kalman Filter, implimentation, kalman filter, LINEAR, linear system, M.E, MATLAB, matlab alternate, non linear, programming,




0 komentar:
Posting Komentar