Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Cours Identification

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 40

CH-1 : Généralités

1. Introduction :

Pour l’ingénieur ou le technicien de régulation le terme procédé désigne une partie ou un


élément d’une unité de production industrielle ; par exemple

– un échangeur thermique qui comporte une régulation de température


– ou une cuve dont le niveau est régulé.

Procédé et régulation forment un tout indissociable.

Le choix du type de boucle de régulation et leur mise au point impliquent une bonne
connaissance du comportement du procédé (son modèle).

Un système linéaire a une fonction de transfert qui peut se calculer en établissant les
équations différentielles qui relient entrée et sortie.

Ces équations théoriques sont parfois difficiles à écrire car on n’a pas forcément toute la
connaissance du système nécessaire : valeurs numériques, processus mis en jeu, non
linéarité...

Souvent, un modèle dont le comportement ressemble à celui du système à étudier est suffisant
pour élaborer des régulateurs.

2. Système dynamique

Un système dynamique est tout dispositif dont l’état évolue au cours du temps sous l’effet
d’une ou plusieurs entrées. On distingue 2 entrées:

– Les entrées de commande dont on peut modifier la variation


– Les entrées de perturbations sur lesquelles il n’ya aucun moyen d’agir.

L’état du système est observée par l’intermédiaire de signaux dit de sortie.

H. EL-FADIL 1
Identification des systèmes Ch-1 : Généralités

Un système dynamique peut être de nature :

– Technologique : électrique, mécanique, hydraulique, pneumatique,…


– Biologique ou biotechnologique : fermentations, culture, …
– Socio-économique : marchés, démographie, …

3. Définition d’un modèle

Un modèle est toute représentation mathématique décrivant l’évolution des sorties du système
sous l’effet de ses entrées. Il sert à :

– prédire la réponse du système à une entrée donnée,


– construire un simulateur du système,
– élaborer un régulateur, …

Il existe 2 types de modèles:

– Modèles de connaissance,
– Modèles de commande.

3.1. Modèle de connaissance

Définition

Par modèle de connaissance (modèle boite blanche) on entend le modèle obtenu en


appliquant au système les lois de la physique, de la chimie, de la biologie, de l’économie, …

Intérêt :

– Les modèles de connaissance permettent une description complète du système

H. EL-FADIL 2
Identification des systèmes Ch-1 : Généralités

– ils sont caractérisés par des paramètres qui admettent une signification physique
(résistance, masse, …).
– Ils sont donc utilisés pour la conception des procédés ou l'élaboration de simulateurs
de ces derniers.
– En revanche à cause de leur complexité, ils sont rarement utilisés en commande.

3.2. Modèle de commande

Définition

On appelle modèle de commande (modèle boite noire), ou de conduite ou de


représentation, tout modèle représentatif du procédé d’un point de vue entrée-sortie,
permettant d’élaborer un régulateur.

Les modèles de commande ne constituent pas une description complète du système. Leurs
paramètres n’ont pas forcément une interprétation physique. On distingue 2 types de modèles
de commande:

– Les modèles non-paramétriques


 réponse indicielle,
 réponse impulsionnelle, g(t)
 réponse fréquentielle, G(jw),
 ….
– Les modèles paramétriques
 fonction de transfert, G(p)
x  Ax  Bu
 représentation d’état :
y  Cx  Du
 …

Les modèles « boite grise » sont constitués par une partie « boite blanche » et une partie
« boite noire ».

H. EL-FADIL 3
CH-2 : Structure de modèles pour l’identification
paramétrique

1. Nécessité d’une commande adaptative

1.1. Exemple introductif

Soit un système identifié selon la méthode classique par un modèle de broida (retard nul, voir
cours régulation industrielle S7).

K
G ( p)  K  2 ;   1ms
1  p ;

On souhaite calculer un correcteur qui répond au cahier des charges suivant :

- Erreur de position nulle.


- Temps de réponse en BF trBF  0.5ms

On peut facilement calculer un correcteur PI qui répond aux critères précédents :

(1   i p)
C ( p )  ki
i p

3 i
avec  i    1ms et K i  3
trBF K

On suppose par la suite que les conditions de fonctionnement du système ont fait que le
modèle a varié. Les paramètres du nouveau modèle obtenu sont :

K  1.5 et   1.2ms

Afin de répondre aux mêmes exigences du cahier du charge, les paramètres du régulateur
doivent également changer :

3 i
 i    1.2ms et Ki   4.8
trBF K

H. EL-FADIL 4
Identification des systèmes Ch-3 : Structures de modèles d’identification paramétrique

On suppose que le régulateur est réalisé analogiquement comme suit :

R2 C R2 1  R2Cp
R C ( p)  
R1 R R1 R2Cp
-
-
 i  R2C
 u R2
+ Ki 
+ R1

Figure 2.1: Réalisation analogique d’un régulateur PI

Alors pour chaque changement des conditions du fonctionnement, il faut faire varier les
résistances R1 et R2. Le faire manuellement n’est pas pratique !!!

D’où la nécessité de le faire automatiquement :

c’est le rôle de la commande adaptative !

1.2. Limites des méthodes classiques d’identification

Les méthodes classiques de commande sont basés sur:

- La connaissance de la dynamique du procédé,


- L’hypothèse d’une dynamique invariante,
- La connaissance des dynamiques des perturbations.

Dans la pratique, les procédés industriels sont caractérisés par:

- Des dynamiques inconnues et/ou variables,


- Des perturbations stochastiques inconnues,
- Des changements fréquents des conditions de fonctionnement: température, charge,…
- Des changements des caractéristiques des procédés.

D’où la nécessité d’utiliser des méthodes avancées d’identification et de commande : c’est les
commandes dites adaptatives.

H. EL-FADIL 5
Identification des systèmes Ch-3 : Structures de modèles d’identification paramétrique

2. Commande adaptative

2.1. Définition

On appelle commande adaptative toute commande permettant d’ajuster de manière


automatique en temps réel les paramètres de régulateurs afin d’obtenir un certain niveau de
performances quand le comportement dynamique du procédé est inconnu, mal connu, variable
dans le temps.

2.2. Principe d’une commande adaptative

Un schéma de principe d’une commande adaptative est illustré par la figure suivante :

Figure 2.2: Principe d’une commande adaptative

La commande adaptative se base sur la théorie de l’estimation ou l’identification des


paramètres.

Il existe deux méthodes pour réaliser une commande adaptative:

1) Méthode indirecte: on estime récursivement les paramètres du modèle du procédé, ensuite


on utilise les estimés pour calculer les paramètres du régulateur (figure 3.3).

Figure 2.3 : Principe d’une commande adaptative indirecte

H. EL-FADIL 6
Identification des systèmes Ch-3 : Structures de modèles d’identification paramétrique

2) Méthode directe: les paramètres du régulateur sont directement estimés en temps réel
(figure 3.4).

Figure 2.4 : Principe d’une commande adaptative directe

2.3. Principe de conception d’un régulateur avancé:

Pour réaliser un régulateur avancé, il faut disposer de deux outils théoriques fondamentaux :

- La théorie de la commande : synthèse d’un régulateur à partir d’un cahier des charges,
- Théorie de l’identification paramétrique (figure 3.5).

