MPC with low pass filter

139 views
Skip to first unread message

mohsen fe

unread,
Apr 24, 2017, 3:54:50 AM4/24/17
to YALMIP
Good Morning

In Matlab Simulink , i control a stable plant with MPC and i use exact model of plant for controller,
i suppose that some noise adds to the plant output  ,

when i use low pass filter after plant output and use the filtered signal for the controller it cause the closed loop output to be unstable,
but in another way i subtract plant output from model output and filter this signal with the same low pass filter then
again i plus the filtered signal with model output to get plant output without noise for the controller,

in this condition the closed loop output is stable and makes me confused why now is stable ? we can use this filtering in MPC ?
i have search and read about Internal Model Control (IMC) but i'm not sure about this way of filtering , does anyone knows about this filtering in MPC ?

Best regards

Johan Löfberg

unread,
Apr 24, 2017, 3:58:25 AM4/24/17
to YALMIP
Well, your first filter is a simple low-pass and will add a lot of lag if you filter hard, while the second is model-based and might be able to introduce less lag and thus perform better. No too surprising.

mohsen fe

unread,
Apr 24, 2017, 5:36:05 AM4/24/17
to YALMIP
Thank u for your helping , now i got that this topic is named model-based filtering ,
but should i consider important parameters in designing simple low-pass in this way of filtering too ? like bandwidth of filter ?
because i've read that at least bandwidth of filter should be grater than 10 times of natural frequencies of the system , but my system is sensitive to noise and
i can not do this rule

Johan Löfberg

unread,
Apr 24, 2017, 7:19:53 AM4/24/17
to YALMIP
I don't know if there is any particular name to this approach, it's just a fact. It uses the model, hence model-based

Perhaps you should read up on standard model-based filtering (i.e., observers, with kalman filters being a special case)

mohsen fe

unread,
Apr 24, 2017, 9:05:48 AM4/24/17
to YALMIP
Thanks for your response, I will do your suggestion , but one important thing for me is bandwidth of filter because my system is sensitive to noise ,

i've heard that at least bandwidth of filter should be 10 times grater than natural frequencies of the system , is it true ? or bandwidth is optional ?


Johan Löfberg

unread,
Apr 24, 2017, 9:35:09 AM4/24/17
to YALMIP
Impossible to state such a rule. What if the measurement error has a narrow frequency-range far below the desired closed-loop bandwidth...Sure, for a simple low-pass of measurements and simple dynamics perhaps, but such a hard rule will not work in every case

mohsen fe

unread,
Apr 26, 2017, 2:29:53 AM4/26/17
to YALMIP
Thanks for your response ,

i'm thinking that when i use this model-based filtering , should i consider this filter in stability proof ?
i have
stability proof for my system in the form of solving LMI in Lyapunov theory and noise itself makes error in the the prediction and system output will not be unstable but goes up and down near reference . i use this model-based filtering to reduce noise impact on the system and tracking will be good ,
should i consider this filter in stability proof ?


Johan Löfberg

unread,
Apr 26, 2017, 2:32:06 AM4/26/17
to YALMIP
Of course. If you want to prove stability of something, you must prove it for the setup you have. What value would the proof have otherwise?

mohsen fe

unread,
Apr 26, 2017, 5:03:56 AM4/26/17
to YALMIP
i don't know how involve this model-based filtering in to stability proof, in my MPC rule i use down part  for finding P (Lyapunov) to make the error vector to be decreasing to get to zero , { A1 ,A2, B1, B2 is for model and i use plant output in error vector} , how can i do this ?

P = sdpvar(size(A1,1),size(A1,2));
    alpha= sdpvar(1,1);
    Pr1=[P P*(A1+B1*Kt_mpc);(A1+B1*Kt_mpc)'*P P-alpha*eye(size(A1,1))];
    F1=[Pr1>=0,P>=0,alpha>=0];
    option=sdpsettings('solver','mosek','showprogress',0,'warning',0);
    optimize(F1,-alpha,option);

Johan Löfberg

unread,
Apr 26, 2017, 5:06:24 AM4/26/17
to YALMIP
If your question is " I currently use the classical idea of terminal cost + terminal constraint based on LQ nominal controller, and how can I extend this theory to filtered states", I have absolutely no idea. Stability analysis/synthesis beyond standard cases is not simple.

Johan Löfberg

unread,
Apr 26, 2017, 5:08:16 AM4/26/17
to YALMIP
although I don't see why the terminal cost you use would prove stability as it isn't connected to the stage-cost of the model.
Message has been deleted

Johan Löfberg

unread,
Apr 26, 2017, 5:33:46 AM4/26/17
to YALMIP
Are you saying this is your control law. Not sure I would call it an MPC controller. Anyway, good luck trying to prove stability of that setup...
Message has been deleted

mohsen fe

unread,
Apr 26, 2017, 7:30:43 AM4/26/17
to YALMIP
I should apologize for getting your valuable time ,

i think that if we filter deference of model output and plant output , we don't filtering system's states so we do not need to import filter in equations...
in the case of exact modeling , we import plant output with delay into the controller so we need to hard changing in equations ?
and also in case of uncertainty ? because we can consider polytope vertices that contains both model and plant ...

thanks for your helping

Johan Löfberg

unread,
Apr 26, 2017, 7:32:21 AM4/26/17
to YALMIP
This is beyond YALMIP so I have nothing to add. You should have this discussion with your supervisor
Reply all
Reply to author
Forward
0 new messages