Extended Kalman Filter state transition parameters
    10 views (last 30 days)
  
       Show older comments
    
    Eduardo
 on 27 Jan 2023
  
    
    
    
    
    Answered: Emmanouil Tzorakoleftherakis
    
 on 27 Jan 2023
            As a follow up to this question, I am wondering how to correctly input a vector of additional parameters to an EKF block.
The state transition function is a wrapper of the state function used for a NLMPC. 
Similar to the following example: Swing-Up Control of a Pendulum. My state function works using additional parameters like the "Ts" used in the example. In my case, however, the additional parameters are some signals U from my plant plus 37 predefined parameters in the base workspace.
This parameters are given as a vector "p".
For now I have tried using a mux:
 
 The simulation fails during compilation with the following error:

The function used as a wrapper looks as follows:
function xk1 = stateFcnEKF_mixBufRd_wrapper(xk, u)
% Wrapper function for the State function used by the Extended Kalman Filter block.
%
%
%           u = [signal1 signal2 signal3 signal4 p] 
%
% Outputs:
%           xk1: Updated state values based on xk and uk
uk = [u(1) u(2) u(3) u(4)];
p = u(5);  % <----- vector of 37 parameters defined in base workspace
xk1 = stateFcnDT0_mixBufRd(xk, uk, p);  % <----- function used in NLMPC
Any ideas how the configuration of blocks should look like?
I have tried using IC and signal description blocks but I am not sure of the correct input definition.
0 Comments
Accepted Answer
More Answers (1)
  Emmanouil Tzorakoleftherakis
    
 on 27 Jan 2023
        Glad you figured it out. By the way, this example shows the general workflow of using NLMPC + EKF with additional parameters
0 Comments
See Also
Categories
				Find more on Linear Plant Specification in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
