Vous êtes sur la page 1sur 10

TP ° 2 

: Méthode des moindres carrés généralisés

Objectif du TP :
*Etudier de la robustesse de l’algorithme des moindres carrés récursifs via un bruit blanc
puis un bruit coloré additif en sortie.
* Présenter une étude détaillée de la méthode de moindres carrés généralisés pour
identifier sans biais des modèles (système + perturbation).

* Application sur un procédé de régulation de la température d’un four.

|-Introduction :

Les méthodes des moindres carrés, indépendamment élaborée par Legendre et Gauss au


début du XIXe siècle, permet de comparer des données expérimentales, généralement
entachées d’erreurs de mesure, à un modèle mathématique censé décrire ces données.
Or, chaque méthode est limitée par des conditions qui nous obligent d’utiliser une méthode
d’une autre :
Dans le cas de la méthode des moindres carrés présentée dans le tp1 appelée moindres
carrés ordinaires, n’est plus robuste, si on introduit la notion du bruit, car elle conduit à des
estimations biaisées.
Lorsque l’estimateur est biaisé, on améliore la qualité de l’estimateur des MMC par de
nouvelles techniques. Ces techniques reposent sur l’hypothèse que le bruit de mesure e(k)
peut être considéré comme étant le signal de sortie d’un filtre linéaire inconnu excité par
une conséquence de bruit blanc non corrélé et moyenne nulle.

On peut alors utiliser la méthode des moindre carrés généralisées MCG .

||- Méthode des moindres carrés généralisés :

L’idée dans la méthode des moindres carrés généralisé est de placer un filtre sur le vecteur
mesure de façon à blanchir le bruit. Ce qui autorise l’utilisation des MCR. Les paramètres du
filtre sont eux aussi à estimer. Ce qui conduit à utiliser à 2 reprises les MCR. Comme le
montre l’algorithme suivant :

1 ère étape : choisir le filtre a priori


F(z)=1+f1(z^(-1)) + f2(z^(-2)) +………………..+ fn(z^(-n))

2 éme étape : calcul des valeurs filtrées :

Uf(k)=f(z)*u(k)
Yf(k) = f(z)*y(k)

3 éme étape : déterminer thêta (k) par la méthode des MCR appliqué au modèle.
a(z)*yf(k)=b(z)*uf(k)+e(k)
4éme étape :calculer les termes résiduels :
epsilon(k)=A(z)*v(k)-B(z)*u(k)
5 éme étape :estimer les coefficients du filtre f(z) par la méthode des MCR appliqué au
modèle :
f(z)*epsilon(k)=e(k)

6 éme étape : reprendre l’étape 2 avec les nouvelles valeurs calculées du filtre F(z)

|||- Etude préliminaire:

On considère le processus décrit par :

y(k)=ay(k-1) +bu(k)+(e(k-1) +10 e(k))

Où b(k) = (e(k-1) +10 e(k)) est le bruit coloré affectant le processus .

On a pour objectif d’identifier les paramètres a et b pour montrer à l’aide d’une simulation
Matlab que la méthode des moindres carrées généralisées est meilleur que la méthode des
moindres carrées ordinaires. On prendra comme paramètres pour les simulations a=0.2 et
b=2.

|V Application au procédé de régulation de la température d’un four :

Travail demandé :

1-

>> T=tf (2,[200 1]) % la fonction de transfert >> Td=c2d (T,20) % la discrétisation
Transfer function: Transfer function:
2 0.1903
--------- ----------
200 s + 1 z - 0.9048
Sampling time: 20

2->> u=idinput(100,'sine',[0 1],[-1 1]);

3-: e(k) est un bruit blanc  :Un bruit blanc est une réalisation d'un processus aléatoire dans
lequel la densité spectrale de puissance est la même pour toutes les bandes de fréquence de
la bande passante.

>> help awgn : AWGN Add white Gaussian noise to a signal.

Y = AWGN(X,SNR) adds white Gaussian noise to X. The SNR is in dB.


