Examination
Control Systems Theory and Design
03.09.2013
Problem 1 (25 Marks)
a) A state-space model of a dynamic system is given as
2 1 0 1
ẋ = 0 −1 1
x+ 1 u
0 0 −1 0
y= 0 0 1 x
i) Is the system stable?
ii) Is it possible to stabilize the system by means of
• state feedback?
• observer-based state feedback?
iii) For the system given, is it possible to place the closed-loop poles at arbitrary
locations using state-feedback? If not, what are the restrictions?
iv) What are the implications for a control engineer if a system is not stabilizable?
b) Now consider the system given in (a) but with a different output
1 0 0
y= x.
0 1 0
i) Is it possible to stabilize the system by means of
• observer-based state feedback?
• static output feedback control, that is a control law of the form
u=Ky
where K ∈ R1×2 is a constant matrix?
Explain your answer. Hint: Try to interpret the static output feedback problem
as a state feedback problem for a subsystem.
ii) Compare the two approaches in (i) and name one advantage of each.
c) i) Give MATLAB code to obtain a minimal realization of a state-space object G
that is present in the workspace.
ii) Now assume that a transfer function object H is present in the workspace. Give
MATLAB code to obtain model matrices A, B, C, D of a realization of H.
iii) Give MATLAB code to calculate a state-feedback gain that achieves closed-
loop pole locations −2 ± j, −3 and −10. Give also code to verify that the
closed-loop poles are indeed at these locations. Assume that model matrices
A, B, C, D are present in the workspace.
1
Problem 2 (25 Marks)
Consider a state-space realization of a plant model G(s)
−2 0 0 0 1 0
0 −1 −1 0 0 1
ẋ = x + u1 (1)
0 0 −3 0 0 0 u 2
0 0 0 0 0 1
y1 1 1 1 0
= x (2)
y2 0 0 0 1
a) Assume the given state-space realization of G, an input signal r and a time vector t
stored in MATLAB workspace. The plant G(s) is stabilized with unit feedback as
shown in Fig. 1. The following MATLAB code forms the closed loop and simulates
the closed-loop response to input r(t).
r y
G(s)
Figure 1: Feedback loop
1 G cl = feedback (G, eye ( . . . ) ) ;
2 y = . . . ( G cl , r , t ) ;
1.2
a
1
0.8
output
0.6
0.4 b
0.2
0
0 2 4 6 8 10
time(s)
Figure 2: Step response of given closed loop
i) Complete the MATLAB code by filling in the gaps. (Write your answer on the
answer sheet)
ii) Now given the input r(t) = [1 1]T σ(t), find out which of the two curves in
Fig. 2 corresponds to the output y1 and which to y2 . Hint: This question can
be answered without computation.
2
To answer the following questions, consider the control loop in Fig. 3, where G(s) is
now controlled by an observer-based state feedback controller, and the state-space model
(1)-(2) describes the dynamics of G(s).
u
r V G(s) y
x̂ -
F Observer
Figure 3: Observer-based state feedback with reference input
−3 0
0 1
b) The observer gain L is chosen as L =
0
.
1
0 −1
i) How does the estimation error evolve as t → ∞?
ii) Suppose that with a given state feedback gain F , and model matrices A and
B as in (1), the eigenvalues of A + BF are [−20 − 12.3 − 9.8 − 3]. Is the
given observer suitable for the closed-loop system?
c) Consider now the problem of finding the state feedback gain F for (1)-(2) that
minimizes the cost function
Z ∞
J= (xT Qx + uT Ru)dt.
0
i) What is the size of the matrices Q and R?
ii) Assume that the initial choice of R is an identity matrix. How would you tune
R to reduce the control effort in u2 without significantly influencing that in u1 ?
iii) Assume that the initial choice of Q is also an identity matrix. Is it possible
here to achieve the same effect on the control effort as in c.ii) by tuning Q? If
yes, how?
iv) Can Q be a singular matrix? Can R be a singular matrix?
3
Problem 3 (25 Marks)
a) Consider the stable continuous-time transfer function
s+5
G (s) =
s3 + 6s2 + 11s + 6
and assume it is being discretized using both exact (zero-order hold) discretization
and Tustin (bilinear) approximation, leading to Gzoh (z) and GTustin (z), respectively.
Answer the following questions:
i) Is the transfer function Gzoh (z) stable?
ii) Is the transfer function GTustin (z) stable?
iii) How many sampling zeros does the transfer function Gzoh (z) have?
iv) How many sampling zeros does the transfer function GTustin (z) have?
s+1
b) Given the continuous-time plant H(s) = and a state-space realization
s2
0 1 0
A= , b= , c= 1 1 , d=0,
0 0 1
perform an exact (zero-order hold) discretization for the sampling time T and write
down the pulse transfer function Hzoh (z).
Hint (matrix inversion formula):
−1
x y 1 x −y
= 2
0 x x 0 x
c) i) Give MATLAB commands to perform the discretization with both exact (zero-
order-hold) discritization and Tustin (bilinear) approximation. Assume that a
continuous-time transfer function object G is present in the workspace with its
TimeUnit property set to the default value ’seconds’. Use a sampling time
of 1 millisecond.
ii) A controller with a desired closed-loop bandwidth ωb is to be designed. Due
to strict hardware limitations, the sampling-rate is limited to 7.8 ωb. Would
you prefer to design a continuous-time controller and discretize it or would you
prefer to discretize the plant and design a discrete-time controller?
d) A step input signal is applied to a discrete-time system D(z) as shown in Fig. 4.
Consider the six different cases where Dz has poles located as shown in Fig. 5 (for
case A, the discrete time system has a pole at −1, for case B at −0.5 and so on).
Assign the corresponding step response as depicted in Fig. 6 to each of the six cases.
4
σ(k) y(k)
D(z)
Figure 4: Discrete-time system excited by step signal
F
0.5
Imaginary Axis
A B C D E
0
−0.5
F
−1
−1 −0.5 0 0.5 1
Real Axis
Figure 5: Pole locations of discrete time systems
2 1
1 0.5
0 0
0 10 20 30 0 5 10
a) b)
30
20 1
10
0 0
0 10 20 30 0 5 10
c) d)
2 1
1 0.5
0 0
0 10 20 30 0 5 10
e) f)
Figure 6: Step responses of different discrete-time systems
5
Problem 4 (25 Marks)
a) To identify a transfer function model of a system based on measured input and
output data, the richness of the excitation input needs to be checked. Use the
empirical autocorrelation of the data sequence {u(k)}
k
1X
cuu (l) = lim u(i)u(i − l)
k→∞ k
i=1
to explain why the order of persistence of excitation for a step function is 1.
cuu (0) cuu (1) . . . cuu (n − 1)
cuu (1) cuu (0) . . . cuu (n − 2)
Hint: Cuu (n) = .. .. ..
. . .
. . .
cuu (n − 1) cuu (n − 2) . . . cuu (0)
b) Fig. 7 shows the singular values of M T M from 3 data sets, each excited with
different input signals, where M is the measurement matrix. Find out which data set
corresponds to the input of a sine wave, white noise and step function, respectively.
data1
6000 data2
data3
5000
Singular values of M T M
4000
3000
2000
1000
0
2 4 6 8 10 12
Index of singular values
Figure 7: Singular values of M T M given 3 kinds of excitation signals
6
c) Assume that input and output data
T
Um = [u(0) u(1) . . . u(N)], YmT = [y(0) y(1) . . . y(N)]
of an unknown system have been measured. The linear difference equation of the
model has the form
A(z −1 )y(k) = z −d B(z −1 )u(k)
where A(z −1 ) = 1 + a1 z −1 + a2 z −2 , B(z −1 ) = b1 z −1 + b2 z −2 , and z −1 represents the
backward shift operator.
Assume that the given system has a time delay of 2 sampling intervals.
i) Write down the difference equation of the discrete-time delayed system.
ii) Construct the measurement matrix M and the vectors Y and p, in terms of a1 ,
a2 , b1 , b2 , and the elements of Um and Ym , such that Ŷ = Mp holds.
iii) Calculate the impulse response g(k) of the delayed system for k = 0, 1, 2, 3,
4, in terms of a1 , a2 , b1 and b2 .