Académique Documents
Professionnel Documents
Culture Documents
Version provisoire - V5
1 Décembre 2009
2 SI240etats.aux
Table des matières
Notations 5
1 Transformée de Laplace 7
1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2 Propriétés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Système linéaire invariant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Le pendule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.1 Pré-compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.2 Post-compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3
4 SI240etats.aux
6 Cas multivariable 33
6.1 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
6.1.1 Représentation et dimension de l’espace d’état . . . . . . . . . . . . . . . 33
6.1.2 Forme diagonale de Gilbert . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.2 Eléments de structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6.2.1 Minimalité d’une réalisation . . . . . . . . . . . . . . . . . . . . . . . . . . 35
7 Indications 37
7.1 Transformée de Laplace (p. 7) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7.2 Représentations d’état à temps continu (p. 11) . . . . . . . . . . . . . . . . . . . 37
7.3 Passage du temps continu au temps discret (page 21) . . . . . . . . . . . . . . . . 38
7.4 Représentations d’état à temps discret (page 23) . . . . . . . . . . . . . . . . . . 40
7.5 Structure des filtres (page 29) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
7.6 Cas multivariable (page 33) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Bibliographie 42
Index 44
Notations
SL système linéaire
SLI système linéaire invariant
TL transformée de Laplace
TF transformée de Fourier
5
6 SI240etats.aux
Chapitre 1
Transformée de Laplace
1.1 Définition
La transformée de Laplace est l’outil privilégié pour l’étude des comportements transitoires des
systèmes. Son principal intérêt réside dans son aptitude à donner les solutions causales (nulles
pour t < 0) d’une large classe d’équations différentielles. C’est la raison pour laquelle on ne
considèrera, dans la majorité des cas, que des espaces de fonctions causales.
Z +∞
X : s ∈ B 7→ X(s) ∈ C : L (x(t)) = X(s) = x(t)e−st dt (1.1)
0
en posant s = α + 2iπf .
Si on suppose x(t) causale, avec α > αx , on a (TF dénote la transformée de Fourier) :
X(s) = TF x(t)e−αt (1.3)
1
Exemple : la fraction rationnelle X(s) = s−s0 , avec Re(s) > Re(s0 ) est transformée de
Laplace de es0 t Y (t).
1.2 Propriétés
− Linéarité ;
− Quelques transformées :
y(t) = (h ⋆ x)(t) Y (s) = H(s) × X(s)
dx(t)
dt sX(s) − x(0+ )
d2 x(t)
dt2
s2 X(s) − sx(0+ ) − ẋ(0+ )
x(t − τ ) X(s)e−sτ (retard)
dX(s)
−tx(t)
R tds X(s) Rt R∞
0 x(t)dt s (si lim t→0 0 x(t)dt = 0 et 0 x(t)dt < ∞)
− Si les deux limites suivantes existent alors limt→∞ x(t) = lims→0 sX(s).
7
8 Chapitre 1 - Transformée de Laplace
− L’original de X(s) avec B = {Re(s) > α} est une fonction causale (théorème de Paley-
Wiener).
Définition 1.1 Un système de réponse impulsionnelle g(t) est dit stable “entrée bornée-sortie
bornée” si :
Théorème 1.1 Un système G(s) est stable entrée bornée-sortie bornée (EBSB) (BIBO,
Bounded Input-Bounded Output) si et seulement si sa réponse impulsionnelle g(t) est sommable
(1.5) :
Z +∞
|g(t)|dt < ∞ (1.5)
0
Corollaire 1.1 Un système G(s) est stable “entrée bornée-sortie bornée” si et seulement si
l’axe imaginaire est dans le domaine de convergence de G(s).
On en déduit la propriété bien connue selon laquelle les singularités de la fonction de transfert
doivent se trouver dans la partie gauche du plan complexe. La plupart des systèmes considérés
en pratique ont des fonctions de transfert rationnelles et les singularités sont des pôles.
1.4 Le pendule
Le problème du pendule est un grand classique en terme de commande.
θ l
mg
Il s’agit d’un système non linéaire simple régi par l’équation 1.6 :
Le contrôle que l’on va chercher à mettre en œuvre est dit en boucle ouverte.
1.4.1 Pré-compensation
Cherchons une entrée u(t) causale telle que Γ(t) = u̇(t) − ωu(t).
Par application de la transformée de Laplace, avec des conditions initiales nulles, on obtient :
1
s2 Y (s) − ω 2 Y (s) = sU (s) − ωU (s) ⇒ Y (s) = U (s) (1.9)
s+ω
ce qui laisse à penser que le système est asymptotiquement stable.
La présence de conditions initiales non nulles y(0) et ẏ(0) conduit à des conclusions sensi-
blement différentes. La résolution directe de 1.7 conduit à y(t) = Aeωt + Be−ωt , puis à :
ẏ(0)
y(t) = y(0) cosh(ωt) + sinh(ωt) (1.10)
ω
L’application de la transformée de Laplace à 1.8 donne :
D’un point de vue relation entrée-sortie simple, caractérisée par la fonction de transfert G(s) =
1/(s + ω), le système apparaı̂t comme stable. Par contre la présence des conditions initiales
donne :
s−ω sy(0) + ẏ(0) − u(0)
Y (s) = 2 2
U (s) + (1.12)
s −ω s2 − ω 2
La présence de ces conditions initiales non nulles explique l’instabilité.
1.4.2 Post-compensation
On s’intéresse au signal de sortie z(t) = dy(t)
dt − ωy(t), le signal d’entrée étant Γ(t) (figure 1.3).
Si l’on applique la transformée de Laplace avec des conditions initiales nulles, on obtient la
même fonction de transfert G(s) = 1/(s + ω). L’équation différentielle s’écrit :
z̈ − ω 2 z = Γ̇ − ωΓ (1.13)
10 Chapitre 1 - Transformée de Laplace
s2 Z(s) − sz(0) − ż(0) − ω 2 Z(s) = sΓs (s) − Γ(0) − ωΓs (s) (1.14)
d’où :
1 sz(0) + ż(0) − Γ(0)
Z(s) = Γs (s) + (1.15)
s+ω s2 − ω 2
z(t) se comporte vis-à-vis de Γ(t) de la même façon que y(t) vis-à-vis de u(t). L’évolution
“libre” traduit elle aussi un comportement “instable”.
Chapitre 2
11
12 Chapitre 2 - Représentations d’état à temps continu
D
U(t) + dX(t)/dt (n) + Y(t)
B C
+ +
A X(t)
Système
Dans le cas où les degrés du numérateur et du dénominateur sont les mêmes, la seconde
relation de 2.11 s’écrit :
Exemple 2.1 cas du pendule avec post-compensation mis sous forme observateur :
d x1 (t) 0 ω 2 x1 (t) −ω x1 (t)
= + Γ(t) et y(t) = 0 1
dt 2x (t) 1 0 x 2 (t) 1 x2 (t)
s −ω 2 −1 −ω 1 s ω 2 −ω 1
G(s) = 0 1 = 2 2
0 1 =
−1 s 1 s −ω 1 s 1 s+ω
Exemple 2.2 cas du pendule avec post-compensation mis sous forme contrôleur :
d x1 (t) 0 ω 2 x1 (t) 1 x1 (t)
= + Γ(t) et y(t) = 1 −ω
dt x2 (t) 1 0 x2 (t) 0 x2 (t)
s −ω 2 −1 1 1 s ω2 1 1
G(s) = 1 −ω = 2 1 −ω =
−1 s 0 s − ω2 1 s 0 s+ω
Exercice 2.1 (Calcul de la matricePn−1 exponentielle (page 37)) On désire calculer eAt
sous forme d’une somme finie k
k=0 ϕk (t)A (conséquence directe du théorème de Cayley-
Hamilton). On note σ(s) le polynôme caractéristique associé au système avec :
σ(s) = sn − a0 + a1 s + · · · + an−1 sn−1
et
on construit une suite de polynômes σk (s) de la façon suivante :
σ0 (s) = σ(s)
σ1 (s) = sn−1 − a1 + a2 s + · · · + an−1 sn−2
.
..
σn (s) = 1
SI240 / 2007-2008 / GB 15
Figure 2.2: Formes observateur (à gauche) et contrôleur (à droite) pour le pendule linéarisé
1. Montrer que :
" n #
X
Σ(s) = σk (s)Ak−1 (sI − A) = σ(s)I
k=1
Les CAk−1 B sont appelés paramètres de Markov. Ceux-ci sont directement liés aux valeurs
initiales de la réponse impulsionnelle et de ses dérivées. Ils sont invariants dans tout changement
de base.
2.4.1 Commandabilité
La question posée est la suivante : est-il possible de calculer une commande u(t) qui amène
l’état d’un état quelconque X1 à 0 en temps fini ? Si on peut obtenir une telle commande, alors
(relation 2.16) elle satisfait :
Z τ
X1 = − e−Av Bu(v)dv (2.21)
0
On dit que X1 est commandable. Si tous les états sont commandables, le système est dit
commandable (on dit aussi complètement commandable).
Théorème 2.1 Le système est commandable ssi la matrice Cm = B AB . . . An−1 B est
de rang plein.
T
et en reportant la commande U (v) = −BT e−A v W −1 (0, τ )X1 , on vérifie :
Z τ
T
e−Av B × BT e−A v dv W −1 (0, τ )X1 = X1 (2.24)
|0 {z }
Propriété 2.1 Si le système n’est pas complètement commandable, on peut mettre l’équation
d’état sous la forme :
dX A11 A12 B1
= X(t) + (2.25)
dt 0 A22 0
y(t) = C1 C2 X(t)
Z t Z t u
−Au T −AT u e 0 1 −1 eu 0
W (0, t) = e BB e du = du
0 0 0 eu/2 −1 1 0 eu/2
1 2t
2 (e − 1) − 32 (e3t/2 − 1)
=
− 23 (e3t/2 − 1) et − 1
Le programme qui suit illustre l’application de la commande faisant intervenir W (0, τ ) (figure
2.3).
%===== EXPLE1.M
clear all
A=[-1 0;0 -1/2]; B=[1;-1]; X1=[2;-3];
alpha=X1(1); beta=X1(2);
tau=1; nbpts=100; deltT=tau/nbpts;
v=[0:deltT:tau]; Lv=length(v);
Wtau=[(exp(2*tau)-1)/2 , -(exp(3*tau/2)-1)*2/3;...
-(exp(3*tau/2)-1)*2/3 , (exp(tau)-1)];
Wm1=inv(Wtau);
for k=1:Lv
Wt=[(exp(2*v(k))-1)/2 , -(exp(3*v(k)/2)-1)*2/3;...
-(exp(3*v(k)/2)-1)*2/3 , (exp(v(k))-1)];
Xn(:,k)=expm(A*v(k))*(X1-Wt*Wm1*X1);
end
plot(Xn(1,:),Xn(2,:),’-b’,Xn(1,Lv),Xn(2,Lv),’o’), grid
hold on; plot(Xn(1,1),Xn(2,1),’x’); hold off
−1
−2
−3
−3 −2,5 −2 −1,5 −1 −0,5 0 0,5 1 1,5 2
2.4.2 Observabilité
La question posée est la suivante : est-il possible de reconstruire X(0) à partir de la connaissance
des entrées et des sorties entre les instants 0 et t ?
Si c’est le cas, l’état X(0) est dit observable. Lorsque tous les états initiaux sont observables
on dit que le système est observable (ou complètement observable). La matrice d’observabilité
est donnée par :
C
CA
Ob = . (2.27)
..
CAn−1
L’observabilité du système est liée au rang de la matrice Ob . Si elle est de rang n le système
est observable.
Propriété 2.2 En prenant pour base de l’espace d’état les vecteurs du noyau B1 de Ob et un
sous-espace supplémentaire B1 - B = B1 ⊕ B2 - on peut écrire A et C sous la forme (que l’on
peut obtenir par l’algorithme de Luenberger) :
Ã11 0
à = et C̃ = C̃1 0 (2.28)
Ã21 Ã22
Le fait que le système ne soit pas observable ne signifie pas que l’on ne
Remarque peut pas construire l’état mais que la solution n’est pas unique.
Remarques
On fait une distinction entre commandabilité (amener d’un état donné à l’état 0) et accessibilité
(amener de l’état 0 à un état donné) d’un côté et observabilité (reconstruction de l’état à partir
de données du futur) et constructabilité (reconstruction de l’état courant à partir des entrées et
sorties du passé et du présent) d’un autre. Accessibilité et observabilité sont duales de même
que commandabilité et constructabilité. Dans le cas SLI les notions de système commandable
et de système accessible sont équivalents (ce n’est pas vrai en temps discret).
Xcno A11 A12 0 A14 Xcno B1
d X co A21 A22 A23 A24 Xco B2
= + U (t)
(2.29)
dt Xncno 0 0 A33 A34 Xncno 0
Xnco 0 0 0 A44 Xnco 0
Xcno
Xco
Y (t) = 0 C2 0 C4 Xncno + DU (t)
(2.30)
Xnco
SI240 / 2007-2008 / GB 19
D
A13
A11 A33
+
+ +
B1
+ Xcno Xncno
Y(t)
A22 A44 C4
+ +
B2 + + + Xnco
Xco
C2
A24
On peut remarquer que, s’il n’y a pas commandabilité et/ou observabilité, il y a des sim-
plifications dans la fonction de transfert. Prenons en exemple le cas où le système n’est pas
commandable et exprimons sa fonction de transfert (expression 2.18) en supposant qu’il est
strictement propre :
det(sI − A + BC) det(sI − A11 + B1 C1 )det(sI − A22 )
G(s) = −1= −1
det(sI − A) det(sI − A11 )det(sI − A22 )
det(sI − A11 + B1 C1 )
= −1
det(sI − A11 )
Les pôles et zéros associés à la partie non commandable sont simplifiés.
Chapitre 3
Le problème du passage du temps continu au temps discret se pose dans plusieurs domaines.
Ainsi la résolution numérique d’une équation différentielle nécessite-t-elle un tel passage. Il en
est de même lorsqu’on désire synthétiser un filtre à “temps discret” à partir d’un filtre à “temps
continu”. Autre domaine où ce passage est essentiel, celui de l’automatique où l’on peut vouloir
calculer un compensateur à “temps discret” à partir d’un compensateur à “temps continu” ou
lorsqu’on désire effectuer une simulation d’un système. En dehors de ce dernier cas qui présente
une particularité, tous les autres problèmes sont identiques [2].
3.1 Approximations
La façon la plus simple de calculer les solutions d’une équation différentielle est d’approximer
les dérivées par :
dx x(tn ) − x(tn−1 )
(3.1)
dt T
opération désignée par transformation d’Euler. Cette transformation préserve le gain à l’origine,
la stabilité et transforme le demi-plan gauche en disque (1/2, 1/2) (figure 3.1).
La transformation d’Euler n’est généralement pas retenue. On lui préfère la transformée
bilinéaire :
dx 2 x(tn ) − x(tn−1 )
(3.2)
dt T x(tn ) + x(tn−1 )
21
22 Chapitre 3 - Passage du temps continu au temps discret
Im
Euler
Re
Bilinéaire
Figure 3.1: Passage temps continu-temps discret, transformation du 1/2 plan gauche
on obtient :
Z T
Φ = eAT et Ψ = eAu du × B (3.4)
0
Exercice 3.1 (Calcul des matrices d’état (page 38) Vérifier que la matrice :
A B
Ae = T ×T (3.6)
0 0
4.1 Notations
On se limite au cas SISO. Xk est un vecteur ∈ Rn . Uk et Yk sont des scalaires. L’évolution du
système est alors décrite par les relations 4.1. Uk constitue l’entrée du système et Yk sa sortie.
Xk+1 = Ak Xk + Bk Uk et Yk = Ck xk + Dk Uk (4.2)
D
Uk + Xk+1 (n) + Yk
B z-1 C
+ +
A
Système Xk
23
24 Chapitre 4 - Représentations d’état à temps discret
ou encore :
k−1
X
k
Xk = A X0 + Ak−m−1 BU (m) (4.5)
m=0
La solution est donnée par la somme de la solution de l’équation sans second membre et d’un
produit de convolution.
1. Est-on capable d’amener l’état en n’importe quel point de l’espace d’état en agissant sur
l’entrée Uk pendant une durée finie ?
2. Est-on capable de connaı̂tre l’état à tout instant k par simple observation des entrés Uk
et des sorties Yk pendant une durée finie ?
Le fait que le système ne soit pas observable ne signifie pas que l’on ne peut pas construire
l’état mais que la solution n’est pas unique.
Le test de l’observabilité et de la commandabilité sont réalisables à partir de critères directs ;
ainsi, comme nous l’avons vu, l’observabilité est testable en examinant le rang de Ob . Il y a un
grand nombre d’autres critères. Les tests désignés par PBH (Popov-Belevitch-Hautus) en font
partie :
Décomposition de Kalman
Comme dans le cas du temps continu, le comportement des systèmes peut être compris
en examinant la description dûe à Kalman, description qui met en évidence une struc-
ture basée sur une décomposition de l’espace d’état en quatre sous-espaces supplémentaires :
“commandable-observable”, “non commandable-observable”, “commandable-non observable” et
“non commandable-non observable” (figure 4.2).
D
A13
A11 A33
+
+ +
B1 z-1 z-1
+ Xcno Xncno
Réponse fréquentielle
D’un point de vue “fréquentiel”, dans le cas SLI (4.3) :
on peut écrire :
zXz (z) − zX(0) = AXz (z) + BUz (z) et Yz (z) = CXz (z) + DUz (z) (4.11)
ce qui donne :
Yz (z) = C(zI − A)−1 B + D Uz (z) + C(zI − A)−1 zX0 (4.12)
C(zI − A)−1 B + D est la fonction de transfert, C(zI − A)−1 zX0 la partie autonome de la
réponse.
1. Rappeler la relation qui lie le vecteur d’état à l’instant (k +1)T au vecteur d’état à l’instant
kT .
SI240 / 2007-2008 / GB 27
Plusieurs problèmes sont liés à la structure des filtres : la charge de calcul, le passage de l’état
d’un calcul à l’autrel orsqu’on enchaı̂ne des traitements et le bruit de calcul dû aux arrondis
et/ou troncatures. Ce dernier problème peut s’avérer important lorsqu’on travaille en virgule
fixe.
b0 + b1 z −1 + · · · + bp z −p
G(z) =
1 + a1 z −1 + · · · + ap z −p
+ a x p−1 +
p−1 b p−1
+ +
z −1
ap bp
29
30 Chapitre 5 - Structure des filtres
Cette “réalisation” sous la forme contrôleur déjà rencontrée effectue d’abord le calcul de :
t(n) = u(n) − a1 t(n − 1) − · · · − ap t(n − p)
puis celui de :
y(n) = b0 t(n) + b1 t(n − 1) + · · · + bp t(n − p)
Pour cet algorithme, on appellera état du filtre à l’instant n le vecteur X(n) (p × 1) :
∆ T
X(n) = t(n) t(n − 1) . . . t(n − p + 1)
Ce qui donne la forme déjà vue :
−a1 . . . . . . −ap
1 0 0
X(n) = . X(n − 1)
0 . . 0 (5.1)
0 1 0
y(n) = (b1 − b0 a1 ) . . . (bp − b0 ap ) X(n − 1) + b0 u(n)
En introduisant les vecteurs :
a = [a1 a2 . . . ap ] et Γ = [b1 b2 . . . bp ]
on obtient l’écriture suivante :
(
u(n) = t(n) + aX(n − 1)
(5.2)
y(n) = b0 t(n) + ΓX(n − 1)
La recherche de l’état initial qui a conduit à une séquence d’entrée-sortie donnée est un autre
problème. Partant des équations récurrentes 5.2 donnant t(n) et s(n), on peut encore écrire :
b0 b1 · · · bp 0 ··· ··· 0
t(p − 1)
y(p − 1) 1 a1 · · · a p 0 · · · · · · 0
u(p − 1) 0 b0 · · · bp−1 bp 0 · · · 0
..
.
.. 0 1 · · ·
. = t(−1) = OT
. .
y(0) . . ..
u(0) 0 ··· ··· 0 b0 b1 · · · bp t(−p)
0 ··· ··· 0 1 a1 · · · ap
Cette expression montre qu’on peut reconstituer l’état initial T = [t(−1) . . . t(−p)]T dès lors
que la matrice O est inversible. La théorie des systèmes montre que la possibilité de reconstruire
l’état est liée à la notion d’observabilité. Il existe un grand nombre de critères d’observabilité
bâtis sur les représentations d’états associés à un système [4].
x(0) 0 1 a1 a2 t(−2)
T
A partir de l’état initial X T (−1) = t(−1) t(−2) calculé, la séquence d’entrée {x(0), x(1)}
donne {y(0), y(1)}.
SI240 / 2007-2008 / GB 31
5.1.2 Réalisation du filtrage dans MATLAB
MATLAB effectue son algorithme de filtrage sous la forme schématisée selon la figure 5.2. MAT-
LAB offre une fonction (filtic) fabriquant les conditions initiales censées délivrer une séquence
de démarrage donnée.
u(n) + + y(n)
b0
+ x 1 (n−1)
z −1
+ x 1 (n)
b1 a1
+ −
+
z −1
+ x p−1 (n)
+ −
b p−1 a p−1
+
z −1
x p (n)
bp ap
+ −
On peut écrire :
On définit :
T
En posant X(n) = xp (n) . . . x1 (n) , on obtient la représentation d’état :
0 . . . . . . 0 −ap
1 0 . . . . . . 0 −ap−1
bp − ap b0
0 1 . . . . . . 0 −ap−2 bp−1 − ap−1 b0
X(n) = . . .
X(n − 1) + .. u(n)
.. .. ..
0 . (5.3)
. . .
. .
.. . . . . . . ..
b1 − a1 b0
0 . . . . . . 0 1 −a1
y(n) = 0 . . . 0 1 X(n) + b0 u(n)
2. le nombre de bits utilisé pour la représentation des données. Les éléments à prendre en
compte sont :
Les structures de calcul dans ce cas privilégient la structure “cascade” dans laquelle on met
en série des cellules du premier et second ordre. L’affectation des gains de chaque cellule ainsi
que l’appairage des pôles et zéros sont alors des facteurs déterminants [1].
Chapitre 6
Cas multivariable
La transposition des résultats obtenus dans le cas monovariable au cas multivariable ne peut
pas être réalisée sans précaution.
6.1 Exemple
6.1.1 Représentation et dimension de l’espace d’état
Considérons la matrice de transfert :
1 1
G(s) = (s − 1)2 (s − 1)(s + 3)
−2 s−2
(s − 1)(s + 3)2 (s + 3)2
Cette réalisation n’a aucune raison d’être minimale (au sens de la dimension de l’espace
d’état).
Considérons maintenant D(s) = (s − 1)2 (s + 3)2 de degré r = 4. On a :
1 (s + 3)2 (s − 1)(s + 3)
G(s) =
(s − 1)2 (s + 3)2 −2(s − 1) (s − 2)(s − 1)2
1 3 0 0 2 1 1 6 2 9 −3
= s +s +s +
(s − 1)2 (s + 3)2 0 1 0 −4 −2 5 2 −2
33
34 Chapitre 6 - Cas multivariable
Sachant que D(s) = s4 + 4s3 − 2s2 − 12s + 1, on peut vérifier qu’une représentation, analogue
à la forme compagnon précédente, peut être :
−4 × I2 2 × I2 12 × I2 −I2 I2
I2 0 0 0 0
A=
0
et B = (6.2)
I2 0 0 0
0 0 I2 0 0
0 0 1 1 6 2 9 −3
C=
0 1 0 −4 −2 5 2 −2
On peut constater que la dimension de A n’est pas le même que précédemment. Le nombre
de ligne est égal à r × m.
La forme 6.2, de type “contrôleur”, suggère qu’il y a une forme de type “observateur” :
0 0
0 1
−4 × I2 I2 0 0 1 1
2 × I2 0 I2 0 et B = 0 −4
A=
12 × I2 0 0 (6.3)
I2 6 2
−I2 0 0 0 −2 5
9 −3
2 −2
C = I2 0 0 0
La propriété de base dit que la dimension de l’espace d’état est égal à 3, somme des rangs
des matrices “résidus”. Cette dimension est inférieure à la dimension que l’on obtiendrait avec
les constructions précédentes et supérieure au degré de D(s).
SI240 / 2007-2008 / GB 35
6.2 Eléments de structure
Propriété 6.1 La réalisation {A, B, C} est observable si et seulement si le rang de la matrice
Ob (np × n) est de rang plein n.
Le plus petit entier q tel que C′ . . . A′(q−1) C′ est de rang n est appelé indice
d’observabilité.
dX A11 0 B1
= X(t) + (6.6)
dt A21 A22 B2
y(t) = C1 0 X(t)
Théorème 6.1 Une réalisation est minimale si et seulement si elle est commandable et observ-
able.
Indications
1. Première relation :
n
X n
X
k−1
Σ(s) = s σk (s)A − σk (s)Ak
k=1 k=1
n
X n−1
X
= sσ1 (s)I + sσk (s)Ak−1 − σk (s)Ak − An
k=2 k=1
n−1
X
= sσ1 (s)I + (sσk+1 (s) − σk (s)) Ak − An
k=1
n−1
X
= sσ1 (s)I + ak Ak − An
k=1
Pn−1
Or, An − k=1 ak Ak = a0 I car A annule son polynôme caractéristique :
2. On déduit que :
Pn k−1
−1 k=1 σk (s)A
(sI − A) =
σ(s)
37
38 Chapitre 7 - Indications
σ0 (s) = σ(s)
σ1 (s) = s2 + 4s + 5
La suite des σk (s) est donnée par :
σ (s) = s + 4
2
σ3 (s) = 1
d’où :
s2 + 4s + 5 s+4 1
(sI − A)−1 = 3 2
I+ 3 2
A+ 3 2
A2
s
+ 4s + 5s + 2 s + 4s + 5s + 2 s + 4s + 5s + 2
2 1
= + I
(s + 1)2 s + 2
3 −2 2
+ + + A
(s + 1)2 s + 1 s + 2
1 −1 1
+ 2
+ + A2
(s + 1) s+1 s+2
et :
eAt = 2te−t + e−2t I + 3te−t − 2e−t + 2e−2t A + te−t − e−t + e−2t A2
%===== tstmatexp.m
% verification de l’expression de exp(At)
A=[-4 -5 -2;1 0 0;0 1 0];
t=2;
Aexp1=expm(A*t)
a0=2*t*exp(-t)+exp(-2*t);
a1=3*t*exp(-t)-2*exp(-t)+2*exp(-2*t);
a2=t*exp(-t)-exp(-t)+exp(-2*t);
Aexp2=a0*eye(3,3)+a1*A+a2*A*A
1. On a :
Z T
Φ = eAT et Ψ = eAu du × B
0
2. A partir de létat X(kT ), on a une relation de récurrence semblable à celle qui permet de
construire X(kT + T ).
Z kT +τ
X(kT + τ ) = e Aτ
X(kT ) + ekT +τ −v BU (kT )dv
kT
3. Simulation :
%===== REPETAT.M
clear
%===== Definition du systeme temps continu
atc=[-11/4 -11/8 -5/4;27/4 11/8 21/4;15/8 19/16 5/8];
btc=[1;-1;-1/2]; ctc=[3/8 1/2 -1/4];
%===== Parametres
T=.2; % Période d’echantillonnage
x0=[0;0;0]; % Etat initial
tpm=100; % Duree de simulation
Npts=tpm/T; tps=[0:T:(Npts-1)*T]; e=ones(1,Npts);
%===== Equivalent temps discret
Ae=[atc btc;zeros(1,4)]*T;
Aem=expm(Ae);
PHI=Aem(1:3,1:3); abs(eig(PHI))
PSI=Aem(1:3,4);
ctd=ctc;
%===== Simulation
x=x0; s=[ctd*x0]; m=[max(max(abs(x0)))]; zz=[x0’];
for k=1:Npts-1
x=PHI*x+PSI*e(k); s(k+1)=ctd*x;
zz=[zz;x’];
m(k+1)=max(max(abs(x)));
end
figure(1); subplot(211); plot(tps,m); grid
title(’Norme du vecteur d état’)
subplot(212); plot(tps,s,’x’); grid
%===== Simulation par filtrage
nz=poly(PHI-PSI*ctd)-poly(PHI);
dz=poly(PHI);
s2=filter(nz,dz,e,x0);
hold on; plot(tps(1:Npts)’,s2,’o’); hold off
title(’Sortie du filtre’)
%figure(2); plot(zz);grid
%===== Verification avec la control toolbox
%[a,b,c,d]=c2dm(atc,btc,ctc,0,T,’zoh’);
%[nz2,dz2]=ss2tf(atc,btc,ctc’,0);
5. Le système de départ
1
G(s) =
p2 +p+1
est instable. L”equivalent temps discret l’est aussi. Il y a simplification d’une paire
“instable”.
6. Le système diverge de toute façon à cause du bruit de calcul.
7.4.2 (Critère de Sylvester (page 26)) On peut aboutir à ce résultat suivant plusieurs
méthodes, par exemple :
− En partant de la seconde forme, on multiplie à droite par la matrice :
n+m−1
z 0 ... 0
z n+m−2 1 . . . 0
R= .. (7.2)
.
1 0 ... 1
et on évalue le déterminant du produit de deux façons.
où ⋆ est le produit de convolution (X ⋆ A est un vecteur colonne contenant les coefficients
du produit des polynômes A(z) et X(z)). 7.4 donne l’équation polynômiale X(z)A(z) +
Y (z)B(z) = 0. A(z) et B(z) premiers entre eux est alors équivalent à det(S) 6= 0.
[2] G. Blanchet. Commande et temps discret : illustration sous Matlab. Hermès, 2003.
[3] G. Blanchet and M. Charbit. Digital Signal and Image Processing. ISTE, 2006.
43
Index
BIBO, 8 pôle, 8
paramètres
commandable de Markov, 15, 24
état, 16 prewarping, 21
système, 16 Programme
compagnon, 12 exple1.m, 17
constructibilité, 25
contrôle réponse impulsionnelle, 8
en boucle ouverte, 8 représentation d’état, 11
matrice
d’observabilité, 18, 24
de Sylvester, 25
44