Vous êtes sur la page 1sur 11

TP 1 et 2 : IDP2

Boudjoghra Mohamed El Amine


December 2020
Table des matières
1 Le code : 3

2 Resultats : 3
2.1 PARTIE 1 : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1.1 Générer un modèle ARX : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.2 Générer et visualiser un SBPA de longaur 255 : . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.3 générer et visualiser la sortie y(t) : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.4 Simulation de la réponse impulsionelle et visualisation de la courbe : . . . . . . . . . . . . 5
2.2 PARTIE 2 TP1 : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2.1 Identification par la méthode des moindres carées non-récursive : . . . . . . . . . . . . . . 5
2.2.2 Calculer la réponse impulsionelle a partir des données E/S : . . . . . . . . . . . . . . . . . 7
2.2.3 Tracer la courbe calculé et celui du modèle réel puis comparer entre les deux : . . . . . . 7
2.3 PARTIE 2 TP2 : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3.1 Comparaison entre le modèle réel et identifié . . . . . . . . . . . . . . . . . . . . . . . . . 10

1
Table des figures
1 Le modèle ARX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Le graphe de l SBPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3 La réponse d’une SBPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4 La réponse impulsionelle du modèle ARX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
5 La réponse Le modèle identifié . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
6 Comparaison avec Nr = 10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
7 Comparaison avec Nr = 30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
8 Comparaison avec Nr = 50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
9 Comparaison avec Nr = 70 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
10 Comparaison avec Nr = 90 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
11 Comparaison avec Nr = 110 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
12 Comparaison avec Nr = 130 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
13 Comparaison avec Nr = 150 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
14 Comparaison avec Comparaison entre le modèle réel et le modèle
identifié par la methode des moindres carrée non récursive par un modèle ARX . . . . . . . . . . 10

2
1 Le code :

clc
clear all
%partie 1
disp('Partie I:');
pause;

th=arx2th([1 -1.5 0.7],[0 1 0.5],1,1)