Figure 2.5 : Conception régulateur avancé

Dans le but de définir des algorithmes qui permettent l’identification paramétrique des
systèmes, nous allons tout d’abord commencer par définir les structures de modèles pour ces
systèmes.

3. Structures de modèles pour les systèmes linéaires

On s’intéresse à l’identification paramétrique des systèmes linéaires, stationnaires et


monovariables.

Le système à identifier évolue sous l’effet d’une entrée de commande u(t) et d’une
perturbation z(t).

H. EL-FADIL 7
Identification des systèmes Ch-3 : Structures de modèles d’identification paramétrique

La perturbation z(t) peut affecter l’entrée, la sortie ou un autre état du système.

Il existe différentes structures de modèle.

La différence réside principalement dans la modélisation de la perturbation et la présence ou


non d’une entrée externe.

Comme l’identification se fait en général par calculateur, les mesures prélevées sont des
échantillons, et le modèle est discret même si le système est continu.

Notations :

- t représente le temps discret (multiples de périodes d’échantillonnage t =0, 1, 2, …).

- L’opérateur q-1 introduit un retard d’une période d’échantillonnage.

- Les coefficients des polynômes en q-1 sont les paramètres à estimer.

- (t) est une perturbation de type bruit blanc (processus stochastique non prédictible)
de moyenne nulle et de variance constante.

Les structures de modèles les plus classiques sont :

H. EL-FADIL 8
Identification des systèmes Ch-3 : Structures de modèles d’identification paramétrique

3.1. Le modèle ARMA (cas idéal z=0)

On se place dans le contexte temps discret, c’est-à-dire que le temps est t =0, 1, 2, …

Le système étant supposé linéaire et stationnaire, on peut donc le représenter par un modèle
de la forme:

y(t )  a1 y(t  1)    ana y(t  na )


(2.1)
 bd u (t  d )    bnb u (t  nb )

Les entiers na, nb et d sont constants, ils définissent la structure du modèle.

Les réels ai et bj sont les paramètres du modèle.

a) Forme ARMA du modèle:

A(q 1 ) y(t )  B(q 1 )u(t ) (2.2)

Avec :

A(q 1 )  1  a1q 1    ana q  na


B(q 1 )  bd q d    bnb q nb

- ARMA: AutoRegressive Moving Average , (Autoregerssif à moyenne mobile)


- A=1  y(t) = B(q-1)u(t)  moyenne mobile,
- B=1  A(q-1)y(t) = u(t)  Autoregressif.

b) Fonction de transfert:

B( z 1 ) bd z  d    bnb z  nb
G( z )   (2.3)
A( z 1 ) 1  a1 z 1    ana z na

c) Forme de regression:

y(t )   (t )T  * (2.4a)

 (t )   y(t  1)   y(t  na ) u(t  d )  u(t  nb )T (2.4b)

 *  a1  an a
bd  bnb T
(2.4c)

- (t) : est appelé vecteur d’observation/regression


- * : vecteur de paramètres

H. EL-FADIL 9
Identification des systèmes Ch-3 : Structures de modèles d’identification paramétrique

d) Prédiction optimale:

Définition :

On appelle prédiction optimale de la sortie y(t), sur la base des informations disponibles à
l’instant (t-1), le nombre réel noté:


yˆ (t )  f  * , y(t  1), y(t  2),, u(t  1),  (2.5)

qui minimise la variance:

E  y(t )  x   g ( x)
2
(2.6)

On note :


yˆ (t )  arg min g ( x)
x
 (2.7)

yˆ (t ) : prédiction de y(t) en connaissant * et les mesures à (t-1)

Pour le modèle ARMA on montre que cette prédiction optimale s’écrit :

 
yˆ (t )  1  A(q 1 ) y(t )  B(q 1 )u(t ) (2.8)

soit compte tenu de (2.4)

yˆ (t )   (t )T  *  y(t ) (2.9)

C’est une prédiction exacte !!

3.2. Erreur de l’équation

Dans le cas où z  0, l’équation A(q 1 ) y(t )  B(q 1 )u(t )  0 N’est plus représentative du
système.

L’effet de z se traduit par une erreur:

 (t )  A(q 1 ) y(t )  B(q 1 )u(t ) (2.10)

Dite erreur de l’équation.

H. EL-FADIL 10
Identification des systèmes Ch-3 : Structures de modèles d’identification paramétrique

L’erreur  est une fonction de z, qui dépend de la manière dont z affecte le système.

a) Exemple de relation  = f(z):

b) Remarque:

Il ne faut pas confondre  et z:  est l’erreur due à la présence de la perturbation z.

c) Modèle en présence de bruit:

En présence du bruit le modèle devient :

A(q 1 ) y(t )  B(q 1 )u(t )   (t ) (2.11)

Le point d’application de z n’est pas connu

Il existe plusieurs modèles pour représenter un système en présence de bruit. Nous citons les
modèles suivants :

- ARX,
- ARMAX,
- OE : Output Error
- BJ : Box Jenkins

3.3. Modèle ARX

Dans ce modèle l’erreur (t) s’écrit:

 (t )   (t ) (2.12)

(t) Est un bruit blanc de moyenne nulle et de variance constante :

E (t )  0 var (t )   2 (2.13)

H. EL-FADIL 11
Identification des systèmes Ch-3 : Structures de modèles d’identification paramétrique

Remarque : Un bruit blanc est une suite de variables aléatoires non-correlées :


E (t ) ( )  0 ;  t  

Le modèle ARX s’écrit alors:

A(q 1 ) y(t )  B(q 1 )u(t )   (t ) (2.14)

ARX : AutoRegressive with eXogenous input (AR avec entrée exogène : externe)

a) Forme de régression modèle ARX:

Le modèle (3.14) peut s’écrire:

y(t )   (t )T  *   (t ) (2.15a)

 (t )   y(t  1)   y(t  na ) u(t  d )  u(t  nb )T (3.15b)

 *  a1  an a
bd  bnb 
T
(2.15c)

b) Forme prédicteur modèle ARX:

yˆ (t )   (t )T  *
 
 1  A(q 1 ) y (t )  B(q 1 )u (t )
(2.16)

y  yˆ  

3.4. Modèle ARMAX

On suppose ici que l’erreur (t) est générée par un processus à moyenne mobile:

 (t )  C (q 1 ) (t ) (2.17)

Où:

C (q 1 )  1  c1q 1  cnc q  nc (2.18)

supposé d’Hurwitz (les racines sont stables: à l'intérieur du cercle unité).

Le modèle du système (2.11) devient:

A(q 1 ) y(t )  B(q 1 )u(t )  C (q 1 ) (t ) (2.19)

H. EL-FADIL 12
Identification des systèmes Ch-3 : Structures de modèles d’identification paramétrique

a) Prédiction optimale:

La prédiction optimale du modèle ARMAX peut s’écrire comma suit :

B(q 1 )  A(q 1 ) 
yˆ (t )  u (t )  1  1 
 y (t ) (2.20)
C (q 1 )  C (q ) 

Avec cette prédiction, on montre alors que:

y(t )  yˆ (t )   (t ) (2.21)

Figure 2.6 : Calcul de la prédiction optimale

