KOM 3781 Discrete-Time Control Systems: Veysel Gazi
KOM 3781 Discrete-Time Control Systems: Veysel Gazi
Veysel Gazi
Lecture 3: Representation of
Discrete-Time Control
Systems
Outline
• Basic operations in discrete-time systems
• Signal Flow Graphs (or Flow Graphs)
• Block (or Simulation) Diagrams
• State-Space (or state variable) Models
Models of Discrete-Time Systems
Difference Equations
u (k ) + k −1u (k − 1) + + k − nu (k − n)
= k e(k ) + k −1e(k − 1) + + k − n e( k − n )
Transfer Functions:
U(z) Y(z) Y ( z)
G(z) G( z) =
U ( z)
State-space (or state variable) representation:
x1 y1
u1
x2 y2
u2
⋮ ⋮ ⋮
xn yp
ur
±af(k)
f(k) ±a
f1(k) ± f2(k)
Σ
f1(k) +
f2(k)
Signal Flow Graphs
z −1
f(k) f(k-1)
±a
f(k) ±af(k)
g1
+ +
e(k) f1(k) y(k)
g3 T
+ –
g2 +
g2
+
f2(k)
g4 T
+ +
g1
f1 (k ) = g3e(k ) + g1 f1 (k − 1) − g 2 f 2 (k − 1) y (k ) = b2e(k ) + f 2 (k − 1)
f 2 (k ) = g 4 e(k ) + g1 f 2 (k − 1) + g 2 f1 (k − 1)
For this example,
f1 (k ) = g3e(k ) + g1 f1 (k − 1) − g 2 f 2 (k − 1)
f 2 (k ) = g 4 e(k ) + g1 f 2 (k − 1) + g 2 f1 (k − 1)
y (k ) = b2 e(k ) + f 2 (k − 1)
F1 ( z ) = g3 E ( z ) + g1 z −1 F1 ( z ) − g 2 z −1F2 ( z )
F2 ( z ) = g 4 E ( z ) + g1 z −1 F2 ( z ) + g 2 z −1F1 ( z )
Y ( z ) = b2 E ( z ) + z −1 F2 ( z )
After some algebra,
Y ( z) g 4 z + ( g 2 g3 − g1 g 4 )
= b2 +
E( z) ( z − g1 ) 2 + g 2 2
Using Mason’s Gain Formula
b2
M1
gg11
+ +
e(k) f1(k) y(k)
gg33 T
+
M3 -
gg22 +
gg22
+
f2(k)
g4 T
M2 + +
g1g1
Check your results:
−1 −2
M 1 = b2 M 2 = g4 z M 3 = g 2 g3 z
1 = 2 = 1 − g1 z −1 3 = 1
−1 −1 2 −2 2 −2
= 1 − g1 z − g1 z + g 2 z + g z 1
The numerator is
b2 + g 4 z −1 (1 − g1 z −1 ) + g 2 g3 z −2
After simplification and rearrangement, this yields
an identical result.
• This example shows two different ways to find the
transfer function.
• The structure used in the example is a form of a second-
order digital filter.
State Variables
State-space (or state variable) representation:
x1 y1
u1
x2 y2
u2
⋮ ⋮ ⋮
xn yp
ur
y (k + 3) − 2 y (k + 2) + 3 y (k + 1) − y (k ) = u (k ) → specifies g ( k )
and let
x1 (k ) = y (k )
x2 (k ) = y (k + 1) = x1 (k + 1)
x3 (k ) = y (k + 2) = x2 (k + 1) = x1 (k + 2)
Rewrite the original equation to get
x3 (k + 1) − 2 x3 (k ) + 3 x2 (k ) − x1 (k ) = u (k )
Which we can be written as
x1 (k + 1) = x2 (k )
x2 (k + 1) = x3 (k )
x3 (k + 1) = x1 (k ) − 3 x2 (k ) + 2 x3 (k ) + u (k )
State Space Notation
x(k + 1) = Ax(k ) + Bu(k )
y (k ) = Cx(k ) + Du(k )
In matrix format, these equations become
x1 (k + 1) 0 1 0 x1 (k ) 0
x (k + 1) = 0 0 1 x ( k ) + 0 u ( k )
2 2
x3 (k + 1) 1 −3 2 x3 (k ) 1
A B
x1 (k )
y (k ) = 1 0 0 x2 ( k ) + 0 u ( k )
C x3 (k ) D
0 1 0 0
A = 0 0 1 B = 0 C = 1 0 0 D = 0
1 −3 2 1
Transfer Function to State Space Format
bn −1 z n −1 + bn − 2 z n − 2 + + b1 z + b0
G( z) = n −1
z + an −1 z + + a1 z + a0
n
xn (k ) = e(k − 1) = xn −1 (k + 1) = = x1 (k + n − 1) xn (k + 1) = e(k )
Substituting the state variables into the difference equation:
xn (k + 1) = u (k ) − an −1e(k − 1) − − a1e(k − n + 1) − a0e(k − n)
= u (k ) − an −1 xn (k ) − − a1 x2 (k ) − a0 x1 (k )
Transfer Function to State Space Format
From the preceding slide
xn (k + 1) = −a0 x1 (k ) − − an −1 xn (k ) + u (k )
Listing in state equations format
x1 (k + 1) = x2 (k )
x2 (k + 1) = x3 (k )
xn −1 (k + 1) = xn (k )
xn (k + 1) = −a0 x1 (k ) − − an −1 xn (k ) + u (k )
Which may be written in matrix form.
Transfer Function to State Space Format
Express in matrix form: A B
x1 (k + 1) 0 1 0 0 x1 (k ) 0
x (k + 1) 0 0 1 0 0 x2 (k ) 0
2
= + u (k )
0 1 0
xn −1 (k + 1) 0 0 0 1 xn −1 ( k ) 0
n
x ( k + 1) −a0 −a1 −an − 2 −an −1 xn (k ) 1
x1 (k )
Repeat the x (k )
C 2 D
procedure
y (k ) = b0 b1 bn − 2 bn −1 + [0]u (k )
for the
numerator: xn −1 (k )
n
Phase variable or
x ( k )
bn −1 z n −1 + bn − 2 z n − 2 + + b1 z + b0 controllable
G( z) =
z n + an −1 z n −1 + + a1 z + a0 canonical form
Signal Flow Graphs
We can use previous results to construct a signal flow graph.
First, multiply the numerator and denominator of G(z) by z-n
Y ( z) bn −1 z −1 + bn − 2 z −2 + + b1 z − n +1 + b0 z − n E ( z )
= G( z) =
U ( z) 1 + an −1 z −1 + + a1 z − n +1 + a0 z − n E ( z )
Again, associate Y(z) with numerator, U(z) with denominator
U ( z ) = E ( z ) + an −1 z −1 E ( z ) + + a1 z − n +1E ( z ) + a0 z − n E ( z )
−1 −n
Y ( z ) = E ( z )(bn −1 z + + b0 z )
The first equation may be rewritten as
E ( z ) = U ( z ) − an −1 z −1 E ( z ) − − a0 z − n E ( z )
Also, we have
Y ( z ) = bn −1 z −1 E ( z ) + + b0 z − n E ( z )
Signal Flow Graphs
The equations for E(z) and Y(z) yield the flow graph
Y ( z ) = bn −1 z −1 E ( z ) + + b0 z − n E ( z )
E ( z ) = U ( z ) − an −1 z −1E ( z ) − − a0 z − n E ( z )
Y
bn-1 b1 b0
E z-1 bn-2 bn-3
U ...
z-1 z-1 z-1 z-1
-an-1 -an-3
-an-2 -a1 -a0
E ( z ) = U ( z ) − 4 z −1 E ( z ) − 7 z −2 E ( z ) − 2 z −3 E ( z )
Y ( z ) = 3 z −1 E ( z ) + 5 z −2 E ( z ) + 8 z −3 E ( z )
x3(k+1) = e(k)
Example
e(k ) = u (k ) − 0.9 x1 (k ) + 0.3 x2 (k ) − 0.4 x3 (k )
Substituting this expression in the output equation we obtain
y (k ) = 0.5e(k ) + 0.6 x1 (k ) − 0.8 x2 (k ) + 0.7 x3 (k )
= 0.5[u (k ) − 0.9 x1 (k ) + 0.3 x2 (k ) − 0.4 x3 (k )]
+ 0.6 x1 (k ) − 0.8 x2 (k ) + 0.7 x3 (k )
= 0.5u (k ) + 0.15 x1 (k ) − 0.65 x2 ( k ) + 0.5 x3 ( k )
So, in matrix form B
A
x1 (k + 1) 0 1 0 x1 (k ) 0
x (k + 1) = 0 0 1 x (k ) + 0 u (k )
2 2
x3 (k + 1) −0.9 0.3 −0.4 x3 ( k ) 1
C x1 (k ) D
y (k ) = 0.15 −0.65 0.50 x2 ( k ) + 0.5u ( k )
x3 (k )
Example
Consider the same transfer function:
0.5 z 3 + 0.7 z 2 − 0.8 z + 0.6
G( z) = 3
z + 0.4 z 2 − 0.3 z + 0.9
Utilizing polynomial division one can obtain:
0.5 z 2 − 0.65 z + 0.15
G ( z ) = 0.5 + 3
z + 0.4 z 2 − 0.3 z + 0.9
Then, the state-space form can be expressed as
A B
x1 (k + 1) 0 1 0 x1 (k ) 0
x (k + 1) = 0 0 1 x (k ) + 0 u (k )
2 2
x3 (k + 1) −0.9 0.3 −0.4 x3 ( k ) 1
C x1 (k ) D
y (k ) = 0.15 −0.65 0.50 x2 ( k ) + 0.5u ( k )
x3 (k )
Transfer Function to State Space Format
bn −1 z n −1 + bn − 2 z n − 2 + + b1 z + b0
G( z) = n −1
z + an −1 z + + a1 z + a0
n