u=idinput(255,'prbs');
plot(u);
pause;
y=idsim(th,u);
plot(y);
pause;
impulse(th);
pause
disp('Partie II:');
pause
%partie 2
n = 2
m = 3
Y = [];
for i=0:255-n-1
Y = [Y ; y(255-i)];
end
for i = 0:255-n-1
for j = 0:n-1
Phi(i+1,j+1) = -y(255-i-j-1);
end
for j = 0:m-1
Phi(i+1,j+n+1) = u(255-i-j);
end
end
disp('identification par MCNR:')
pause;
Theta = inv(Phi'*Phi)*Phi'*Y
disp('calcule de la r p e n s e impulsionelle par E/S:')
pause;

for Nr = 10:20:150
Nr
Yg = [];
for i = 0:255-Nr-1
Yg = [Yg; y(255-i)];
end
for i=0:255-Nr-1
for j = 0:Nr
U(i+1,j+1) = u(255-i-j);
end
end
gt = inv(U'*U)*U'*Yg;
plot(gt,'r')
hold on
impulse(th)
pause;
hold off
gt = [];
U = [];
Yg = [];
end
disp('comparaison entre le m o d l e param trique et le m o d l e i d e n t i f i :');
thI = arx2th([1 Theta(1) Theta(2)],[Theta(3) Theta(4) Theta(5)],1,1);
impulse(thI);
hold on
impulse(th);
pause;
hold off

2 Resultats :
2.1 PARTIE 1 :

3
2.1.1 Générer un modèle ARX :
aprés l’éxécution de la premiere commande on peut générer un modele discret ARX qui le suivant

Figure 1 – Le modèle ARX

2.1.2 Générer et visualiser un SBPA de longaur 255 :

Figure 2 – Le graphe de l SBPA

2.1.3 générer et visualiser la sortie y(t) :

4
Figure 3 – La réponse d’une SBPA

Commentaire :
On voit bien que la sortie oscille entre une valeur maximale 13 et minimale -10 comme une réponse d’une SBPA
d’amplitude 1.
2.1.4 Simulation de la réponse impulsionelle et visualisation de la courbe :
La simulation du modèle se réalise par la commande impulse(th), ce qui donne la courbe discrétisée suivante :

Figure 4 – La réponse impulsionelle du modèle ARX

Commentaire : Le système est stable mais oscillatoire


2.2 PARTIE 2 TP1 :
2.2.1 Identification par la méthode des moindres carées non-récursive :
On exécute la partie inferieur du code pour indentifier un systeme ARX ou le nombre des inconnue ai et bj

5
sont donnée a l’entrée du programme et retourne a la fin un vecteur
 
a1
 a2 
 
 . 
 
 . 
 
 an 
θ(ai , bj ) =  
 b1 
 
 b2 
 
 . 
 
 . 
bm

l’algorithme sur lequel le code est crée est le suivant :

θ = (ΦT Φ)−1 ΦT Y

avec :
 
Y (M − 1) Y (M − 2) . . Y (M − n) u(M ) u(M − 1) . . u(M − m)
 
 
Y (M − 2) Y (M − 3) . . Y (M − n − 1) u(M − 1) u(M − 2) . . u(M − m − 1)
 
 
 
 . . . . 
Φ=



 

 . . . . 

 
 
 Y (n − 1) Y (n − 2) . . Y (0) u(n) u(n − 1) . . u(n − m) 

et  
Y (M )
 
 
Y (M − 1)
 
 
 
Y =
 . 

 
 

 . 

 
Y (n)
aprés l’éxécution de l’algorithme on trouve :

Figure 5 – La réponse Le modèle identifié

Commentaire : on remarque que l’erreur entre le modèle identifié et celui réel est nul.

6
2.2.2 Calculer la réponse impulsionelle a partir des données E/S :
on peut calculer le modèle non-paramétrique par la formule E/S suivante :

g = (U T U )−1 U T Y

avec :  
u(M ) u(M − 1) . . u(M − Nr )
 
 
u(M − 1) u(M − 2) . . u(M − Nr − 1)
 
 
 
 . . . . . 
U =



 

 . . . . . 

 
 
 u(Nr ) u(Nr ) . . u(0) 

et :  
Y (M )
 
 
Y (M − 1)
 
 
 
Y =
 . 

 
 

 . 

 
Y (Nr )
A condition que M est grand devant Nr , dans le script Nr increment de 10 a 150 avec un pas de
20 pour voir l’influence du choix du Nr sur les résultat d’identification et M 255 on exécute le script
et on trouve a la fin un vecteur gt qui contient N r + 1 point qui caractérise l réponse impulsionelle
2.2.3 Tracer la courbe calculé et celui du modèle réel puis comparer entre les deux :
aprés l’éxecution du code on trouve en bleu du modèle réel et en rouge du modèle identifié.

Figure 6 – Comparaison avec Nr = 10

7
Figure 7 – Comparaison avec Nr = 30

Figure 8 – Comparaison avec Nr = 50

Figure 9 – Comparaison avec Nr = 70

8
Figure 10 – Comparaison avec Nr = 90

Figure 11 – Comparaison avec Nr = 110

Figure 12 – Comparaison avec Nr = 130

9
Figure 13 – Comparaison avec Nr = 150

Commentaire : On remarque que le modèle identifié est un peu décalé par rapport a l’autre a cause du
rapport Nr/M qui est pas vraiment faible dans ce cas, aussi l’augmentation du Nr permet d’avoir plus de points
mais une faible précision par contre la diminution du Nr décrement le nombre des points mais augment la
précision, aussi en remarque que le choix du Nr = 130 donne une réponse completement différente ce qui signifie
la présence d’un nombre Nrlim a partir de le la réponse impulsionellen’est pas exploitable.
Conclusion : La methode d’identification non-paramétrique sert a trouvé un modèle proche du modèle réel
mais un peu limité en terme du nombre des point.
2.3 PARTIE 2 TP2 :
2.3.1 Comparaison entre le modèle réel et identifié

Figure 14 – Comparaison avec Comparaison entre le modèle réel et le modèle


identifié par la methode des moindres carrée non récursive par un modèle ARX

Commentaire : les deux réponses sont parfaitement identiques. aussi on remarque que a partir des memes
données entrée sortie les deux modeles identifiés sont trés differents ou celui de identifié par un modèle pa-
ramétrique est plus juste que celui par un modèle non-paramétrique.

Conclusion : identification par en imposant un modèle paramétrique au début est plus efficace que la
génération d’une réponse impulsionelle non paramétrique.

10

Vous aimerez peut-être aussi