b) Calcul pratique de yˆ (t ) :

L’équation (2.20) signifie que:

Cyˆ  Bu  C  Ay (2.22)


Ou encore:

yˆ  1  C yˆ  Bu  C  Ay (2.23)


L’équation (2.23) permet le calcul de yˆ (t ) à partir des informations:

y(t  1), u(t  i), yˆ (t  i)

i  1,2,(na , nb ou nc ) et t  0

c) Forme de régression modèle ARMAX:

Le modèle (2.23) peut s’écrire:

yˆ  Bu  1  Ay  (C  1)( y  yˆ ) (2.24)

En introduisant l’erreur de prédiction:

e(t )  y(t )  yˆ (t ) (2.25)

H. EL-FADIL 13
Identification des systèmes Ch-3 : Structures de modèles d’identification paramétrique

le vecteur de régression/observation:

 (t )   y (t  1)   y (t  na )
u (t  d )  u (t  nb ) (2.26)
e(t  1)  e(t  nc )
T

et le vecteur des paramètres:

 *  a1  an a
bd  bnb c1  cnc T
(2.27)

alors l’équation (2.24) s’écrit:

yˆ (t )   (t )T  * (2.28)

Ce qui, compte-tenu de (2.21) donne la forme de régression suivante :

y(t )   (t )T  *   (t ) (2.29)

Remarque : La forme de régression (2.29) est identique à celle du modèle ARX.

3.5. Résumé des trois modèles

Nous venons de démontrer que quelque soit la structure du modèle choisi (ARMA, ARX ou
ARMAX), nous avons :

Ecriture générale ARMA ARX ARMAX

 (t )   y (t  1)   y (t  na )
Forme du  (t )   y(t  1)   y(t  na ) u (t  d )  u (t  nb )
e(t  1)  e(t  nc )
T

yˆ (t )   (t )  u (t  d )  u (t  nb )
T * T
prédicteur
optimal:  *  a1  an a
bd  bnb T
 *  a1  an bd  bnb

a
T
c1  cnc

Erreur de
e(t )  y(t )  yˆ (t ) e(t )  0 e(t )   (t ) e(t )   (t )
prédiction:

Forme de
y(t )   (t )T  *  e(t ) y(t )   (t )T  * y(t )   (t )T  *   (t ) y(t )   (t )T  *   (t )
régression:

L’estimation de * se fera sur la base de la forme de régression générale :


y(t )   (t )T  *  e(t ) .

H. EL-FADIL 14
CH-3 : Algorithmes d’identification paramétrique

1. Position du problème:

On s’intéresse à identification d’un système linéaire monovariable.

En l’absence de perturbations, ce système peut être décrit par un modèle ARMA:

A* (q 1 ) y(t )  B* (q 1 )u(t ) (3.1)

L’identification peut être entreprise sur la base du modèle (3.1);

Où on note:

A* (q 1 )  1  a1*q 1    an*a q  na
B* (q 1 )  bd* q 1    bn*b q nb (3.2)
  a
* *
1  a *
na b*
d  b 
* T
nb

Objectif de l’identification

L’identification du système (3.1) est l’opération qui consiste à faire une estimation du vecteur
inconnu *, à partir des observations entrée/sortie sur un intervalle de temps donné:

u(t ) , y(t ) ; 0  t  T

t représente le temps discret, t=kTe, la période d’échantillonnage est supposée Te=1 (pour
simplifier les notations).

Procédé : y (t )
u (t )
Vecteur des paramètres
inconnus  *

Algorithme d’identification : yˆ (t )
Vecteur des Paramètres
estimés ˆ

Figure 3.2 : Principe de l’identification

H. EL-FADIL 15
Identification des systèmes Ch-3 : Algorithmes d’identification

2. Identification par la méthode du gradient:

2.1. Forme de régression du modèle:

Le modèle est sans perturbations (modèle ARMA), nous avons :

y(t )   (t )T  * (3.3a)

Avec :

 (t )   y(t  1)   y(t  na ) u(t  d )  u(t  nb )T (3.3b)

2.2. Notations:

- ˆ(t ) : estimation de * faite à partir des informations disponibles à l’instant t : u(i),


y(i) ; i=0,1,…,t
- yˆ (t )   (t )T ˆ(t  1) : Prédiction à priori de la sortie.

- e(t )  y(t )   (t )T ˆ(t  1) : Erreur de prédiction à priori

- e p (t )  y(t )   (t )T ˆ(t ) : Erreur de prédiction à postériori.

2.3. Critère d’identification:

La méthode de gradient considère que la meilleure estimation de à l’instant t est le vecteur x


qui minimise la fonction:

 
2
J ( x)  x  ˆ(t  1)   y(t )   (t )T x
2
(3.4)

 : Coefficient de Lagrange: module le compromis entre:

- La proximité par rapport à ˆ(t  1)


- La prédiction à postériori.

2.4. Algorithme du gradient:

On montre que le minimum x*  ˆ(t ) de (3.4) obéit à l’algorithme de gradient suivant:

H. EL-FADIL 16
Identification des systèmes Ch-3 : Algorithmes d’identification

 (t )e(t )
ˆ(t )  ˆ(t  1)  (3.5a)
   (t )T  (t )

e(t )  y(t )   (t )T ˆ(t  1) (3.5b)

ˆ(0) : Choisi au mieux possible

1


Son implémentation peut être faite comme suit

Initialisation :
Choix de la structure : na , nb , d ;
y(0)  y(1)  ...  y(na )  0 ;
u(0)  u(1)  ...  u(nb )  0 ;
 (0)  0 ; vecteur nul
 (0)   0  cte (0) ; (nul quand on ne connait rien sur le système)
  cte ; (=1 par exemple)

Pour chaque instant d’échantillonnage t (t= 1, 2,…), faire

Acquisition des échantillons :


Lire y(t) , Lire u(t)

Construire le vecteur 
 (t )   y(t  1) ...  y(t  na ) u(t  d ) ... u(t  nb )T

Calculer la sortie estimée ye(t)


ye (t )  t )(t )T   (t  1)

Calculer l’erreur de prédiction e(t)


e(t )  y(t )  ye (t )

Calculer du vecteur des paramètres (t)


 (t )  e(t )
 (t )   (t  1) 
   (t )T  (t )

Mise à jour
 (t  1)   (t )

Fin pour

H. EL-FADIL 17
Identification des systèmes Ch-3 : Algorithmes d’identification

2.5. Preuve de l’Algorithme du gradient:

Afin de trouver le vecteur x* qui minimise le critère J (x) nous allons chercher sa dérivée par
rapport à x :

dJ ( x)
dx
  
 2 x  ˆ(t  1)  2 y(t )   (t )T x  (t )  (3.6)

dJ ( x)
0  x* est solution de l’équation :
dx

 
x  ˆ(t  1)   y(t )   (t )T x  (t )  0 (3.7)

En dérivant une seconde fois (3.6), il s’ensuit que :

d 2 J ( x)
 2  2 (t )T  (t )  0 (3.8)
dx 2

Ce qui prouve que le x*est un minimum global.

Or par définition : ˆ(t )  x* .Il s’ensuit que ˆ(t ) est solution de l’équation:

 
ˆ(t )  ˆ(t  1)   y(t )   (t )T ˆ(t )  (t ) (3.9)

