Convert unconstrained MPC controller to zero/pole/gain form
Use the Model Predictive Control Toolbox™
zpk function to convert an unconstrained MPC controller with defined
sample time to zero/pole/gain form (see
mpc for background). The returned controller is equivalent to the original MPC
MPCobj when no constraints are active. You can then use
Control System Toolbox™ software for sensitivity analysis and other diagnostic
Convert Unconstrained MPC Controller to Zero/Pole/Gain Form
Create a plant, a corresponding MPC object, and convert it to zero/pole/gain form.
mpcverbosity off; % turn off mpc messaging plant=tf(1,[1 1],0.2); % create plant (0.2 seconds sampling time) mpcobj=mpc(plant,0.2); % create mpc object (0.2 second sampling time) kzpk=zpk(mpcobj) % convert to zpk form show the controller's poles and zeroes kzpk = From input "MO1" to output "MV1": 0.45205 z^2 (z-1.5) ----------------------------- (z-1) (z-0.02575) (z+0.02485) Sample time: 0.2 seconds Discrete-time zero/pole/gain model.
The poles are all inside the unit circle, except the one in
The position of this pole , which is due to the fact that the default noise model is an
integrator, causes the controller static gain to approach infinity, in turn allowing
near perfect tracking of the output reference signal.
kzpk — zero/pole/gain form of the unconstrained MPC controller
Zero/pole/gain form of the MPC controller
MPCobj when no
constraint is active. This is also equivalent to
MPCobj is set to use custom state estimation, then
tf returns a static gain feedback matrix from the states of the
augmented discrete-time plant, including previous values of the manipulated variables,
to the manipulated variables.