6
TP CONTSID Hugues Garnier Estimation param´ etrique de mod` eles ` a temps continu ` a partir de donn´ ees ´ echantillonn´ ees Le travail r´ ealis´ e fera l’objet d’un compte-rendu qui sera not´ e. Il est demand´ e de suivre les consignes pr´ esent´ ees ci-dessous pour r´ ediger votre compte-rendu. Consignes pour la r´ edaction de votre compte-rendu de TD Matlab Un compte-rendu est un document scientifique. Il doit donc respecter une certaine organisation. Votre compte-rendu devra ˆ etre structur´ e de la mani` ere suivante : une introduction g´ en´ erale pr´ ecisant les objectifs du TP Pour chaque partie ou exercice : une pr´ esentation br` eve des attendus un rappel ou une pr´ esentation (si n´ ecessaire) des r´ esultats th´ eoriques une description des r´ esultats de simulation sous la forme graphique ou num´ erique une analyse critique des r´ esultats en lien avec ceux th´ eoriques attendus une conclusion br` eve une conclusion g´ en´ erale qui pr´ ecise ce qui a ´ et´ e compris et retenu lors du TD et les ´ eventuelles difficult´ es rencontr´ ees. une annexe rassemblant les programmes Matlab que vous avez d´ evelopp´ es. Votre compte-rendu `a r´ ediger obligatoirement en binˆome est `a envoyer par courriel `a l’intervenant sous la forme d’un fichier unique au format pdf joint au message en respectant la date limite d’envoi qui aura ´ et´ e communiqu´ ee durant la s´ eance de TD. 1 Etude en simulation Identification d’un mod` ele ` a temps continu du 2i` eme ordre par LSSVF, IVSVF et SRIVC 1.1 en´ eration de signaux d’entr´ ee/sortie Soit le syst` eme d´ ecrit par : S : y(t k )= B(p) F (p) u(t k )+ e(t k ) (1) o` u p repr´ esente l’op´ erateur de diff´ erentiation, u l’entr´ ee du syst` eme, y la sortie mesur´ ee, e un bruit blanc ` a temps discret, et les polynˆ omes B(p) et F (p) sont d´ efinis par : ( B(p)=2 F (p)= p 2 +4p +3 1

TP CONTSID - w3.cran.univ-lorraine.frw3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Ident/TP... · TP CONTSID Hugues Garnier Estimation param etrique de mod eles a temps

Embed Size (px)

Citation preview

Page 1: TP CONTSID - w3.cran.univ-lorraine.frw3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Ident/TP... · TP CONTSID Hugues Garnier Estimation param etrique de mod eles a temps

TP CONTSID

Hugues Garnier

Estimation parametrique de modeles a temps continua partir de donnees echantillonnees

Le travail realise fera l’objet d’un compte-rendu qui sera note. Il est demande de suivre lesconsignes presentees ci-dessous pour rediger votre compte-rendu.

Consignes pour la redaction de votre compte-rendu de TD MatlabUn compte-rendu est un document scientifique. Il doit donc respecter une certaine organisation.Votre compte-rendu devra etre structure de la maniere suivante :

• une introduction generale precisant les objectifs du TP

• Pour chaque partie ou exercice :

– une presentation breve des attendus

– un rappel ou une presentation (si necessaire) des resultats theoriques

– une description des resultats de simulation sous la forme graphique ou numerique

– une analyse critique des resultats en lien avec ceux theoriques attendus

– une conclusion breve

• une conclusion generale qui precise ce qui a ete compris et retenu lors du TD et les eventuellesdifficultes rencontrees.

• une annexe rassemblant les programmes Matlab que vous avez developpes.

Votre compte-rendu a rediger obligatoirement en binome est a envoyer par courriel a l’intervenantsous la forme d’un fichier unique au format pdf joint au message en respectant la date limite d’envoiqui aura ete communiquee durant la seance de TD.

1 Etude en simulation

Identification d’un modele a temps continu du 2ieme ordre par LSSVF, IVSVF et SRIVC

1.1 Generation de signaux d’entree/sortie

Soit le systeme decrit par :

S : y(tk) =B(p)

F (p)u(tk) + e(tk) (1)

ou p represente l’operateur de differentiation, u l’entree du systeme, y la sortie mesuree, e un bruitblanc a temps discret, et les polynomes B(p) et F (p) sont definis par :{

B(p) = 2

F (p) = p2 + 4p+ 3

1

Page 2: TP CONTSID - w3.cran.univ-lorraine.frw3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Ident/TP... · TP CONTSID Hugues Garnier Estimation param etrique de mod eles a temps

1. Deduire de l’equation (1) la structure du modele du systeme (CARX ou COE)

2. Donner les caracteristiques du systeme a temps continu : gain statique, constantes de tempset pulsation de coupure associee a chaque constante de temps

3. Preciser l’equation differentielle du systeme a l’instant t = tk

Vous allez dans un premier temps generer des signaux d’entree/sortie a partir desquels vous alleztenter d’estimer les parametres du systeme (1). Pour cela, une fois sous Matlab, entrer, dans unscript Matlab, la sequence de commandes suivante :

N=1000;

B=[2];

F=[1 4 3];

Te=0.01;

t=(0:N-1)’*Te;

u=square(2*pi*0.5*t);

randn(’state’,sum(100*clock))

e=0.2*randn(N,1);

x=lsim(B,F,u,t);

y=x+e;

datadet=iddata(x,u,Te);

data=iddata(y,u,Te);

figure(1)

idplot(datadet)

figure(2)

idplot(data)

Vous avez a present a votre disposition deux jeux de donnees contenus dans les objets de donneesdatadet et data pour effectuer l’estimation parametrique.

1.2 Estimation parametrique

1.2.1 Choix de la structure de modele

On supposera les ordres du modele connus.

1.2.2 Estimateur LSSVF

On s’interesse dans un premier temps a l’identification du systeme par la methode des moindrescarres/filtre de variable d’etat (LSSVF). Le modele recherche est du type ARX continu :

MCARX : A(p)y(tk) = B(p)u(tk) + e(tk) (2)

1. Rappeler l’equation differentielle associee au modele.

2. En deduire l’ecriture du modele sous forme de regression lineaire a l’instant t = tk.

3. En supposant N mesures des signaux d’entree/sortie, formuler le probleme sous forme ma-tricielle. Donner la dimension de chaque matrice.

4. Rappeler la solution de l’estimateur LSSVF (voir transparents de cours).

5. Implanter cette solution sous Matlab dans le cas des donnees deterministes puis bruitees.Commentaires. On rappelle qu’on realise ici une estimation ponctuelle et qu’on ne peut parlerde biais de l’estimateur mais plutot d’erreur d’estimation. Vous pouvez executer plusieurs foisvotre programme pour degager la tendance au niveau du biais des estimees.

6. La boıte a outils CONTSID1 contient differentes fonctions permettant de realiser l’estimation

1www.cran.univ-lorraine.fr/contsid/

2

Page 3: TP CONTSID - w3.cran.univ-lorraine.frw3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Ident/TP... · TP CONTSID Hugues Garnier Estimation param etrique de mod eles a temps

des parametres d’un modele. Elles ont toutes la structure suivante :

M=fonction(data,nbreparam,hyperparametre)

avec :

• M : le modele identifie ;

• fonction : le nom de la fonction CONTSID : lssvf, ivsvf, srivc, . . .

• data : l’objet donnees contenant les signaux d’entree/sortie construit a la prtir de lafonction iddata : data=iddata(y,u,Te) ;

• nbreparam : un vecteur ligne permettant de definir le nombre de parametres despolynomes du modele et la valeur du retard (suppose etre un multiple entier de laperiode d’echantillonnage τ =nk×Te) : [na nb nk] par exemple. Attention il s’agit dunombre de parametres a estimer de chaque polynome du modele et non du degre dechaque polynome.

• hyperparametre : hyper-parametre eventuel de la methode d’estimation : pulsation decoupure (rad/s) du filtre SVF par exemple.

La commande suivante permet d’afficher les parametres du modele estime :

present(M);

Si vous desirez obtenir plus d’informations sur l’utilisation d’une fonction, vous pouvez entrerla commande suivante a tout moment :

help fonction

La fonction CONTSID lssvf permet d’estimer les parametres d’un modele a temps continupar LSSVF. La commande est la suivante :

Mlssvf=lssvf(data,[na nb nk],lambda);

na et nb correspondent respectivement au nombre de parametres a estimer des polynomesA(p) et B(p) et nk represente le nombre d’echantillons pour le retard, lambda represente lapulsation de coupure du filtre SVF (en rad/s).Les parametres estimes peuvent etre visualises par la commande present(Mlsssvf) :

7. Entrer les commandes suivantes pour estimer les parametres du modele par la methode desmoindres carres/filtre de variable d’etat (LSSVF) :

Mlssvf1=lssvf(datadet,[2 1 0],3);present(Mlssvf1);

Mlssvf2= lssvf(data,[2 1 0],3);present(Mlssvf2);

8. Pour une realisation du bruit, comparer les resultats de votre implantation avec ceux obtenusvia la fonction de la boıte a outils CONTSID.

1.2.3 Estimateur IVSVF

On s’interesse a present a l’identification d’un modele CARX par la methode de la variableinstrumentale a modele auxiliaire/filtre de variable d’etat IVSVF.

1. En supposant N mesures des signaux d’entree/sortie. Rappeler la solution de l’estimateurIVSVF. Preciser la dimension de chaque matrice.

3

Page 4: TP CONTSID - w3.cran.univ-lorraine.frw3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Ident/TP... · TP CONTSID Hugues Garnier Estimation param etrique de mod eles a temps

2. Implanter cette solution sous Matlab (voir transparents de cours). Commentaires.

3. La fonction ivsvf permet d’estimer les parametres d’un modele CARX par la methode de lavariable instrumentale associee a la technique des SVF. La commande est la suivante :

Mivsvf=ivsvf(data,[na nb nk],lambda);

4. Entrer les commandes suivantes pour estimer les parametres du modele par IVSVF :

Mivsvf= ivsvf(data,[2 1 0],3);

present(Mivsvf);

5. Comparer avec les resultats obtenus avec lssvf sur un meme jeu de donnees.

1.3 Estimateur SRIVC

La fonction srivc permet d’estimer les parametres d’un modele du type COE :

MCOE : y(tk) =B(p)

F (p)u(tk) + e(tk) (3)

par la methode iterative de variable instrumentale. Les estimees delivrees sont alors optimales (sansbiais et a minimum de variance) lorsque le bruit additif e(tk) sur la sortie est blanc (systeme vraide type COE). La commande est la suivante :

Msrivc=srivc(data,[nb nf nk]);

% Attention a la definition du nombre de parametres a estimer

nb et nf correspondent respectivement au nombre de parametres a estimer des polynomes B(p) etF (p) du modele et nk represente le nombre d’echantillons pour le retard. Les parametres estimesainsi que leur ecart-type peuvent etre visualises par la commande :

present(Msrivc);

1. Entrer les commandes suivantes pour estimer les parametres du modele COE a l’aide de lafonction srivc :

Msrivc=srivc(data,[1 2 0]);present(Msrivc);

2. Comparer avec les resultats obtenus avec lssvf et ivsvf.

1.3.1 Analyse comparative des performances des estimateurs LSSVF, IVSVF etSRIVC par simulation de Monte Carlo

Ecrire un programme qui permet de comparer les performances des estimateurs LSSVF, IVSVF etSRIVC par simulation de Monte Carlo dans le cas du systeme (1).

1.3.2 Programmes de demonstration de la boıte a outils CONTSID

Pour acceder aux programmes de demonstration disponibles dans la boıte a outils CONTSID, entrer

contsid_demo

Executer les differents programmes de demonstration disponibles.

4

Page 5: TP CONTSID - w3.cran.univ-lorraine.frw3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Ident/TP... · TP CONTSID Hugues Garnier Estimation param etrique de mod eles a temps

2 Applications sur des donnees reelles

Cette partie a pour objectif de mettre en application la methodologie de l’identification de modelesa temps continu sur des donnees reelles.

2.1 Identification d’un systeme thermique

1. Protocole experimental - Les donnees brutes echantillonnees a Te=80ms se trouvent dans lefichier dryer2.mat. Celles-ci peuvent etre chargees en entrant la commande suivante :

load dryer2;

On choisit d’utiliser les 500 premiers points pour estimer un modele. On forme l’objet donnees(data) contenant les donnees d’entree/sortie brutes :

data=iddata(y2(1:500),u2(1:500),0.08);

Tracer l’evolution temporelle des signaux d’entree/sortie :

idplot(data);

2. Pre-traitement des donnees - Dans un premier temps, il faut eliminer les composantes con-tinues des signaux :

data=detrend(data);

idplot(data);

3. Choix de la structure et determination des ordres/retard du modele - En utilisant la procedurede recherche de structure de modeles (voir demos de la CONTSID), proposer une structureet selectionner les ordres/retard du modele

4. Estimation parametrique - Determiner les parametres du modele choisi par la methode devotre choix.

5. Validation - Nous allons juger de la qualite du modele obtenu en considerant une portionde la campagne de donnees qui n’a pas ete utilisee pour realiser l’identification (validationcroisee).

uv=detrend(u2(501:900));

yv=detrend(y2(501:900));

dataval=iddata(yv,uv,0.08);

Afin de verifier si le modele decrit bien le systeme, on effectue une simulation du modele puison compare les sorties du systeme et du modele :

comparec(dataval,M);

Verifier l’adequation du modele.

6. Poursuivez la validation en effectuant les autres tests habituels (analyse de correlation desresidus, trace des poles et des zeros).

5

Page 6: TP CONTSID - w3.cran.univ-lorraine.frw3.cran.univ-lorraine.fr/perso/hugues.garnier/Enseignement/Ident/TP... · TP CONTSID Hugues Garnier Estimation param etrique de mod eles a temps

2.2 Identification d’un modele pluie/debit

Un probleme environnemental difficile concerne la modelisation de la relation pluie-debit dansun bassin versant. Les modeles pluie-debit sont des outils essentiels pour la prevision des cruesde riviere et le developpement de systeme d’alerte. Nous considerons ici des donnees pluie-debitprovenant d’une riviere ephemere (la riviere cesse de couler pendant l’ete) en Australie occidentale.Les donnees de pluie/debit sont sauvegardees dans le fichier : canningdata.mat

1. Appliquer la procedure d’identification pour determiner un modele lineaire de temps continude la relation pluie/debit.

2. Justifier et expliquer tous vos choix.

2.3 Identification d’un systeme de transmission flexible

Le systeme est constitue de 3 poulies reliees par des ressorts (voir figure 1). Une des pouliesest pilotee par un moteur a courant continu dont la tension represente l’entree du systeme. Lemouvement est transmis aux deux autres poulies par l’intermediaire de ressorts. L’objectif est decontroler la position angulaire de la troisieme poulie qui constitue la sortie du systeme.

Figure 1: Systeme de transmission flexible

Les donnees (254 echantillons) provenant du systeme de transmission flexible sont sauvegardeesdans le fichier : transmission.matL’entree u est une SBPA, la sortie y est la position angulaire de la 3eme poulie et la perioded’echantillonnage est egale a 50 ms.

1. Appliquer la procedure d’identification pour determiner un modele lineaire de temps continudu systeme de transmission flexible.

2. Justifier et expliquer tous vos choix.

6