Rapport PFE 2006 - ESIEE Amiens - UTC Compiègne

Transcription

Rapport PFE 2006 - ESIEE Amiens - UTC Compiègne
Identication paramétrique :
la méthode des moindres carrés
Benjamin Bradu
24 novembre 2006
Chapitre 1
Prérequis
1.1
Principes
L'identication consiste à appliquer des signaux de perturbation à l'entrée d'un système (ceux-ci peuvent être de
type binaire aléatoire ou pseudo-aléatoire, galois, sinus à fréquences multiples...) et en analyser la sortie dans le but
d'obtenir un modèle purement mathématique. Les diérents paramètres du modèle ne correspondent à aucune
réalité physique dans ce cas. L'identication peut se faire soit dans le temps (espace temporel) ou en fréquence
(espace de Laplace). Eviter les modèles purement théoriques à partir des équations physiques (en général des équations
diérentielles), qui sont longs à obtenir et souvent trop complexes pour le temps de développement donné, est donc
possible avec cette technique.
1.2
Protocole
Pour obtenir un modèle consistant, il est important d'exciter le processus avec toutes les fréquences de sa plage
de fonctionnement. Le signal d'entré appliqué doit donc être riche en fréquences (posséder un large spectre). En
général on applique un signal périodique pseudo-aléatoire (PRBS).
Lorsque le système possède plusieurs entrées/plusieurs sorties il est important d'appliquer des signaux décorrélés
pour ne pas introduire de biais d'identication. Une idée commune consistant à exciter l'une après l'autre les entrées
est une mauvaise méthode car elle introduit un biais d'identication et ne rend pas compte du fonctionnement normal
du système. Il est important de respecter une procédure rigoureuse pour identier un procédé :
Détermination d'un protocole de mesure : propriétés statistiques des signaux d'entrée pour balayer toutes les
fréquences interessantes, le ratio signal/bruit doit être susemment important et le nombre de points de mesures
doit être signicatif pour le test (>1000).
Détermination de la structure du modèle : type de modèle, ordre et retard.
Identication : choix d'un algorithme pour trouver le modèle en minimisant les erreurs entre les mesures et le
modèle, en général algorithme basé sur la Méthode des moindres carrés (LS,RLS,RELS).
Validation du modèle : Réalisation de plusieurs tests de vérication. Il est nécessaire pour cette étape d'utiliser
des mesures diérentes de celles utilisées lors de l'identication.
Fig.
1.1 Procédure d'identication
1
CHAPITRE 1.
1.3
2
PRÉREQUIS
Modèle
Le principe d'une identication paramétrique est d'extraire un modèle mathématique à partir d'observations. Le modèle
doit permettre de calculer la sortie du procédé yp à n'importe quel instant t si les conditions initiales du système sont
connues. Pour cela on peut se servir des valeurs des entrées aux instants présents et précédents (u(t), u(t − 1), ...) et
des valeurs précédentes de la sortie (y(t − 1), y(t − 2), ...) dans le cas d'un modèle régressif.
Il est tout de même important d'avoir des connaissances basiques du système pour choisir un type de modèle adapté :
Modèle possédant une entrée/une sortie (SISO) ou plusieurs entrées et plusieurs sorties (MIMO)
Modèle linéaire ou non-linéaire (dans ce cas, qu'est-ce qui est non-linéaire en fonction de quoi)
Modèle continu ou discret
Modèle régressif ou indépendant : pour un modèle régressif, la sortie à un instant t, y(t), dépend des instants
précédents (y(t − i)).
Modèle stochastique ou déterministe
En général, le modèle est représentaté sous forme de fonction de transfert utilisant la Transformée en Z. L'identication nécessite une structure de modèle connu à priori pour venir identier dans cette structure diérents paramètres.
Voici les 3 structures de modèle les plus utilisés :
1.3.1
Le modèle ARX
Le modèle ARX (Auto Regressive model with eXternal inputs) est un modèle auto régressif qui inclus des entrées u(t)
et un bruit blanc ζ(t) de moyenne nulle. De plus, le modèle inclus un retard pur de k coups d'horloge. Si le système
est échantilloné à une période d'échantillonage T , alors le retard sera de k ∗ T .
Sous forme échantillonée :
y(k) = B · [u(t − k), u(t − 1 − k), ...]T − A · [y(k − 1), y(k − 2), ...]T + A · [ζ(k), ζ(k − 1), ...]
(1.1)
sous forme de fonction de transfert utilisant l'opérateur retard q −1 :
y(t) = q −k ·
B(q −1 )
· u(k) + ζ(k)
A(q −1 )
(1.2)
On rappel que q −k · x(t) = x(t − k)
1.3.2
Le modèle ARMAX
Le modèle ARMAX(Auto Regressive Moving Average with eXternal inputs) reprend les attributs du modèle ARX mais
inclus une fonction de transfert avec une moyenne ajustable sur le bruit blanc. En général le bruit blanc permet de
modéliser des perturbations non-mesurables dans le modèle. Or, ces perturbations non-mesurables (uctuations
thermiques, vibrations du sol...) sont rarement de moyenne nulle et peuvent aussi répondrent à un modèle.
y(t) = q −k ·
1.3.3
B(q −1 )
T (q −1 )
·
u(t)
+
· ζ(t)
A(q −1 )
A(q −1 )
(1.3)
Le modèle ARIMAX ou CARIMA
Dans le modèle ARIMAX(Auto Regressive Integrated Moving Average with eXternal inputs) le modèle du bruit est
directement intégré.
y(t) = q −k ·
B(q −1 )
T (q −1 )
· u(t) +
· ζ(t)
−1
A(q )
∆ · A(q −1 )
(1.4)
∆ correspond à l'opérateur diérentiel. Le polynome T (q −1 ) est souvent égal à 1 mais il doit en général répondre à
un modèle de bruit pour être pertinent (c'est à dire que l'on doit avoir une idée du bruit).
Chapitre 2
Identication paramétrique
2.0.4
Mise en équation du problème
Pour réaliser l'identication d'un modèle contenant p paramètres, sachant que le système possède n sorties yi , m
entrées ui sur un ensemble de N mesures, on introduit 3 matrices distinctes :


y1 (k)
···
yn (k)


..
..
..
La matrice de sortie Yp = 
 de dimension N × n
.
.
.
y1 (k + N ) · · · yn (k + N )
La matrice d'observation φ = [ϕT1 , ϕT2 , ..., ϕTN ]T

La matrice de paramètres
Signication :
a11
 ..
θ̂ =  .
am1
de dimension N × p

· · · a1n
..  de dimension n × p
..
.
. 
· · · amn
Yp représente les n sorties du procédé à chaque mesure.
φ contient toutes les données mesurables du problème à l'instant k . ϕk est l'observation faite à l'instant k :
ϕk = [y1 (k − 1), y1 (k − 2), ...y2 (k − 1), y2 (k − 2)..., u1 (k − 1), u1 (k − 2), ...u2 (k − 1), u2 (k − 2)...]T de dimension p.
La matrice de paramètres contient tous les paramètres à identier. C'est elle qui est l'inconnue du problème.
On peut alors représenter une série de N mesures par la relations matricielle suivante :
(2.1)
Yp = φ · θ
Yp et φ sont les données mesurées et θ représentent tous les paramètres à identier. Il ne faut pas confondre θ qui
représente les paramètres réels du système et θ̂ qui contient les approximations de ces paramètres. Le résultats de
l'identication est la matrice θ̂ qui doit être la plus proche possible de θ. Malheureusement le θ réel n'est jamais connu
dans la réalité.
2.1
Algorithme des moindres carrés (LS)
L'algorithme des moindres carrés (ou LS pour Least Squares algorithm ) a pour objectif de minimiser la somme
erreurs quadratiques ε2 entre le modèle et les mesures. Il faut donc minimiser la fonction V qui est telle que :
V =
N
N
N
1 X 2
1 X
1 X
ε =
(Yp (k) − Ym (k))2 =
(Yp (k) − φ · θ)2
N
N
N
k=1
k=1
les
(2.2)
k=1
Le système à identier a pour modèle Ym = φ · θ̂ (il n'y a pas de bruit ou de perturbation ici), le θ̂ optimal peut être
calculé en utilisant la pseudo-inverse de φ :
(2.3)
θ̂ = [φT · φ]−1 · φT · y
Attention, [φT · φ] doit être inversible.
Si le modèle est de type ARX (voir équation (1.2)), l'algorithme LS fournit une identication pertinente sans aucun
biais si les signaux d'entré sont bien décorrélés, l'erreur commise sur les paramètres (θ − θ̂) est ainsi minime. En
3
CHAPITRE 2.
4
IDENTIFICATION PARAMÉTRIQUE
revanche, si le modèle est de type ARMAX ou ARIMAX (voir équations (1.3) et (1.4)), la solution trouvée sera
T (q −1 )
biaisée à cause du terme A(q
−1 ) · ζ(t) qui n'a pas une moyenne nulle. Pour identier de tels modèles, il est nécessaire
de procéder à une identication utilisant l'algorithme des moindres carrés récursif étendu (RELS) pour supprimer ce
biais. Cependant, si le bruit est très faible, l'algorithme LS classique peut fournir de bons résultats. L'avantage de
cette méthode est qu'elle est directe grâce à la relation (2.3) et donc très rapide. Elle peut permettre de mettre en
place un système d'identication temps réel.
2.2
Algorithme des moindres carrés récursif (RLS)
L'Algorithme des moindres carrés récursif (ou RLS pour Recursive Least Squares algorithm ) est la version récursive
de l'algorithme LS. Les ressources calculatoires sont donc plus importantes et cet algorithme est mal adapté pour une
identication temps réel mais demeure néanmoins plus ecace que l'algorithme LS pour une identication hors ligne.
L'algorithme est le suivant pour chaque itération k :


θ̂k = θ̂k−1 + Kk · εk



T
 εk = (yk − θ̂k−1
· ϕk )
Pk−1 ·ϕk
(2.4)
K
=
k
T

1+ϕk ·Pk−1 ·ϕk


T

k ϕk ·Pk−1
 Pk = Pk−1 − Pk−1 ·ϕ
1+ϕT ·Pk−1 ·ϕk
k
θ̂k contient les paramètres a identier,εk représente l'erreur entre la sortie réelle et l'estimation, Kk est la matrice de
gain d'adaptation qui évolue pendant le déroulement de l'algorithme et si il y a convergence, alors Kk 7→ 0.
Il existe d'autres versions de l'algorithme RLS, particulièrement une version permettant d'intégrer un facteur d'oubli
λ pour ne
i les premières itérations qui sont souvent peu signicatives. Dans ce cas, la matrice
h plus prendre enT compte
Pk−1 ·ϕk ϕk ·Pk−1
1
Pk = λ Pk−1 − 1+ϕT ·Pk−1 ·ϕk avec 0 < λ ≤ 1. Si λ = 1 on retrouve l'algorithme classique et si λ 6= 1, les erreurs
k
sont pondérées par un coecient λk−t .
2.3
Algorithme des moindres carrés récursif étendu (RELS)
L'Algorithme des moindres carrés récursif étendu (ou RELS pour Recursive Extended Least Squares algorithm ) est
aussi appelé méthode d'erreur de prédiction (ou PEM). Cet algorithme permet de fournir une identication
pertinente sans aucun biais pour les modèles ARMAX et ARIMAX ( equations (1.3) et (1.4)). Le principe de cette
méthode est d'inclure le polynome T (q −1 ) dans la matrice θ = [âi , b̂i , t̂i ]. On obtient alors une matrice d'observation
augmentée contenant les termes passés du bruit ζ :
ϕ = [y(t − 1) · · · y(t − n), u(t − 1) · · · u(t − m), ζ(t − 1) · · · ζ(t − r)]T
(2.5)
Bien sûr, le bruit ne peut pas être mesuré, en revanche on peut faire une bonne estimation de ζ̂(t) en utilisant le
modèle du process avec une expression récurssive (c'est comme un prédicteur) :
ζ̂(t) = y(t) +
n
X
i=1
âi · y(t − i) −
m
X
i=1
b̂i · u(t − k − i) −
r
X
t̂i · ζ̂(t − i)
(2.6)
i=1
L'algorithme est le même que le RLS mais en utilisant des matrices d'observation et de paramètres augmentées. De
plus le prédicteur ζ̂(t) = ε(t).