1 er cas : y=awgn(y,50) :

ysb et y bruite comparaison de y reel et y estime


1.4 1.4
y y
1.2 ysb 1.2 ye

1 1

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0

-0.2 -0.2
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
iteration iteration
10 6 trace du gain d adaptation
2 erreur de prediction
0.015

1.8

1.6 0.01

1.4

1.2 0.005

0.8 0

0.6

0.4 -0.005

0.2

0 -0.01
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
iteration iteration

evolution des parametres estimes


1
ae
be
0.8

0.6

0.4

0.2

-0.2
0 10 20 30 40 50 60 70 80 90 100
iteration
Presque rien ne change  le système reste robuste.
Le système converge rapidement : a1 et b1 convergent normalement vers leurs valeurs
initiales.
2ème cas : y=awgn(y,30) :
ysb et y bruite
1.4 comparaison de y reel et y estime
1.4
y
y
1.2 ysb
1.2 ye

1
1

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0

-0.2 -0.2
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
iteration iteration
10 6 trace du gain d adaptation erreur de prediction
2 0.1

1.8 0.08

1.6 0.06

1.4 0.04

1.2 0.02

1 0

0.8 -0.02

0.6 -0.04

0.4 -0.06

0.2 -0.08

0 -0.1
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
iteration iteration

evolution des parametres estimes


1.2
ae
be
1

0.8

0.6

0.4

0.2

-0.2
0 10 20 30 40 50 60 70 80 90 100
iteration
3ème cas : y=awgn(y,20) :
ysb et y bruite comparaison de y reel et y estime
1.4 1.4
y y
ysb ye
1.2 1.2

1 1

0.8 0.8

0.6 0.6

0.4 0.4

0.2 0.2

0 0
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
iteration iteration

106 trace du gain d adaptation erreur de prediction


2 0.4

1.8
0.3
1.6
0.2
1.4

1.2 0.1

1 0

0.8
-0.1
0.6
-0.2
0.4

-0.3
0.2

0 -0.4
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
iteration iteration

evolution des parametres estimes


1
ae
be

0.5

-0.5

-1

-1.5
0 10 20 30 40 50 60 70 80 90 100
iteration
 Pour SNR = 50 et 30 et 20 :système robuste mais la différence c’ est la vitesse de
convergence.

4ème cas : y=awgn(y,10) :

ysb et y bruite comparaison de y reel et y estime


2 2
y y
ysb ye

1.5 1.5

1 1

0.5 0.5

0 0

-0.5 -0.5
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
iteration iteration

10 6 trace du gain d adaptation erreur de prediction


2 0.8

1.8 0.6

1.6
0.4

1.4
0.2
1.2
0
1
-0.2
0.8
-0.4
0.6

-0.6
0.4

0.2 -0.8

0 -1
0 10 20 30 40 50 60 70 80 90 100 0 10 20 30 40 50 60 70 80 90 100
iteration iteration
evolution des parametres estimes
1
ae
0.5 be

-0.5

-1

-1.5

-2

-2.5

-3

-3.5

-4
0 10 20 30 40 50 60 70 80 90 100
iteration

 Au dessous de 20 le système n’est plus robuste  il ne converge pas.

4-: e(k) est un bruit coloré  :Bien que le bruit soit un signal aléatoire, il possède des
propriétés statiques caractéristiques. La densité spectrale de puissance en est une, et peut
être utilisée pour distinguer les différents types de bruit.
s = rand("seed") : Le but de cette fonction est de retourner un tableau de doubles dont les
valeurs sont des nombres aléatoires réels ou complexes. En fonction des arguments
d'entrée, la fonction peut renvoyer une matrice de doubles aléatoires or peut configurer ou
récupérer la distribution des nombres aléatoires ou peut configurer ou récupérer la graine
du générateur aléatoire :
On remarque que la valeur d’erreur est de 10^-2 prés.

Conclusion  :

On remarque que cette méthode est plus efficace que les autres méthodes.

Vous aimerez peut-être aussi