Professional Documents
Culture Documents
Systèmes Échantillonnés
Mohamed Bougrine
Faculté de Technologie
Université de Laghouat
Digital Control Loops
Digital Control of an Analog Process
Representation of Discrete LTI Systems
Digital Control of a Digital Process
Discretization of LTI Systems
N(z) b0 z m + b1 z m−1 + · · · + bm
G (z) = = (2)
D(z) z n + a1 z n−1 + · · · + an
Fundamentals
The poles of the system are the roots of D(z)
The zeros of the system are the roots of N(z)
The order of the system is n (degree of D(z))
The poles and zeros of a discrete system play an important role in its
behavior, and in the design of a digital controller.
Example
Matlab code:
NumG= [1 1];
DenG = [1 0.2 -1];
T= 1;
G = tf(NumG,DenG,T,'variable','z')
N(z −1 ) b0 + b1 z −1 + · · · + bm z −m
G (z −1 ) = = (3)
D(z −1 ) 1 + a1 z −1 + · · · + an z −n
Remark
The transformation from G (z) to G (z −1 ) is done by multiplying N(z)
and D(z) by z −n .
Attention
For the same system, the bi of G (z) and those of G (z −1 ) coincide only if
d = n − m = 0. In the general case, they are equal with a shift of d.
Example
Let’s consider the same discrete LTI system as before, but defined by its
transfer function in "z −1 ":
Matlab code:
NumG= [0 1 1];
DenG = [1 0.2 -1];
T= 1;
G = tf(NumG,DenG, T,'variable','z^-1')
where pi , zi , and b0 are respectively the poles, zeros, and gain (Evans
factor) of the discrete LTI system.
Example
Consider the following transfer function:
Matlab code:
ZerosG= [0 -0.5]';
PolesG= [-1.105 0.905]';
b0G= 2;
T= 1;
G = zpk(ZerosG,PolesG,b0G,T)
Recursive equation
Example
0.2z −1 Y (z)
F (z) = =
1 − 0.8z −1 X (z)
which gives:
Y (z) − 0.8z −1 = 0.2z −1 X (z)
Applying the inverse z transform yields:
Scalar multiplication
Algebraic summation
Time shift
Example
z −1
3
y (k − 1)
3y (k − 1)
z −1
−2
y (k − 2)
−2y (k − 2)
⇐⇒
⇐⇒
2 z−1
This involves replacing the Laplace complex variable p with T z+2 ,
yielding:
G (z) = G (p)
p= T2 z−1
z+2
z−1
Forward approximation: p 7→ T
Example
Discretize the system using two different methods with a sampling period
of T = 10s.
1
=
10p + 1 p= T2 z−1
z+2
Therefore,
Tz + T
Gd (z) =
(T + 20)z + (T − 20)
With T = 10, we have:
Example: MATLAB
NumGc= 1;
DenGc = [10 1];
Gc = tf(NumGc,DenGc) ;
T= 10;
% Discretization using BOZ
Gd_BOZ = c2d(Gc,T,'zoh')
% Discretization using Tustin's approximation
Gd_Tustin = c2d(Gc,T,'tustin')
% Continuous and discrete step responses
step(Gc,100,'b')
hold on
step(Gd_BOZ,100,'r')
step(Gd_Tustin,100,'g')
legend('Continuous Response','Discrete Response ...
(BOZ)','Discrete Response (Tustin)')
Example: MATLAB