Soit, compte tenu de la définition de l’erreur de prédiction à postériori:

ˆ(t )  ˆ(t  1)  e p (t ) (t ) (3.10)

D’autre part ep(t) peut se réécrire comme suit:

e p (t )  y (t )   (t )T ˆ(t )

 y (t )   (t )T ˆ(t  1)   (t )T ˆ(t )  ˆ(t  1) 
 y (t )   (t )T ˆ(t  1)   (t )T e (t ) (t )
p

Ce qui implique que :

 
e p 1   (t )T  (t )  y(t )   (t )T ˆ(t  1)  e(t )

Ou encore :

H. EL-FADIL 18
Identification des systèmes Ch-3 : Algorithmes d’identification

e(t )
ep  (3.11)
1   (t )T  (t )

En combinant (3.10) et (3.11) on trouve:

 (t )e(t )
ˆ(t )  ˆ(t  1)  (3.12)
1   (t )T  (t )

1
En posant   on trouve

 (t )e(t )
ˆ(t )  ˆ(t  1) 
   (t )T  (t )

Ceci achève la preuve de l’équation (3.5a) de l’algorithme.

2.6. Propriétés de l’algorithme du gradient:

  ˆ(t )    est non croissante : ˆ(t ) ne diverge pas par rapport à 


* *

 e (t )   L
N
 p 2  e
t 0
p (t ) 2   c-à-d à énergie finie,

  ˆ(t)  ˆ(t 1)   L 2

 Le modèle induit par ˆ(t ) est bien représentatif du procédé d’un point de vue entrée-
sortie.
 L’algorithme du gradient n’assure pas que ˆ(t ) va converger vers  * .

2.7. Propriété d’excitation persistante:

2.7.1. Définition

Une séquence u (t )est dite avoir la propriété d’excitation persistante (EP) au mème ordre si

son spectre (de puissance)  u ( f ) est non nul en au moins m fréquences différentes.

u ( f )  TF u ( ) avec () = fonction d’autocorrélation de u(t)

H. EL-FADIL 19
Identification des systèmes Ch-3 : Algorithmes d’identification

2.7.2. Proposition :

L’estimé ˆ(t ) converge vers l’inconnu  * (t ) si la séquence u (t ) assure une excitation


persistante d’ordre 2n.

Avec n le nombre de paramètres à estimer (taille du vecteur  * (t ) ).

2.7.3. Exemples de signaux assurant l’EP

a) A l’aide d’une somme de signaux sinusoïdaux


n
u (t )   k cos(2f k t ) (3.13)
k 1

où k  0 et f k  f j k  j

on montre que :

n
k2
u ( f )    ( f  f k )   ( f  f k ) (3.14)
k 1 4

Il s’ensuit que u(t) assure une excitation persistante à l’ordre 2n.

b) A l’aide dune Séquence Binaire Pseudo-Aléatoire (SBPA)

On peut générer une SBPA (Séquence Binaire Pseudo Aléatoire) à l’aide d’un registre à
décalage à droite, formé de bascules ou éléments mémoire Bi, avec contre-réaction).

Horloge
X1 X2 XN
TH B1 B2 B3

Figure 3.2 : Principe de la génération d’une SBPA

H. EL-FADIL 20
Identification des systèmes Ch-3 : Algorithmes d’identification

Le tableau 3.1 montre les sorties à boucler sur la porte XOR (OU exclusif).

Tableau 3.1 : Sorties de bouclage SBPA


Nombre de Longueur de la séquence
Bits à additionner (X0R)
cellules N L=2N –1
3 7 X2 et X3
4 15 X3 et X4
5 31 X3 et X5
6 63 X5 et X6
7 127 X4 et X7
8 255 X2 , X3 , X4 et X8
9 511 X5 et X9
10 1023 X7 et X10
11 2047 X9 et X11
16 65535 X1 , X3 , X12 et X16

Eléments caractéristiques d’une SBPA à longueur maximale:

- nombres de cellules (N)


- durée maximale d’une impulsion ( tim  NTH ), ave TH : période d’horloge. N bits
« 1 » successifs.
- N-1 bits « 0 » successifs.
- longueur de la séquence (L=2N-1) : la longueur de séquence donne la périodicité de la
SBPA.
- La séquence contient 2N-1 bits « 1 » et 2N-1-1 bits « 0 »
- très riches en fréquences – spectre uniforme de presque 0 à 0.5FH )

2.8. Algorithme des moindres carrés (MC):

2.8.1. Critère à minimiser

 
t
J ( x)   y (i)   (i)T x
2
(3.15)
i 1

où x  IR2 n , y et  sont générés selon la régression:

y(t )   (t )T  * (3.16)

et  *  IR2n le vecteur à déterminer.

A l’instant t, la meilleure estimation de  * est :

H. EL-FADIL 21
Identification des systèmes Ch-3 : Algorithmes d’identification


ˆ  arg min J ( x)
x
 (3.17)

2.8.2. Algorithme MC non récursif

 
t
dJ ( x)
 2  (i) y (i)  xT  (i)
dx i 1

t t
dJ ( x)
dx
0   y(i) (i)   (i) (i)T x
i 1 i 1

1 t
 t 
 x    (i) (i)T 
*
 y(i) (i)
 i 1  i 1

d 2 J ( x) t

dx 2
 2i 1
 (i) (i)T  0

 x * est un minimum.

Or par définition ˆ  x* , il vient :

1 t
 t

ˆ(t )    (i) (i)T   y(i) (i) (3.18)
 i 1  i 1

2.8.3. Forme récursive de l’algorithme des MC


1
 t 
En posant: P(t )    (i ) (i)T  l’algorithme des MC récursif s’écrit comme suit:
 i 1 

P(t  1) (t )e(t )


ˆ(t )  ˆ(t  1)  (3.19a)
1   (t )T P(t  1) (t )

P(t  1) (t ) (t )T P(t  1)


P(t )  P(t  1)  (3.19b)
1   (t )T P(t  1) (t )

e(t )  y(t )   (t )T ˆ(t  1) (3.19c)

H. EL-FADIL 22
Identification des systèmes Ch-3 : Algorithmes d’identification

a) Initialisation de l’algorithme :
- ˆ(0)  0 P(0)  P0

-  0 est choisi en tenant compte des informations disponible, à priori, sur  * . Si on ne


dispose d’aucune information on pose: 0  0 .

- P0 est choisi tel que: P0   I ,   1 ,   102 ,103 ,


- I: matrice identité
b) Propriétés de l’algorithme des MC:

  ˆ(t )    est non croissante : ˆ(t ) ne diverge pas par rapport à 


* *

  ˆ(t)  ˆ(t 1)   L  c-à-d à énergie finie,


2

 ˆ(t ) converge mais pas forcément vers  * .


c) Preuve de l’algorithme des MC récursif :

Posons:

1
 t 
P(t )    (i ) (i)T  (3.20)
 i 1 

L’équation (3.18) se réécrit comme suit:

t
P(t ) 1ˆ(t )   y (i ) (i) (3.21)
i 1

Écrivons (3.21) à (t-1)

