8.7 The Youla-Kuˇcera Parametrisation 379
Program 8.2 (Calculation of the dead-beat controller)
(requires the Polynomial Toolbox for MATLAB)
z=2;t1=1;t2=2;ts=1;
G = tf(z, conv([t1 1],[t2 1]));
gz = c2d(G, ts);
zinteg = tf([1 0],[1 -1], ts);
% convert to Polynomial toolbox format manually
[b,a]=tfdata(gz, ’v’);
zii = [1; zi; zi^2];
b=b*[1;zi;zi^2];
a=a*[1;zi;zi^2];
a=a*(1-zi); % add integrator
%Design the DB controller
[x0,y0]=axbyc(a,b,1);
tt = -1;
x=x0-b*tt;
y=y0+a*tt;
Fig. 8.29 shows the Simulink diagram using Program 8.2 for finite-time
control. Fig. 8.30a shows trajectories of the manipulated and controlled
variable of the continuous-time second order system with the finite-time
control design and for reference w(t)=1(t).
Fig. 8.30b shows trajectories of the manipulated and controlled variable
of the same system with the dead-beat control design.
We can notice that the non-zero parameter T (z
−1
) influences for example
magnitude of the manipulated variable. The price paid for it is a longer
duration of the closed-loop response. The minimum number of non-zero
values of the control error is 3, a constant T (z
−1
) gives one step more. The
same situation is for the manipulated variable where there are at least 4
non-zero values and one more for a constant T(z
−1
).
It is still possible for our second order system to find a dead-beat controller
that gives a faster response with smaller number of non-zero control error
values. This can be obtained using a two-degrees-of-freedom controller.
The minimum number of non-zero values of the control error is 2 and the
number of non-zero values of control increments is 3.
If the condition on finite number of control increment steps is relaxed to
a asymptotically stable sequence then it is possible for stable systems to
obtain the zero control error after one sampling step.