Identification
Identification
dynamiques
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 2
1
Identification des systèmes
dynamiques
Chap 1 Introduction
1.1 Systèmes
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 4
2
1.1 Systèmes
Perturbation(s)
Entrée(s) Sortie(s)
Système
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 5
1.1 Système
Exemples:
Système de chauffage d’un local: entrée=
puissance électrique fournie par les résistances
chauffantes / sortie: température du local /
perturbations: échanges thermiques avec le milieu
extérieur via les fenêtres, les portes, l’apport
thermique des personnes...
Contrôle de gouvernail d’un avion: entrée force
hydraulique/ perturbations: le vent, la neige
…/sortie: position du gouvernail.
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 6
3
1.2 Modèles –définition(1)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 7
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 8
4
1.2 Modèles –définition(3)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 9
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 10
5
1.2 Modèles –Conception
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 11
Le modèle de connaissances:
Exploitant les connaissances a priori sur le système,
les lois du domaine et la décomposition en des
sous systèmes simples, on déduit les relations
mathématiques. Aucune expérimentation n’est
nécessaire.
Approche utilisée pour obtenir un modèle
mathématique/graphique.
Exemple: Contrôle de la vitesse d’un ventilateur
entraîné par une MCC commandé par un Hacheur
série…
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 12
6
1.2.2 Modèles de comportement
Le modèle de comportement:
Exploitant uniquement les mesures prélevées sur
les entrées/sorties et éventuellement les
expériences précédentes. Les connaissances a
priori ne sont pas nécessaires (trop complexes ou
indisponibles) en général.
Approche utilisée pour obtenir un modèle
mathématique/graphique/mental.
Exemple: Système de climatisation d’un grand
centre commercial / conduite d’une bicyclette.
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 13
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 14
7
1.3 Identification –Définition(1)
Modèle
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 15
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 16
8
1.4 Identification –Validation
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 17
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 18
9
1.5 Identification –Type(2)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 19
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 20
10
1.7 Identification –Procédure(2)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 21
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 22
11
1.7 Identification –Procédure(4)
Un algorithme d’identification
Méthode qui se base sur la classe de modèle
choisie et les données collectées pour trouver le
meilleur modèle de cette classe au sens d’un
critère de performance choisi d’avance: par
exemple minimiser l’erreur de sortie (différence
entre la sortie du modèle et celle du système), …
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 23
Connaissances
1.7 Identification –Procédure(5) a priori
Collecte de données
Choix du critère de
performance
Modèle accepté
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 24
12
1.8 Étude d’un cas typique(1)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 25
y (t ) = ϕ T θ (1.2)
ϕ = [− y (t − 1) L − y (t − n ) u (t − 1) L u (t − m)] (1.3a)
T
θ = [a1 L an b1 L bm ]T (1.3b)
Vecteur de
Vecteur de paramètre
régression/observations
Régresseur
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 26
13
1.8 Étude d’un cas typique(3)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 27
V N (θ , Z N ) =
N
1
∑ ( y( t ) − ŷ( t θ ,t − 1 ))
2
(1.7)
N t =1
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 28
14
1.8 Étude d’un cas typique(5)
Un exemple simple
y(t) + ay( t − 1 ) = bu(t-1 )
−1
N N
N
â N ∑ y 2( t − 1) − ∑ y( t − 1 )u( t − 1 ) − ∑ y( t ) y( t − 1 )
b̂ = N × Nt =1
t =1 t =1
N
N −
∑ y( t − 1 )u( t − 1 )
t =1
∑
t =1
u ( t − 1)
2
∑ y( t )u( t − 1 )
t =1
y(0)=0
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 29
« Vrai » modèle
Essai avec
plusieurs entrées
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 30
15
1.8 Étude d’un cas typique(7)
Construction d’un
objet data
Estimation du
modèle
Indicateur de la
qualité de l’estimé
obtenu
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 31
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 32
16
Identification des systèmes
2.1 Introduction(1)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 34
17
2.1 Introduction(2)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 35
18
2.2 Structures de modèle(2)
AR Model: auto regressive A( q −1 ) y( t ) = e( t )
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 37
période d’échantillonnage. A( q −1 ) = 1 + ∑ ai q −i
i =1
Les coefficients des polynômes en q-1 nb
sont les paramètres à estimer.
e(t) est une perturbation de type bruit
B( q −1 ) = ∑b q
i =1
i
−i +1− nk
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 38
19
2.3.1 Modèle AR
y( t ) = a1 y( t − 1 ) + ... + a na y( t − na ) + e( t ) e( t )
y( t )
1
A( q −1 )
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 39
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 40
20
2.3.3 Modèle ARMAX
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 41
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 42
21
2.3.5 Modèle Box-Jenkins
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 44
22
2.3.7 Modèle général
Deux cas:
H et G ont des pôles communs, l’entrée de commande et la
perturbation ont des dynamiques communes.
H et G n’ont pas de pôles communs, les dynamiques de
l’entrée de commande et celle de la perturbation sont
découplées (plus réaliste).
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 45
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 46
23
2.3.8 Modèle à erreur d’équation(2)
AR /ARX Model: ε ( t ) = e( t )
B( q −1 ) 1
G( q −1 ) = −1
; H ( q −1 ) =
A( q ) A( q −1 )
ARMAX Model: ε ( t ) = C( q −1 )e( t )
B( q −1 ) C( q −1 )
G( q −1 ) = ; H ( q −1
) =
A( q −1 ) A( q −1 )
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 47
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 48
24
2.3.9 Modèle à erreur de sortie(2)
Box-Jenkins Model C ( q −1 )
ε ( t ) = A( q −1 ) e( t )
D( q −1 )
B( q −1 ) C( q −1 )
G( q −1 ) = ; H ( q −1
) =
A( q −1 ) D( q −1 )
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 49
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 50
25
2.4 Forme de régression et Prédiction
optimale
Définition: La forme de régression exprime la sortie y(t) en
fonction d’un vecteur d’observations (régresseur) et du
vecteur de paramètres. Ce dernier est estimé par un
algorithme d’identification via cette forme de régression
y( t ) = f ( θ ,Φ T ,...)
Exemple: modèle ARX sans perturbations
y( t ) = Φ T θ
Un algo d’identification
−1 N
N
θˆ N = ∑Φ ( t )Φ T ( t ) ∑Φ ( t ) y( t )
i =1 t =1
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 51
Φ T ( t ) = [− y( t − 1 ) ... − y( t − na ) u( t − nk ) ... u( t − nb − nk + 1 )]
θ = [a1 ... a na b1 ... bnb ]
T
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 52
26
2.4.2 Modèle ARMAX (1)
A( q −1 ) y( t ) = B( q −1 )u( t ) + C( q −1 )e( t )
B( q −1 ) Prédicteur A( q −1 )
1 −
C ( q −1 ) C( q −1 )
+ +
ŷ( t θ ,t − 1 )
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 53
ŷ( t θ ,t − 1 ) = (1 − C( q −1 ))ŷ( t θ , t − 1 ) +
(C( q −1
) − A( q −1 ))y( t ) + B( q −1 )u( t )
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 54
27
2.4.2 Modèle ARMAX(3)
A( q −1 ) y( t ) = B( q −1 )u( t ) + C( q −1 )e( t )
1
Comme C( q −1 ) est asymptotiquement stable l’effet
des conditions initial s’annule.
Deux prédictions avec deux conditions initiales
différentes
C( q −1 )( ŷ1 ( t θ , t − 1 ) − ŷ 2 ( t θ , t − 1 )) = 0
( ŷ ( t θ ,t − 1 ) − ŷ ( t θ ,t − 1 )) → 0
1 2
exp on
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 55
Le prédicateur s’écrit
ŷ( t θ ,t − 1 ) = (1 − C( q −1 ))ŷ( t θ , t − 1 ) +
(C( q −1
) − 1 + 1 − A( q −1 ))y( t ) + B( q −1 )u( t )
Soit l’erreur de prédiction
δ ( t ,θ ) = y( t ) − ŷ( t θ , t − 1 )
On obtient
ŷ( t θ , t − 1 ) = Φ T ( t ,θ ).θ
avec
θ = [ a1 ...a na b1 ...bnb c1 ...cnc ] T
Φ T ( t ,θ ) = [ − y( t − 1 )... − y( t − na ) u( t − nk )...u( t − nk − nb + 1 )
δ ( t − 1,θ )...δ ( t − nc ,θ )] T
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 56
28
2.4.2 Modèle ARMAX(5)
A( q −1 ) y( t ) = B( q −1 )u( t ) + C( q −1 )e( t )
y( t ) = Φ T ( t ,θ ).θ + e( t ) pseudo_linéaire
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 57
D( q −1 )B( q −1 ) Prédicteur D( q −1 ) A( q −1 )
1 −
C ( q −1 ) C ( q −1 )
+ +
ŷ( t θ ,t − 1 )
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 58
29
2.4.3 Modèle OE (1) y( t ) =
B( q −1 )
u( t ) + e( t )
A( q −1 )
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 59
u( t ) B( q −1 ) y( t )
y( t ) = u( t ) + e( t )
A( q −1 )
B( q −1 ) Prédicteur
A( q −1 )
ŷ( t θ ,t − 1 )
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 60
30
2.4.3 Modèle OE (3) y( t ) =
B( q −1 )
u( t ) + e( t )
A( q −1 )
Puisque B( q −1 )
ŷ( t θ , t − 1 ) = u( t )
A( q −1 )
D’où y( t ) = ŷ( t θ , t − 1 ) + e( t )
La forme de régression pseudo-linéaire s’écrit
y( t ) = Φ T ( t ,θ )θ + e( t )
θ = [ a1 ...a na b1 ...bnb ] T
Φ T ( t ,θ ) = [ − ŷ( t − 1θ , t − 2 )... − ŷ( t − na θ , t − na − 1 )
u( t − nk )...u( t − nk − nb + 1 )] T
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 61
Sachant que
na nf nc
A( q −1 ) = 1 + ∑ ai q −i ;F ( q −1 ) = 1 + ∑ f i q −i ; C( q −1 ) = 1 + ∑ ci q −i ;
i =1 i =1 i =1
nb nd
B( q −1 ) = ∑ bi q −nk −i +1 ; D( q −1 ) = 1 + ∑ d i q −i
i =1 i =1
31
2.4.4 Modèle Général (2)
B( q −1 ) C( q −1 )
A( q −1 ) y( t ) = −1
u( t ) + e( t )
F( q ) D( q −1 )
En utilisant les variables intermédiaires
B( q −1 )
w( t ,θ ) = u( t )
F ( q −1 )
v( t ,θ ) = A( q −1 ) y( t ) − w( t ,θ )
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 63
Avec
θ = [a1 ... a na b1 ... bnb c1 ... cnc d1 ... d nd f1 ... f nf ]
Φ T = [− y( t − 1 ) ... − y( t − na ) u( t − nk ) ... u( t − nk − nb + 1 )
δ ( t − 1,θ ) ... δ ( t − nc ,θ ) − v( t − 1,θ ) ... − v( t − nd ,θ )
− w( t − 1,θ ) ... − w( t − nf ,θ ) ]
L’erreur de prédiction
δ ( t ,θ ) = y( t ) − ŷ( t θ , t − 1 ) = e( t )
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 64
32
2.4.5 Remarques générales(1)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 65
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 66
33
2.5 Boites à outils pratiques
Objectif:
connaître et savoir utiliser qq uns de ces outils.
Profiter de l’outil informatique pour automatiser et
faciliter la procédure d’identification.
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 67
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 68
34
2.5.2 Toolbox system identification-
MatlabTM
Matlab permet l’identification des systèmes à l’aide:
D’une boite à outils graphiques.
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 69
Modèles obtenus
Estimation
Propriétés des
modèles
Visualisation données
Validation des
modèles
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 70
35
Identification des systèmes
dynamiques
3.1 Récursivité
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 72
36
3.1 Position du problème et Objectif(1)
B( q −1 ) = b1 q −1 + .... + a n q −n
n ≥ max( na , nb ) connu
Si n > max( na , nb ) alors ai = 0 et b j = 0 pour i = na + 1,..., n
et j = nb + 1,..., n
Si le retard n k > 1 alors b j = 0 pour j = 1,..., nk − 1
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 73
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 74
37
3.2 Algorithme de gradient(1)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 75
3.2Algorithme de gradient(2)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 76
38
3.2Algorithme de gradient(3)
Dans le critère:
2
J ( x ) = x − θˆ ( t − 1 ) + λ ( y( t ) − Φ T ( t ) x ) 2
θˆ ( t − 1 )
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 77
3.2Algorithme de gradient(2)
Algorithme du gradient
λΦ ( t )δ ( t )
θˆ ( t ) = θˆ ( t − 1 ) +
1 + λΦ T ( t )Φ ( t )
δ ( t ) = y( t ) − Φ T ( t )θˆ ( t − 1 ); avec θˆ ( 0 ) = 0
Autre forme
Φ ( t )δ ( t )
θˆ ( t ) = θˆ ( t − 1 ) +
α + Φ T ( t )Φ ( t )
δ ( t ) = y( t ) − Φ T ( t )θˆ ( t − 1 ); α = 1/λ ; avec θˆ ( 0 )
TP: programmation de cet algorithme
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 78
39
3.2Algorithme de gradient(3)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 79
3.2Algorithme de gradient(4)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 80
40
3.2Algorithme de gradient(5)
∑ (Φ ( t + i )W ) ≥ α W
N
2 2
ou autrement ∀W ∈ IR 2 n T
i =1
3.2Algorithme de gradient(5)
Remarquons que
Φ T ( t ) = H ( q −1 )u( t )
Avec
−1 −1 B(q -1 ) -1
− n +1 B(q )
H( q ) = -q ... -q q −1 ... q −n
A(q -1 ) A(q -1 )
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 82
41
3.2Algorithme des MC récursif(1)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 83
ou θˆ ( 0 ) = 0
P( 0 ) = α I d avec α >> 1 (1000, 10000...)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 84
42
3.2Algorithme des MC récursif(3)
P( t − 1 )Φ ( t )δ ( t )
θˆ ( t ) = θˆ ( t − 1 ) +
1 + Φ T ( t )P( t − 1 )Φ ( t )
P( t − 1 )Φ ( t )Φ T ( t )P( t − 1 )
P( t ) = P( t − 1 ) −
1 + Φ T ( t )P( t − 1 )Φ ( t )
δ ( t ) = y( t ) − Φ T ( t )θˆ ( t − 1 )
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 85
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 86
43
Identification des systèmes
dynamiques
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 88
44
4.2 Modèle ARX perturbé
A( q −1 ) y( t ) = B( q −1 )u( t ) + e( t ) e( t ) (bruit blanc)
θˆ ( t ) = θˆ ( t − 1 ) + P( t )Φ ( t )δ ( t )
P( t − 1 )Φ ( t )Φ T ( t )P( t − 1 )
P( t ) = P( t − 1 ) −
1 + Φ T ( t )P( t − 1 )Φ ( t )
δ ( t ) = y( t ) − Φ T ( t )θˆ ( t − 1 )
sous la condition d' EP lim θˆ ( t ) = θ
t →∞
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 89
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 90
45
4.2 Modèle ARMAX(2)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 91
Φ T ( t ,θˆ ( t − 1 )) =
[ − y( t − 1 )... − y( t − n ) u( t − 1 )...u( t − n )
δ ( t − 1,θˆ ( t − 2 ))...δ ( t − n ,θˆ ( t − n − 1 ))] T
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 92
46
4.2 Modèle ARMAX(4)
u( t ) B( q −1 ) C( q −1 ) y( t )
y( t ) = −1
u( t ) + −1
e( t )
A( q ) A( q )
Prédicteur ŷ( t θˆ ( t − 1 ), t − 1 )
θˆ ( t − 1 )
q -1
θ̂ ( t ) Algo des MC
récursives
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 93
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 94
47
4.3 Modèle OE(2)
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 95
Φ T ( t ,θˆ ( t − 1 )) =
[ − ŷ( t − 1θˆ ( t − 2 ), t − 2 )... − ŷ( t − n θˆ ( t − n − 1 ), t − n − 1 )
u( t − 1 )...u( t − n )] T
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 96
48
4.4 Modèle OE(4)
u( t ) B( q −1 ) y( t )
y( t ) = u( t ) + e( t )
A( q −1 )
Prédicteur ŷ( t θˆ ( t − 1 ), t − 1 )
θˆ ( t − 1 )
q -1
θ̂ ( t ) Algo des MC
récursives
10-2010 Master ATSII -FST Settat Identification des systèmes dynamiques- [Link] 97
49