t 1
P(t  1) ˆ(t  1)   y(i) (i)
1
(3.22)
i 1

Comparant (3.21) et (3.22)

P(t ) 1ˆ(t )  P(t  1) 1ˆ(t  1)  y(t ) (t )

 P(t  1) 1ˆ(t  1)   (t ) (t )T ˆ(t  1)


  (t ) (t )T ˆ(t  1)  y (t ) (t )
  
 P(t  1) 1   (t ) (t )T ˆ(t  1)   (t ) y (t )   (t )T ˆ(t  1)  (3.23)

H. EL-FADIL 23
Identification des systèmes Ch-3 : Algorithmes d’identification

Or, à partir de (3.20) on a :


P(t )  P(t  1) 1   (t ) (t )T 
1
(3.24)

Ce qui donne, compte tenu de (3.23) :

P(t ) 1ˆ(t )  P(t ) 1ˆ(t  1)   (t )e(t ) (3.25)

Cette équation (3.25) donne:

ˆ(t )  ˆ(t  1)  P(t ) (t )e(t ) (3.26)

Trouvons maintenant une forme récursive pour le calcul de P(t).

Lemme d’inversion matricielle:

Soient les matrices: A  IR nxn , B  IR nxm et C  IR mxn . Alors

A  BC 1  A1  A1BI  CA1B1CA1 (3.27)

En posant: A  P(t  1) 1 ; B   (t ) ; C   (t )T

Il s’ensuit que:

P(t 1) 1
  (t ) (t )T 
1
 1
 P(t  1)  P(t  1) (t ) I   (t )T P(t  1) (t )  (t )T P(t  1)

P(t  1) (t ) (t )T P(t  1)


 P(t  1)  (3.28)
1   (t )T P(t  1) (t )

En combinant (3.24) et (3.28), il vient:

P(t  1) (t ) (t )T P(t  1)


P(t )  P(t  1)  (3.29)
1   (t )T P(t  1) (t )

Ceci donne, compte tenu (3.26) :

P(t  1) (t )e(t )


ˆ(t )  ˆ(t  1)  (3.30)
1   (t )T P(t  1) (t )

CQFD.

H. EL-FADIL 24
CH-4 : Le Toolbox de Matlab

1. Présentation

Le toolbox d'identification des systèmes de Matlab intègre un certain nombre de commandes


qui permettent de:

- traiter les données (les mesures),


- exécuter des algorithmes d'identification avec différents paramètres en utilisant les
données afin d'estimer un modèle pour le système,
- tester la validité de ce modèle.

Comme le processus d'identification nécessite plusieurs essais jusqu'à trouver le "meilleur"


modèle, ces fonctions peuvent rendre un grand service dans l'automatisation de ce processus
d'identification.

Dans ce chapitre, nous nous proposons de :

- découvrir et savoir utiliser les principales commandes intégrées au toolbox


d'identification de Matlab.
- traiter les données, identifier les systèmes selon différents modèles et valider les
modèles obtenus.

2. L’objet IDDATA

Définition

