Connecting a model to a Kalman filter or extended Kalman filter

조회 수: 6 (최근 30일)
Learning
Learning 2022년 11월 5일
댓글: Rajiv Singh 2023년 5월 30일
Hi, how do I connect a model, e.g a polynomial model identified from system identification toolbox to a Kalman filter in Simulink? What are the statetransitionfcn and the measurementfcn? Any example? Thank you!

채택된 답변

Rajiv Singh
Rajiv Singh 2022년 11월 7일
Suppose your starting point is a linear model, SYS, identified using an offline identification routine such as TFEST, SSEST, ARMAX, etc. Follow these steps:
  1. Extract state-space data from the model using the IDSSDATA command, [A,B,C,D,K] = idssdata(SYS)
  2. In the Kalman filter block, check the "Use G and H matrices" checkbox.
  3. In the Kalman filter block, set A, B, C, D matrices. Also set Q = SYS.NoiseVariance, R = N = 0. Also set G = K and H = eye(ny), where ny = size(C,1).
If you are using the identified linear model is an Extended Kalman Filter, Unscented Kalman Filter or a Particle Filter block:
Create a MATLAB function file that returns the state update x(t+1) as a function of the current state x(t) and input u(t) as follows:
%-------------------------------
function dx = stateFcn(x,u,A,B)
% state transition fcn
dx = A*x + B*u;
end
%-------------------------------
Similarly, write a function that returns the output as a function of the current state and input values:
%-------------------------------
function y = measurementFcn(x,u,C,D)
% measurement function
y = C*x + D*u;
end
%-------------------------------
In the block, set the state transition function to stateFcn, and the measurement function to measurementFcn. Make sure these functions are on MATLAB path.
  댓글 수: 2
Learning
Learning 2022년 11월 10일
Thank you for your response! Question: from a block layout standpoint in Simulink, how would it look like? Do I connect the input block as measurements1 in the Extended Kalman filter? Can I just pass the input through a block containing just the ss model and use the output of the ss model as measurement1 in the Extended Kalman filter? In this case what would the measurement function and state transition functions be?
Thank you!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by