Professional Documents
Culture Documents
multi-variables
Notes de cours
D.Alazard
2
Contents
Introduction 7
Notations 9
Références 69
Introduction
Ces notes de cours regroupent les outils mathématiques et les techniques utilisés pour
l’analyse et la représentation des systèmes dynamiques linéaires multi-variables (ou
MIMO: Multi Input Multi Output). On présentent principalement l’analyse par les
valeurs singulières (chapitre 2) après quelques rappels d’algèbre linéaires (chapitre 1)
et le calcul d’une réalisation minimale à partir d’une matrice de transfert (chapitre 3)
ou d’un système d’équations différentielles (chapitre 4). Les notions pratiques de gou-
vernabilité et d’observabilité (grammiens) ainsi la réalisation équilibrée sont abordées
dans le chapitre 5. Les méthodes de réduction, bien qu’elles auraient trouvées leur place
dans ces notes, ne sont pas présentées ici et nous renvoyons le lecteur aux références
[5] et [7] pour plus de détails.
Les pré-requis pour la lecture de ces notes sont principalement la théorie des
asservissements linéaires et les notions de base sur la représentation d’état, la gouvern-
abilté et l’observabilité des systèmes linéaires [6]. Il s’adresse donc tout particulièrement
aux étudiants de SUPAERO qui ont déjà suivi les cours de tronc commun en seconde
année.
Il s’agit d’une édition provisoire qui sera complétée par les rappels d’automatique
nécessaires pour rendre ce document autonome. La bibliographie (incomplète) est prin-
cipalement constituée de références internes afin que les étudiants puissent positionner
ces notes par rapport aux autres documents disponibles.
Notations
Symboles courants
R ensemble des réels
C ensemble des complexes
Rn ensemble des vecteurs réels de dimension n
Cn ensemble des vecteurs complexes de dimension n
Rm×n ensemble des matrices réelles m × n
Cm×n ensemble des matrices complexes m × n
j index ou j 2 = −1
|.| valeur absolue d’éléments dans R ou C
ln logarithme naturel
log10 logarithme en base 10
kxk, kxk2 norme Euclidienne de vecteurs dans Rn ou Cn
Re (x) partie réelle du complexe x dans C
E[x] espérance mathématique de la variable aléatoire x
x conjugué de x dans C
N (m, σ) loi gaussienne (normale) de moyenne m et de variance σ
In matrice identité n × n
0n ou 0n×m matrices nulles n × n ou n × m
Mi,j i, j élément de la matrice M
MT transposée de la matrice M
M∗ conjuguée transposée de M
1
Herm(M ) 2
(M + M ∗ )
M −1 inverse de M
M −T (M T )−1 = (M −1 )T
M −∗ (M ∗ )−1 = (M −1 )∗
M+ inverse de Moore-Penrose de M , M + = (M ∗ M )−1 M T
σi (M ) i-ème valeur singulière de M
σmin (M ) valeur singulière minimale de M
σmax (M ) valeur singulière maximale de M
Notations système
s variable de Laplace
ω
· ¸ fréquence (rad./ sec.)
A B
parfois matrice de transfert C(sI − A)−1 B + D
C D
δ, ∆ incertitudes paramétriques
Acronymes
B.F. Boucle fermée
B.O. Boucle Ouverte
LFT Transformation Linéaire Fractionnaire
LMI Inégalité Matricielle Linéaire
LQG Linéaire Quadratique Gaussien
LTI Linéaire à Temps Invariant
LTV Linéaire à Temps Variant
SVD Décomposition en Valeurs Singulières
VSS Valeur Singulière Structurée
Chapter 1
1.1 Introduction
Le but de ce chapitre est de présenter les résultats importants du calcul matriciel, et
plus particulièrement la décomposition des matrices, qui sont à la base des principaux
algorithmes utilisés dans le domaine de l’automatique (résolution des équations de
Lyapunov, Riccati, LMI 1 , analyse des systèmes pas les valeurs singulières, ...)
Dans la section 1.2, les principales notions sont présentées autour du problème
général de l’inversion d’une matrice.
Dans la section 1.3, on présente les principales décompositions de matrices et plus
particulièrement la SVD (Singular Value Decomposition). On rappelle également les
macro-fonctions MATLAB associées à ces opérations.
∂Ja
∂λ
=0 ⇒ y = Ab
x
∂[xT y] ∂[y T x]
•
∂x
= y, ∂x
= y,
∂[xT M x]
•
∂x
= (M + M T )x.
yi = x1 + x2 ti + x3 t2i + · · · xn tn−1
i i = 1, 2, · · · , m
ou encore :
y1 1 t1 t21 · · · tn−1
1 x1
y2 1 t2 t22 n−1
· · · t 2 x2
.. = .. .. (soit: y = Ax)
. . .
2 n−1
ym 1 tm tm · · · tm xn
↓
matrice de Vandermonde
3
Cette matrice est très mal conditionnée pour m et n grands (avec m > n, voir
exercice 1.2.3 sous Matlab).
3
Le conditionnement d’une matrice est le rapport de la plus grande valeur singulière de cette
matrice sur la plus petite: κ(A) = σmax (A)/σmin (A)
(AT A)b
x2 = AT y .
b3 = Q∗1 y,
Ux résolue par substitution arrière
La session Matlab qui suit présente les résultats obtenus par les méthodes a), c) et d)
dans le cas m = 20 et n = 8. Nous pouvons constater que l’inversion directe est très
mauvaise et que les techniques de la pseudo-inverse et par factorisation QR donnent
des résultats satisfaisants.
>>
>> % LMS: problème de l’approximation polynomiale
>>
>>
>> clear all
>> format long e
>> m=20;
>> n=8;
>> t=[0:1:m-1]’;
>> x=ones(n,1);
>> a=[];
>> for ii=1:n,a=[a t.^ii];end;
>> y=a*x;
>>
>> % Inversion directe:
>> xhat1=inv(a’*a)*a’*y
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 1.315754e-22.
xhat1 =
4.990038871765137e-01
1.020576477050781e+00
1.205293655395508e+00
1.030517876148224e+00
9.941211566329002e-01
1.000405412632972e+00
9.999893351923674e-01
1.000000218589548e+00
>> norm(xhat1-x)/norm(x)
ans =
1.918762776683313e-01
>>
>> % Utilisation de la pseudo-inverse:
>> xhat4=pinv(a)*y
xhat4 =
1.000003337860107e+00
9.999985694885254e-01
1.000000953674316e+00
9.999998211860657e-01
1.000000022351742e+00
9.999999990686774e-01
1.000000000014552e+00
1.000000000000227e+00
>> norm(xhat4-x)/norm(x)
ans =
1.328986586111962e-06
>>
>> % Utilisation de la décomposition QR de A:
>> [q,r]=qr(a);
>> u=r(1:n,1:n);
>> qt=q’;
>> q1t=qt(1:n,:);
>> xhat3=zeros(n,1);
>> sec=q1t*y;
>> for ii=n:-1:1,
prem=0;
for jj=ii+1:n,
prem=prem+u(ii,jj)*xhat3(jj);
end
xhat3(ii)=1/u(ii,ii)*(sec(ii)-prem);
end
>> xhat3
xhat3 =
9.999995821321698e-01
1.000000000037892e+00
1.000000094150625e+00
9.999999700429867e-01
1.000000004047405e+00
9.999999997290243e-01
1.000000000008738e+00
9.999999999998931e-01
>> norm(xhat3-x)/norm(x)
ans =
1.518188652864724e-07
A−1 −1 −1 −1 −1 −1
11 + A11 A12 (A22 − A21 A11 A12 ) A21 A11 = (A11 − A12 A22 A21 )
−1
Ce lemme est utilisé pour les méthodes d’inversion itératives (actualisation de la matrice
de covariance en estimation).
A = V ΛV −1
avec
• V matrice des vecteurs propres à droite (ou des vecteurs propres généralisés) :
V = [v1 , v2 , · · · , vn ].
Avi = λi Bvi .
(Les valeurs propres généralisées sont utiles pour les systèmes dont la dynamique est
décrite par une équation du type : B ẋ = Ax + · · ·.)
Intérêt de la décomposition spectrale pour l’analyse des systèmes: Soit le
système: ½
ẋ = Ax + Bu
y = Cx
avec: dim(A) = n × n, dim(B) = n × m, dim(C) = p × n et on suppose que A est
diagonalisable.
Effectuons le changement de variable :
x=Vx
e avec V matrice des vecteurs propres
y x
C V U B
(p) (n) (n) (n) (n) (m)
λi t
xei (t) = xf
0i e .
Ce sont les modes du système. Les sorties y et les états x du modèle ne sont que des
combinaisons linéaires des modes x
e.
• La matrice B décrit l’influence des commandes u sur les variations des états ẋ.
• La matrice U décrit l’influence des variations des états ẋ sur les variations des modes
x.
ė
Remarque 1.3.1 Pour une valeur propre complexe λ, on parle de mode du second
ordre qui associe xei (λi ) et son conjugué xēi (λ¯i ).
alors n = nr + 2nc et :
nr
X Xnc
Cvi ui B Cvj uj B C v¯j u¯j B
Z(s) = + ( + )
i=1
r
s − λi j=1
s − λcj s − λ¯cj
Xnr n
Cvi ui B X c
C(αj s + βj )B
= r
+
i=1
s − λi j=1
s + 2ξj ωj s + ωj2
2
avec 4 :
• αj = 2 Re(vj uj ),
• on a supposé que les valeurs propres étaient distinctes. Dans le cas de valeurs
propres multiples, la matrice bloc-diagonale fait apparaı̂tre des bloc de Jordan.
On parle alors de matrice de vecteurs propres généralisés.
A = UT U∗
avec
• U matrice unitaire U U ∗ = I,
La décomposition de Schur réelle fait apparaı̂tre des blocs 2 × 2 sur la diagonale qui
correspondent aux valeurs propres complexe λci : :
λ1 · · · ∗ ∗ ··· ∗
... ..
∗ ∗ ··· .
..
Re(λci ) Im(λci ) ··· .
T = .
..
−Im(λci ) Re(λci ) ··· .
..
. ∗
∅ λn
La décomposition de Schur est utilisé pour calculer des sous-espaces invariants, c’est-
à-dire des sous-espaces propres de dimensions supérieure à 1. En effet, à partir de la
décomposition de Schur, on peut écrire :
AU = U T,
si l’on partitionne en 2 cette égalité, on obtient:
· ¸
T11 T12
A [U1 , U2 ] = [U1 , U2 ] .
∅ T22
La première composante de cette égalité s’écrit:
A U1 = U1 T11
qui traduit que les vecteurs colonnes de U1 engendrent un sous-espace propre associé
aux valeurs propres: diag(T11 ).
Les décompositions spectrale et de Schur sont utilisées pour résoudre les équations
de Riccati. la décomposition de Schur est réputée être plus stable numériquement
pour les équations de taille élevée (n¿100).
• U1 et U2 de dimension m × r et m × (m − r) respectivement,
• V1 et V2 de dimension n × r et n × (n − r) respectivement.
u2 u1
cercle unité
A vi = σi ui .
Les dernières colonnes de V correspondantes aux valeurs singulières nulles engendrent
le noyau de la matrice A, les autres colonnes correspondantes aux valeurs singulières
non-nulles engendrent l’espace image de A
Pseudo-inverse de Moore-Penrose
A+ = V Σ+ U ∗ = V1 Σ+ U1∗
· ¸
Σ−1
1 r×r 0
+
avec Σ = et Σ−1 1
1 = diag( σ1 , · · · ,
1
σr
).
0 0
(Il s’agit d’égalité algébrique, d’un point de vue numérique c’est totalement différent).
Propriétés des valeurs singulières
• σmax (.) est une norme matricielle, on a donc toutes les propriétés des normes:
σmax (AB) ≤ σmax (A)σmax (B).
kAuk
• σmax (A) = maxu /kuk6=0 kuk
.
1 1
• σmin (A−1 ) = σmax (A)
; σmax (A−1 ) = σmin (A)
.
• Propriété de singularité
σmin (A) représente la taille minimale de la matrice E telle que A + E soit sin-
gulière.
Chapter 2
2.1 Généralités
Soit un système multi-variable (n états, m commandes, p sorties) définit:
Singular Values
−16
x 10
5
0
Singular Values (dB)
−5
−10
−15
−20
−1 0 1
10 10 10
Frequency (rad/sec)
1−s
Figure 2.1: Valeur singulière de 1+s
* Dans le cas multi-variable, le tracé des r valeurs singulières (r = min(m, p)) offre
une information plus synthétique, mais la perte de la notion de phase peut-être
dommageable pour certaines analyses.
¯
Exercice: tracer σ( 1−s ) ¯ . La commande Matlab sigma(tf([-1 1],[1 1])) con-
1+s s=jω
duit alors au diagramme suivant (figure 2.1), c’est-à-dire une valeur
¯ singulière unitaire
1−s ¯
sur toute la plage de fréquence. Esquisser le tracé de σ(1 − 1+s ) s=jω .
e + u y
K(s) G(s)
-
marge de gain
(−1,0)
ωp Re(G(j ω)K(j ω))
1
|| S ||
8
marge de
phase
ωc
G(j ω )K(jω )
où ωc est la pulsation à laquelle le tracé de Nyquist traverse le cercle unité centré à
l’origine (pulsation de coupure). Elle mesure de combien la phase peut varier (rotation
du tracé autour de l’origine) avant de rencontrer le point critique.
Enfin la marge de retard est liée à la marge de phase exprimée en degré par la
relation :
π
marge de retard = marge de phase (2.3)
180ωc
Elle mesure la valeur minimale du retard pur introduit dans la boucle qui déstabilise
le système. Cette marge est particulièrement pertinente lorsque le lieu de Nyquist
traverse plusieurs fois le cercle unité. C’est souvent le cas des structures flexibles où la
présence de résonances et anti-résonances se traduisent par des boucles sur le lieu de
Nyquist. La marge de retard permet alors de mettre en évidence qu’une marge de
phase même confortable peut être critique si la pulsation ωc correspondante est élevée.
En comparaison, la marge de module représente la plus petite distance de L(jω)
au point critique et correspond donc au rayon r du cercle centré sur le point critique
qui tangente le courbe L(jω):
r = min |1 + G(jω)K(jω)|
ω
La figure 2.7 met en évidence un cas particulier où les marges de gain et de phase sont
confortables mais la marge de module trop faible.
soit encore:
1
r = min
ω σmax (I + G(jω)K(jω))−1
e u y+
K(s) G(s)
- +
1
= max σmax (I + G(jω)K(jω))−1 = kS(s)k∞
r ω
On peut pour chacun de ces transferts tracer les lieux de Black chaı̂ne par chaı̂ne, les
autres chaı̂nes étant ouverte et/ou fermée. Cela permet d’apprécier les couplages entre
les chaı̂nes. On notera toutefois qu’il faut fermer les autres chaı̂nes, pour apprécier
les marges de gain, de phase et de retard relatives à une chaı̂ne. La marge de module
(en sortie) permet de déterminer la taille de la plus petite perturbation additive ∆
déstabilisante selon le schéma de la figure 2.4. En effet l’application directe de la
propriété de singularité des valeurs singulières énoncée page 26 permet d’écrire :
La boucle fermée est stable si (condition suffisante) σmax (∆) < min σmin (I+G(jω)K(jω))
ω
e u y
G K(s) G(s)
-
2.2.3 Illustration
Considérons la boucle d’asservissement présentée figure 2.2 dans le cas SISO. Le trans-
fert de boucle (après développement) s’écrit :
2 3s2 + 0.01s + 1
L(s) = K(s)G(s) = + 2 .
s − 1 2s + 0.01s + 1
• Tracer les lieux de Black et de Nyquist.
Solution sous Matlab: la séquence Matlab qui suit conduit aux figures 2.6 à 2.8. On
peut vérifier dans le plan de Nyquist que le lieu entoure effectivement une fois le point
critique (le lieu complémentaire pour les pulsations ”négatives” est automatiquement
tracé). Etant donné qu’il y a un pôle instable en boucle ouverte, on peut garantir que
la boucle fermée est stable. Dans le plan de Black, cela se traduit par un départ
du lieu sur l’axe au dessus du point critique. Enfin, les marges de gain et phase sont
correctes mais la marge de module (ou plutôt le minimum de la valeur singulière de
1 + L) permet de déceler la proximité du lieu avec le point critique à la pulsation de
0.7 rds.
Mg =
0.5025
Mp =
60.5275
wc =
0
10
0
5
0.7078
0
2.675
−5
5.553
−10
dB
−15
13.23
−20
26.68
−25
53.78
−30
108.4
−35
−40
0 45 90 135 180 225 270 315 360
PHASE
wp =
1.7137
>> figure,sigma(1+L)
Nyquist Diagrams
From: U(1)
1.5
0.5
Imaginary Axis
To: Y(1)
−0.5
−1
−1.5
−2 −1.5 −1 −0.5 0 0.5
Real Axis
Singular Values
−1
−2
Singular Values (dB)
−3
−4
−5
−6
−7
−8
−1 0 1
10 10 10
Frequency (rad/sec)
• Des retards purs de 400 ms sur les entrées de G sont maintenant pris en compte
(approximation de Pade (pade) à l’ordre 1). Modifiez en conséquence le modèle
G et reprenez les analyses précédentes.
Chapter 3
• telle que: Z(s) = D + C(sI − A)−1 B, c’est à dire une réalisation qui soit
équivalente du point de vue du comportement entrée-sortie,
• qui soit minimale, c’est à dire entièrement gouvernable et observable car la ma-
trice de transfert initiale ne représente que la partie gouvernable et observable
du système.
Pourtant, il est facile de se rendre compte que Matlabr fournit sur cet exemple une
réalisation non-minimale (d’ordre 3) et donc incorrecte comme le montre la session qui
suit :
1
#2: -
s
>> [a,b,c,d]=ssdata(sys)
a =
0 0 0
1 0 0
0 0 0
b =
1
0
1
c =
0 1 0
0 0 1
d =
0
0
Cela est dû au fait que la fonction tf2ss ne garantit pas la minimalité de la réalisation.
Ce problème de minimalité est dilicat à résoudre dans le cas général comme nous allons
le voir dans les sections qui suivent 1 .
b) les modes ingouvernables de la paire (A, B) sont les valeurs de s pour lesquelles
la matrice [A − sI | B] perd son rang,
Plus généralement, toute paire (A, B) peut se décomposer par transformation orthog-
onale Ug (algorithme de Rosenbrock) de la façon suivante (help ctrbf) :
· ¸ · ¸
T A11 A12 T B1
Ug AUg = et Ug B = ,
0 A22 0
avec (A11 , B1 ) gouvernable. A22 représente la partie ingouvernable.
Dualement la paire (A, C) peut se décomposer de la façon suivante (help obsvf) :
· 0 ¸
T A11 A012
Uo AUo = et CUo = [0 C2 ],
0 A022
avec (A022 , C2 ) observable. A011 représente la partie inobservable.
Le calcul pratique d’une réalisation minimale utilise ces 2 transformations de façon
séquentielle (help minreal):
0 1 0 ··· 0 0
.. .. .. ..
0 0 . . . .
x˙h .. .. .. .. xh
= . . . 1 0 .
0 0 ··· 0 1 0
−a0 −a1 · · · · · · −an−1 1
y b0 ··· bm 0 ··· 0 u
N (s) = C(s)B(s)
Les deux polynômes C(s) et B(s) ou, dans le cas multi-variable, les matrices polyno-
miales colonne C(s) et ligne B(s) (voir section 3.6.4), alimentent les matrices C et B
de la façon suivante :
0 1 0 ··· 0
..
0 .. .. ..
0 . . . 0 .
x˙0 = .. .. .. x + A−1 B̈(0)/2!
h . . . 1 0 h u
0 0 ··· 0 1 Ḃ(0)/1!
B(0)
h −a0 −a 1 · · · · · · −an−1i
y = ˙
C(0) ¨
C(0)
C(0) 1! 2!
··· · · · x0h
avec:
1 0 ··· 0
.. .. .. ¯
a . . . ∂N (s) ¯¯
A = n−1 et Ṅ (0) = (N (s) = C(s) ou B(s))
... ... ...
0 ∂s ¯s=0
a1 · · · an−1 1
(3.1)
..
−an−1 1 0 · · · 0 .
.. . . .
. 0 . . . . .. 0
x˙v .. .. . . xv
= . . . 1 0 bm (3.2)
..
−a 0 ··· 0 1
.
1
−a0 0 · · · · · · 0 b0
y u
1 0 ··· ··· 0 0
Comme précédemment, une formulation plus générale fait intervenir une factorisation
du numérateur:
N (s) = C(s)B(s)
Les deux polynômes C(s) et B(s) ou, dans le cas multi-variable, les matrices polyno-
miales colonne C(s) et ligne B(s) (voir section 3.6.4), alimentent les matrices C et B
de la façon suivante :
−an−1 1 0 · · · 0
.. . . . . .. ..
. 0 . . . .
x˙0v = .. .. . . x0v +
. . . 1 0 B̈(0)/2! u
−a 0 · · · 0 1 Ḃ(0)/1!
1
−a 0 · · · · · · 0i B(0)
h 0
˙ ¨
y = C(0) C(0) C(0)
· · · · · · A−1 x0v
1! 2!
N (s) C(s)B(s)
F (s) = n
=
(s + λ) (s + λ)n
alors :
..
−λ 1 0 ··· 0 .
.. .. .. .. ..
0 . . . . .
.. .. .. ..
. 0 B̈(−λ)/2!
ẋ . . .
x
= ..
.
..
.
..
. 1 Ḃ(−λ)/1!
0 ··· ··· 0 −λ B(−λ)
y u
˙
C(−λ) ¨
C(−λ)
C(−λ) 1! 2!
··· ··· 0
Cas particuliers: pour les systèmes SISO on prend souvent: C(s) = 1 et B(s) = N (s)
ou C(s) = N (s) et B(s) = 1.
M (s)
Z(s) =
Ψ(s)
Comme dans le cas SISO il faut isoler préalablement la transmission directe et normalisé
à 1 le coefficient de plus haut degré de Ψ(s).
Exemple:
· ¸
bm sm + bm−1 sm−1 + bm−2 sm−2 + · · · + b1 s + b0
· ¸
cm sm + cm−1 sm−1 + cm−2 sm−2 + · · · + c1 s + c0 d1
Z(s) = +
1sn + an−1 sn−1 + an−2 sn−2 + · · · + a1 s + a0 d2
alors:
0 1 0 ··· 0 0
..
0 0 . 0
ẋ
... ..
0 ··· 1 . x
= 0 0 ··· 0 1 0
−a −a · · · · · · −an−1 1
0 1
y1
b0 ··· bm 0 ··· d1
u
y2 c0 ··· cm 0 ··· d2
L’ordre du système est la somme des rangs des matrices Mi (de dimension p × m):
q q
X X
n= rang(Mi ) = ri avec ri = rang(Mi )
i=1 i=1
∃ Ci (p × ri ), Bi (ri × m) / Mi = Ci Bi
La représentation d’état est sous forme diagonale (avec λi apparaissant ri fois), les
matrices B et C sont formées des matrices Bi et Ci .
Exemple:
· 2 ¸ · ¸
s + 4s + 1 s 3s + 1 s
· ¸
4s 3s + 1 4s 3s + 1 1 0
Z(s) = = + (3.3)
s2 + s s(s + 1) 0 0
· ¸ · ¸
1 0 2 1
· ¸
0 1 4 2 1 0
= + + (3.4)
s s+1 0 0
· ¸ · ¸
1 0 1
[2 1] · ¸
0 1 2 1 0
= + + (3.5)
s s+1 0 0
Les valeurs propres 0 et -1 vont donc apparaı̂tre respectivement 2 fois et 1 fois dans la
γ1 (s)
..
.
γm (s)
Γ(s) =
cas p > m
0
..
.
0
Les éléments γi (s) sont appelés les invariants de la matrice M (s). Ils ont la propriété
suivante: γi divise γi+1 .
On peut écrire:
V −1 (s)M (s)W −1 (s) = Γ(s)
V −1 (s) et W −1 (s) sont des matrices de pré-multiplication et de post-multiplication
calculées pour diagonaliser M (s).
Exemple: · ¸
1 s + 3 3s + 8
Z(s) =
(s + 2)2 1 s + 4 &M (s)
Diagonalisation de M (s) par pré et post multiplication:
· ¸ · ¸
1 −s − 3 s + 3 3s + 8
· ¸ 0 1 · 1 s+4 ¸
2
0 1 0 −s − 4s − 4
1 0 · 1 s+4 ¸ · ¸
1 s+4 1 s+4
0· −s2 − 4s −¸4 0 −1
1 0
|{z} 0 (s + 2)2 |{z}
0 1 | {z } W −1 (s)
V −1 (s)= Γ(s)
1 −s − 3
· ¸ · ¸
s+3 1 1 s+4
V (s) = W (s) =
1 0 0 −1
· ¸· 1 ¸· ¸
s+3 1 (s+2) 2 0 1 s + 4
⇒ Z(s) =
1 0 0 1 0 −1
(voir aussi les exemples 13,14 et 15 pages 38 et 39 de la référence [4].)
et C correspondantes, il sera préférable, dans certains cas (cas des pôles réels multi-
ples), de ne pas chercher les matrices V (s) et W (s) mais d’appliquer la méthode du
graphe minimal (voir section 3.8) connaissant l’ordre et la structure de la dynamique
du système.
Calcul direct des γi (s): on pose:
• ∆0 = 1,
2
• ∆1 = pgcd des éléments mij (s) de M (s),
∆1 ∆2 ∆i
On a alors: γ1 = ∆0
, γ2 = ∆1
, · · ·, γi = ∆i−1
.
Exemple: · ¸
s + 3 3s + 8
M (s) =
1 s+4
∆0 = 1
∆1 = 1 ⇒ γ1 = 1
2 2
∆2 = s + 7s + 12 − 3s − 8 = (s + 2) γ2 = (s + 2)2
γi (s)
Il faut alors simplifier les fractions rationnelles Ψ(s)
autant que se peut:
γi (s) ²i (s)
= avec ²i (s) et Ψi (s) premiers entre eux.
Ψ(s) Ψi (s)
2
Plus Grand Commun Diviseur
3
C’est-à-dire toutes les matrices i × i que l’on peut extraire de M (s).
γi (s)
Il peut y avoir éventuellement simplification totale: Ψ(s)
= ²i .
²1 (s)
Ψ1 (s)
0
..
²2 (s)
.
Ψ2 (s)
.. ..
. .
..
Z(s) = V (s) ²k (s)
. W (s) (hyp: p < m) .
Ψk (s)
..
²k+1 .
... ..
.
²p 0
L’ordre du système est égal à la somme des degrés des dénominateurs des
invariants rationnels réduits:
Pmin(m,p)
n= i=1 degré(Ψi (s)).
min(m,p)
det(sI − A) = Πi=1 Ψi (s) = n = Πki=1 Ψi (s).
Exemple:
· ¸· 1 ¸· ¸
s+3 1 (s+2)2
0 1 s+4
Z(s) = ⇒ système d’ordre 2 .
1 0 0 1 0 −1
k min(m,p) k min(m,p)
X ²i (s) X X X
Z(s) = vi wi + vi ²i wi = Zi + Di
i=1
Ψi (s) i=k+1 i=1 i=k+1
n = degré[Ψ(s)] × min(m, p)
• si p ≥ m: décomposition en colonne:
m
X Mi (s)
Z(s) = [0 · · · 0 1
|{z} 0 · · · 0]
i=1
Ψ(s)
iieme colonne
Pour chaque terme Mi (s), on adoptera une forme compagne horizontale ou une
forme de Jordan (cas des valeurs propres multiples). La réalisation finalement
obtenue est bloc-diagonale et gouvernable mais pas nécessaire observable.
• si p ≤ m: décomposition en ligne
0
..
.
M 1 (s)
p 0
X M i (s) M 2 (s)
Z(s) = 1 avec M (s) = ..
Ψ(s) .
i=1 0
.. M p (s)
.
0
Pour chaque terme M i (s), on adoptera une forme compagne verticale ou une
forme de Jordan (cas des valeurs propres multiples). La réalisation finalement
obtenue est bloc-diagonale et observable mais pas nécessaire gouvernable.
Exemple:
· ¸ · ¸
s+3 3s + 8
· ¸ [1 0] [0 1]
1 s + 3 3s + 8 1 s+4
Z(s) = = +
(s + 2)2 1 s+4 (s + 2)2 (s + 2)2
−2 1 0 0
0 −2 1 0
x˙1 =
x + u
−2 1 1 0 0
· 0 −2 ¸ 0 1
1 1 2 3
y = x1
1 0 2 1
On peut constater que la matrice formée des ·2 premières¸ colonnes de la matrice C
1 2
correspondantes aux 2 blocs de Jordan, soit: n’est pas de rang 2 et traduit
1 2
donc l’inobservabilité de cette réalisation d’ordre 4.
En exprimant les blocs élémentaires sous forme compagne horizontale, on obtient
une autre réalisation :
0 1 0 0
−4 −4
x˙2 =
x2 + 1 0 u
0 1 0 0
· −4 −4 ¸ 0 1
3 1 8 3
y = x2
1 0 4 1
La décomposition en ligne:
· ¸ · ¸
1 0
[s + 3 3s + 8] [1 s + 4]
0 1
Z(s) = + ,
(s + 2)2 (s + 2)2
conduit aux deux réalisations suivantes :
−2 1 1 3
0 −2
x˙3 =
x3 + 1 2 u
−2 1 0 1
· 0 −2 ¸ 1 2
1 0 0 0
y = x3
0 0 1 0
−4 1 1 3
−4 0 3 8
x˙4 = x4 +
−4 1 0 1 u
· −4 0 ¸ 1 4
1 0 0 0
y = x4
0 0 1 0
xr + x r-1 + x1 y1
+ +
[1 2]u [1 3]u
x2 x1 y1
+
+
+ y2
-
On trace le graphe de la première mesure i où Mri n’est pas nul. On obtient le schéma
fonctionnel présenté Figure 3.1 (avec i = 1). Puis on construit les mesures suivantes
Mr2
en s’efforçant de construire d’abord le terme de plus haut degré ( (s+λ) r U ) en utilisant
1
les r blocs s+λ déjà construits et ainsi de suite pour les autres mesures.
Exemple:
· ¸ · ¸
1 2 1 3
· ¸
1 s + 3 3s + 8 1 2 0 1
Z(s) = = +
(s + 2) 2 1 s+4 (s + 2) 2 s+2
( [1 2] [1 3]
Y1 (s) = (s+2) 2 U + s+2 U
[1 2] [0 1]
Y2 (s) = (s+2) 2 U + s+2 U
[1 2]
Y2 (s) = Y1 (s) − U.
s+2
D’où la réalisation minimale (d’ordre 2) :
· ¸ · ¸
−2 1 1 3
x˙5 = x5 + u
· 0 −2¸ 1 2
1 0
y = x5
1 −1
3.9 Exercice
On considère le système à 2 entrées et 2 sorties défini par la matrice de transfert
suivante : · 3 ¸
p + 3p2 + 2p + 1 2p2 + p + 1
3p2 + p + 1 3p2 + p + 1
Z(p) = (3.6)
p2 (p2 + p + 1)
b) Quelle est sont équation caractéristique? Sous forme bloc diagonale, quelle serait
la structure de la matrice A?
Chapter 4
Par pré-multiplication
· ¸ et post-multiplication, on peut se ramener au cas où L(s) =
Iρ×ρ φρ×p
et on décompose le système en blocs 2 × 2 :
φp×ρ φp×p
· ¸ · ¸ · ¸
(ρ) L11 (D) L12 (D) y1 M1 (D)
= u
(p − ρ) L21 (D) L22 (D) y2 M2 (D)
(ρ) (p − ρ)
On est ramener au cas précédent car L11 s est inversible. Y2 est considérer comme une
entrée auxiliaire pour ce sous-système. On obtient alors :
½ · ¸ · ¸ x1
x˙1 = A1 x1 + B1 u − Ky2 x˙1 A1 B1 −K
ou = u
y1 = C1 x1 y1 C1 φ φ
y2
Second sous-système :
L22 (D)y2 = M2 (D)u − L21 (D)y1 (4.1)
Le terme L21 (D)y1 est composé de termes en :
• y1 = C1 x1 ,
• · · ·.
• des relations statiques sur x1 qui permettront de supprimer (réduire) des variables
d’états dans le vecteur x1 (si ρ × s > n).
et la représentation globale :
x˙1 A1 −KC2 B1
x˙2 T A2 B2 x1
x
= 2
y1 C1 φ φ
u
y2 φ C2 φ
Remarques :
4.4 Exemple
Soit le système différentiel :
· ¸ · ¸
D2 + D + 1 D2 − D D+1 D+2
y= u noté: (L(D)y = M (D)u)
D2 + 2D + 1 D2 + D D + 3 2D + 4
Ordre du système
⇒ n=3
Normalisation de Ls
· ¸
1 1
s = 2 ; L2 =
1 1
Pré-multiplication:
· ¸ · 2 ¸ · ¸
1 0 D + D + 1 D2 − D D+1 D+2
× (Ly = Du) ⇒ y= u.
−1 1 D 2D 2 D+2
· ¸
1 −1
Changement de variable: y = z
0 1
· 2 ¸ · ¸
D + D + 1 −2D − 1 D+1 D+2
⇒ z= u.
D D 2 D+2
Premier sous-système:
Second sous-système:
Représentation globale
−1 1 2 1 3
x˙1
−1 0 1 1 3
x˙ x1
2 1 −1 −2 1 −1
= x2
z1
1 0 0 0 0 u
z2
0 0 1 0 1
· ¸
1 −1
Soit, compte tenu du changement de variable y = z:
0 1
−1 1 2 1 3
x˙1
−1 0 1 1 3
x˙ x1
2 1 −1 −2 1 −1
= x2
y1
1 0 −1 0 −1 u
y2
0 0 1 0 1
4.5 Exercices
Exercice 1
a) De quel ordre est ce système ? (On ne vous demande pas les modes, seulement
l’ordre. Répondez, en justifiant, le plus facilement possible).
c) Comment les états que vous avez choisi sont-ils liés aux sorties et aux entrées du
système?
Exercice 2
· ¸ · ¸
D2 − D D2 + 1 1 2
2 2 y= u
D + D D + 2D − 1 2 1
Chapter 5
Gouvernabilité et observabilité:
analyse pratique par les grammiens
5.1 Introduction
Les notions de gouvernabilité et d’observabilité présentées jusqu’ici donne une infor-
mation binaire sur les propriétés du système (gouvernable ou pas, observable ou pas).
Les critères théoriques sont d’ailleurs fondés sur un calcul de rang. En pratique, il
paraı̂t nécessaire de pouvoir apprécier, de mesurer la gouvernabilité ou l’observabilité
(on parle alors d’indice de gouvernabilité ou d’observabilité).
Exemple: Cas de 2 blocs de Jordan associés à la même valeur propre dans le cas
monovariable. Que se passe t-il lorsque l’égalité des valeurs propres n’est pas parfaite
?:
· ¸ λ 0 1 · ¸
ẋ x
= 0 λ+² 1 avec ² petit .
y u
1 1 0
Dans le cas des systèmes asymptotiquement stables, les grammiens de gouvernabilité et
d’observabilité fournissent cette mesure et permettent d’appréhender ces problèmes.
5.2 Définitions
Soit un système asymptotiquement stable :
· ¸ · ¸· ¸
ẋ A B x
=
y C D u
Première interprétation
La réponse de l’etat x(t) du système à une impulsion sur l’entrée u s’écrit : x(t) =
eAt B, t > 0. Z ∞
Xc = x(t)xT (t)dt
0
Le grammien de gouvernabilité représente l’intégrale du carré de la réponse impulsion-
nelle des états du système.
Calcul pratique
AXc + Xc AT + BB T = 0 (5.1)
Justification:
Z ∞ ³ ´
T Tt T
AXc + Xc A = AeAt BB T eA + eAt BB T eA t AT dt
0
Z ∞ T h i∞
d(eAt BB T eA t ) At T AT t
= dt = e BB e (rappel: AeAt = eAt A).
0 dt 0
AXc + Xc AT = −BB T .
Rappel: (voir cours de seconde année sur la représentation markovienne des processus
aléatoires)
•
˙ = Ax(t) + b(t) avec b(t): bruit blanc de densité spectrale Q,
soit u système : x(t)
£ ¤
• soit : E x(t)xT (t + τ ) = P δ(τ ) (P matrice de covariance de l’état x en régime
permanent),
Propriétés:
· ¸ · ¸ · ¸T
A B AT C T A B
• Dualité: ↔ = ,
C φ BT φ C φ
• Xo solution de : AT Xo + Xo A + C T C = 0,
• Xo est symétrique positive semi-définie,
• le système est observable si Xo est définie positive.
e = M −1 AM, B
A e = M −1 B, C e = CM et
Z ∞³ ´
f e e eT A
At eT t
Xc = e BB e dt est solution de:
0
eX
A fc + X
fc A
eT + B
eBeT = 0
⇔ fc + X
M −1 AM X fc M T AT M −T + M −1 BB T M −T = 0
fc M T + M X
AM X fc M T AT + BB T = 0 (5.2)
fc M T ou encore :
L’identification des équations 5.1 et 5.2 donne: Xc = M X
fc = M −1 Xc M −T .
X
fo = M T Xo M .
X
Remarque: X fc X
fo = M −1 Xc Xo M donc les valeurs propres de Xc Xo sont invariantes
par le changement de base M .
Représentation équilibrée:
fc = X
∃M /X fo = Σ2 = diag(σi ) i = 1, · · · , n avec :
•
e B,
la représentation (A, e C)
e associée à ce changement de base M est dite équilibrée.
1
Exemple élémentaire: F (s) = s+1
, on propose deux représentations :
· ¸ · ¸· ¸
ẋ −1 0.01 x
• = représentation non équilibrée :
y 100 0 u
Xc = 0.005, Xo = 5000,
· ¸ · ¸· ¸
ẋ −1 1 x
• = représentation équilibrée :
y 1 0 u
Xc = Xo = 0.5 .
d) alors M = Vc Σc V Σ−1 .
Justification:
fc = M −1 Xc M −T
•X
= Σ V T Σ−1 T 2 T −1
c Vc Vc Σc Vc Vc Σc V Σ
| {z } | {z }
I I
T
= ΣV
| {zV} Σ
I
2
= Σ
fo = M T Xo M
•X
= Σ−1 V T Σc VcT Vo Σ2o VoT Vc Σc V Σ−1
| {z }
PTP
−1
= Σ V V Σ U U Σ2 V T V Σ−1
T 2 T
= Σ2
Références