Comptes Rendus

Embed Size (px)

DESCRIPTION

IDP

Citation preview

  • MMiinniissttrree ddee llEEnnsseeiiggnneemmeenntt SSuupprriieeuurr eett ddee llaa RReecchheerrcchhee SScciieennttiiffiiqquuee

    EEccoollee NNaattiioonnaallee PPoollyytteecchhnniiqquuee EENNPP

    DDppaarrtteemmeenntt ddAAuuttoommaattiiqquuee

    TTrraavvaauuxx PPrraattiiqquueess

    IIIIIIIIddddddddeeeeeeeennnnnnnnttttttttiiiiiiiiffffffffiiiiiiiiccccccccaaaaaaaattttttttiiiiiiiioooooooonnnnnnnn ddddddddeeeeeeeessssssss PPPPPPPPrrrrrrrroooooooocccccccceeeeeeeessssssssssssssssuuuuuuuussssssss IIIIIIII

    CCCCCCCCoooooooommmmmmmmpppppppptttttttteeeeeeeessssssss RRRRRRRReeeeeeeennnnnnnndddddddduuuuuuuussssssss TTTTTTTTPPPPPPPP 11111111 :::::::: IIIIIIIImmmmmmmmppppppppllllllllmmmmmmmmeeeeeeeennnnnnnnttttttttaaaaaaaattttttttiiiiiiiioooooooonnnnnnnn ssssssssuuuuuuuurrrrrrrr ccccccccaaaaaaaallllllllccccccccuuuuuuuullllllllaaaaaaaatttttttteeeeeeeeuuuuuuuurrrrrrrr ddddddddeeeeeeee

    lllllllliiiiiiiinnnnnnnnttttttttggggggggrrrrrrrraaaaaaaattttttttiiiiiiiioooooooonnnnnnnn nnnnnnnnuuuuuuuummmmmmmmrrrrrrrriiiiiiiiqqqqqqqquuuuuuuueeeeeeee TTTTTTTTPPPPPPPP 22222222 :::::::: IIIIIIIImmmmmmmmppppppppllllllllmmmmmmmmeeeeeeeennnnnnnnttttttttaaaaaaaattttttttiiiiiiiioooooooonnnnnnnn ssssssssuuuuuuuurrrrrrrr ccccccccaaaaaaaallllllllccccccccuuuuuuuullllllllaaaaaaaatttttttteeeeeeeeuuuuuuuurrrrrrrr ddddddddeeeeeeee llllllllaaaaaaaa

    mmmmmmmmtttttttthhhhhhhhooooooooddddddddeeeeeeee ddddddddeeeeeeeessssssss mmmmmmmmoooooooommmmmmmmeeeeeeeennnnnnnnttttttttssssssss ccccccccllllllllaaaaaaaassssssssssssssssiiiiiiiiqqqqqqqquuuuuuuueeeeeeeessssssss TTTTTTTTPPPPPPPP 33333333 :::::::: IIIIIIIIddddddddeeeeeeeennnnnnnnttttttttiiiiiiiiffffffffiiiiiiiiccccccccaaaaaaaattttttttiiiiiiiioooooooonnnnnnnn ppppppppaaaaaaaarrrrrrrr llllllllaaaaaaaa mmmmmmmmtttttttthhhhhhhhooooooooddddddddeeeeeeee ddddddddeeeeeeeessssssss mmmmmmmmoooooooommmmmmmmeeeeeeeennnnnnnnttttttttssssssss

    ggggggggnnnnnnnnrrrrrrrraaaaaaaalllllllliiiiiiiissssssssssssssss

    PPPPPPPPaaaaaaaarrrrrrrr ::::::::

    AAAAAAAAmmrroouucchhee SSSSSSSSaaddeekk

    OOuuaallaa SSaadd

    ssaaddeekk..aammrroouucchhee@@gg..eennpp..eedduu..ddzz

    ssaaiidd..oouuaallaa@@gg..eennpp..eedduu..ddzz

    EEEEEEEEnnnnnnnnsssssssseeeeeeeeiiiiiiiiggggggggnnnnnnnnaaaaaaaannnnnnnntttttttt :::::::: DDDDDDDDrrrrrrrr........ BBBBBBBBoooooooouuuuuuuukkkkkkkkhhhhhhhheeeeeeeettttttttaaaaaaaallllllllaaaaaaaa

  • Table des matires

    Page 2

    Table des matires

    Introduction gnrale ................................................................................................................. 4

    I. TP 1 : Implmentation sur calculateur de lintgration numrique ....................................... 5

    I.1 Introduction......................................................................................................................... 5

    I.2 Formule des Trapzes ......................................................................................................... 5

    I.3 Formule de Simpson .......................................................................................................... 6

    I.4 Implmentation sur calculateur ......................................................................................... 7

    I.4.1 Intgration par la mthode des Trapzes .................................................................... 7

    I.4.2 Intgration par la mthode de Simpson .................................................................... 8

    I.4.3 Gnrer un fichier de valeurs partir dune fonction analytique ............................. 9

    I.4.4 Tester les algorithmes dintgration .......................................................................... 9

    II. TP2 : Implmentation sur calculateur de la mthode des moments .................................. 12

    II.1 Introduction ..................................................................................................................... 12

    II.2 Fonction de calcul des moments successifs ................................................................... 12

    II.3 Identification dun systme dordre deux ....................................................................... 15

    II.3.1 Calcul des moments de la rponse impulsionelle .................................................... 16

    II.3.2 Calcul des paramtres du modle dordre deux ...................................................... 17

    II.3.3 Validation du modle................................................................................................ 19

    II.3.4 Conclusion ................................................................................................................20

    II.4 Identification dun systme dordre deux fortement oscillatoire .................................. 21

    II.4.1 Rponse impulsionelle du systme ........................................................................... 21

    II.4.2 Calcul des moments de la rponse impulsionelle ................................................... 21

    II.4.3 Calcul des paramtres du modle dordre deux ...................................................... 21

    II.4.4 Validation du modle ............................................................................................... 22

    II.4.5 Conclusion ................................................................................................................ 22

    II.5 Identification dun modle de STREJC sans retard ........................................................ 24

    II.5.1 Rponse impulsionelle du systme ........................................................................... 24

    II.5.2 Calcul des moments successifs de la rponse impulsionelle .................................. 25

    II.5.3 Calcul des paramtres du modle de STREJC sans retard ....................................... 25

    II.5.4 Validation du modle ...............................................................................................26

    II.6 Identification dun modle de STREJC avec retard ........................................................28

    II.6.1 Rponse impulsionelle du systme ...........................................................................28

    II.6.2 Calcul des moments successifs de la rponse impulsionelle ..................................29

  • Table des matires

    Page 3

    II.6.3 Calcul des paramtres du modle de STREJC..........................................................29

    II.6.4 Validation du modle ............................................................................................... 30

    II.7 Conclusion gnrale ........................................................................................................ 31

    III. TP3 : Implmentation sur calculateur de la mthode des moments gnraliss .............. 32

    III.1 Introduction .................................................................................................................... 32

    III.2 Moments gnraliss ...................................................................................................... 32

    III.3 Fonction de calcul du moment gnralis .................................................................... 33

    III.4 Calcul des moments de la rponse impulsionelle partir des moments dentre

    sortie ............................................................................................................................................ 34

    III.5 Identification par la mthode des moments gnraliss .............................................. 35

    III.6 Identification dun systme dordre deux ..................................................................... 38

    III.7 Identification dun systme phase non minimale ..................................................... 40

    III.8 Identification dun modle de STREJC sans retard ....................................................... 42

    III.9 Identification dun modle de STREJC avec retard ..................................................... 44

    III.10 Identification dun systme marginalement stable .................................................... 46

    III.11 Conclusion gnrale ..................................................................................................... 48

  • Introduction gnrale

    Page 4

    Introduction gnrale Lanalyse dun systme et a fortiori sa commande font appel un modle qui reprsente au

    mieux le comportement du systme. Ce modle est dans la majorit des cas, un modle

    mathmatique, cest--dire un systme dquations algbriques, diffrentielles ou bien une

    fonction de transfert. Afin dobtenir ce modle, on fait souvent appel aux diffrentes

    techniques didentification tout en vitant les modlisations purement thoriques qui

    prennent, en gnral, trop de temps et ncessite un calcul long et complexe.

    Lidentification dun systme est une technique qui consiste appliquer un signal lentre

    dun systme (chelon, impulsion, SBPA, ) et analyser sa sortie dans le but de calculer ensuite

    un modle mathmatique. Il existe une multitude de mthodes didentification, parmi elles la

    mthode des moments , que nous allons voir de prs dans ce TP, qui est base sur le calcul

    des moments de certains signaux et den dduire les valeurs des paramtres choisis. Cette

    mthode ncessite le calcul numrique des intgrales, do lintrt de limplmenter sur un

    calculateur.

    On constate donc dembl limportance de lidentification dans un processus

    dautomatisation. En effet, cest la premire tape considrer en vu de commander un

    systme, cest donc une tape dcisive vu que toutes les tapes qui vont suivre auront pour

    base le modle identifi.

  • TP 1 : Implmentation sur calculateur de lintgration numrique

    Page 5

    I. TP 1 : Implmentation sur calculateur de

    lintgration numrique

    I.1 Introduction

    En analyse numrique, on trouve une grande varit dalgorithmes qui permettent

    dapprocher la valeur numrique de lintgrale dune fonction dfinie sur un intervalle donn.

    Toutes ces mthodes consistent dfinir une grille, avec un pas h rgulier, sur lintervalle

    dintgration, et ensuite, approcher cette intgrale par la forme suivante : appele quadrature. Le choix de p et du poids de pondration i dpendent justement de la mthode et font toute la diffrence entre les algorithmes.

    En pratique, il nous arrive davoir un fichier de valeurs exprimentales et quon dsire

    estimer lintgrale sans quon ait lexpression analytique intgrer. De plus, dans la majorit

    des cas, les fonctions analytiques, du fait de leurs complexits, ne sont pas intgrables

    analytiquement. On fait donc appel aux techniques dintgration numrique.

    I.2 Formule des Trapzes

    Comme on la prcis plus haut, la plupart des mthodes dintgration numrique

    fonctionnent sur le mme principe. On commence par subdiviser lintervalle [a, b] en petit

    intervalles [ai, ai+1] et dfinir ainsi une grille de pas rgulier. Puis sur chaque intervalle, on va

    approcher lintgrale par une forme gomtrique simple (un trapze dans ce cas) et enfin,

    lintgrale I sur lintervalle [a, b] nest rien dautre que la somme des intgrales sur les

    intervalles [ai, ai+1].

    On peut dire, en dautres termes, que la mthode des trapzes consiste interpoler la

    fonction f par un polynme du premier degr (des droites affines) sur chaque intervalle [ai, ai+1]

    comme le montre la figure ci-dessous.

    Figure I.1 : Approximation de lair sous la courbe par des trapzes

    Lintgrale sur un intervalle [ai, ai+1] est donc donne par :

  • TP 1 : Implmentation sur calculateur de lintgration numrique

    Page 6

    2

    On peut donc crire pour lintervalle [a, b] :

    2

    !"

    #

    Avec : "!

    Pour que cette formule soit plus pratique et plus aise programmer, nous allons la

    rarranger et lcrire sous la forme suivante :

    $2 % & !" !2 '

    I.3 Formule de Simpson

    Cette mthode consiste approcher la fonction f par un polynme P dordre deux prenant

    les mmes valeurs que la fonction f aux points (nuds) ( ))% . On utilise pour cela linterpolation Lagrangienne.

    On obtient la formule ainsi la formule :

    6 2

    !"

    4 2

    !"

    #

    Pour que cette formule soit plus pratique et plus aise programmer, nous allons la

    rarranger et lcrire sous la forme suivante :

    3 - 4 2% & 4%!". 2%!"% %!"/

  • TP 1 : Implmentation sur calculateur de lintgration numrique

    Page 7

    I.4 Implmentation sur calculateur

    Nous allons prsent procder limplmentation des deux mthodes dintgration sur un

    calculateur.

    Remarque :

    Tous les programmes labors dans ces trois TPs ont taient test et approuv sur la

    version R2011a (7.12.0) de MATLAB.

    I.4.1 Intgration par la mthode des Trapzes Ci-dessous une fonction crite sous MATLAB qui implmente lalgorithme dintgration des

    trapzes.

    Code MCode MCode MCode MATLABATLABATLABATLAB

    % - FICHIER : Integ_Trapeze.m % % - DESCRIPTION : Fonction qui calcule l'intgrale d'une fonction par la % mthode des trapzes. % % - STRUCTURE : % ----------------- % f -->| | % t -->| Integ_Trapeze |--> I % | | % ----------------- % % - APPEL DE LA FONCTION : % On se basera dans le calcul de l'intgrale sur un fichier de % valeurs vu que dans la pratique, c'est presque toujours le cas. % . L'appel se fera comme suit : Integ_Trapeze(f,t) % % - INPUTS : % f -> Vecteur contenant les valeurs de la fonction f(t) % t -> Vecteur contenant les diffrents points o la fonctions f a t % value % h -> Pas d'intgration % % - OUTPUT : % I -> Valeur de l'intgrale calcule avec la mthode des Trapzes. %% function I=Integ_Trapeze(f, t) n = length(t); h = (t(n) - t(1))/n; % Calculer le pas d'intgration

    I = h*( sum(f(2:(n-1))) + f(1)/2 + f(n)/2 ); end

  • TP 1 : Implmentation sur calculateur de lintgration numrique

    Page 8

    I.4.2 Intgration par la mthode de Simpson Ci-dessous une fonction crite sous MATLAB qui implmente lalgorithme dintgration de

    Simpson.

    Code MATLABCode MATLABCode MATLABCode MATLAB

    % - FICHIER : Integ_Stmppson.m % % - DESCRIPTION : Fonction qui calcule l'intgrale d'une fonction par la % mthode de Stmppson % % - STRUCTURE : % ----------------- % f -->| | % t -->| Integ_Stmppson |--> I % | | % ----------------- % % - APPEL DE LA FONCTION : % On se basera dans le calcul de l'intgrale sur un fichier de % valeurs vu que dans la pratique, c'est presque toujours le cas. % . L'appel se fera comme suit : Integ_Stmppson(f,t) % % - INPUTS : % f -> Vecteur contenant les valeurs de la fonction f(t) % t -> Vecteur contenant les diffrents points o la fonctions f a t % value % h -> Pas d'intgration % % - OUTPUT : % I -> Valeur de l'intgrale calcule avec la mthode de Stmppson. %% function I=Integ_Stmppson(f, t) n = length(f); h = (t(n) - t(1))/n; % Calculer le pas d'intgration

    pair = 0; impair = 0;

    for i=3:2:n-2 pair = pair + f(i) ; end for i=2:2:n-1 impair = impair + f(i); end

    I = h/3 * (f(1) + f(n) + 4 * impair + 2 * pair);

  • TP 1 : Implmentation sur calculateur de lintgration numrique

    Page 9

    I.4.3 Gnrer un fichier de valeurs partir dune fonction analytique

    Nous allons prsent crer une fonction qui va gnrer un fichier de valeurs partir dune

    fonction analytique. Le code MATLAB correspondant est donn ci-dessous :

    Code MATLABCode MATLABCode MATLABCode MATLAB

    %% % - FICHIER : genererFichierDeValeurs.m % % - DESCRIPTION : Fonction qui gnre un fichier de valeurs partir d'une % expression analytique. % %% function [f, t] = genererFichierDeValeurs() % 1- Rcuprer la fonction, le pas et la taille fonction = input('Entrer une fonction analytique ', 's'); x=inline(fonction); h = input('Entrer le pas de discrtisation h= '); d = input('Entrer le domaine d= '); %% % 2- Gnrer un vecteur temps "t" de taille "n" et avec un pas "h" t=0:h:d; %% % 3- Calcule des valeurs de la fonctions aux instants "t" f=x(0); for i=h:h:d f=[f x(i)]; end; %% % 4- Exporter vers un fichier EXCEL xlswrite('fichierValeurs.xls', [t' f']); end

    Cette fonction cre galement un fichier EXCEL fichierValeurs.xls qui contient les

    valeurs que prends la fonction f aux instants ti

    I.4.4 Tester les algorithmes dintgration Afin de pouvoir tester aisment les algorithmes dintgration labors prcdemment, nous

    allons crire un M-File qui va nous permettre de calculer lintgrale avec une des mthodes (au

    choix).

    Le code MATLAB est donn ci-dessous.

    %% % - FICHIER : TP1_Menu.m % % - DESCRIPTION : Calcule l'intgrale numriquement d'une fonction % analytique sur un intervalle [0 d] en utilisant, au choix, l'algorithme % l'algorithme des trapze ou celui de Simpson. %

  • TP 1 : Implmentation sur calculateur de lintgration numrique

    Page 10

    %% fonction = input('Entrer la fonction f(x) = ', 's'); fx = inline(fonction); d = input('Entrer le domaine d = '); h = input('Entrer le pas h = '); Methode = input('Choisir un algorithme (Trapze ou Simpson) : ', 's'); %% % Gnrer un vecteur temps "t" de taille "n" et avec un pas "h" t=0:h:d; % Calcule des valeurs de la fonctions aux instants "t" f=fx(0); for i=h:h:d f=[f fx(i)]; end; %% if(Methode == 'Trapze') I = Integ_Trapeze(f, t); disp(['I_Trapze = ' num2str(I)]) end if(Methode == 'Simpson') I = Integ_Simpson(f, t); disp(['I_Simpson = ' num2str(I)]) end clear fx; clear Methode; clear d; clear fonction; clear i;

    Nous allons prsent tester les deux algorithmes pour un mme calcul dune intgrale, et

    tudier ensuite linfluence du pas dintgration h sur les rsultats.

    On prendra comme premier exemple le calcul de lintgrale suivante :

    011 4 5 Le calcule se fera pour h=0.125 ; h=0,25 ; h=0.5 ; et h=1 pour chaque mthode dintgration.

    h ITrapze ISimpson

    1 5.8396 5.9648

    0.5 5.9869 6.0360

    0.25 6.0430 6.0617

    0.125 6.0639 6.0708

    On remarque, sans surprise, que la mthode de Simpson est plus exacte que la mthode des

    Trapzes. La diffrence est dautant plus visible que le pas dintgration est petit.

    De plus, on voit bien quen diminuant le pas dintgration h, lerreur dintgration diminue

    et les rsultats obtenus sont plus exacte.

  • TP 1 : Implmentation sur calculateur de lintgration numrique

    Page 11

    On considre prsent le calcul de lintgrale suivante :

    sin : Le calcule se fera pour h=0.001

    On remarquera que pour un pas suffisamment petit, les deux mthodes donnent le mme

    rsultat comme le montre lexemple suivant :

    On voit bien que lintgrale calcule avec la mthode de Simpson est la mme que celle

    calcule avec la mthode des Trapzes et prsente dans les deux cas une erreur de lordre de

    0.0006 qui peut tre considr comme ngligeable dans les applications qui vont suivre.

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 12

    II. TP2 : Implmentation sur calculateur de la

    mthode des moments

    II.1 Introduction

    Nous allons, dans ce TP, nous servir des fonctions et M-File afin dimplmenter la mthode

    didentification par les moments sur un calculateur.

    On rappel que le moment dordre k dune fonction f(t) est dfinie comme suit :

    (; 1;;>>?

    Etant donne la proprit de la transforme de Laplace suivante :

    @A>;>B 1; ;CDD; Dautre part, on peut crire par dfinition :

    @A>;>B >;>E"FG>?

    On peut donc crire :

    (; 1On voit donc bien que les paramtres dune fonction de transfert (du modle paramtrique)

    peuvent tre calculs en utilisant les moments successifs de la rponse impulsionelle.

    II.2 Fonction de calcul des moments successifs

    Nous allons dans cette partie crire une fonction qui calcule les moments successifs dune

    fonction donne, en se basant sur les algorithmes de calcule dintgrale labors dans le TP1.

    Code MCode MCode MCode MAAAATLABTLABTLABTLAB

    %% % - FICHIER : Calcul_Moment.m % % - DESCRIPTION : Calcule les moments successif de la fonction envoyer en % paramtre. La fonction est envoye sous forme de fichier de valeurs. % % - STRUCTURE : % ----------------- % f -->| | % t -->| Integ_Trapeze |--> Mk % k -->| | % Methode -->| | % ----------------- % % - INPUTS :

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 13

    % f -> Vecteur contenant les valeurs de la fonction f(t) % t -> Vecteur contenant les diffrents points o la fonctions f a t % value % k -> Nombre de moments calculer. La fonction calcule donc les % moments d'ordre 0 k-1. % Methode -> La mthode d'intgration utiliser pour le calcule des % moments successifs. Elle peut prendre soit : % . 'Trapze' pour la mthode des trapzes % . 'Simpson' pour la mthode de Simpson % % - APPEL DE LA FONCTION : L'appel de la fonction se fait comme suit : % . Calcul_Moment(f,t,5,'Trapze') % . Calcul_Moment(f,t,5,'Simpson') % % - OUTPUT : % Mk -> Vecteur qui contient les diffrents moments. %% function Mk = Calcul_Moment(f,t,k, Methode) Mk = ones(1, k);

    if(Methode == 'Trapze') for i=1:k u = (t.^(i-1)) .* f; Mk(i) = ((-1)^(i-1)/factorial(i-1)) * Integ_Trapeze(u, t); end end if(Methode == 'Simpson') for i=1:k u = (t.^(i-1)) .* f; Mk(i) = ((-1)^(i-1)/factorial(i-1)) * Integ_Simpson(u, t); end end

    Remarque

    L'appel de la fonction se fait comme suit :

    Calcul_Moment(f,t,5,'Trapze')

    Ou bien :

    Calcul_Moment(f,t,5,'Simpson')

    Dans le cas o lon veut gnrer un fichier de valeur partir dune expression analytique, on

    utiliser la fonction genererFichierDeValeurs suivante :

    Code MATLABCode MATLABCode MATLABCode MATLAB

    % - FICHIER : genererFichierDeValeurs.m % % - DESCRIPTION : Fonction qui gnre un fichier de valeurs partir d'une % expression analytique. %% function [f, t] = genererFichierDeValeurs()

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 14

    % 1- Rcuprer la fonction, le pas et la taille fonction = input('Entrer une fonction analytique ', 's'); x=inline(fonction); h = input('Entrer le pas de discrtisation '); n = input('Entrer la taille des vecteurs gnrer '); %% % 2- Gnrer un vecteur temps "t" de taille "n" et avec un pas "h" t=0:h:n; %% % 3- Calcule des valeurs de la fonctions aux instants "t" f=x(0); for i=h:h:n f=[f x(i)]; end; %% % 4- Exporter vers un fichier EXCEL xlswrite('fichierValeurs.xls', [t' f']); end

    Lappel de cette fonction se fait sans paramtres comme suit :

    genererFichierDeValeurs();

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 15

    II.3 Identification dun systme dordre deux

    Soit le systme dordre deux dfinie par la fonction de transfert suivante :

    CD

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 16

    Figure : Rponse impulsionelle du systme

    Remarque

    Le code prcdent cre un fichier EXCEL repImpulsionelle.xls qui contient les valeurs

    que prend la rponse impulsionelle aux instants > avec h le pas de discrtisation. Ce fichier peut tre charg tout moment en utilisant la fonction xlsread

    II.3.1 Calcul des moments de la rponse impulsionelle A prsent, on va calculer les moments successifs de la rponse impulsionelle. On se basera

    pour cela sur la fonction Calcul_Moment labore prcdemment.

    Dans le cas o on a la rponse impulsionelle sous forme de fichier de valeurs, on utilisera le

    code suivant :

    %% % - FICHIER : TP2_3.m % % - DESCRIPTION : Calculer les moments dordre 0,1,2 et 3 de la rponse impulsionnelle. %% % 1- Charger la rponse impulsionnelle depuis le fichier de valeurs : Return=xlsread('repImpulsionnelle.xls'); t=Return(:,1); f=Return(:,2); clear Return;

    % 2- Calcul des 4 moments successifs de la rponse impulsionnelle Mk = Calcul_Moment(f,t,4,'Simpson')

    On obtient les rsultats suivants :

    ( 1.0000 ( 1.401 (% 0.9683

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 17

    (. 0.0147 On voit bien que le moment dordre zro correspond bien la valeur du gain statique du

    systme.

    II.3.2 Calcul des paramtres du modle dordre deux Nous allons prsent appliquer la mthode didentification des moments notre rponse

    impulsionelle suppos obtenu exprimentalement (fichier de valeur).

    On rappel que le moment dune fonction est dfini comme suit :

    (; 1;;>>?

    Etant donne la proprit de la transforme de Laplace suivante :

    @A>;>B 1; ;CDD; Dautre part, on peut crire par dfinition :

    @A>;>B >;>E"FG>?

    On peut donc crire :

    (; 1En utilisant cette dernire quation, on peut tablir les relations suivantes entre les

    moments successifs de la rponse impulsionelle et les paramtres du systme :

    < ( ((

    % M((N% (%(

    En se basant sur ces dernires quations et sur les fonctions de calcul numrique de

    lintgrale, on tablit la fonction MATLAB suivante :

    Code MATLABCode MATLABCode MATLABCode MATLAB

    % - FICHIER : OrdreDeux.m % % - DESCRIPTION : Identification des paramtres partir des moments. Le % systme identifier est de la forme : % k % H(s) = ---------------- % 1 + a1*s+ a2*s^2 % % - STRUCTURE : % ------------- % f -->| | % t -->| OrdreDeux |--> [k a1 a2] % Methode -->| | % -------------

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 18

    % % - APPEL DE LA FONCTION : L'appel de la fonction se fait comme suit : % . OrdreDeux(f,t,'Trapze') % . OrdreDeux(f,t,'Simpson') % % - INPUTS : % f -> Vecteur contenant les valeurs de la fonction f(t) % t -> Vecteur contenant les diffrents points o la fonctions f a t % value % Methode -> La mthode d'intgration utiliser pour le calcule des % moments successifs. Elle peut prendre soit : % . 'Trapze' pour la mthode des trapzes % . 'Simpson' pour la mthode de Simpson % % - OUTPUT : % [k a1 a2] -> Vecteur contenant les paramtre du modle. %% function [k a1 a2] = OrdreDeux(f,t, Methode)

    M = Calcul_Moment(f,t,3, Methode);

    k = M(1); a1 = -M(2)/M(1); a2 = (M(2)/M(1))^2-M(3)/M(1); end

    Lappel de la fonction se fait comme suit :

    OrdreDeux(f,t,'Simpson') ;

    On obtient les rsultats suivants :

    < 1.0000 1.4010 % 0.9946

    On voit bien que les paramtres identifis sont quasiment identiques aux paramtres rels

    du systme. Ceci est d au choix du pas de discrtisation (et dintgration) h ainsi que la

    mthode dintgration, ce qui a permit davoir une valeur de lintgrale assez exacte.

    Si on prend, titre dillustration, un fichier de valeur dont le pas de discrtisation h vaut

    0.1, on obtient les rsultats suivant :

    Avec lalgorithme de Simpson :

    < 0.9930 1.4010 % 0.9946

    Avec lalgorithme des Trapzes :

    < 0.9922

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 19

    1.4022 % 0.9970

    On remarque que le pas dintgration influe sur les paramtres identifis. En effet,

    lutilisation dun pas petit permet un meilleur calcul de lintgrale et donc une meilleure

    identification.

    On remarque galement une diffrence entre les paramtres calculs en se basant sur la

    mthode des Trapzes et ceux calculs avec la mthode de Simpson. Cette diffrence devient

    flagrante quand le pas dintgration devient relativement grand (dans lordre de 0.1).

    II.3.3 Validation du modle La fonction de transfert du systme identifi (modle) scrit donc sous la forme :

    COD 11 1.4010 D 0.9946 D% Afin de comparer la rponse du modle la rponse du systme, on trace les deux rponses

    dans le mme repre :

    En haut : la rponse impulsionelle du systme, en bas : la rponse impulsionelle du modle.

    On voit bien que les deux rponses sont identiques. Pour bien le confirmer, nous allons

    tracer les deux rponses dans le mme repre :

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 20

    Figure : Rponse impulsionelle du systme et la rponse impulsionelle du modle

    II.3.4 Conclusion On voit donc bien que les deux rponses se superposent. On conclue donc que pour un pas

    dintgration bien choisit, le systme rel et le systme identifi ont la mme rponse. Le

    modle est donc valide.

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 21

    II.4 Identification dun systme dordre deux fortement

    oscillatoire

    Nous allons prsent considrer le systme oscillatoire suivant et refaire la mme tude :

    CD 11 0.4 D D% Remarque

    Avant dexcuter les codes MATLAB prcdents, il faut prendre la prcaution daugmenter

    lintervalle dobservation de la rponse impulsionelle. En effet, pour un systme fortement

    oscillatoire, la rponse impulsionelle prendre plus de temps pour converger vers zro quun

    systme moyennement oscillatoire, il faut donc calculer lintgrale sur un intervalle de

    temps suffisamment grand.

    II.4.1 Rponse impulsionelle du systme La rponse impulsionelle de ce systme est donne dans la figure ci-dessous :

    Figure : Rponse impulsionelle dun systme oscillatoire

    II.4.2 Calcul des moments de la rponse impulsionelle Le calcul des moments de la rponse impulsionelle donne les rsultats suivants :

    ( 0.9999 ( 0.3965 (% 0.9032 (5 1.4920

    II.4.3 Calcul des paramtres du modle dordre deux Lexcution de la fonction OrdreDeux sur le fichier de valeur de la rponse impulsionelle

    du systme donne les rsultats suivants :

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 22

    < 0.9999 0.3966 % 1.0605

    On remarque un lger cart entre les paramtres identifis et les paramtres rels du

    systme. Nanmoins, contrairement au cas prcdent, on remarque une erreur sur tous les

    paramtres du systme. Ceci est d lirrgularit de la rponse (fortement oscillatoire) qui

    introduire une plus grande erreur dintgration et donc une erreur sur les paramtres du

    systme identifi.

    On peut maintenir cet cart ngligeable en prenant une faible valeur du pas dintgration,

    mais aussi, en augmentant lintervalle dobservation de la rponse impulsionelle (40 secondes),

    ce qui permet de calcul lintgrale sur toute la plage de variation de la rponse (lair sous tous

    les lobes) et laisser la courbe le temps de converger vers zro .

    II.4.4 Validation du modle La fonction de transfert du systme identifi (modle) scrit donc sous la forme :

    COD 0.99991 0.3966 D 1.0605 D% Afin de comparer la rponse du modle la rponse du systme, on trace les deux rponses

    dans le mme repre :

    On voit bien que la rponse du modle concide assez bien avec la rponse relle du

    systme, mais avec un lger cart par rapport au systme dordre deux prcdent.

    II.4.5 Conclusion Le pas dintgration joue un rle crucial dans lidentification des paramtres dun systme.

    En effet, il doit tre judicieusement choisit de sorte pouvoir calculer les paramtres du

    systme les plus proche de la ralit physique.

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 23

    Le pas dpend du type de systme identifier, on a bien vue que pour des systmes faible

    oscillation, un pas de lordre de 0.001 suffit, alors que pour les systmes fortement oscillatoires,

    le pas doit tre assez fin (de lordre de 0.0001) pour assurer des paramtres les plus proches

    possible de la ralit.

    Lacquisition de la rponse impulsionelle doit se faire sur un intervalle de temps

    suffisamment grand pour que la courbe de la rponse ait le temps de converger vers zro.

    Autrement, le calcul de lintgrale serait une approximation grossire et les paramtres ainsi

    calculs seront loin des valeurs relles.

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 24

    II.5 Identification dun modle de STREJC sans retard

    Soit le systme dfini par la fonction de transfert suivante :

    QD 11 2D5 II.5.1 Rponse impulsionelle du systme

    Afin de calculer la rponse impulsionelle du systme, on tablie le code MATLAB suivant :

    Code MATLABCode MATLABCode MATLABCode MATLAB

    %% % - FICHIER : TP2_10.m % % - DESCRIPTION : Simuler la rponse impulsionelle d'un systme sous la % forme de STREJC sans retard %% h=0.001; t=0:h:60; k=1; T=2; n=4; %% % Dfinir la fonction de transfert s = tf('s'); SYS = k / (1+T*s)^n; %% % Tracer la rponse impulsionelle du systme f=impulse(SYS, t); f=f'; plot(t,f) grid on %% % Sauvegarder [t f] sur un fichier EXCEL xlswrite('repImpulsionnelle_Strejc_SR.xls', [t' f']); clear T; clear h; clear n; clear k; clear s;

    La rponse impulsionelle est donne dans la figure ci-dessous :

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 25

    II.5.2 Calcul des moments successifs de la rponse impulsionelle Le calcul avec la fonction Calcul_Moment donne les rsultats suivants :

    ( 1.0000 ( 7.9999 (% 39.9993

    (. 159.9973 II.5.3 Calcul des paramtres du modle de STREJC sans retard

    On commence par tablir les relations reliant les moments successifs aux paramtres du

    systme :

    < ( R (%2(( (% S (% 2(%(((

    Comme pour les systmes prcdents, on crit le code donnant les parmatres du modle

    de STREJC :

    Code MATLABCode MATLABCode MATLABCode MATLAB

    % - FICHIER : strejcSansRetard.m % % - DESCRIPTION : Identification des paramtres partir des moments. Le % systme identifier est de la forme : % k % H(s) = ---------- % (1 + T*s)^n % % - STRUCTURE : % -------------------- % f -->| | % t -->| strejcSansRetard |--> [k T n] % Methode -->| | % -------------------- % % - APPEL DE LA FONCTION : L'appel de la fonction se fait comme suit : % . strejSansRetard(f,t,'Trapze') % . strejSansRetard(f,t,'Simpson') % % - INPUTS : % f -> Vecteur contenant les valeurs de la fonction f(t) % t -> Vecteur contenant les diffrents points o la fonctions f a t % value % Methode -> La mthode d'intgration utiliser pour le calcule des % moments successifs. Elle peut prendre soit : % . 'Trapze' pour la mthode des trapzes % . 'Simpson' pour la mthode de Simpson %

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 26

    % - OUTPUT : % [k T n] -> Vecteur contenant les paramtre du modle. %% function [k n T] = strejcSansRetard(f, t, Methode)

    M = Calcul_Moment(f,t, 3, Methode);

    k = M(1); T = (M(2)^2-2*M(3)*M(1))/(M(2)*M(1)); n = round((M(2)^2)/((2*M(3)*M(1))- M(2)^2));

    [k n T] end

    Lexcution de la fonction strejcSansRetard sur le fichier de valeur de la rponse

    impulsionelle du systme donne les rsultats suivants :

    < 1.000 S 2.000 R 4.000

    On voit bien que les paramtres calculs avec la fonction strejcSansRetard sont

    exactement les mmes que les paramtres du systme rel.

    Ceci est d au fait que le pas dintgration est bien choisit (h=0.001) et le temps

    dobservation de la rponse impulsionelle est suffisamment grand (60 secondes). Et comme la

    rponse dun systme sous la forme de STREJC sans retard ne prsente pas une grande

    irrgularit (pas doscillations), le calcul de lintgrale est donc pratiquement exact et donc les

    paramtres calculs sont les mmes que ceux du systme rel.

    Si on prend, titre dillustration, un temps dobservation de la rponse impulsionelle de 40

    secondes, on obtiendra les paramtres suivants :

    < 1.000 S 1.9996 R 4.000

    On voit bien quil ya un lger cart dans le paramtre T par rapport la bonne valeur.

    II.5.4 Validation du modle La fonction de transfert du systme identifi (modle) scrit donc sous la forme :

    COD 1.0001 2.000D5 Afin de comparer la rponse du modle la rponse du systme, on trace les deux rponses

    dans le mme repre :

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 27

    Figure : Rponse impulsionelle du modle et la rponse impulsionelle du systme

    On remarque que les deux rponses se superposent parfaitement, ce qui confirme nos

    remarques prcdentes. Le modle est donc valide.

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 28

    II.6 Identification dun modle de STREJC avec retard

    Soit le systme dfini par la fonction de transfert suivante :

    QD 2E".F1 2D5

    II.6.1 Rponse impulsionelle du systme Afin de calculer la rponse impulsionelle du systme, on tablie le code MATLAB suivant :

    Code MATLABCode MATLABCode MATLABCode MATLAB

    %% % - FICHIER : TP2_12.m % % - DESCRIPTION : Simuler la rponse impulsionelle d'un systme sous la % forme de STREJC avec retard %% h=0.001; t=0:h:60; k=2; Tho=3; T=2; n=4; %% % Dfinir la fonction de transfert s = tf('s');

    SYS = k * exp(-Tho*s) / (1+T*s)^n %% % Tracer la rponse impulsionelle f=impulse(SYS, t); f=f'; plot(t,f) grid on ; %% % Sauvegarder [t f] sur un fichier EXCEL xlswrite('repImpulsionnelle_Strejc_AR.xls', [t' f']);

    La rponse impulsionelle est donne dans la figure ci-dessous :

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 29

    II.6.2 Calcul des moments successifs de la rponse impulsionelle Le calcul avec la fonction Calcul_Moment donne les rsultats suivants :

    ( 2.0000 ( 21.9996 (% 136.9977

    (. 640.9892 II.6.3 Calcul des paramtres du modle de STREJC

    On commence par tablir les relations reliant les moments successifs aux paramtres du

    systme :

    < ( S 3(%(( (. 3(.(%2(%(% (%(

    T (( RS Comme pour les systmes prcdents, on crit le code donnant les parmatres du modle

    de STREJC :

    Code MATLABCode MATLABCode MATLABCode MATLAB

    % - FICHIER : strejcAvecRetard.m % - DESCRIPTION : Identification des paramtres partir des moments. Le % systme identifier est de la forme : % k e^(-Tho*s) % H(s) = ---------------- % (1 + T*s)^n % % - STRUCTURE : % -------------------- % f -->| | % t -->| strejcAvecRetard |--> [k T Tho n] % Methode -->| | % -------------------- % % - APPEL DE LA FONCTION : L'appel de la fonction se fait comme suit : % . strejAvecRetard(f,t,'Trapze') % . strejAvecRetard(f,t,'Simpson') % % - INPUTS : % f -> Vecteur contenant les valeurs de la fonction f(t) % t -> Vecteur contenant les diffrents points o la fonctions f a t % value % Methode -> La mthode d'intgration utiliser pour le calcule des % moments successifs. Elle peut prendre soit : % . 'Trapze' pour la mthode des trapzes % . 'Simpson' pour la mthode de Simpson % % - OUTPUT : % [k T Tho n] -> Vecteur contenant les paramtre du modle.

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 30

    %% function [k T Tho n] = strejcAvecRetard(f, t, Methode) M = Calcul_Moment(f,t,4, Methode); k = M(1); T = (3*M(3)*M(2)*M(1)-M(2)^3-3*M(4)*M(1)^2)/(2*M(3)*M(1)^2-M(2)^2*M(1)); n = round((2*M(3)/M(1)-M(2)^2/M(1)^2)/T^2); Tho = -M(2)/M(1) - n*T; end

    Lexcution de la fonction strejcAvecRetard sur le fichier de valeur de la rponse

    impulsionelle du systme donne les rsultats suivants :

    < 2.000 S 2.000 T 3.000 R 4.000

    On remarque que les paramtres calculs sont exactement les mmes que ceux du systme

    rel. Ceci sexplique galement par la rgularit de la rponse impulsionelle dun systme sous

    la forme de STREJC avec retard pur, et par le fait que le pas et le temps dobservation de la

    rponse son bien choisit.

    II.6.4 Validation du modle La fonction de transfert du systme identifi (modle) scrit donc sous la forme :

    COD 2.0000E"..F1 2.0000D5 Afin de comparer la rponse du modle la rponse du systme, on trace les deux rponses

    dans le mme repre :

    On voit bien que les deux rponses se superposent parfaitement. Le modle est donc valide.

  • TP2 : Implmentation sur calculateur de la mthode des moments

    Page 31

    II.7 Conclusion gnrale

    On a appris lors du premier TP programmer des routines MATLAB qui permettent de

    calculer lintgral numrique par la mthode des trapzes et par la mthode de Simpson. On a

    bien vu que le pas dintgration est llment le plus important pour obtenir une bonne

    approximation de lintgrale.

    Le choix du pas dintgration dpend fortement des courbes intgrer. En effet, pour des

    courbes assez rgulires, qui ne prsentent pas beaucoup de variations (pas de points

    dinflexions, peu doptimums, peu doscillations, ) le pas dintgration peut tre relativement

    grand et donner comme mme une approximation de lintgrale acceptable. Alors que pour

    des courbes qui prsentent une forte irrgularit, le pas dintgration doit tre maintenu assez

    petit pour avoir une bonne approximation.

    Pour les fonctions priodiques et pseudopriodiques, le pas dintgration doit tre

    inversement proportionnel la frquence des oscillations. En effet, un pas trs petit est

    indispensable pour les fonctions priodiques frquence leve, ou les fonctions

    pseudopriodiques fortement oscillatoires (faible coefficient damortissement).

    Lors de deuxime TP, on a appris implmenter la mthode des moments sur MATLAB,

    mthode qui permet de passer dun modle non paramtrique (qui est la courbe de la rponse

    impulsionelle ou sous forme de fichier de valeurs) un modle paramtrique, en identifiant ses

    paramtres. Le modle tant choisit au pralable en tenant compte de lallure de la rponse

    impulsionelle.

    Lidentification par cette mthode ncessite naturellement le calcul des moments de la

    rponse impulsionelle par intgration numrique, en utilisant les routines cres lors du

    premier TP. Le calcul des moments est ltape la plus important, et doit tre fait de la manire

    la plus exacte possible, car les moments, une fois calcul, mnent directement aux paramtres

    du modle et toute erreur dans le calcul des moments se retrouvera naturellement dans les

    valeurs des paramtres. On doit donc sassurer que :

    Lintervalle dintgration est suffisamment grand pour que la rponse impulsionelle ait le

    temps de sannuler (passage au rgime permanent). On parle bien sur des systmes stables

    o la rponse impulsionelle converge vers zro pour un temps suffisamment grand.

    Le pas dintgration doit tre suffisamment petit afin davoir une erreur dintgration la

    plus faible possible, et donc les paramtres les plus proche possible de la ralit.

    Il est noter quon doit toujours essayer de minimiser le plus possible lerreur dintgration,

    voir de lannuler, afin dvaluer lerreur due au choix du modle sans ce proccuper des erreurs

    de calcul. Ceci nous permettra de faire la diffrence entre lerreur due lintgration et lerreur

    due au choix du modle.

    On peut aussi remarquer que la mthode des moments classique ne peut pas tre utilise

    pour identifier un systme instable, lintgrale dans ce cas ne converge pas. Ce problme est

    rsolu avec la mthode des moments gnraliss quon va dvelopper en dtail dans le TP 3.

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 32

    III. TP3 : Implmentation sur calculateur de la

    mthode des moments gnraliss

    III.1 Introduction

    Cette mthode sert identifier les paramtres dun systme, initialement modlis, en

    calculent les moments des entres/sorties du systme, sauf que cette fois, le moment est

    multipli par un coefficient de pondration.

    Lavantage de cette mthode, est la possibilit didentifier des systmes sans les exciter par

    des signaux susceptible de trop les carter de leur point de fonctionnement. De plus, une

    impulsion proprement dit nest pas ralisable physiquement. Do la limitation de la mthode

    des moments classique.

    Le plus grand apport de cette mthode rside dans le faite quelle a permit de surpasser les

    limites de la mthode des moments classique. En effet, cette dernire ne peut pas tre utilise

    pour identifier des systmes instable (ou marginalement stable) vu que lintgrale dans ce cas

    l ne converge pas. Problme rsolu en ajoutant lexpression des moments classique une

    enveloppe exponentielle de la forme E"G avec U 0 tendant donc vers zro avec une allure qui dpend du paramtre et lintgrale dans ce cas est force converger vers une valeur finie.

    III.2 Moments gnraliss

    On dfinie le moment pondr dordre < de la fonction comme suit : V;W >;>X>>

    ?

    O X> reprsente une fonction poids capable de privilgier certaines parties de lintervalle Y0, \. Pour notre cas, on prendra X> E"G avec U 0 On obtiendra dans ce cas lexpression suivante :

    V;W >;>E"G>?

    En prenant la transforme de Laplace comme prcdemment, on tabli la relation suivante :

    V;W 1; ;CDD; |F O CD est la fonction de transfert du modle.

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 33

    III.3 Fonction de calcul du moment gnralis

    A partir de lexpression V;W >;>E"G>? on tablie la fonction MATLAB ci-dessous qui permet de calculer les moments gnraliss successifs dune fonction en prcisant la valeur

    du paramtre a

    Code MATLABCode MATLABCode MATLABCode MATLAB

    %% % - FICHIER : Calcul_Moment_G.m % % - DESCRIPTION : Calcule les moments gnraliss successif de la fonction envoyer en % paramtre. La fonction est envoye sous forme de fichier de valeurs. % % - STRUCTURE : % ------------------- % f -->| | % t -->| | % k -->| Calcul_Moment_G |--> Mk % a -->| | % Methode -->| | % ------------------- % % - INPUTS : % f -> Vecteur contenant les valeurs de la fonction f(t) % t -> Vecteur contenant les diffrents points o la fonctions f a t % value % k -> Nombre de moments calculer. La fonction calcule donc les % moments d'ordre 0 k-1. % a -> paramtre de pondration {exp(-at)} % Methode -> La mthode d'intgration utiliser pour le calcule des % moments successifs. Elle peut prendre soit : % . 'Trapze' pour la mthode des trapzes % . 'Simpson' pour la mthode de Simpson % % - APPEL DE LA FONCTION : L'appel de la fonction se fait comme suit : % . Calcul_Moment(f,t,5,2,'Trapze'); % . Calcul_Moment(f,t,5,2,'Simpson'); % % - OUTPUT : % M -> Vecteur qui contient les diffrents moments. %% function M = Calcul_Moment_G(f, t, k, a, Methode) M = ones(1,k);

    if(Methode == 'Trapze') M(1)=Integ_Trapeze(f.*exp(-a*t),t); g=f; for i=1:k-1 g=t.*g; M(i+1)=Integ_Trapeze(g.*exp(-a*t),t); end clear g;

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 34

    end

    if(Methode == 'Simpson') M(1)=Integ_Simpson(f.*exp(-a*t),t); g=f; for i=1:k-1 g=t.*g; M(i+1)=Integ_Simpson(g.*exp(-a*t),t); end clear g; end

    % disp(['Les moments gnraliss successifs sont : ',num2str(M) ] ); end

    Lappel de la fonction se fait comme suit : Calcul_Moment(f, t, 5, 2, 'Trapze');

    III.4 Calcul des moments de la rponse impulsionelle

    partir des moments dentre sortie

    Pour un procd de rponse impulsionelle h(t), dentre e(t) et de sortie s(t) on peut crire :

    ^D QD. _D En utilisant le dveloppement en srie de ^D, QDet _D autour de la valeur D on

    peut crire :

    1; D ;;V;` 1; D ;?

    ;V;a 1; D ;?

    ;V;b

    En identifiant les termes de mme puissance de (s - a) on obtient :

    V;` c;?

    ;VaV;"b

    Cette relation explicite lvaluation des moments de la rponse impulsionelle dun procd

    partir des moments des moments dentre et de sortie :

    V;a V;` c;? V` V;"b VdbD Cette dernire quation est implmente sur MATLAB avec la fonction suivante :

    Code MATLABCode MATLABCode MATLABCode MATLAB

    %% % - FICHIER : Moment_RepImp.m % % - DESCRIPTION : Calcule les moments de la rponse impulsionelle partir des % moments d'entr et de sortie. % % - INPUTS : % Me -> Les moments de l'entre. % Ms -> Les moments de la sortie.

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 35

    % k -> Nombre de moments calculer. % % - OUTPUT : % Mh -> Vecteur qui contient les moments de la rponse impulsionelle. % %% function Mh = Moment_RepImp(Me, Ms, k) Mh = ones(1,k);

    Mh(1)=Ms(1)/Me(1);

    for i=1:k-1 Mh(i+1)=Ms(i+1)/Me(1); for j=0:i-1 Mh(i+1)=Mh(i+1)-nchoosek(i,j)*Mh(j+1)*Me(i-j+1)/Me(1); end end

    disp(['Les moments de la rponse impulsionelle sont : ',num2str(Mh) ] ); end

    III.5 Identification par la mthode des moments

    gnraliss

    La fonction de transfert dun procd est mise sous la forme :

    QD D & !"D!"D & !"D!" D! eDfD

    Afin dexpliciter les moments V;a de la rponse impulsionelle h(t) en fonction des paramtres ai et bi on crit cette dernire quation sous la forme :

    eD QD. fD Par drivation lordre p on en dduit :

    egD cgg"g

    QDfg"D

    Avec :

    egD 1 i 1Dj"g

    fgD 1 i 1Dj"g

    Pour s = a on obtient :

    eg 1cgg"Vafg"g

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 36

    Ainsi pour X 0, 1, , 2R 1 cette dernire quation gnre un systme linaire par rapport aux inconnus ai et bi dont la rsolution est aise.

    Nous allons donc programmer cette quation sous MATLAB :

    Code MATLABCode MATLABCode MATLABCode MATLAB

    %% % Fichier : momentsGeneralises.m % % - DESCRIPTION : Calcul des coefficients du modle d'ordre n de la mthode % des moments gnraliss % % - INPUTS : % fe -> Signal d'entre appliqu au systme % fs -> Signal de sortie du systme % t -> temps d'observation des signaux d'entre/sortie % n -> Ordre du modle identifier % a -> paramtre de pondration de l'exponnentielle % Methode -> La mthode d'intgration utiliser pour le calcule des % moments successifs. Elle peut prendre soit : % . 'Trapze' pour la mthode des trapzes % . 'Simpson' pour la mthode de Simpson % % - OUTPUT : % SYS_Ident -> Le systme identifi sous forme de fonction de transfert % %% function SYS_Ident = momentsGeneralises(fe, fs, t, n, a, Methode) Me = Calcul_Moment_G(fe, t, 2*n, a, Methode); Ms = Calcul_Moment_G(fs, t, 2*n, a, Methode); Mh = Moment_RepImp(Me, Ms, length(Me)); %% % 1- Calculer la matrice B for j=n:-1:1 B(n,j)=a^(n-j); end for i=n-1:-1:1 for j=i:-1:1 B(i,j)=factorial(n-j)/factorial(i-j)*a^(i-j); end end %% % 2- Calculer la matrice A for j=2*n:-1:n A(2*n,j)=a^(2*n-j); end for i=2*n-1:-1:n for j=i:-1:n A(i,j)=factorial(2*n-j)/factorial(i-j)*a^(i-j); end end %% % 3- Calculer la matrice M

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 37

    for i=1:2*n for j=i:2*n M(i,j)=(-1)^(j-i)*nchoosek(2*n-i,j-i)*Mh(j-i+1); end end %% MxA=M*A; A1=zeros(n-1,1); A1(n,1)=1; MxA_1=MxA(1:n,1:n); MxA_2=MxA(1:n,n+1:2*n); MxA_3=MxA(n+1:2*n,1:n); MxA_4=MxA(n+1:2*n,n+1:2*n);

    denumFT=-inv(MxA_2)*MxA_1*A1; numFT=B\(MxA_3*A1+MxA_4*denumFT); denumFT=denumFT'; numFT=numFT';

    SYS_Ident = tf(numFT,[1 denumFT]); end

    Cest donc cette fonction quon va utiliser afin didentifier un systme avec la mthode des

    moments gnraliss.

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 38

    III.6 Identification dun systme dordre deux

    Soit le systme dordre deux dfini par la fonction de transfert suivante :

    CD 2D 5D. 7D% 5D 2 Afin dappliquer la mthode didentification avec les moments gnraliss ce systme,

    nous allons raliser le script MATLAB suivant :

    Code MATLABCode MATLABCode MATLABCode MATLAB

    %% % - FICHIER : TP3_Ordre2.m % % - DESCRIPTION : Identification d'un systme d'ordre deux % %% % 1- Difinition du systme SYS = tf([2 5], [1 7 5 2]); h = 0.001; t = 0:h:60; % 2- Choix du signal d'entre : chelon fe = ones(1,length(t)); % 3- Calcul de la sortie fs = lsim(SYS,fe,t); fs=fs'; %% % 4- Appel de la fonction d'identification disp('La fonction identifi') SYS_Ident = momentsGeneralises(fe, fs, t, 3, 1, 'Simpson') %% % 5- Trac des rponses des deux systmes y = step(SYS, t); y_ident = step(SYS_Ident, t); hold on plot(t, y, 'r') plot(t, y_ident, 'g') legend('Systme rel', 'Systme Identifi')

    On obtient le modle suivant :

    CkD 2.75 10"%D% 2D 5D. 7D% 5D 2

    La rponse des deux modles est donne ci-dessous :

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 39

    Figure : rponse indicielle du systme et du modle

    On voit trs bien la parfaite concidence entre la rponse du systme rel et la rponse du

    modle. En effet, les deux modles rpondent de la mme faon un signal chelon et ont

    donc les mmes dynamiques.

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 40

    III.7 Identification dun systme phase non minimale

    Soit le systme dfini par la fonction de transfert suivante :

    CD 2D 5D. 7D% 5D 2 Afin dappliquer la mthode didentification avec les moments gnraliss ce systme,

    nous allons raliser le script MATLAB suivant :

    Code MATLABCode MATLABCode MATLABCode MATLAB

    %% % - FICHIER : TP3_SysPhaseNonMin.m % % - DESCRIPTION : Identification d'un systme phase non minimale % %% % 1- Difinition du systme SYS = tf([2 -5], [1 7 5 2]); h = 0.001; t = 0:h:60; % 2- Choix du signal d'entre : chelon fe = ones(1,length(t)); % 3- Calcul de la sortie fs = lsim(SYS,fe,t); fs=fs'; % 4- Appel de la fonction d'identification disp('La fonction identifi') SYS_Ident = momentsGeneralises(fe, fs, t, 3, 1, 'Simpson') y = step(SYS, t); y_ident = step(SYS_Ident, t); hold on plot(t, y, '*k'); plot(t, y_ident, 'g') grid on legend('Systme rel', 'Systme Identifi')

    On obtient le modle suivant :

    CkD 4.441 10"D% 2D 5D. 7D% 5D 2

    La rponse des deux modles est donne ci-dessous :

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 41

    Figure : rponse indicielle du systme et du modle

    On voit trs bien la parfaite concidence entre la rponse du systme rel et la rponse du

    modle. En effet, les deux modles rpondent de la mme faon un signal chelon et ont

    donc les mmes dynamiques.

    On remarque surtout que lerreur entre les deux rponses peut tre considre comme

    nulle.

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 42

    III.8 Identification dun modle de STREJC sans retard

    Soit le systme dfini par la fonction de transfert suivante :

    CD 21 2D5 Afin dappliquer la mthode didentification avec les moments gnraliss ce systme,

    nous allons raliser le script MATLAB suivant :

    Code MATLABCode MATLABCode MATLABCode MATLAB

    %% % - FICHIER : TP3_StrejcSansRetard.m % % - DESCRIPTION : Identification d'un systme de STREJC sans retard % %% % 1- Dfinition du systme k=2; T=2; n=4; s = tf('s'); SYS = k / (1+T*s)^n; h = 0.001; t = 0:h:60; % 2- Choix du signal d'entre : chelon fe = ones(1,length(t)); % 3- Calcul de la sortie fs = lsim(SYS,fe,t); fs=fs'; % 4- Appel de la fonction d'identification SYS_Ident = momentsGeneralises(fe, fs, t, 4, 1, 'Simpson'); % 5- Trac des rponses des deux systmes y = step(SYS, t); y_ident = step(SYS_Ident, t); hold on; grid on plot(t, y, '*k'); plot(t, y_ident, 'g') legend('Systme rel', 'Systme Identifi') clear y; clear y_ident; clear s; clear Tho; clear h; clear k; clear n; clear T;

    On obtient le modle suivant :

    CkD 2.707 10"%D. 2.245 10" D% 8.69 10" D 0.125D5 2D. 1.5D% 0.5D 0.0625

    La rponse des deux modles est donne ci-dessous :

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 43

    Figure : Rponse du systme et la rponse du modle

    Encore une fois, on remarque la parfaite concidence entre la rponse du systme rel et la

    rponse du modle. Les deux modles rpondent de la mme faon un signal chelon et ont

    donc les mmes dynamiques.

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 44

    III.9 Identification dun modle de STREJC avec retard

    Soit le systme dfini par la fonction de transfert suivante :

    CD 2E".F1 2D5 Afin dappliquer la mthode didentification avec les moments gnraliss ce systme,

    nous allons raliser le script MATLAB suivant :

    Code MATLABCode MATLABCode MATLABCode MATLAB

    %% % - FICHIER : TP3_StrejcAvecRetard.m % % - DESCRIPTION : Identification d'un systme de STREJC avec retard % %% % 1- Dfinition du systme k=2; Tho=3; T=2; n=4; s = tf('s'); SYS = k * exp(-Tho*s) / (1+T*s)^n; h = 0.001; t = 0:h:60; % 2- Choix du signal d'entre : chelon fe = ones(1,length(t)); % 3- Calcul de la sortie fs = lsim(SYS,fe,t); fs=fs'; % 4- Appel de la fonction d'identification SYS_Ident = momentsGeneralises(fe, fs, t, 8, 1, 'Simpson') % 5- Trac des rponses des deux systmes y = step(SYS, t); y_ident = step(SYS_Ident, t); hold on plot(t, y, '*k') plot(t, y_ident, 'g') grid on legend('Systme rel', 'Systme Identifi') clear y; clear y_ident; clear s; clear Tho; clear h; clear k; clear n; clear T;

    Afin davoir un modle qui se comporte de la mme faon que le systme rel, on a t

    oblig dans ce cas daugmenter lordre du systme jusqu lordre 8. Pour un ordre moindre, les

    modles obtenus sont trs loin de la ralit physique.

    La rponse des deux modles est donne ci-dessous :

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 45

    Figure : Rponse du systme et la rponse du modle

    Comme on la dit plus haut, le modle a la mme dynamique que le systme rel, mais pour

    un ordre 8 qui est relativement lev.

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 46

    III.10 Identification dun systme marginalement stable

    On va considrer prsent le systme marginalement stable suivant :

    QD 1DD 45 . Afin dappliquer la mthode didentification avec les moments gnraliss ce systme,

    nous allons raliser le script MATLAB suivant :

    Code MATLABCode MATLABCode MATLABCode MATLAB

    %% % - FICHIER : TP3_Instable.m % % - DESCRIPTION : Identification d'un systme marginalement stable % %% % 1- Dfinition du systme SYS = tf(1, [1 4 8 0]) h = 0.001; t = 0:h:100; % 2- Choix du signal d'entre : chelon fe = ones(1,length(t)); % 3- Calcul de la sortie fs = lsim(SYS,fe,t); fs=fs'; % 4- Appel de la fonction d'identification SYS_Ident = momentsGeneralises(fe, fs, t, 2, 1, 'Simpson') y = step(SYS, t); y_ident = step(SYS_Ident, t); % 5- Trac des rponses des deux systmes hold on plot(t, y, '*k') plot(t, y_ident, 'r') grid on legend('Systme rel', 'Systme Identifi')

    On obtient le modle suivant :

    CkD 0.03333D 0.2667D% 2D 0.03333

    La rponse des deux modles est donne ci-dessous :

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 47

    Figure : Rponse du systme et la rponse du modle

    On remarque que pour un coefficient de pondration gale 1 (le mme que pour les

    systmes prcdent) les rponses des deux systmes ne concident pas trs bien comme le

    montre la figure en haut.

    On va donc jouer sur le coefficient de pondration a pour faire converger le modle vers

    le systme rel. Pour a = 0.2 la concidence est parfaite, comme le montre la figure ci-dessous :

    Figure : Rponse du systme et la rponse du modle

  • TP3 : Implmentation sur calculateur de la mthode des moments gnraliss

    Page 48

    III.11 Conclusion gnrale

    Lors de ce troisime TP, on a programm la mthode des moments gnraliss qui permet

    de calculer la rponse impulsionelle dun systme partir des moments des entres/sorties du

    systme.

    Cette mthode est trs pratique dans le cas dun systme o linjection dune impulsion

    lentre est interdite car elle loigne le systme de son point de fonctionnement, chose qui est

    inadmissible pour certain systme, pour des raisons gnralement dordre conomique.

    Limpulsion peut galement faire basculer le systme dans une zone de fonctionnement non

    linarits dans le cas o son fonctionnement est linaris autour dun point de

    fonctionnement.

    Pour les systmes stables, lidentification par la mthode des moments gnraliss donnent

    de trs bons rsultats car lintgrale qui intervient dans le calcul des moments converge

    facilement. Dans le cas des systmes instables (ou marginalement stable), les rsultats sont

    galement excellents mais il faudra jouer sur le coefficient de pondration et le pas

    dchantillonnage pour forcer la convergence.

    La mthode des moments gnraliss est une mthode trs puissante pour un bon choix des

    paramtres (le coefficient a et le pas h ), et contrairement la mthode des moments

    classique, elle est adapte toute sorte de systmes (stable, instable, avec ou sans retard ).

    Cependant, elle peut donner un modle qui a la mme dynamique que le systme rel mais

    dordre trs lev (comme dans le cas du systme marginalement stable) ce qui rend donc sa

    commande relativement difficile.