Beruflich Dokumente
Kultur Dokumente
Pourquoi ?
Outil important pour résoudre et raisonner sur les équations récurrentes linéaires
stationnaires,
Permet d’abord de comprendre des outils de conception tels que Simulink, Scicos, voire
Lustre-Scade
– Définition
– Equations récurrentes
– Fonctions puissance
– Exemples
– Théorèmes des valeurs initiales et finales
– Signaux et systèmes
– Systèmes rationnels en Z
– Z, Laplace et Euler
– Stabilité en Z
– Programmation
plan def
Définition
plan equ
Equations récurrentes
Parce que cela permet de transformer des équations récurrentes en équations algébriques
ordinaires sur lesquelles on peut « calculer normalement »
grâce à deux propriétés :
1. Linéarité :
plan exp
Démonstration
∞
X ∞
X
x+ (n)z −n = x(n + 1)z −n
0 0
∞
X ∞
X
x+ (n)z −n = z x(n + 1)z −(n+1)
0 0
∞
X ∞
X
x+ (n)z −n = z x(n)z −n
0 1
∞ ∞
!
X X
x+ (n)z −n = z x(n)z −n − x(0)
0 0
plan exp
Exemple
Equation récurrente de premier ordre, linéaire, à coefficients constants
y + = ay + bx
1
Zy(z) = (bZx(z) + zy(0))
z−a
L’équation récurrente a été « résolue » et la solution est une fraction rationnelle
plan exp
Fonctions puissance
n < k ⇒ Cnk = 0
On a alors
z
ZGk (z) =
(z − a)k+1
plan exe
Démonstration
Par induction : k = 0
∞
X
n −n 1 z
a z = a =
0
1− z z−a
a
pourvu que | | < 1
z
plan exe
Démonstration
k+1
On veut calculer
∞
X
Cnk+1 an−k−1 z −n
k+1
On remarque que
∂ n−k
a = (n − k)an−k−1
∂a
et que
n−k k
Cnk+1 = Cn
k+1
Donc
∞ ∞
X 1 ∂ X k n−k −n
Cnk+1 an−k−1 z −n = Cn a z
k + 1 ∂a
k+1 k
plan exe
Démonstration
k+1
Donc
∞ ∞
X 1 ∂ X k n−k −n
Cnk+1 an−k−1 z −n = Cn a z
k + 1 ∂a
k+1 k
Or
∂ z z
= (k + 1)
∂a (z − a)k+1 (z − a)k+2
Donc
∞
X z
Cnk+1 an−k−1 z −n =
0
(z − a)k+2
plan exe
Exemples de signaux
Un échelon : u(n) = 1
C’est le cas k = 0, a = 1
z
Zu(z) =
z−1
plan etat
Exemple de systèmes
Fibonnacci :
On peut le réecrire :
plan etat
Exemple de systèmes
Fibonnacci :
On « résoud »
(z 2 − z − 1)Zf (z) = z 2
z2
Zf (z) = 2
z −z−1
plan etat
Résolution
Chercher les pôles (racines du dénominateur)
solution de l’équation du 2ème degré
z2 − z − 1 = 0
√ √
1+ 5 1− 5
z0 = z1 =
2 2
plan etat
Résolution
Décomposition des fractions rationnelles en éléments simples :
z2 zA zB
= +
(z − z0 )(z − z1 ) z − z0 z − z1
On multiplie par z − z0
z B(z − z0 )
=A+
(z − z1 ) z − z1
On fait z = z0
z0
=A
(z0 − z1 )
plan etat
Résolution
Décomposition des fractions rationnelles en éléments simples :
z2 zA zB
= +
(z − z0 )(z − z1 ) z − z0 z − z1
On multiplie par z − z1
z A(z − z1 )
= +B
(z − z0 ) z − z0
On fait z = z1
z1
=B
(z1 − z0 )
plan etat
Résolution
z2
Zf (z) = 2
z −z−1
√ √
1+ 5 1− 5
z0 = z1 =
2 2
z0 z z1 z
Zf (z) = +
z0 − z1 z − z0 z1 − z0 z − z1
√ !n+1 √ !n+1
1 1+ 5 1− 5
f (n) = √ −
5 2 2
plan etat
Autres propriétés
Théorème de la valeur initiale :
plan sys
Démonstration
Théorème de la valeur initial :
X
Zx(z) = x(0) + x(n)z −n
1,∞
plan sys
Démonstration
Théorème de la valeur initiale :
X X
−(n−1)
(z − 1)Zx(z) = x(n)z − x(n)z −n
0,∞ 0,∞
X X
−n
(z − 1)Zx(z) = x(n + 1)z − x(n)z −n
−1,∞ 0,∞
X X
−n
x(n + 1)z − x(n)z −n = x(N + 1)
−1,N 0,N
plan sys
Applications
Comment connaı̂tre la valeur finale de la réponse à un échelon d’un système de premier
ordre
bz
Zy(z) = Zx(z)
(z − a)
avec
z
Zx(z) =
(z − 1)
sans calculer la solution ?
bz z b
lim (z − 1) =
z→1 z−az−1 1−a
plan sys
Systèmes et signaux, convolution
Question : quelle différence entre signaux et systèmes (linéaires stationnaires) ?
presque aucune !
exemple : système du premier ordre
z
Zy(z) = Zx(z)
z−a
Zy(z) = ZS(z)Zx(z)
Avec
z
ZS(z) =
z−a
Tous deux sont représentés par des transformées en Z :
– Comment expliquer cela ?
– Quelle est la vision signal d’un système ?
plan rat
Convolution discrète
∞
X
(x ∗ y)(n) = x(m)y(n − m)
0
Théorème de convolution
A tout signal discret correspond un système dont la sortie s’obtient en convolant l’entrée
avec le signal.
plan rat
Démonstration
!
X X
Z(x ∗ y)(z) = x(m)y(n − m) z −n
n=0,∞ m=0,∞
X X
Z(x ∗ y)(z) = x(m)y(n − m)z −m−(n−m)
n=0,∞ m=0,∞
Posons u = n − m
X X
Z(x ∗ y)(z) = x(m)y(u)z −m z −u
m=0,∞ u=0,∞
X X
−m
Z(x ∗ y)(z) = x(m)z y(u)z −u
m=0,∞ u=0,∞
plan rat
Quel est le signal associé à un système ?
z
ZS(z) =
z−a
On a
ZY (z) = ZS(z)ZX(z)
∞
X
Zδ(z) = δ(n)z −n = 1
0
1 si n = 0
δ(n) =
0 sinon
plan rat
Exemples
Intégration discrète
X
y(n) = x(n − m)
m=0,n
X
= s(m)x(n − m)
m=0,n
D’où
s(n) = 1
z
Zu(z) =
z−1
plan rat
Diagrammes de blocs
Représentation graphique très populaire :
Réseau de boı̂tes et de fils :
Les boı̂tes sont des opérateurs (systèmes élémentaires) et des systèmes
Les fils sont les signaux qui sont transformés par les boı̂tes.
Exemple :
y+ = x
1
1 1
z
X Y
Unit Delay
plan rat
Des systèmes d’équations aux diagrammes
Un système
x+ = f (x, y, u)
y+ = g(x, y, u)
Construire f , g
x
u xp 1
y x
F
1
u
x
u yp 2
y y
G
plan rat
Des systèmes d’équations aux diagrammes
Un système
x+ = f (x, y, u)
y+ = g(x, y, u)
Retarder
x
1
u xp 1
z
y x
F Unit Delay
1
u
x
1
u yp 2
z
y y
G Unit Delay1
plan rat
Des systèmes d’équations aux diagrammes
Un système
x+ = f (x, y, u)
y+ = g(x, y, u)
Reboucler
x
1
u xp 1
z
y x
F Unit Delay
1
u
x
1
u yp 2
z
y y
G Unit Delay1
plan rat
Systèmes rationnels
N (z)
Forme générale : avec degré N ≤degré D.
D(z)
Pn i
a i z
Y (z) = Pn−1 0 X(z)
i
bi z + z n
0
n−1
X n
X
( bi z i + z n )Y (z) = ai z i X(z)
0 0
n
X n−1
X
z n Y (z) = ai z i X(z) − bi z i Y (z)
0 0
n
X n−1
X
Y (z) = ai z i−n X(z) − bi z i−n Y (z)
0 0
n−1
X
Y (z) = an X(z) + z i−n (ai X(z) − bi Y (z))
0
plan euler
Systèmes rationnels
n−1
X
Y (z) = an X(z) + z i−n (ai X(z) − bi Y (z))
0
Posons :
Il est facile de vérifier algébriquement que ces deux expressions sont égales.
plan euler
Systèmes rationnels
plan euler
Systèmes rationnels
Exemple :
1
x
a0 a1 a2
a2 z 2 + a1 z + a0 1 1
1
z 2 + b1 z + b0 z u0 z u1
y
Unit Delay Unit Delay1
b0 b1
plan euler
Systèmes rationnels
1
x
a0 a1 a2
1 1
1
z u0 z u1
y
Unit Delay Unit Delay1
b0 b1
plan euler
Z, Laplace,. . .
1
est l’opérateur retard unité
z
Si on choisit un pas d’échantillonnage T on peut donc écrire :
1
= e−sT
z
On a alors l’approximation du premier ordre (développement limité)
e−sT ≈ 1 − sT
1
1 − sT ≈
z
1 z−1
sT ≈ 1− =
z z
z−1
s ≈
zT
plan stab
Z, Laplace, et Euler
z−1
s≈
zT
Et Euler ?
Appliquons à une fonction de transfert H :
z−1
H(s) ≈ H( )
zT
On est passé d’un système continu à un système échantillonné, implantable sur
calculateur
Cela correspond à la méthode d’Euler :
z−1
sx(s) ≈ x(z)
zT
x(n) − x(n − 1)
x0 (t) ≈
T
plan stab
Application
2
bruit
6.8s + 4 1
P = S=
s + 3.8 s2
10
−10
−1
0 20 40 60 80 100
Time offset: 0
plan stab
Application
Choix de la période :
0.1
On prend T = ≈ 0.025
3.8
Transformation du pilote
0 6.8 z−1 +4
P = z−1zT
zT + 3.8
6.9z − 6.8
P0 =
1.1z − 1
On essaie
plan stab
Application
2
bruit
6.9z − 6.8 1
P = S= 2
1.1z − 1 s
10
−10
−1
0 20 40 60 80 100
Time offset: 0
plan stab
Application
2
bruit
6.9z − 6.8 1
P = S= 2
1.1z − 1 s
On a donc su :
plan stab
Stabilité en Z
– Stabilité
– Systèmes rationnels
plan prog
Stabilité
Un système déplacé d’un point d’équilibre reconverge-t-il vers celui-ci ou diverge-t-il ?
Exemple : Un système stable
z
z−0.5
Scope
Pulse Discrete
Generator Transfer Fcn
plan prog
Stabilité
Un système déplacé d’un point d’équilibre reconverge-t-il vers celui-ci ou diverge-t-il ?
Exemple : Un système stable
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
z 0.1
z−0.5 0
Scope
0 1 2 3 4 5 6 7 8 9 10
Pulse Discrete
Generator Transfer Fcn
Time offset: 0
plan prog
Stabilité
Un système déplacé d’un point d’équilibre reconverge-t-il vers celui-ci ou diverge-t-il ?
Exemple : Un système instable
z
z−2
Scope
Pulse Discrete
Generator Transfer Fcn
plan prog
Stabilité
Un système déplacé d’un point d’équilibre reconverge-t-il vers celui-ci ou diverge-t-il ?
Exemple : Un système instable
600
500
400
300
200
100
z
z−2 0
0 1 2 3 4 5 6 7 8 9 10
Scope
Pulse Discrete
Generator Transfer Fcn
Time offset: 0
Pourquoi ?
plan prog
Systèmes rationnels
Il suffit de regarder les pôles (racines du dénominateur) de la fonction de transfert dans le
plan complexe :
Si les pôles sont tous de module inférieur à 1 le système est dit asymptotiquement stable
Cnk an−k
avec a en module inférieur à 1. Tous ces termes tendent vers 0 quand n tend vers l’infini.
z
Exemple :
z − 0.5
il y a un seul pôle de valeur absolue 0.5 < 1 : le système est asymptotiquement stable
plan prog
Programmation
plan prog
Développement par modèles
plan prog
Compilation
1
x
a0 a1 a2
1 1
1
z u0 z u1
y
Unit Delay Unit Delay1
b0 b1
plan prog
Compilation générique
plan prog
Compilation générique
class deuxième_ordre {
private :
float a0, a1, a2, b0, b1;
float u0, u1 ;
public :
deuxième_ordre(float a0, a1, a2, b0, b1;
float u0, u1) {....}
float compute(float x) {
...
return y;
}}
plan prog
plan prog
Compilation générique
float compute(float x) {
float y, up0, up1;
y = a2*x + u1 ;
up0 = a0*x - b0*y ;
up1 = a1*x - b1*y + u0;
u0 = up0;
u1 = up1;
return y;
}
}
plan prog
Optimisations
plan prog
Suppression de buffers
plan prog
Réordonner les instructions
plan prog
Commutation des z −1
Grâce à la propriété :
Si f est une fonction statique (ne comportant pas d’ópérateur z),
C’est cette propriété qui nous a permis de réduire le nombre de retards dans le deuxième
ordre.
plan prog