Un objet IDDATA est une structure qui regroupe des données (mesures entrée(s)/sortie(s)) et
des informations supplémentaires relatives à ces données (par exemple période
d'échantillonnage, noms des entrées/sortie, unités …).

H. EL-FADIL 25
Identification des systèmes Ch-4 : Le Toolbox de Matlab

2.1. Création et manipulation des objets de données

2.1.1. Création de deux signaux

u = sign(randn(200,2)); % 2 entrées aléatoires à amplitudes= -1 ou 1


y = randn(200,1); % 1 sortie aléatoire
ts = 0.1; % période d'échantillonnage
z = iddata(y,u,ts); % Création d'un objet iddata
z % pour afficher le contenu de l'objet iddata z

Cette dernière commande donne lieu à l'affichage suivant

Time domain data set with 200 samples.


Sampling interval: 0.1
Outputs Unit (if specified)
y1
Inputs Unit (if specified)
u1
u2

Remarque:
Remarquez que les entrées sorties ont des noms numérotés utilisant les noms des
entrées/sorties fournis lors de la création de l'objet iddata; remarquez aussi que les unités
n'ont pas été spécifiées.

Pour afficher les champs de la structure iddata:

get(z); % affiche les champs de la structure iddata

2.1.2. Modification des champs de la structure

Pour modifier les champs de la structure z on peut utiliser 2 méthodes:

1ère méthode :

set(z,'InputName',{'Tension';'Courant'},'OutputName','Vitesse');

2mee méthode :

z.inputn = {'Tension';'Courant'}; % deux entrées

z.outputn = 'Speed';

z.InputUnit = {'Volt';'Ampere'}; %unités pour les deux entrées

z.OutputUnit = 'm/s';

H. EL-FADIL 26
Identification des systèmes Ch-4 : Le Toolbox de Matlab

Utiliser get(z) pour voir les modifications sur les champs de la structure.

2.1.3. Pour extraire des plages de données:

ze=z(1:100); %constitue un nouveau objet ze contenant les


100 premiers échantillons.
zv=z(101:200); % constitue un nouveau objet zv contenant les
100 derniers échantillons.
plot(ze);
plot(zv);

Speed
4 Speed
4
2
2
m/s

m/s
0
-2
-2

-4
0 1 2 3 4 5 6 7 8 9 10 -4
10 11 12 13 14 15 16 17 18 19 20
Time
Time
Tension
Tension
1 1
0.5 0.5
Volt

Volt

0 0

-0.5 -0.5

-1 -1
0 1 2 3 4 5 6 7 8 9 10 10 11 12 13 14 15 16 17 18 19 20
Time Time

2.1.4. Sauvegarde et récupération de données

Les données peuvent être enregistrées ou chargées à partir d'un fichier de manière séparée ou
sous forme d'objet iddata:

entree=z.u; % récupération des signaux d'entrées à partir de l'objet z


dans la variable entree
sortie=z.y; % récupération du signal de sortie à partir de l'objet z dans
la variable sortie
save 'c:\donnees.mat' entree sortie % sauvegarde dans le fichier ‘
donnes.mat' qui sera crée dans la partition c:
clear entree sortie %on supprime les deux variables entree et sortie
du workspace
load 'c:\donnees.mat' % on récupère les deux variables à partir du fichier
plot(entree(1:100,1)) %on trace le premier signal u1 sur l'intervalle 1:100

Autrement:

save 'obj_donnee.mat' z % sauvegarde l'objet iddata z dans le fichier ‘


obj_donnee.mat' qui sera crée dans le répertoire courant
clear z % supprime l'objet z
load 'obj_donnee.mat' % charge l'objet z à partir du fichier 'obj_donnee.dat'

H. EL-FADIL 27
Identification des systèmes Ch-4 : Le Toolbox de Matlab

2.2. Traitement de données

Plusieurs opérations peuvent être effectuées sur les données pour les préparer à la phase
d'estimation d'un modèle:

2.2.1. Elimination de la valeur moyenne


1.5

t=0:0.1:10;
1
s=sin(2*pi*t/10)+0.25; %signal avec valeur moy non nulle
figure(1); plot(t,s); hold on; 0.5

sd=detrend(s,0); %centrer autour de 0 0

plot(t,sd,'r');
-0.5

-1

2.2.2. Elimination d’une déviation linéaire 0 1 2 3 4 5 6 7 8 9 10

t=0:0.1:10; 4

s=sin(2*pi*t/2)+0.5*t; % signal avec une 3

déviation linéaire 2

figure(1); plot(t,s); hold on; 1

sd=detrend(s,'linear'); 0

plot(t,sd,'r'); -1

-2
0 1 2 3 4 5 6 7 8 9 10

Exercice d’application:

Matlab contient un fichier de données "iddata8.mat";


• explorer ce fichier pour déduire combien d'entrées sorties, le système considéré
possède-t-il ?
• Quelle est la période d'échantillonnage qui a été utilisée lors de l'acquisition de
données?
• Tracer les sorties et les entrées;
• Nommer les entrées et les sorties (inp1, inp2… outp1…) ;
• supprimer les valeurs moyennes des signaux;
• Sauvegarder ces données dans des fichiers séparés. Chaque fichier doit contenir une
entrée une sortie.
Solution de l’exercice:

load iddata8.mat ;
z8
inp1=z8.u(:,1);
inp2=z8.u(:,2);
inp3=z8.u(:,3);
outp=z8.y;
detrend(inp1,0); detrend(inp2,0); detrend(inp3,0); detrend(outp,0);
save 'file1.mat' outp inp1
save 'file2.mat' outp inp2
save 'file3.mat' outp inp3
plot(z8); % taper une touche pour voir les autres entrées

H. EL-FADIL 28
Identification des systèmes Ch-4 : Le Toolbox de Matlab

3. Objet modèle IDPOLY

Un objet idpoly permet de définir un système linéaire continu ou discret, muti-entrées à sortie
unique, à travers les polynômes qui le caractérisent. Le modèle général considéré est le
suivant:

1 B(q 1 ) C (q 1 )
A(q ) y (t )  u (t  nk )  e(t ) (4.1)
F (q 1 ) D(q 1 )
avec nk: retard pur.
La commande à utiliser pour créer un modèle est de la forme:

m = idpoly(A,B,C,D,F,NoiseVariance,Ts)

avec :
• A = [1 a1 a2 ... ana]; Pour un système multi-entrées B et F sont des matrices avec une
ligne pour chaque entrée.
• Ts: période d'échantillonnage, si Ts=0 système continu.
• NoiseVariance : la variance du bruit (elle exprime le niveau du bruit).

Exemple: Modèle ARMAX:

A = [1 -1.5 0.7]; % degré na=2


B = [0 1 0.5]; % degré nb=2, retard nk=1
C = [1 -1 0.2]; % degré nc=2
m = idpoly(A,B,C, 1, 1,0.5,0.1); %modèle armax D=F=1, NoiseVariance=0.5, Ts=0.1
m % affiche le modèle de manière résumé
get(m); % pour voir les propriétés du modèle
u=idinput(500); % génération d'une entrée binaire pseudo aléatoire
ym=sim(m,u,'Noise'); % simulation du modèle m avec l'entrée u; calcul la
%sortie du modèle perturbé, la perturbation aura une
%variance définie par NoiseVariance=0.5
z=iddata(ym,u,0.1); %constitue un objet iddata avec l'entrée u et la sortie ym
% identification sur la base de la classe armax
me=armax(z,[2 2 2 1]); % la structure est supposée ici connue, pour simplifier
figure(1);
compare(z,me); %test de correspondance entre la sortie du modèle
% simulé (mesurée) et la sortie du modèle estimé.
figure(2);
resid(me,z); % test de blanchissement de l'erreur de prédiction et test d'indépendance : trace
% la fonction d'auto corrélation de l'erreur de prédiction du modèle me en
% utilisant les données z, et la fonction de corrélation entre l'erreur de
% prédiction et l'entrée, avec une zone de confiance.

H. EL-FADIL 29
Identification des systèmes Ch-4 : Le Toolbox de Matlab

4. Choix d’une structure du modèle

Le choix d'une structure de modèle n'est pas systématique et nécessite en général plusieurs
essais. Il existe, pour le modèle arx, des fonctions qui permettent d'essayer plusieurs
structures et de choisir celle qui donne les meilleurs résultats selon un critère donné:

4.1. Identification d'un modèle ARX:

Création et simulation d'un modèle arx :

A = [1 -1.5 0.7]; % degré na=2


B = [0 1 0.5]; % degré nb=2, retard nk=1
m2 = idpoly(A,B,1, 1, 1,0.5,0.1); % modèle arx C=D=F=1, NoiseVariance=0.5, Ts=0.1
u2=idinput(300); % génération d'une entrée binaire pseudo aléatoire
ym2=sim(m2,u2,'Noise'); % simulation du modèle m2 avec l'entrée u1; calcul la sortie du
% modèle perturbé, la perturbation aura une variance définie
% par NoiseVariance=0.5
z2=iddata(ym2,u2,0.1);

Identification modèle arx :

NN = struc(1:4,1:4,1:2); % création d'une matrice de structures avec différentes


% valeurs de na, nb et nk
display(NN);
V = arxstruc(z2(1:150),z2(151:300),NN); % calcule la fonction de perte 'Loss
% function' pour chaque structure de la matrice NN, en utilisant
% la moitié des données pour l'estimation et l'autre moitié pour
% la validation (voir plus loin pour plus de détails)
nn = selstruc(V,0); % sélectionne la meilleure structure
display(nn); % meilleure structure [ na nb nk]
me = arx(z2,nn); %meilleur modèle estimé sur la base de la meilleure
% structure nn, en utilisant les données z2
display(me); % afficher le meilleur modèle obtenu
figure(1);
compare(z2,me); % test de correspondance entre la sortie estimé par le
% modèle me et la sortie réelle
figure(2);
resid(me,z2); % test de blanchissement et d'indépendance

Remarque : Notions de LF et FPE :

La fonction arxstruc utilise des critères basés sur la 'Loss Function' (LF) V définie par:
1  N 
V det    (t ,ˆN ) (t ,ˆN )T  (4.2)
N  t 1 
avec N représente le nombre de données du sous ensemble d'estimation.

H. EL-FADIL 30
Identification des systèmes Ch-4 : Le Toolbox de Matlab

 (t ,ˆN ) : erreur de prédiction.


On définit aussi le critère 'Akaike's Final Prediction Error ' FPE par:
1 d / N 
FPE  V   (4.3)
1 d / N 
avec d représente le nombre de paramètres à estimer.
Le meilleur modèle est celui qui possède la FPE minimale.

4.2. Identification d'un modèle BoxJenkins:

Création d'un modèle de BoxJenkins

B = [0 1 0.5]; C = [1 -1 0.2]; D = [1 1.5 0.7]; F = [1 -1.5 0.7];


m0 = idpoly(1,B,C,D,F,0.1); % le polynôme A =1
e = iddata([ ],randn(200,1)); % création d'un objet iddata contenant juste un
% signal d'entrée bruit
u = iddata([ ],idinput(200)); % création d'un objet iddata contenant juste un
% signal d'entrée binaire pseudo aléatoire
y = sim(m0,[u e]); % simulation du modèle m0 en utilisant les
% données u et e, pour la collecte de la sortie y
z = [y u]; % fusionnement de l'entrée et la sortie dans un
% même objet iddata z
mi = bj(z,[2 2 2 2 1],'MaxIter',0) % aucune itération pour affiner le modèle initial obtenu
m = bj(z,mi,'Maxi',10) %affiner le modèle initial avec 10 itérations maximum
m.EstimationInfo % le champ m.es.WhyStop indique maxiter is reached
m = bj(z,m); % Continuer en faisant une autre itération
compare(z,m,mi)

Remarquer la valeur de Loss function et FPE pour le modèle initial mi et pour le modèle
affiné m.

Exercice d'application :

A l'aide des commandes présentées ci-dessus, en exploitant l'ensemble de données stockées


dans le fichier "dryer2.mat", trouver le modèle qui décrit au mieux le comportement du
système; essayer la classe de modèle arx et armax.

Solution de l’exercice:

% classe de modèle arx


load dryer2.mat;
z=iddata(y2,u2,0.08);
ze=z(1:500);
zv=z(501:1000);
NN = struc(1:6,1:6,1:6); % essai de 6*6*6 combinaisons
V = arxstruc(ze,zv,NN); % calcule la fonction de perte 'Loss function'
nn = selstruc(V,0); % sélectionne la meilleure structure, celle qui minimise V

H. EL-FADIL 31
Identification des systèmes Ch-4 : Le Toolbox de Matlab

selstruc(V,'plot'); %trace l'histogramme pour V


display(nn); % meilleure structure [ na nb nk]
me = arx(ze,nn); % meilleur modèle estimé sur la base de la meilleure structure
% nn, en utilisant les données ze
display(me); % afficher le meilleur modèle obtenu
compare(zv,me); % test de correspondance entre la sortie estimé par le modèle me et la
% sortie réelle
resid(me,zv);
%classe de modèle armax
z=iddata(y2,u2,0.08);
ze=z(1:500);
zv=z(501:1000);
na=2; nb=2; nc=2; nk=1; % essai de plusieurs valeurs
me=armax(ze,[na nb nc nk]); % la structure est supposée ici connue, pour simplifier
compare(zv,me); %test de correspondance entre la sortie du modèle
% simulé (mesurée) et la sortie du modèle estimé.
resid(me,zv); % test de blanchissement

5. Toolbox Ident

5.1. Idée de base

Utilité : fournir des modèles simplifiés (linéaires) de systèmes complexes à partir de données
échantillonnées (bruitées).
L’identification consiste donc en la construction de modèle en ajustant ses paramètres pour
qu’ils coïncident au mieux avec les mesures
La validation d’un modèle consiste à tester l’adéquation de celui ci sur un jeu de données
différent de celui utilisé pour fabriquer le modèle
La toolbox propose 2 approches différentes
- Un approche basée modèle, qui sur la base du choix d’une famille de modèle, opère à
une estimation paramétrique
- Une approche non paramétrique qui à partir d’une analyse de corrélation (resp.
spectrale) recherche la meilleure réponse impulsionnelle ou indicielle (resp.
fréquentielle).

5.2. Le principe de l’identification

L’identification d’un système fait intervenir 6 éléments :


- Le système réel : mesures des grandeurs d’E/S
- Le(s) modèle(s) préconisés : choix d’un type de modèle, de l’ordre, de la nature des
perturbations...

H. EL-FADIL 32
Identification des systèmes Ch-4 : Le Toolbox de Matlab

- Un critère : fonction scalaire qui permet de mesurer la fidélité du modèle supposé


- Un optimiseur : algorithme d’optimisation qui cherche à minimiser le critère utilisé
- Incertitudes des paramètres : il n’existe pas de modèles parfaits
- Une analyse critique des résultats : jusqu’à quel point le modèle est mauvais

5.3. Vocabulaire d’usage

Données d’estimation: jeu de données sur lequel est construit le modèle


Données de validation: jeu de données, différent du précédent, sur lequel est validé le modèle
trouvé
Structure du modèle: famille de modèles dont les paramètres sont ajustables
Méthode d’identification paramétrique : méthode qui a pour but d’estimer (au mieux) les
paramètres d’un modèle donné (moindres carrés,...)
Méthode d’identification non paramétrique : méthode qui ne nécessite pas obligatoirement la
connaissance a priori d’un modèle (corrélation, analyse spectrale,...)
Validation de modèle : test de la confiance que l’on peut apporter à un modèle soit en le
simulant à partir de jeux de données différent, soit en analysant les propriétés des résidus

5.4. Rôle de la toolbox ident

Cette boite à outils propose de nombreuses fonctions qui permettent d’extraire un ou des
modèles à partir de différents campagnes de mesures.
Il existe également une interface graphique (commande ident) qui, bien qu’elle limite
l’utilisation des fonctions de base qui tournent derrière, permet d’utiliser la toolbox sans
connaître la syntaxe des fonctions qui la constitue.
En mode de commande, taper :
>> ident

H. EL-FADIL 33
Identification des systèmes Ch-4 : Le Toolbox de Matlab

Fonctionnalités de base :
- Utilisation de campagne de mesure
- Prétraitement de l’information
- Identification d’une structure de modèle
- Test de validité de l’identification
- Visualisation des réponses (temporelles, fréquentielles,..)
- Conversion dans une structure "connues"

5.5. Les pré-traitements

Différents prétraitements permettent d’améliorer les signaux sur lesquels on travaille :


- Possibilité de filtrage
- Possibilité de rééchantillonnage
- Possibilité de combiner des expérimentations différentes
- Possibilité d’isoler des entrées et/ou des sorties
- Possibilité d’enlever les valeurs moyennes (offset) : meilleure convergence pour
l’optimisation
- Un prétraitement engendre un nouveau jeu de données

5.6. Les structures de modèle

On ne s’intéressera qu’à l’identification paramétrique (structure du modèle connue).


Différents structures de modèles sont couramment utilisées en identification (ARMA, ARX,
ARMAX, BJ, OE, …). La plupart font intervenir la notion de bruit d’entrée. Tous les modèles
sont discrets.
Pour effectuer l’identification, il faut fixer l’ordre du modèle (problème crucial : lien entre
performance et complexité). Sous Matlab il est possible ensuite de revenir à des formats plus
conventionnels pour effectuer les synthèses de correcteurs et la simulation (fonction tf et ss
par exemple).

5.7. L’algorithme d’optimisation

Cherche à adapter les paramètres du modèle en vue de minimiser le critère. Différents


algorithmes : moindres carrés, méthode de Gauss-Newton, filtrage de Kalman,...
Le choix de l’algorithme dépend de la structure du modèle envisagé, des hypothèses faites sur
la nature du bruit et du critère utilisé.

H. EL-FADIL 34
Identification des systèmes Ch-4 : Le Toolbox de Matlab

5.8. L’incertitude des paramètres - l’analyse critique

Un modèle obtenu est toujours imparfait. Le jeu de paramètre obtenu correspond juste à un
minimum du critère (des fois local)
Quelle est la validité du résultat ?
Première réponse : multiplier les essais, utiliser plusieurs modèles, jouer sur les nombreux
paramètres de ceux ci.
Deuxième réponse : utiliser un jeu de données différent pour valider le modèle.
Deux analyses sont directement accessibles dans l’interface graphique : la visualisation de la
sortie modèle (avec un calcul de % sur la fiabilité du modèle) et l’analyse des résidus (test de
corrélation entre l’entrée et l’erreur de sortie).

5.9. Exemple du tutorial matlab

Prétraitement : retrait des valeurs moyennes

H. EL-FADIL 35
Identification des systèmes Ch-4 : Le Toolbox de Matlab

Visualisation des données

- Si l’option est time plot est cochée, tous les jeux de données
sélectionnés sont affichés dans une fenêtre séparée.

- Un simple clic sur un jeu de donnée permet de basculer le


selectionnement

- Un double clic permet d’ouvrir une fenêtre d’information sur


ce jeu

Identification paramétrique

- Ouverture du bandeau Estimate conduit à une


sous fenêtre où l’on effectue le choix de la
structure du modèle

- On aura pris soin de placer (drag & drop)


dans le working data le jeu sur lequel on veut
faire l’estimation

Choix du modèle

- On choisit ensuite la structure du modèle envisagé

- On fixe les ordres des différents modèles (on peut


donner un nom autre que celui par défaut)

- On lance l’estimation, ce qui crée le modèle dans


l’environnement

La vérification

- A partir des différents modèles créés (pour


différentes structures et différents ordres) on
peut réaliser des vérifications simples

- Ces vérifications se fait sur le jeu validation


data qui doit être de préférence différent du
jeu d’estimation

H. EL-FADIL 36
Identification des systèmes Ch-4 : Le Toolbox de Matlab

La sortie modèle

- Les différents modèles sélectionnés


apparaissent en tracé temporel
(simulation du modèle sur le jeu
de vérification)

- Il apparaît un "taux de
recouvrement" exprimé en % qui
indique la bonne adéquation

Les résidus

- Le graphique montre s’il existe


encore de l’information non
exploitée dans le signal de
sortie du modèle

- Cela consiste à calculer


l’autocorrélation sur le signal
d’erreur de sortie ainsi que la
corrélation entre l’entrée et le
signal d’erreur.

- Ces mesures doivent être le plus proche de 0

Remarques:

- Il semble raisonnable de sélectionner 2 ou 3 modèles sur lesquels on pourra faire les


synthèses

- Il faut penser également que les modèles peuvent n’avoir qu’une validité locale (système non
linéaire par exemple pour lequel on travaille autour d’un point de fonctionnement).

- La meilleure vérification est celle des performances en boucle fermée (comparaison des
performances attendues et différences avec la simulation).

H. EL-FADIL 37
Sommaire
CH1-1 Généralités: ................................................................................................................................ 1
1. Introduction : ................................................................................................................................... 1
2. Système dynamique ......................................................................................................................... 1
3. Définition d’un modèle ................................................................................................................... 2
3.1. Modèle de connaissance .................................................................................................................. 2
3.2. Modèle de commande ..................................................................................................................... 3
CH1-2 Structures de modèles ............................................................................................................... 4
1. Nécessité d’une commande adaptative ............................................................................................ 4
1.1. Exemple introductif ......................................................................................................................... 4
1.2. Limites des méthodes classiques d’identification ........................................................................... 5
2. Commande adaptative ..................................................................................................................... 6
2.1. Définition ........................................................................................................................................ 6
2.2. Principe d’une commande adaptative .............................................................................................. 6
2.3. Principe de conception d’un régulateur avancé: .............................................................................. 7
3. Structures de modèles pour les systèmes linéaires .......................................................................... 7
3.1. Le modèle ARMA (cas idéal z=0) .................................................................................................. 9
3.2. Erreur de l’équation ....................................................................................................................... 10
3.3. Modèle ARX ................................................................................................................................. 11
3.4. Modèle ARMAX ........................................................................................................................... 12
3.5. Résumé des trois modèles ............................................................................................................. 14
CH-3 Algorithmes d’identification: ................................................................................................... 15
1. Position du problème: .................................................................................................................... 15
2. Identification par la méthode du gradient:..................................................................................... 16
2.1. Forme de régression du modèle:.................................................................................................... 16
2.2. Notations: ...................................................................................................................................... 16
2.3. Critère d’identification: ................................................................................................................. 16
2.4. Algorithme du gradient: ................................................................................................................ 16
2.5. Preuve de l’Algorithme du gradient: ............................................................................................. 18
2.6. Propriétés de l’algorithme du gradient: ......................................................................................... 19
2.7. Propriété d’excitation persistante: ................................................................................................. 19
2.7.1. Définition .............................................................................................................................. 19
2.7.2. Proposition : .......................................................................................................................... 20
2.7.3. Exemples de signaux assurant l’EP ....................................................................................... 20
a) A l’aide d’une somme de signaux sinusoïdaux .............................................................................. 20
b) A l’aide dune Séquence Binaire Pseudo-Aléatoire (SBPA)........................................................... 20
2.8. Algorithme des moindres carrés (MC): ......................................................................................... 21
2.8.1. Critère à minimiser ................................................................................................................ 21
2.8.2. Algorithme MC non récursif ................................................................................................. 22
2.8.3. Forme récursive de l’algorithme des MC .............................................................................. 22
CH-4 Le Toolbox de Matlab :............................................................................................................ 25
1. Présentation ................................................................................................................................... 25
2. L’objet IDDATA ............................................................................................................................ 25
2.1. Création et manipulation des objets de données............................................................................ 26
2.1.1. Création de deux signaux ...................................................................................................... 26
2.1.2. Modification des champs de la structure............................................................................... 26
2.1.3. Pour extraire des plages de données: ................................................................................... 27
2.1.4. Sauvegarde et récupération de données ................................................................................ 27
2.2. Traitement de données................................................................................................................... 28
2.2.1. Elimination de la valeur moyenne ......................................................................................... 28
2.2.2. Elimination d’une déviation linéaire ..................................................................................... 28
3. Objet modèle IDPOLY .................................................................................................................. 29
Exemple: Modèle ARMAX: .................................................................................................................. 29
4. Choix d’une structure du modèle .................................................................................................. 30
4.1. Identification d'un modèle ARX: .................................................................................................. 30
4.2. Identification d'un modèle BoxJenkins: ........................................................................................ 31
5. Toolbox Ident ................................................................................................................................ 32
5.1. Idée de base ................................................................................................................................... 32
5.2. Le principe de l’identification ....................................................................................................... 32
5.3. Vocabulaire d’usage ...................................................................................................................... 33
5.4. Rôle de la toolbox ident................................................................................................................. 33
5.5. Les pré-traitements ........................................................................................................................ 34
5.6. Les structures de modèle ............................................................................................................... 34
5.7. L’algorithme d’optimisation .......................................................................................................... 34
5.8. L’incertitude des paramètres - l’analyse critique .......................................................................... 35
5.9. Exemple du tutorial matlab ........................................................................................................... 35
Ecole Nationale des Sciences Appliquées
ENSA-Kénitra

COURS D’AUTOMATIQUE

Identification Paramétrique
des Systèmes

Semestre S5 cycle ingénieur


Filière Génie Electrique (option ER)

Professeur Hassan EL FADIL

Vous aimerez peut-être aussi