


FPID_OPTIMIZE_SIM Simulate a fractional PID based control system using Simulink.
Usage: Y = FPID_OPTIMIZE_SIM(FRPID, LTIMODEL, SOPT)
where
FRPID - fractional-order PID controller parameters such that
FRPID = [Kp; Ki; lambda; Kd; mu],
LTIMODEL - model of the controlled plant,
SOPT - an options data structure FPID_SIMOPT, containing the following
SOPT.modelname - model name (e.g. 'fpid_optimize_model.mdl'),
SOPT.tmax - final time value for simulation [s],
SOPT.dtmin - (reserved),
SOPT.dtmax - maximum time step [s],
SOPT.ulim - control law saturation values in form
[UMIN; UMAX], if empty, the control
signal is unconstrained
SOPT.r - reference value (or set value) for
for simulation,
SOPT.w - Oustaloup approximation frequency
range [rad/s],
SOPT.N - Oustaloup filter approximation order,
SOPT.type - Oustaloup filter approximation type
('oust' or 'ref').
Outputs: Y - system output,
U - control signal value,
T - time vector (generally non-regular due to
variable-size ODE solver employed).
In order to convert the results to those with a fixed time step (the
ODE solver will attempt to find the minimum time step, whereas the user
can set the maximum time step), one can use the provided function
sim_regularize(). See help for that function for corresponding syntax.
A typical negative unity feedback system is assumed for simulation
_ --------------- Satu- ---------------
R / \ | | ration | | Y
----->| | -----> | GC(s) |--------->| G(s) |----o---->
+ \ / | | [UMIN; | | |
^ --------------- UMAX] --------------- |
- | |
---------------------------------------------------------
NB! the original model 'fpid_optimize_model.mdl' is required for this
function to work. If you wish to use this model in a different situation,
please make a copy of it with a different file name rather than editing
the existing model.
See also: fpid_optimize, sopt, sim_regularize