Chapitre 8 Identification des systèmes dynamiques...

62
eivd Régulation numérique Chapitre 8 Identification des systèmes dynamiques linéaires 8.1 Identification non-paramétrique de systèmes dynamiques linéaires L’identification non-paramétrique de systèmes dynamiques consiste à en ob- tenir, i.e. à en estimer, les réponses temporelle (e.g. indicielle, impulsionnelle) et fréquentielle sous forme expérimentale, sans en rechercher directement les pa- ramètres ou la fonction de transfert (celle-ci n’existant par ailleurs que dans le cas linéaire). Le problème de l’identification non-paramétrique est de définir les conditions d’expérience à satisfaire pour que les réponses mesurées reflètent le comportement effectif (celui que le régulateur verra) du système que l’on étudie et d’en chiffrer le degré de concordance. Il faut en effet réaliser qu’à cause des bruits et autres perturbations, l’on n’a pas accès au signal de sortie du "vrai" système (figure 8.1). 1 s y ( t ) ( t ) " v r a i " s y s t L m e f _ 0 8 _ 0 4 . e p s S n ( t ) v ( t ) Fig. 8.1 – On n’a pas accès au signal de sortie du "vrai" système, celui-ci étant perturbé par v(t) subissant l’influence des bruits n(t) (fichier source ). Lorsque l’on souhaite déterminer expérimentalement le comportement fré- Chapitre 8 : Identification, v.1.8 273 mee \cours_rn.tex\12 avril 2005

Transcript of Chapitre 8 Identification des systèmes dynamiques...

Page 1: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

Chapitre 8

Identification des systèmesdynamiques linéaires

8.1 Identification non-paramétrique de systèmesdynamiques linéaires

L’identification non-paramétrique de systèmes dynamiques consiste à en ob-tenir, i.e. à en estimer, les réponses temporelle (e.g. indicielle, impulsionnelle)et fréquentielle sous forme expérimentale, sans en rechercher directement les pa-ramètres ou la fonction de transfert (celle-ci n’existant par ailleurs que dans lecas linéaire). Le problème de l’identification non-paramétrique est de définir lesconditions d’expérience à satisfaire pour que les réponses mesurées reflètent lecomportement effectif (celui que le régulateur verra) du système que l’on étudieet d’en chiffrer le degré de concordance.

Il faut en effet réaliser qu’à cause des bruits et autres perturbations, l’on n’apas accès au signal de sortie du "vrai" système (figure 8.1).

1s

y ( t )u ( t ) " v r a i "s y s t è m e

f _ 0 8 _ 0 4 . e p s

S

n ( t )v ( t )

Fig. 8.1 – On n’a pas accès au signal de sortie du "vrai" système, celui-ci étantperturbé par v(t) subissant l’influence des bruits n(t) (fichier source).

Lorsque l’on souhaite déterminer expérimentalement le comportement fré-

Chapitre 8 : Identification, v.1.8 273 mee \cours_rn.tex\12 avril 2005

Page 2: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

quentiel de systèmes dynamiques linéaires, deux problèmes clés doivent être ré-solus :

– on doit s’assurer autant que possible que la durée d’acquisition correspondeà un nombre entier de périodes du signal de sortie du système. Cela est ré-solu en tenant compte des indications données dès le §8.1.2, où l’on s’arrangepour que les signaux acquis puissent être considérés comme périodiques ;

– la minimisation de l’effet du bruit (y compris perturbations). Cela se faiten augmentant la durée d’aquisition (nombre N de points), en traitant lespectre des signaux (par exemple par moyennage) ou en choisissant judi-cieusement le signal d’excitation u(k).

8.1.1 Estimation de réponse harmonique : ETFE [12]

On considère un système dynamique linéaire de "vraie" fonction de transfertG0(z), ayant u(k) pour entrée et dont la sortie est perturbée par un bruit v(k)(figure 8.2). On a :

y(k) =∞∑l=0

g0(l) · u(k − l) + v(k) = g0(k) ∗ u(k) + v(k)

1s

y ( k )u ( k ) G 0 ( z )f _ 0 5 _ 0 5 . e p s

S

v ( k )

Fig. 8.2 – Représentation du problème : la vraie fonction de transfert est G0(z)et l’ensemble des signaux perturbateurs, i.e. non-corrélés avec u(k), est représentépar v(k) (fichier source).

Il vaut ici la peine de remarquer que l’on ne cherche pas à identifier un modèleanalogique, par exemple une fonction de transfert Ga(s), mais directement lemodèle échantillonné G0(z). Analytiquement, ces 2 fonctions de transfert sontliées par la relation (§ 5.5.2 page 153) :

G0(z) =Y (z)

U(z)=

(1− z−1

)· Z

{L−1

(Ga(s)

s

)}Le signal d’entrée u(k), que l’on peut en principe imposer lors des travaux dédiésà l’identification, est plutôt de nature déterministe alors que la perturbation v(k)est de nature stochastique. On admet que ses paramètres statistiques sont

Chapitre 8 : Identification, v.1.8 274 mee \cours_rn.tex\12 avril 2005

Page 3: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

– µ = E [v(k)] = 0, i.e. la moyenne de v(k) est nulle ;– σ2 = E

[(v(k)− µ)2] = λ, i.e. la variance de v(k) est égale à λ. Notons que

σ =√λ représente ici la (vraie) valeur efficace du bruit v(k).

Un bref rappel des notions relatives aux signaux aléatoires est donné à l’an-nexe 8.B page 319.

Le problème posé est de déterminer une estimation G(ej·ω·h) de la réponseharmonique G0(e

j·ω·h) de G0(z), sachant qu’expérimentalement, seuls N échan-tillons ont été prélevés sur les signaux u(k) et y(k) : on a donc a dispositionuN(k), yN(k) ainsi que les paramètres µ et λ du bruit v(k).

En allant droit au but, il est clair qu’une estimation de G0(ej·ω·h), d’une qua-

lité à définir, peut être obtenue en calculant les transformées de Fourier discrètes(ci-après TFD, voir § 8.C page 322) UN(ω) et YN(ω) de uN(k) et de yN(k) res-pectivement puis en évaluant :

GN(ej·ω) =YN(ω)

UN(ω)=F{yN (k)}F{uN (k)}

=

∑N−1k=0 yN (k) · e−j·ω·k·h∑N−1k=0 uN (k) · e−j·ω·k·h

(8.1)

Cette estimation porte le nom de ETFE (empirical transfer function estimate).

8.1.2 Propriétés de l’ETFE

On peut montrer [[12], §6.3, p.147] que

GN(ej·ω) =YN(ω)

UN(ω)= G0(e

j·ω) +RN(ω)

UN(ω)+VN(ω)

UN(ω)(8.2)

où|RN(ω)| ∝ 1√

N

et VN(ω) est la transformée Fourier de vN(k). On observe d’emblée que l’esti-mation GN(ej·ω) de G0(e

j·ω) est d’autant meilleure que le nombre N est élevé,puisque |RN(ω)| ∝ 1√

N.

Cas particulier : u(k) périodique On peut montrer que si u(k) est périodiquede période égale à un multiple de N ·h, i.e. si uN(k) est une période ou un nombreentier de périodes de u(k), alors RN(ω) = 0 pour ω = 2·π

h· i · 1

N, i = 0 . . . N − 1,

i.e. aux fréquences auxquelles la TFD est définie. Dans le but d’annuler RN(ω),il y a donc intérêt à ce que le signal u(k) soit périodique de période N · h.C’est ce qui est fait avec le logiciel AcqBode (actuellement RTPWatch) créé parle Prof. F.Mudry dans le but d’identifier les systèmes dynamiques linéaires :on calcule la transformée de Fourier discrète de deux signaux correspondant àl’excitation et à la réponse du système étudié. Le signal d’excitation u(k) prend

Chapitre 8 : Identification, v.1.8 275 mee \cours_rn.tex\12 avril 2005

Page 4: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

0 0.05 0.1 0.15 0.2 0.250

0.2

0.4

0.6

0.8

1

u(k)

, uN

(k)

Signaux (v(k)=0)

0 0.05 0.1 0.15 0.2 0.250

0.05

0.1

0.15

0.2

t [s]

y(k)

| v=0, y

N(k

)|v=

0

f_fft_03_01_2.eps

Fig. 8.3 – Signal d’excitation u(k) = uN(k) et réponse y(k) = yN(k). yN(k) neconstitue à l’évidence pas un nombre entier de périodes de y(k), comme requisselon la relation (8.2) pour que le terme RN (ω)

UN (ω)s’annule. L’estimation de la réponse

harmonique GN(ej·ω·h) est donnée sur la figure 8.4 page suivante (fichier source).

la forme d’une suite binaire pseudo aléatoire (SBPA) de N points, répétée R = 2fois afin de mettre la sortie y(k) du système en régime permanent périodique.Les N derniers points seuls, i.e. la dernière période seule, sont alors prélevéset leurs TFD calculée. Si les termes transitoires ont effectivement disparu, oncalcule effectivement la TFD d’un signal périodique et le terme RN(ω) est nulaux fréquences auxquelles GN(ej·ω·h) est évaluée.

Exemple

Pour illustrer l’importance du signal d’excitation u(k), on effectue les 3 testssuivants, avec v(k) = 0, i.e. sans bruit afin séparer les problèmes. De ce fait, larelation (8.2) devient

GN(ej·ω) = G0(ej·ω) +

RN(ω)

UN(ω)+

0︷ ︸︸ ︷VN(ω)

UN(ω)= G0(e

j·ω) +RN(ω)

UN(ω)

On examine les cas suivants :1. u(k) = ∆(k) : c’est un signal qui est spectralement très riche, mais qui ne

met pas le système G0(z) dans un état de régime permament périodique. Lafigure 8.3 montre les signaux uN(k) et yN(k) et la figure 8.4 page suivantele diagramme de Bode de GN(ej·ω·h) correspondant.

2. uN(k) constitué de deux impulsions unité discrètes, la première en k = 0et la seconde, avec une polarité inversée, en k = N

2. Ce signal de base est

Chapitre 8 : Identification, v.1.8 276 mee \cours_rn.tex\12 avril 2005

Page 5: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

100

101

102

103

−100

−80

−60

−40

−20

0

20

40

Diagrammes de Bode de G0(ejω h) et Y

N(ω)/U

N(ω) (pour v(k)=0)

100

101

102

103

−200

−100

0

100

200

f [Hz]

G0(ejω h)

YN

(ω)/UN

(ω)|v=0

f_fft_03_01_4.eps

Fig. 8.4 – Comparaison de la vraie réponse harmomique G0(ej·ω·h) et de son

estimation GN(ej·ω·h), avec uN(k) et yN(k) selon figure 8.3 page précédente. Lemauvais résultat s’explique par le fait que le terme RN (ω)

UN (ω)de la relation (8.2) est

non-nul, yN(k) n’étant manifestement pas une période de y(k) (fichier source).

répété R = 2 fois, ce qui dans le cas particulier met y(k) dans un état derégime quasi permament périodique pour k > N (figure 8.5 page suivante).La dernière période de y(k) est donc extrayable telle quelle pour effectuerl’analyse selon (8.1 ) et les résultats (figure 8.6 page suivante) sont meilleursque précédemment (figure 8.4).

Chapitre 8 : Identification, v.1.8 277 mee \cours_rn.tex\12 avril 2005

Page 6: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−1

−0.5

0

0.5

1

u(k)

, uN

(k)

Signaux (v(k)=0)

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−0.1

−0.05

0

0.05

0.1

0.15

0.2

0.25

t [s]

y(k)

| v=0, y

N(k

)|v=

0

f_fft_03_02_2.eps

Fig. 8.5 – Signal d’excitation u(k) et réponse y(k). u(k) est constitué de R = 2périodes. On observe que les transitoires sont amorties dès la fin de la premièrepériode. De ce fait, le signal y(k) peut être admis périodique de période N · hpour k ≥ N . Si l’on avait généré u(k) avec une période de plus (R = 3), on au-rait simplement obtenu une 3ème période. L’estimation de la réponse harmoniqueGN(ej·ω·h) est donnée sur la figure 8.6 (fichier source).

100

101

102

103

−100

−80

−60

−40

−20

0

20

40

Diagrammes de Bode de G0(ejω h) et Y

N(ω)/U

N(ω) (pour v(k)=0)

100

101

102

103

−200

−100

0

100

200

f [Hz]

G0(ejω h)

YN

(ω)/UN

(ω)|v=0

f_fft_03_02_4.eps

Fig. 8.6 – Comparaison de la vraie réponse harmomique G0(ej·ω·h) et de son

estimation GN(ej·ω·h), avec uN(k) et yN(k) selon figure 8.5. La légère discordanceapparaissant aux fréquences élevées est due au fait que le signal prélevé yN(k)comporte encore des termes transitoires. Un signal d’excitation u(k) comportantune période de plus résoudrait le problème (fichier source).

Chapitre 8 : Identification, v.1.8 278 mee \cours_rn.tex\12 avril 2005

Page 7: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−1

−0.5

0

0.5

1

u(k)

, uN

(k)

Signaux (v(k)=0)

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−0.5

0

0.5

1

1.5

2

t [s]

y(k)

| v=0, y

N(k

)|v=

0

f_fft_03_03_2.eps

Fig. 8.7 – Signal d’excitation u(k) et réponse y(k). On ne prélève que les N der-niers échantillons, ce qui correspond à une période du signal y(k) admis périodiquepour k ≥ N (les N premiers échantillons correspondant au régime transitoire).L’estimation de la réponse harmonique GN(ej·ω·h) est donnée sur la figure 8.8(fichier source).

3. uN(k) est cette fois une SBPA (figure 8.7), répétée également R = 2 fois.Les résultats (figure 8.8) sont équivalents au cas précédent (figure 8.6 pageprécédente).

100

101

102

103

−100

−80

−60

−40

−20

0

20

40

Diagrammes de Bode de G0(ejω h) et Y

N(ω)/U

N(ω) (pour v(k)=0)

100

101

102

103

−200

−100

0

100

200

f [Hz]

G0(ejω h)

YN

(ω)/UN

(ω)|v=0

f_fft_03_03_4.eps

Fig. 8.8 – Comparaison de la vraie réponse harmomique G0(ej·ω·h) et de son

estimation GN(ej·ω·h), avec uN(k) et yN(k) selon figure 8.7 (fichier source).

Chapitre 8 : Identification, v.1.8 279 mee \cours_rn.tex\12 avril 2005

Page 8: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

8.1.3 Propriétés statistiques de l’ETFE

Les propriétés statistiques (notamment la moyenne et la variance) de GN(ej·ω·h)relativement à l’entrée stochastique v(k) permettent de chiffrer la qualité de l’es-timation.

Moyenne

L’espérance mathématique de GN(ej·ω·h) doit montrer si l’estimateur GN(ej·ω·h)tend bel et bien vers G0(e

j·ω·h). On a [[12], §6.3, p.148] :

E[GN(ej·ω·h)

]= E

[G0(e

j·ω·h)]︸ ︷︷ ︸

G0(ej·ω·h)

+ E[RN(ω)

UN(ω)

]︸ ︷︷ ︸

RN (ω)

UN (ω)

+ E[VN(ω)

UN(ω)

]︸ ︷︷ ︸

0 carE [VN (ω)] =

F{E [v(k)]} = 0

On voit que

GN(ej·ω·h) −→ G0(ej·ω·h) pour N −→∞

puisque limN→∞RN(ω) = 0 et E [v(k)] = 0. GN(ej·ω·h) est ainsi un estimateurnon biaisé de G0(e

j·ω·h).

Variance

La variance de l’estimateur GN(ej·ω·h) montre comment fluctue celui-ci autourde sa moyenne E

[GN(ej·ω·h)

]= G0(e

j·ω·h). On montre que [[12], §6.3, p.149] :

E[(GN(ej·ω·h)−G0(e

j·ω·h))2

]−→ Φv(ω)

|UN(ω)|2pour N −→∞

où Φv(ω) est la densité spectrale de puissance ("spectre", § 8.C.12 page 329) del’entrée stochastique v(k) et UN(ω) est la transformée de Fourier de uN(k). Onvoit que la variance de l’estimateur ne tend pas vers 0, même pour un grandnombre N d’échantillons, mais vers

Φv(ω)

|UN(ω)|2

La variance de GN(ej·ω·h) est donc dépendante du spectre (plus pécisément dela densité spectrale de puissance) Φv(ω) du bruit v(k). Si Φv(ω) est donnée, lavariance ne peut être réduite qu’en choisissant |UN(ω)| de manière à diminuer lerapport Φv(ω)

|UN (ω)|2 . On conçoit dès lors que le choix d’un signal d’excitation spec-tralement très riche est un avantage. La conséquence de ce fait est que souvent,le graphe de la réponse harmonique est très fluctuant lorsque le rapport signalsur bruit n’est pas satisfaisant (figures 8.9 page suivante, 8.13 page 284 et 8.15page 285, la figure 8.15 page 285 montrant l’amélioration obtenue en augmentantla densité spectracle de uN(k)).

Chapitre 8 : Identification, v.1.8 280 mee \cours_rn.tex\12 avril 2005

Page 9: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

101 102 103 104−120

−110

−100

−90

−80

−70

−60

−50

Diagramme de Bode de YN

(ω)/UN

(ω)

101 102 103 104−200

−100

0

100

200

ω [rad/s]

YN

(ω)/UN

(ω)|

f_lse_m_03_9.eps

Fig. 8.9 – Même dans de bonnes conditions d’expériences (ici un cas réel d’iden-tification d’un système mécanique comportant une élasticité, schéma technolo-gique de la figure 8.10 page suivante), l’ETFE GN(ej·ω·h) fournit une réponse trèsfluctuante, principalement à cause du bruit v(k). Cela est la conséquence de lavariance de GN(ej·ω·h), laquelle est dépendante du spectre de v(k) et tend vers

Φv(ω)

|UN (ω)|2 . A v(k) donné, on ne peut donc réduire la variance qu’en choisissant un

signal d’excitation uN(k) tel que |UN(ω)|2 soit élevé (fichier source).

Chapitre 8 : Identification, v.1.8 281 mee \cours_rn.tex\12 avril 2005

Page 10: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

R f

q 1 ( t )T e m ( t ) q 2 ( t )

i n e r t i e d u r o t o r :J 1

i n e r t i e d e l a c h a r g e :J 2

r i g i d i t é d e l ' a r b r ed e t r a n s m i s s i o n :

k [ N m / r a d ]

c o e f f i c i e n t d ef r o t t e m e n t v i s q u e u x :

d e s p a l i e r sR f [ N m s / r a d ]

R f

f _ 0 8 _ 0 6 . e p s

Fig. 8.10 – Schéma technologique d’un système mécanique (supposé linéaire),possédant un arbre élastique (i.e. non infiniment rigide). La consigne de couplemoteur u(k) = Temc(k) a été imposée (SBPA) et la vitesse (y(k) = ω(k)) de celui-ci a été mesurée avant de calcul l’ETFE. Les résultats de l’ETFE sont indiquéssur la figure 8.9 page précédente et les signaux sont visibles sur la figure 8.11(fichier source).

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−3

−2

−1

0

1

2

3

u N(k

)

Signal d’entrée : SBPA de 1024 points

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1−3

−2

−1

0

1

2

3x 10−3

t [s]

y N(k

)

Réponse du système à la SBPA

f_lse_m_03_1.eps

Fig. 8.11 – Signal d’excitation et réponse du système représenté sur la figure 8.10(fichier source).

Chapitre 8 : Identification, v.1.8 282 mee \cours_rn.tex\12 avril 2005

Page 11: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−1

−0.5

0

0.5

1

u(k)

, uN

(k)

Signaux

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−0.1

0

0.1

0.2

0.3

y N(k

)|v=

0, yN

(k)|

v ≠

0

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−0.04

−0.02

0

0.02

0.04

t [s]

v(k)

f_fft_03_04_1.eps

Fig. 8.12 – Signal d’excitation uN(k), réponse yN(k) et bruit v(k). L’estimationde la réponse harmonique GN(ej·ω·h) est donnée sur la figure 8.13 page suivante(fichier source).

Corrélation entre deux fréquences voisines

Les estimations fournies par GN(ej·ω·h) à deux fréquences différentes f1 et f2

ne sont asymptotiquement pas corrélées ! On montre que [[12], §6.3, p.149]

E[(GN(ej·ω1·h)−G0(e

j·ω1·h))·(GN(ej·ω2·h)−G0(e

j·ω2·h))]

−→ 0 pour N −→∞

Cela signifie par exemple que l’estimateur ne voit pas de dépendance forte entrele gain de la fonction de transfert à deux fréquences voisines l’une de l’autre.Or, cela contredit l’expérience, puisque l’on sait que la réponse harmonique d’unsystème linéaire ne varie que de manière "douce".

Exemple

On considère maintenant le même système que le premier exemple traité(§ 8.1.2 page 276), désormais perturbé par un bruit v(k) de moyenne µ nulleet de variance λ = 0.0001, soit une valeur efficace σ =

√λ = 0.01.

– Dans un premier temps, le système excité un signal uN(k) formé à nouveaupar la répétition périodique (R = 2 fois) de deux impulsions unité discrètesde signes opposés (selon figure 8.5 page 278). Ce signal est également donnésur la figure 8.12, avec le signal de sortie yN(k), bruité par la perturbationv(k) également figurée.

– le système est ensuite maintenant excité par une SBPA (figure 8.14 pagesuivante). Les résultats sont donnés à la figure 8.15 page 285 qui montre

Chapitre 8 : Identification, v.1.8 283 mee \cours_rn.tex\12 avril 2005

Page 12: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

100

101

102

103

−100

−80

−60

−40

−20

0

20

40

Diagrammes de Bode de G0(ejω h), Y

N(ω)/U

N(ω) (pour v(k)=0) et Y

N(ω)/U

N(ω) avec bruit v(k) de variance λ=0.0001

100

101

102

103

−200

−100

0

100

200

f [Hz]

G0(ejω h)

YN

(ω)/UN

(ω)|v=0

YN

(ω)/UN

(ω)|v ≠=0

f_fft_03_04_6.eps

Fig. 8.13 – Comparaison de la vraie réponse harmomique G0(ej·ω·h) et de son

estimation GN(ej·ω·h), avec uN(k) et yN(k) selon figure 8.12 page précédente. Lesrésultats de l’estimateur sans bruit sont également donnés (fichier source).

une amélioration substantielle par rapport à ceux de la figure 8.13 pagesuivante.

Cet exemple met en évidence l’importance du signal d’excitation. Dans le derniercas, les résultats obtenus sont meilleurs car la variance asymptotique

Φv(ω)

|UN(ω)|2

de GN(ej·ω·h) a été diminuée en choisissant un signal d’excitation ayant |UN(ω)|élevé.

Néanmoins, la comparaison de l’estimateur ETFE avec la vraie réponse har-monique montre, même dans le cas de la figure 8.15, toute la difficulté qu’il y aà identifier la réponse fréquentielle de systèmes dynamiques.

En guise de conclusion de cet exemple, on choisit maintenant un signal d’exci-tation uN(k) constitué d’une somme de sinus d’amplitude 1, de fréquences variantde ∆fe

Nà N

2· ∆fe

Net de phase aléatoire à distribution uniforme (µ = 0, σ = 1).

Ce signal a pour propriété d’avoir une densité spectrale de puissance encore plusélevée que la SBPA, i.e. d’être plus puissant pour chaque composante spectrale.Répété R = 2 fois, ce signal est donné sur la figure 8.16 page suivante et laréponse harmonique de l’estimateur se trouve sur la figure 8.17 page 287.

Chapitre 8 : Identification, v.1.8 284 mee \cours_rn.tex\12 avril 2005

Page 13: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−1

−0.5

0

0.5

1

u(k)

, uN

(k)

Signaux

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−1

0

1

2

y N(k

)|v=

0, yN

(k)|

v ≠

0

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−0.04

−0.02

0

0.02

0.04

t [s]

v(k)

f_fft_03_05_1.eps

Fig. 8.14 – Signal d’excitation uN(k), réponse yN(k) et bruit v(k). L’estimationde la réponse harmonique GN(ej·ω·h) est donnée sur la figure 8.15 page ci-contre(fichier source).

100

101

102

103

−100

−80

−60

−40

−20

0

20

40

Diagrammes de Bode de G0(ejω h), Y

N(ω)/U

N(ω) (pour v(k)=0) et Y

N(ω)/U

N(ω) avec bruit v(k) de variance λ=0.0001

100

101

102

103

−200

−100

0

100

200

f [Hz]

G0(ejω h)

YN

(ω)/UN

(ω)|v=0

YN

(ω)/UN

(ω)|v ≠=0

f_fft_03_05_6.eps

Fig. 8.15 – Comparaison de la vraie réponse harmomique G0(ej·ω·h) et de son

estimation GN(ej·ω·h), avec uN(k) et yN(k) selon figure 8.14 page ci-contre. Lesrésultats de l’estimateur sans bruit sont également donnés (fichier source).

Chapitre 8 : Identification, v.1.8 285 mee \cours_rn.tex\12 avril 2005

Page 14: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−40

−20

0

20

40

u(k)

, uN

(k)

Signaux

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−5

0

5

10

15

y N(k

)|v=

0, yN

(k)|

v ≠

0

0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5−0.04

−0.02

0

0.02

0.04

t [s]

v(k)

f_fft_03_06_1.eps

Fig. 8.16 – Signal d’excitation uN(k), réponse yN(k) et bruit v(k). L’estimationde la réponse harmonique GN(ej·ω·h) est donnée sur la figure 8.17 page suivante(fichier source).

Chapitre 8 : Identification, v.1.8 286 mee \cours_rn.tex\12 avril 2005

Page 15: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

100

101

102

103

−100

−80

−60

−40

−20

0

20

40

Diagrammes de Bode de G0(ejω h), Y

N(ω)/U

N(ω) (pour v(k)=0) et Y

N(ω)/U

N(ω) avec bruit v(k) de variance λ=0.0001

100

101

102

103

−200

−100

0

100

200

f [Hz]

G0(ejω h)

YN

(ω)/UN

(ω)|v=0

YN

(ω)/UN

(ω)|v ≠=0

f_fft_03_06_6.eps

Fig. 8.17 – Comparaison de la vraie réponse harmomique G0(ej·ω·h) et de son

estimation GN(ej·ω·h), avec uN(k) et yN(k) selon figure 8.16 page précédente. Lesrésultats de l’estimateur sans bruit sont également donnés (fichier source).

Chapitre 8 : Identification, v.1.8 287 mee \cours_rn.tex\12 avril 2005

Page 16: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

8.1.4 Amélioration de la variance de l’ETFE : moyennageet lissage

Pour diminuer la variance de l’estimation GN(ej·ω·h), on peut prendre encompte le fait que la valeur moyenne du bruit v(k) est nulle. En répétant l’expé-rience plusieurs fois (disons R fois N points, soit un nombre total de M = R ·Npoints) et en sommant les réponses fréquentielles estimées, on diminue la variancedu facteur R. On a :

GM(ej·ω·h) =1

R∑l=1

GN(ej·ω·h)

L’inconvénient de cette manière de faire est évidemment que la durée des essais estprolongée d’un facteur R, puisqu’il faut acquérir R ·N mesures. Une alternative[[13], §8.5, p.212] consiste à partager un ensemble existant de N mesures enR sous-ensembles de M points et à calculer GM(ej·ω·h) pour chacun des sous-ensembles avant de sommer. On a :

GN(ej·ω·h) =1

R∑l=1

GM(ej·ω·h)

La variance est également divisée par R mais en revanche la résolution fréquen-tielle (§ 8.C.9 page 326) est dégradée, puisque l’on aura

∆f =fe

M= R · fe

R ·M︸ ︷︷ ︸N

= R · fe

N

La résolution fréquentielle est ainsi R fois plus grossière. Cette dernière manièrede faire porte le nom de méthode de Welch.

Une méthode d’amélioration de la variance de l’estimation GN(ej·ω·h) consisteà lisser la réponse harmonique obtenue à l’aide d’un filtre (ce que font sans autrenos propres yeux !). C’est la méthode de Blackman-Tukey, décrite dans [[12],§6.4]et [[13], §8.5].

Chapitre 8 : Identification, v.1.8 288 mee \cours_rn.tex\12 avril 2005

Page 17: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

8.2 Identification paramétriqueL’identification paramétrique a pour objectif d’estimer chacun des paramètres

de la fonction de transfert supposée

G(z) =Y (z)

U(z)=b1 · z−1 + b2 · z−2 + . . .+ bn−1 · z−n+1 + bn · z−n

1 + a1 · z−1 + . . .+ an−1 · z−n+1 + an · z−n=B(z)

A(z)

d’un système dynamique linéaire discret. U(z) et Y (z) sont respectivement lestransformées en z des signaux temporels discrets d’entrée u(k) et de sortie y(k).

k ∈ Z est l’instant d’échantillonnage, i.e. un entier relatif tel que t [s] = k · hoù h est la période (constante) d’échantillonnage en [s]. Les signaux discrets u(k)et y(k) que l’on considère sont admis nuls pour k < 0, ce qui revient à dire :

u(k) = 0 pour k < 0

y(k) = 0 pour k < 0

La théorie de la transformation en z permet facilement de retrouver l’équationaux différences décrivant le comportement du système dans le domaine temporel ;on a en effet, sachant que l’opérateur z−1 correspond à un retard d’une périoded’échantillonnage h :

y(k) + a1 · y(k − 1) + . . .+ an−1 · y(k − n+ 1) + an · y(k − n)

= b1 · u(k − 1) + . . .+ bn−1 · u(k − n+ 1) + bn · u(k − n) (8.3)

Les méthodes d’identification paramétrique se doivent donc de délivrer les esti-mations (les notations utilisées normalement pour désigner une estimation, i.e.ai et bj, sont abandonnées pour alléger la notation) :

a1 a2 . . . an b1 b2 . . . bn

La qualité des estimations doit pouvoir être chiffrée, typiquement par l’intermé-diaire de la moyenne et de la variance de chaque paramètre estimé.

8.2.1 Structures de modèles

On présente dans ce paragraphe 2 structures permettant de représenter dessystèmes physiques linéaires ayant une entrée (déterministe) u(k), une entréestochastique v(k) et une sortie y(k). Ces structures ont pour caractéristique re-marquable de modéliser, avec une dynamique appropriée, l’influence du bruit/desperturbations agissant sur le système.

L’ensemble des effets des bruits et perturbations sont représentées par le si-gnal stochastique v(k), lui-même étant généré avec une dynamique H(z) par lesignal également stochastique e(k), de type bruit blanc, de distribution normale

Chapitre 8 : Identification, v.1.8 289 mee \cours_rn.tex\12 avril 2005

Page 18: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

1s

y ( k )u ( k ) G ( z )f _ 0 5 _ 0 1 . e p s

S

H ( z )

e ( k )

v ( k )

Fig. 8.18 – Modèle de structure générale, prenant en compte les perturbationsv(k) en filtrant un bruit blanc e(k) avec la dynamique H(z) (fichier source).

(Gauss), à moyenne µ nulle et à variance σ2 = λ. e(k) étant externe au sys-tème et indépendant, on dénomme e(k) "variable exogène", la lettre x expliquantl’adjonction de X aux modèles standards AR et ARMA connus en traitement designal et devenant ainsi ARX (p.290) et ARMAX (p.292).

La structure générale est représentée par la figure 8.18, et l’on peut écrire :

Y (z) = G(z) · U(z) +H(z) · E(z)

On se limite ici à la présentation de 2 structures particulières, ARX et AR-MAX. On se référera à [[12], §4.2] pour un traitement détaillé.

Structure ARX

Dans le cas de la structure ARX (AR="AutoRegressive", X="eXogeneous"ou "eXtra" variable), le bruit e(k) perturbe la sortie brute de la fonction detransfert G(z) du système via la dynamique

H(z) =1

A(z)

alors que le système lui-même est représenté par

G(z) =B(z)

A(z)=

B(z)︷ ︸︸ ︷b1 · z−1 + b2 · z−2 + . . .+ bn−1 · z−n+1 + bn · z−n

1 + a1 · z−1 + . . .+ an−1 · z−n+1 + an · z−n︸ ︷︷ ︸A(z)

Chapitre 8 : Identification, v.1.8 290 mee \cours_rn.tex\12 avril 2005

Page 19: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

1s

y ( k )u ( k )

f _ 0 5 _ 0 2 . e p s

S

e ( k )

v ( k )

A ( z )1

A ( z )B ( z )

Fig. 8.19 – Modèle de structure ARX (fichier source).

On a donc :Y (z) =

B(z)

A(z)︸ ︷︷ ︸G(z)

·U(z) +1

A(z)︸ ︷︷ ︸H(z)

·E(z)

et l’équation aux différences associée à cette structure est donc :

y(k) + a1 · y(k − 1) + . . .+ an−1 · y(k − n+ 1) + an · y(k − n)

= b1 · u(k − 1) + . . .+ bn−1 · u(k − n+ 1) + bn · u(k − n)

+ e(k)

L’inconvénient de cette structure est qu’elle impose par A(z) une dynamiquecommune pour la propagation du signal d’entrée u(k) et du bruit e(k). On conçoitque ce modèle ne puisse convenir pour certaines applications. Une conséquenceen est que l’identification des paramètres par la méthode des moindre carrésprésentée au § 8.2.2 page 294 a tendance à favoriser une bonne identification dusystème G(z) = B(z)

A(z)aux hautes fréquences, au détriment des basses fréquences

([[12], §8.5 p.228 et relation (8.68)]).

Chapitre 8 : Identification, v.1.8 291 mee \cours_rn.tex\12 avril 2005

Page 20: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

Modèle de structure ARMAX

Avec la structure ARMAX (AR = "auto-regressive, "MA="moving average",X=eXogeneous, figure 8.20), on offre comparativement à la structure ARX undegré de liberté supplémentaire pour modéliser la dynamique des perturbationse(k) en les faisant intervenir sur le système avec la fonction de transfert

H(z) =V (z)

E(z)=

C(z)︷ ︸︸ ︷1 + c1 · z−1 + c2 · z−2 + . . .+ cnc−1 · z−nc+1 + cnc · z−nc

1 + a1 · z−1 + . . .+ ana−1 · z−na+1 + ana · z−na︸ ︷︷ ︸A(z)

=C(z)

A(z)

Grâce à C(z), on peut avoir des dynamiques très différentes entre u(k) (signaldéterministe, contrôlé) et y(k) et entre e(k) (bruit blanc à µ = 0 et σ2 connu) ety(k), ce qui compense en partie les lacunes de la structure ARX.

1s

y ( k )u ( k )

f _ 0 8 _ 0 3 . e p s

S

e ( k )

v ( k )

A ( z )C ( z )

A ( z )B ( z )

Fig. 8.20 – Modèle de structure ARMAX (fichier source).

On aY (z) =

B(z)

A(z)︸ ︷︷ ︸G(z)

·U(z) +C(z)

A(z)︸ ︷︷ ︸H(z)

·E(z)

avec

G(z) =

B(z)︷ ︸︸ ︷b1 · z−1 + b2 · z−2 + . . .+ bnb−1 · z−nb+1 + bnb

· z−nb

1 + a1 · z−1 + . . .+ ana−1 · z−na+1 + ana · z−na︸ ︷︷ ︸A(z)

=B(z)

A(z)

Chapitre 8 : Identification, v.1.8 292 mee \cours_rn.tex\12 avril 2005

Page 21: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

L’équation aux différences correspondante est :

y(k) + a1 · y(k − 1) + . . .+ ana−1 · y(k − na + 1) + ana · y(k − na)

= b1 · u(k − 1) + . . .+ bnb−1 · u(k − nb + 1) + bnb· u(k − nb)

+e(k) + c1 · e(k − 1) + . . .+ cnc−1 · e(k − nc + 1) + cnc · e(k − nc)

(8.4)

Chapitre 8 : Identification, v.1.8 293 mee \cours_rn.tex\12 avril 2005

Page 22: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

8.2.2 Méthode PEM

Lorsque l’on a sélectionné une structure de modèle (ARX, ARMAX, etc,§ 8.2.1 page 289) potentiellement capable de représenter le système dynamiquelinéaire que l’on souhaite identifier ainsi que la nature des perturbations v(k)l’affectant, il reste à déterminer les valeurs numériques de ses paramètres, i.e. àeffectuer une identification paramétrique.

1s

y ( k )u ( k ) G ( z )f _ 0 5 _ 0 1 . e p s

S

H ( z )

e ( k )

v ( k )

Fig. 8.21 – Modèle de structure générale, prenant en compte les perturbationsv(k) en filtrant un bruit blanc e(k) avec la dynamique H(z) (fichier source).

Si l’on se replace dans le contexte de l’identification de la réponse fréquentiellevu au § 8.1 page 273, où l’estimateur ETFE GN(ej·ω) fournissait le gain et la phase(estimés) d’une fonction de transfert G0(z) en plusieurs fréquences (et non pas lafonction de transfert elle-même), on cherche ici directement un estimateur pourchacun des paramètres de la même fonction de transfert G0(z).

On présente ici la méthode PEM ("prediction-error identification method"),une technique permettant d’obtenir les valeurs numériques des paramètres desfonctions de transfertG(z) etH(z) d’un modèle de structure générale (figure 8.21).Une alternative à la méthode PEM est celle des variables instrumentales, nontraitée ici.

La méthode PEM se base sur la comparaison du signal de sortie y(k) du vraisystème et de celui d’un prédicteur y(k) de cette même sortie. Comme son nom lesous-entend, ledit prédicteur y(k) est conçu de façon à ce qu’il soit en mesure deprédire au mieux le signal de sortie y(k) à l’instant présent en ne se basant queque sur les informations disponibles jusqu’à l’instant précédent, i.e. à l’instantk − 1.

On peut montrer que le prédicteur y(k) prend la forme générale [[12], §3.3,

Chapitre 8 : Identification, v.1.8 294 mee \cours_rn.tex\12 avril 2005

Page 23: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

p.56]

Y (z) =G(z)

H(z)· U(z) +

[1− 1

H(z)

]· Y (z) (8.5)

L’établissement de ce prédicteur dans le cas particulier de la structure ARX estfait dans le § 8.2.3 page 297.

La méthode PEM a donc pour objectif trouver les paramètres des fonctionsde transfert G(z) et H(z) de telle façon que l’erreur de prédiction

ε(k) = y(k)− y(k)

soit minimisée.Dans le cas d’une structure ARX (§ 8.2.1 page 290), on a G(z) = B(z)

A(z)et

H(z) = 1A(z)

, alors que G(z) = B(z)A(z)

et H(z) = C(z)A(z)

pour une structure ARMAX(§ 8.2.1 page 292).

Partant d’un ensemble de N mesures yN(k) correspondant aux entrées uN(k),on réunit les paramètres de G(z) et H(z) à identifier dans le vecteur-colonne

−→θ ,

lequel prend dans le cas de la structure ARX la forme−→θ =

[a1a2 . . . anb1b2 . . . bn

]T

et l’on utilise la méthode PEM pour fournir une estimation−→θ N de

−→θ minimisant

la fonction

VN

(−→θ , yN(k), uN(k)

)=

1

N−1∑k=0

`(ε(k))

où ε(k) correspond donc à l’erreur de prédiction y(k)− y(k). On obtient :−→θ N = arg min

{VN

(−→θ , yN(k), uN(k)

)}à comprendre comme "θN est la valeur de l’argument θ de la fonction VN

(−→θ , yN(k), uN(k)

)minimisant VN".

L’estimateur−→θ N recherché doit donc minimiser la fonction VN

(−→θ , yN(k), uN(k)

)à partir des signaux d’entrée uN(k) et de sortie yN(k), oùN correspond au nombred’échantillons prélevés.

Un cas particulier très important est celui où la fonction `(ε(k)) est quadra-tique :

VN

(−→θ , yN(k), uN(k)

)=

1

N−1∑k=0

1

y(k)− y(k)︸ ︷︷ ︸ε(k)

2

=1

N−1∑k=0

1

2· ε(k)2 (8.6)

Dans ce cas, on indique dans le § 8.2.3 page 297 qu’il existe même une solutionanalytique pour

−→θ N .

Chapitre 8 : Identification, v.1.8 295 mee \cours_rn.tex\12 avril 2005

Page 24: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

Exemple

Reprenant l’exemple du système mécanique traité aux figures 8.10, 8.11 et8.9, on présente ci-dessous (figure 8.22) les résultats de l’identification paramé-trique par l’intermédiaire de la réponse harmonique G(ej·ω·h) de l’estimateur G(z)du modèle G(z) dont les paramètres ont été identifiés. Le modèle choisi a unestructure ARMAX. La comparaison l’estimation non-paramétrique (ETFE) de laréponse harmonique montre une très bonne concordance. Fait remarquable, alorsque l’affichage de l’ETFE tel qu’il est présenté sur la figure nécessite 1024 infor-mations, celui de G(ej·ω·h) n’en nécessite que 9, correspondant aux paramètresestimés b0 . . . b5 et a1 . . . a5 de G(z), d’où un facteur de compression d’informationimportant.

10−1 100 101 102 103−120

−110

−100

−90

−80

−70

−60

−50

Diagrammes de Bode de GARMAX

(ejω h), YN

(ω)/UN

(ω)

10−1 100 101 102 103−200

−100

0

100

200

f [Hz]

G(ejω h)Y

N(ω)/U

N(ω)|

f_lse_m_03_8.eps

Fig. 8.22 – L’identification paramétrique du système mécanique conduit à unetrès bonne concordance avec l’identification de la réponse fréquentielle. On ob-serve un effet de lissage de l’ETFE. En cela, le procédé pourrait être vu commeune alternative aux méthodes discutées au § 8.1.4 page 288. Mais l’identifica-tion paramétrique apporte bien plus puisqu’elle offre directement la fonction detransfert estimée G(z) du système linéaire étudié (fichier source).

La fonction de transfert obtenue est

G(z) =b0 · z5 + b1 · z4 + b2 · z3 + b3 · z2 + b4 · z + b5

z5 + a1 · z4 + a2 · z3 + a3 · z2 + a5 · z + a5

=3.917 · 10−5 · z5 + 3.469 · 10−5 · z4 − 10.46 · 10−5 · z3 + 1.353 · 10−5 · z2 + 4.631 · 10−5 · z

z5 − 1.286 · z4 + 0.6549 · z3 + 0.1233 · z2 − 0.5827 · z + 0.11

Chapitre 8 : Identification, v.1.8 296 mee \cours_rn.tex\12 avril 2005

Page 25: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

avec h = 500 [µs].

8.2.3 Cas particulier : modèle de structure ARX, méthodedes moindres carrés

Soit la fonction de transfert G(z)

G(z) =B(z)

A(z)=b0 · zm + b1 · zm−1 + . . .+ bm−1 · z + bmzn + a1 · zn−1 + . . .+ an−1 · z + an

De façon à simplifier la notation, G(z) est tout d’abord présentée sous une formelégèrement remaniée, avec m = n − 1 (la fonction de transfert de tout systèmephysiquement réalisable est toujours strictement propre, i.e. n > m) :

G(z) =B(z)

A(z)=

B(z)︷ ︸︸ ︷b1 · zn−1 + b2 · zn−2 + . . .+ bn−1 · z + bn

zn + a1 · zn−1 + . . .+ an−1 · z + an︸ ︷︷ ︸A(z)

En réunissant dans le vecteur-colonne−→θ l’ensemble des 2 · n paramètres à iden-

tifier

−→θ =

a1

a2

. . .an

b1b2. . .bn

et on considérant un modèle de type ARX,

Y (z) =B(z)

A(z)· U(z) +

1

A(z)· E(z)

on a, dans le domaine temporel :

y(k) + a1 · y(k − 1) + . . .+ an−1 · y(k − n+ 1) + an · y(k − n)

= b1 · u(k − 1) + . . .+ bn−1 · u(k − n+ 1) + bn · u(k − n)

+ e(k)

L’estimation y(k) "naturelle" (qui correspond à l’expression générale (8.5) donnéeau § 8.2.2 page 294) de la sortie du système considéré est fournie par

y(k) = −a1 · y(k − 1)− . . .− an−1 · y(k − n− 1)− an · y(k − n)

+ b1 · u(k − 1) + . . .+ bn−1 · u(k − n+ 1) + bn · u(k − n)

Chapitre 8 : Identification, v.1.8 297 mee \cours_rn.tex\12 avril 2005

Page 26: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

avec toutefois l’erreur de prédiction (due à une modélisation inexacte et à laprésence de bruit)

ε(k) = y(k)− y(k)

En définissant le vecteur −→ϕ (k) comme suit

−→ϕ (k) =

−y(k − 1)−y(k − 2)

. . .−y(k − n)u(k − 1)u(k − 2). . .

u(k − n)

on a

y(k) = −→ϕ (k)T ·−→θ

et l’erreur de prédiction peut s’écrire

ε(k) = y(k)−−→ϕ (k)T ·−→θ

La méthode des moindres carrés consiste à trouver−→θ minimisant la fonction

coût :

VN

(−→θ , yN(k), uN(k)

)=

1

N−1∑k=0

1

2· ε(k)2 =

1

N−1∑k=0

1

y(k)−−→ϕ (k)T ·−→θ︸ ︷︷ ︸

ε(k)

2

Il s’agit d’un problème standard en statistique, dont, une fois n’est pas coutume,la solution existe sous forme analytique ! On a :

θN = arg min{VN

(−→θ , yN(k), uN(k)

)}=

[1

N−1∑k=0

−→ϕ (k) · −→ϕ (k)T

]−1

· 1

N−1∑k=0

−→ϕ (k) · y(k)(8.7)

Exemple

On considère le système analogique d’ordre 1

Ga(s) =Y (s)

U(s)=

K

1 + s · T=

1

1 + s · 0.01

dont le modèle échantillonné est

G(z) =Y (z)

U(z)=

b1z + a1

Chapitre 8 : Identification, v.1.8 298 mee \cours_rn.tex\12 avril 2005

Page 27: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

avec

a1 = −e−hT = −e−

0.0010.01 = −0.9048

b1 = K · (1 + a1) = 1 · (1 + (−0.9048)) = 0.0952

où h est la période d’échantillonnage et vaut 0.001 [s].

L’objectif de l’identification paramétrique est d’obtenir les valeurs numériquesdes paramètres a1 et b1 à partir des signaux uN(k) et yN(k).

Dans ce but, on excite le système avec un premier signal u(k) de type carré,choisi ainsi volontairement riche compte tenu de l’expérience acquise lors del’identification de réponses fréquentielles (§ 8.1 page 273). Les signaux sont don-nés sur la figure 8.23, où l’on observe le bruit v(k) dont la variance est λ =0.001 = σ2 ≈ 0.032.

0 0.01 0.02 0.03 0.04 0.05 0.06−10

−5

0

5

10

u N(k

)

Signaux, σu=10.0593 σ

y=4.271 σ

v=0.035737 SNR

dB=σ

y/σ

v=41.5483

0 0.01 0.02 0.03 0.04 0.05 0.06−10

−5

0

5

10

y N(k

)| v=0, y

N(k

)| v ≠

0

0 0.01 0.02 0.03 0.04 0.05 0.06−0.1

−0.05

0

0.05

0.1

t [s]

v(k)

f_lse_01_1.eps

Fig. 8.23 – Signal d’excitation, réponses (avec et sans bruit) et bruit (fichier source).

Les résultats de l’identification sont donnés sur la figure 8.24 page suivante.

Chapitre 8 : Identification, v.1.8 299 mee \cours_rn.tex\12 avril 2005

Page 28: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

0 0.01 0.02 0.03 0.04 0.05 0.06−8

−6

−4

−2

0

2

4

6

8

t [s]

y G(z

), yG

est(z

)| v=0, y

Ges

t(z)| v≠

0

Réponses du système réel et du modèle, avec et sans bruit. a1=−0.90484 b

1=0.095163 a

1est=−0.90511 b

1est=0.095

G(z)G

est(z)

v≠0G

est(z)

v=0

f_lse_01_2.eps

Fig. 8.24 – Réponse du vrai système G(z), de son modèle identifié G(z) avec etsans bruit (fichier source).

La figure 8.24 montre l’excellent modèle obtenu, le modèle G(z) étant visi-blement capable de reproduire le comportement du système G(z). Les valeursnumériques des paramètres estimés coïncident avec les valeurs effectives.

0 0.01 0.02 0.03 0.04 0.05 0.06−0.15

−0.1

−0.05

0

0.05

0.1

t [s]

ε(k)

Résidus ε(k)

Fig. 8.25 – Erreur de prédiction ε(k) (fichier source).

Pour valider le modèle ainsi identifié, on peut également visualiser les résidusε(k) (figure 8.25) qui devraient alors être un bruit aléatoire, avant de visualiser

Chapitre 8 : Identification, v.1.8 300 mee \cours_rn.tex\12 avril 2005

Page 29: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

leur fonction d’autocovariance

RNε (k) =

1

N−1∑l=0

ε(l) · ε(l + k)

qui devrait tendre vers 0 dès que k 6= 0 si ε(k) est effectivement un bruit aléatoire.La figure 8.26 montre que c’est bien le cas. De plus, les résidus devraient êtreindépendants de l’entrée uN(k), ce qui se vérifie en examinant la fonction decovariance croisée

RNεu(k) =

1

N−1∑l=0

ε(l) · u(l + k)

laquelle est également représentée sur la figure 8.26.

0 5 10 15 20 25−1

−0.5

0

0.5

1Correlation function of residuals. Output # 1

lag

−25 −20 −15 −10 −5 0 5 10 15 20 25−0.2

−0.15

−0.1

−0.05

0

0.05

0.1

0.15Cross corr. function between input 1 and residuals from output 1

lag

Fig. 8.26 – Fonctions d’autocovariance de ε(k) et d’intercovariance (covariancecroisée) de ε(k) et u(k) (fichier source).

8.2.4 Biais et variance de la méthode des moindres carrés

Si les données uN(k) et yN(k) acquises l’on été par le vrai système, dont lesparamètres sont réunis dans le vecteur-colonne

−→θ 0, on a :

y(k) = −→ϕ (k)T ·−→θ 0 + v0(k)

Chapitre 8 : Identification, v.1.8 301 mee \cours_rn.tex\12 avril 2005

Page 30: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

Alors, selon (8.7) :

−→θ N = R−1

N · 1

N−1∑k=0

−→ϕ (k) · y(k)

= R−1N · 1

N−1∑k=0

−→ϕ (k) ·(−→ϕ (k)T ·

−→θ 0 + v0(k)

)=−→θ 0 +R−1

N · 1

N−1∑k=0

−→ϕ (k) · v0(k)︸ ︷︷ ︸→0 pour v0(k)�−→ϕ (k)

avec

RN =1

N−1∑k=0

−→ϕ (k) · −→ϕ (k)T

On voit d’ores et déjà que si le niveau des perturbations v0(k) est faible par rap-port aux composantes de −→ϕ (k) et que RN est non singulière, i.e. inversible, alors−→θ N sera proche de

−→θ 0. L’estimateur

−→θ N a donc un biais nul, i.e. les paramètres

a1, a2, . . . an−1, an, b1, b2, . . . , bn−1, bn du système sont estimés sans biais.La variance de

−→θ N indique comment les valeurs estimées des mêmes para-

mètres fluctuent autour de leur moyenne. En effet, les estimations dea1, a2, . . . an−1, an, b1, b2, . . . , bn−1, bn sont influencées par le signal stochastiquev(k) et sont de ce fait également des variables stochastiques. On peut montrerqu’une estimation de cette variance est donnée par

cov−→θ N =

1

N· λN ·

[1

N−1∑k=0

−→ψ (k,

−→θ N) ·

−→ψ T (k,

−→θ N)

]−1

avec

λN =1

N−1∑k=0

ε(k)2

et−→ψ (k,

−→θ N) =

d

d−→θ N

y(k)

cov−→θ N est la matrice de covariance des paramètres estimés. Les variances re-

cherchées se trouvent la diagonale de cov−→θ N .

L’expression cov−→θ N montre en premier lieu qu’un moyen très efficace de

diminuer la dispersion des paramètres estimés consiste à augmenter N .La fonction ψ(k,

−→θ N) indique comment varie le signal de sortie y(k) en fonc-

tion du paramètre a1, a2, . . . an−1, an, b1, b2, . . . , bn−1, bn pour lequel la dérivation

Chapitre 8 : Identification, v.1.8 302 mee \cours_rn.tex\12 avril 2005

Page 31: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

d

d−→θ N

y(k) est effectuée. On voit donc que si la sensibilité de y(k) est grande par

rapport au paramètre considéré, alors la variance de la distribution de celui-cisera d’autant plus faible ! Il y a donc intérêt à choisir un signal d’entrée u(k)provoquant un signal de sortie y(k) très sensible au paramètre à identifier.

Cette dernière observation met en évidence toute l’importance du choix dusignal d’excitation u(k). Il vaut la peine que le spectre Φu(ω) soit dense dans lesfréquences où la sensibilité de la fonction de transfert par rapport aux paramètresà identifier est élevée [[12], §14.3, p.371]. Cela sera illustré dans l’exemple duparagraphe 8.2.4.

Ces résultats, présentés ici dans le cas particulier d’un modèle de type ARX,sont généralisables aux paramètres correspondant à d’autres structures [[12],§9.2].

Exemple

Reprenant l’exemple du § 8.2.3 page 298, on se place cette fois dans la situationoù l’amplitude du signal d’excitation u(k) est divisée par 10. Le rapport signalsur bruit est alors dégradé et l’on peut observer sur la figure 8.27 que l’estimationdes 2 paramètres est moins bonne.

0 0.01 0.02 0.03 0.04 0.05 0.06−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

t [s]

y G(z

), yG

est(z

)| v=0, y

Ges

t(z)| v≠

0

Réponses du système réel et du modèle, avec et sans bruit. a1=−0.90484 b

1=0.095163 a

1est=−0.89686 b

1est=0.096904

G(z)G

est(z)

v≠0G

est(z)

v=0

f_lse_02_2.eps

Fig. 8.27 – Réponse du modèle lorsque le rapport signal sur bruit est médiocre(comparer avec les résultats présentés sur la figure 8.24 page 300) (fichier source).

Si dans le premier exemple, on avait

cov b1 ≈ 0.0005

cov a1 ≈ 0.001

Chapitre 8 : Identification, v.1.8 303 mee \cours_rn.tex\12 avril 2005

Page 32: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

on a maintenant :

cov b1 ≈ 0.005

cov a1 ≈ 0.01

L’effet du caractère stochastique des estimations est illustré sur les figures8.28 et 8.29 où les paramètres des 2 modèles identifiés sont perturbés selon leursvariances respectives. Les réponses correspondantes sont tracées et donnent uneidée de la dispersion des paramètres de chacun des 2 modèles.

10 20 30 40 50 60

−8

−6

−4

−2

0

2

4

6

8

10

Output number 1

Fig. 8.28 – Illustration de la dispersion des paramètres du premier modèle, selon§ 8.2.3 page 298 (fichier source).

Chapitre 8 : Identification, v.1.8 304 mee \cours_rn.tex\12 avril 2005

Page 33: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

10 20 30 40 50 60

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

Output number 1

Fig. 8.29 – Illustration de la dispersion des paramètres du modèle obtenu avecun rapport signal sur bruit médiocre (fichier source).

Finalement, on peut encore tenir compte de l’observation faite à la fin du§8.2.4 et former d’un signal u(k) dont le spectre Φu(ω) est riche aux fréquencesoù la sensibilité de la fonction de transfert aux variations des paramètres estélevée. Dans le cas de l’exemple, et en raisonnant dans le domaine ananlogique,supposant que le système est d’ordre 1 fondamental (un gain K et une constantede temps T ), la sensibilité de la fonction de transfert

– au paramètre K sera maximale en régime permanent constant, car

arg max{

d

dK

[1

1 + j · ω · T

]}= 0

[rads

]– au paramètre T sera maximale à la pulsation ω = 1

T, valeur obtenue résol-

vant

arg max{d

dT

[K

1 + j · ω · T

]}Comme les identifications précédentes ont montré que

1

T= −1

h· log (−a1) ≈ −1

h· log (−a1) = − 1

0.001· log (0.9) ≈ 105

[rads

]on peut introduire dans u(k) une composante périodique de pulsation ω =105

[ rads

].

Chapitre 8 : Identification, v.1.8 305 mee \cours_rn.tex\12 avril 2005

Page 34: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

Les figures 8.30 et 8.31 montrent les résultats obtenus. Malgré un rapport signalsur bruit médiocre comme dans le dernier cas traité, les résultats sont nettementmeilleurs, comme les variances en témoignent :

cov b1 ≈ 0.006

cov a1 ≈ 0.007

0 0.01 0.02 0.03 0.04 0.05 0.060

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

t [s]

y G(z

), yG

est(z

)| v=0, y

Ges

t(z)| v≠

0

Réponses du système réel et du modèle, avec et sans bruit. a1=−0.90484 b

1=0.095163 a

1est=−0.90586 b

1est=0.094001

G(z)G

est(z)

v≠0G

est(z)

v=0

Fig. 8.30 – Réponse du modèle obtenu avec rapport signal sur bruit médiocremais une excitation adaptée aux paramètres à identifier (fichier source).

Chapitre 8 : Identification, v.1.8 306 mee \cours_rn.tex\12 avril 2005

Page 35: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

10 20 30 40 50 60

0

0.5

1

1.5

2

Output number 1

Fig. 8.31 – Illustration de la dispersion des paramètres du modèle obtenu avecun rapport signal sur bruit médiocre (comme pour le cas des figures 8.27 page 303et 8.29 page 305) mais avec un signal d’entrée u(k) excitant les fréquences où lafonction de transfert est le plus sensible aux variations des paramètres (fichier source).

8.2.5 Inversibilité de la matrice RN

Le produit matriciel−→ϕ (k) · −→ϕ (k)T

est le produit d’un vecteur colonne et d’un vecteur ligne. Le résultat est unematrice carrée, de dimension n × n. Il en est par conséquent de même de lasomme

RN =

[1

N−1∑k=0

−→ϕ (k) · −→ϕ (k)T

]qui doit être inversible, i.e. non singulière. A ce stade, il vaut la peine de remarquerque les éléments de la matrice RN ne sont autres que des termes du type

[RN ]ij =1

N−1∑k=0

y(k − i) · y(k − j)

i.e. chaque élément est une estimation des fonctions de covariance de u(k) et dey(k).

Chapitre 8 : Identification, v.1.8 307 mee \cours_rn.tex\12 avril 2005

Page 36: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

8.A Structure ARMAX

8.A.1 Préambule

Dans ce paragraphe, on s’intéresse à l’identification des paramètres d’un mo-dèle de structure ARMAX : un système dynamique linéaire discret de fonction detransfert G(z), régi par une équation aux différences (8.3), est soumis à 2 entrées

– u(k), déterministe, contrôlée (imposable par l’utilisateur)– e(k), stochastique, traduisant le fait que la sortie brute du système dyna-

mique linéaire discret G(z) = B(z)A(z)

, dont on recherche les paramètres, estaffectée d’un bruit filtré v(k)

et une sortie y(k). u(k) influence y(k) par le biais d’une dynamique condenséedans la fonction de transfert G(z) = B(z)

A(z)et e(k) par le bruit filtré v(k) via la

fonction de transfert H(z) = C(z)A(z)

(figure 8.32).

1s

y ( k )u ( k )

f _ 0 8 _ 0 3 . e p s

S

e ( k )

v ( k )

A ( z )C ( z )

A ( z )B ( z )

Fig. 8.32 – Modèle de structure ARMAX (fichier source).

Il s’agit, connaissant N points de l’entrée contrôlée u(k−1) . . . u(k−N) et dela sortie mesurée y(k−1) . . . y(k−N) de trouver les paramètres

−→θ des polynômes

A(z), B(z) et C(z) minimisant l’erreur de prédiction

ε(k) = y(k)− y(k,−→θ )

La difficulté réside dans le fait contrairement au cas de la structure ARX, les pa-ramètres minimisant l’erreur de prédiction ε(k) ne peuvent se calculer simplementpar une régression linéaire de type (8.6), mais doivent être obtenus itérativement,par exemple par la méthode du gradient (§ 8.A.3 page 312).

Chapitre 8 : Identification, v.1.8 308 mee \cours_rn.tex\12 avril 2005

Page 37: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

8.A.2 Recherche des paramètres d’un modèle ARMAX

L’opérateur q−1

Afin d’alléger la notation et faciliter les calculs, on fait usage de l’opérateurde décalage

q

défini comme suit [1]q−d · x(k) = x(k − d)

où d ∈ N est un entier naturel. La fonction réalisée par cet opérateur est identiqueà z−1, l’avantage résidant dans le fait qu’il s’applique directement aux signauxtemporels et non pas à leurs transformées en z. On a alors :

A(q) = 1 + a1 · q−1 + a2 · q−2 + · · ·+ ana · q−na

B(q) = b1 · q−1 + b2 · q−2 + · · ·+ bnb · q−nb

C(q) = 1 + c1 · q−1 + c2 · q−2 + · · ·+ cnc · q−nc

L’équation aux différences (8.4) peut alors être réécrite sous la forme :

A(q) · y(k) = B(q) · u(k) + C(q) · e(k)

Estimation de y(k)

On peut montrer qu’un estimateur y(k, θ) correspondant à une structure quel-conque est donné par [[12], (3.20) p.56, (4.6) p.70] :

y(k, θ) =G(q)

H(q)· u(k) +

[1− 1

H(q)

]· y(k)

Dans le cas de la structure ARMAX (figure 8.32 page précédente), on démontreci-dessous ce résultat. On a ([[12], pp.73-74]) :

v(k) =C(q)

A(q)· e(k) =

1 + c1 · q−1 + c2 · q−2 + · · ·+ cnc · q−nc

1 + a1 · q−1 + a2 · q−2 + · · ·+ ana · q−na· e(k)

qui correspond à l’équation aux différences :

v(k) + a1 · v(k − 1) + . . .+ ana−1 · v(k − na + 1) + ana · v(k − na)

= e(k) + c1 · e(k − 1) + . . .+ cnc−1 · e(k − nc + 1) + cnc · e(k − nc)

Chapitre 8 : Identification, v.1.8 309 mee \cours_rn.tex\12 avril 2005

Page 38: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

La meilleure prédiction de v(k) de v(k) ne peut s’appuyer que sur les valeurspassées de e(k) et v(k) :

v(k) =C(q)

A(q)· e(k − 1)

= v(k)− C(q)

A(q)· e(k)

= v(k)− A(q)

C(q)· v(k)

=

(1− A(q)

C(q)

)· v(k)

On en déduit :

y(k) =B(q)

A(q)· u(k) + v(k)

=B(q)

A(q)· u(k) +

(1− A(q)

C(q)

)· v(k)

=B(q)

A(q)· u(k) +

(1− A(q)

C(q)

)·(y(k)− B(q)

A(q)· u(k)

)=B(q)

A(q)· u(k) +

(1− A(q)

C(q)

)· y(k)−

(1− A(q)

C(q)

)· B(q)

A(q)· u(k)

d’où :

y(k, θ) =B(q)

C(q)· u(k) +

[1− A(q)

C(q)

]· y(k) (8.8)

Pseudo régression linéaire

On peut présenter (8.8) sous la forme :

C(q) · y(k, θ) = B(q) · u(k) + [C(q)− A(q)] · y(k) (8.9)

En additionnant [1− C(q)] · y(k, θ) aux 2 membres de cette expression, on a :

y(k, θ) = B(q) · u(k) + [1− A(q)] · y(k) + [C(q)− 1] · [y(k)− y(k, θ)]

Avec l’introduction de l’erreur de prédiction

ε(k, θ) = y(k)− y(k, θ)

Chapitre 8 : Identification, v.1.8 310 mee \cours_rn.tex\12 avril 2005

Page 39: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

des vecteurs

−→ϕ (k, θ) =

−y(k − 1)−y(k − 2)

. . .−y(k − na)u(k − 1)u(k − 2). . .

u(k − nb)ε(k − 1, θ)ε(k − 2, θ)

. . .ε(k − nc, θ)

et

−→θ =

a1

a2

. . .ana

b1b2. . .bnb

c1c2. . .cnc

on a :

y(k, θ) = −→ϕ (k, θ)T · θ

Il ne s’agit malheureusement pas d’une régression linéaire (on parle de régressionpseudo-linéaire) et en conséquence, une solution analytique visant à trouver lejeu de paramètre

−→θ minimisant

VN

(−→θ , yN(k), uN(k)

)=

1

N−1∑k=0

1

2· ε(k)2

=1

N−1∑k=0

1

y(k)−−→ϕ (k, θ)T ·−→θ︸ ︷︷ ︸

ε(k)

2

(8.10)

n’existe pas. Il faut alors recourir a une solution numérique. On propose d’étudierci-après la méthode dite de descente de gradient.

Chapitre 8 : Identification, v.1.8 311 mee \cours_rn.tex\12 avril 2005

Page 40: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

8.A.3 Descente de gradient

La descente de gradient consiste à évaluer, partant d’un jeu de paramètresinitial

−→θ 0, le gradient de la fonction (8.10) par rapport aux paramètres du vecteur

−→θ :

∂VN

∂aj

∂VN

∂bj∂VN

∂cj

On construit ensuite le point de travail suivant−→θ 1 retranchant à

−→θ 0 la quantité

∂VN

∂aj·∆aj

∂VN

∂bj·∆bj

∂VN

∂cj·∆cj

et en répétant la procédure p fois de façon à ce que

VN

(−→θ p, yN(k), uN(k)

)soit minimum.

Dans le cas d’une structure ARMAX décrite par (8.9), on peut tout d’abordécrire :

C(q) · ∂y(k,−→θ )

∂aj

= −y(k − j)

C(q) · ∂y(k,−→θ )

∂bj= u(k − j)

C(q) · ∂y(k,−→θ )

∂cj+∂C(q)

∂cj︸ ︷︷ ︸q−j

·y(k,−→θ ) =

∂C(q)

∂cj︸ ︷︷ ︸q−j

·y(k)

︸ ︷︷ ︸y(k−j)

puis finalement :

∂y(k,−→θ )

∂aj

= − 1

C(q)· y(k − j)

∂y(k,−→θ )

∂bj=

1

C(q)· u(k − j)

∂y(k,−→θ )

∂cj= − 1

C(q)· q−j · y(k,

−→θ ) +

1

C(q)· y(k − j) =

1

C(q)· ε(k − j,

−→θ )

Chapitre 8 : Identification, v.1.8 312 mee \cours_rn.tex\12 avril 2005

Page 41: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

L’évaluation de

∂VN

∂aj

∂VN

∂bj∂VN

∂cj

donne :

∂VN

∂aj

=

2·ε(k,−→θ )︷︸︸︷

∂VN

∂ε·

−1︷︸︸︷∂ε

∂y· ∂y∂aj

= − 1

N−1∑k=0

∂y

∂aj

=1

N−1∑k=0

1

C(q)· y(k − j) · ε(k,

−→θ )

∂VN

∂bj=∂VN

∂ε· ∂ε∂y

· ∂y∂bj

= − 1

N−1∑k=0

∂y

∂bj= − 1

N−1∑k=0

1

C(q)· u(k − j) · ε(k,

−→θ )

∂VN

∂cj=∂VN

∂ε· ∂ε∂y

· ∂y∂cj

= − 1

N−1∑k=0

∂y

∂cj= − 1

N−1∑k=0

1

C(q)· ε(k − j,

−→θ ) · ε(k,

−→θ )

En introduisant

−→ϕ (k,−→θ ) =

−y(k − 1)−y(k − 2)

. . .−y(k − na)u(k − 1)u(k − 2). . .

u(k − nb)ε(k − 1)ε(k − 2). . .

ε(k − nc)

Chapitre 8 : Identification, v.1.8 313 mee \cours_rn.tex\12 avril 2005

Page 42: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

ainsi que

ψ(k,−→θ ) =

∂y∂a1∂y∂a2

. . .∂y

∂ana∂y∂b1∂y∂b2

. . .∂y

∂bnb∂y∂c1∂y∂c2

. . .∂y

∂cnc

on peut encore écrire :

ψ(k,−→θ ) =

1

C(q)· −→ϕ (k,

−→θ ) (8.11)

Un algorithme de recherche des paramètres−→θ minimisant VN(

−→θ ) est le sui-

vant [[12], eq. (10.41)] :

−→θ

(i+1)

N =−→θ

(i)

N − µN ·R(i)N

−1· V ′

N(−→θ

(i)

N ) (8.12)

avec

V ′N(−→θ ) = − 1

N−1∑k=0

ψ(k,−→θ ) · ε(k,

−→θ ) (8.13)

avec VN(−→θ N) selon (8.10) et ψ(k,

−→θ ) selon (8.11).

R(i)N est une matrice de dimension na + nb + nc modifiant la direction de

recherche et choisie dans un premier temps égale à la matrice identité, faisant de(8.12) une méthode de descente de gradient.

Si l’on prend en compte la double dérivée de VN(−→θ N), i.e. le hessien de

VN(−→θ N), on peut affiner la direction de recherche en tenant compte de l’évo-

lution du gradient V ′N(−→θ ) [[12], éq. (10.44)] :

V ′′N(−→θ ) =

1

N−1∑k=0

ψ(k,−→θ ) · ψ(k,

−→θ )T − 1

N−1∑k=0

ψ′(k,−→θ ) · ε(k,

−→θ ) (8.14)

AvecR

(i)N = V ′′

N(−→θ )

Chapitre 8 : Identification, v.1.8 314 mee \cours_rn.tex\12 avril 2005

Page 43: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

(8.12) est une méthode Newton. Lorsque l’on est proche du minimum de V ′N(−→θ ),

on peut admettre [[12], éq. (10.46)] que

V ′′N(−→θ ) ≈ 1

N−1∑k=0

ψ(k,−→θ ) · ψ(k,

−→θ )T (8.15)

Implantation en langage MATLAB

%−−−−−−−−−−−−−−−Mesuresload usc1_is1 . datmesures = usc1_is1 ;

%Troncage des mesuresind = find ( mesures ( : , 4 )<0 ) ;ind = max( ind ) ;

mesures = mesures (1 : ind , : ) ;t = mesures ( : , 1 ) ; %instants d’ echantil lonnageu = mesures ( : , 4 ) ; %signal d’ entree ( deterministe )y = mesures ( : , 5 ) ; %signal de sort iey = y − y ( 1 ) ; %enleve o f f se tN = length ( y ) ; %longueur echanti l lon de mesures

to l2 = 1 e−3; %tolerance a partir de laque l l e on t rava i l l e avec le HessienNBITER = 100 ; %nb d’ i terat ions

%Nb de parametres a estimer pour les polynomes A(q ) , B(q ) et C(q)na = 2;nb = na ;nc = na ;nk = 1; %retard pur entree sort ien = max( [ na , nb , nc ] ) ;theta = zeros ( na+nb+nc , 1 ) ; %vecteur des parametres a estimer

%Insertion de u(−n) . . . u(−1) et y(−n) . . . u(−1) dans u(k ) et y(k)u = [ zeros ( n , 1 ) ; u ] ;y = [ zeros ( n , 1 ) ; y ] ;

yest = [ zeros ( n , 1 ) ; zeros (N, 1 ) ] ; %estimation de yt = [0 : length ( yest )−1] ’;␣␣␣␣␣␣␣␣% vecteur ␣temps

%Parametre de la routine de recherche du minimum selon (6)VN = zeros (NBITER, 1 ) ; %1/N∗somme du carre de 0.5∗ erreur de predictionVN(1) = 1 e5 ; %Valeur in i t i a l e mise a l ’ in f in i ou presqueRN = eye ( na+nb+nc ) ; %direction de recherche , i n i t i a l i s a t i on pour methode de descente de gradientmuN = 0 .01 ; %pas de calcul i n i t i a l pour la recherche

%test avec ARMAXMATLAB ( ce que l ’ on aimerait reussir a faire nous−memes avec ce f i ch ier . . . )th_armax = armax ( [ y , u ] , [ na , nb , nc , nk ] )

%Conditions in i t i a l e s : modele ARX, dont la solution analytique exis te , donc%implantable par nous . . .th_arx = arx ( [ y , u ] , [ na , nb , nk ] ) ;A = th_arx .A;B = rem_zero ( th_arx . B) ;C = [1 , zeros (1 , nc ) ] ; %C est i n i t i a l i s e a q^(−nc)

%backup des polynomes estimesA_1 = A;B_1 = B;C_1 = C;

%Autre condition in i t i a l e poss ib les ( plus quelconques )A = [1 , zeros (1 , na ) ] ;B = ones (1 , nb )∗0 . 01 ;%A = [1,−1.5,0.76];%B = [0.0097,−0.0057];%C = [1,−1.2,0.65];

%Formation du vecteur de parametre i n i t i a ltheta = [A(2 : na+1),B, C(2:1+ nc ) ] ’ ;p = 2 ; %compteur d’ i terat ion

while ( ( p<NBITER))VNp = zeros ( na+nb+nc , 1 ) ; %in i t i a l i s a t i on du gradient de VNVNpp = zeros ( na+nb+nc ) ; %in i t i a l i s a t i on du Hessien de VN

%Calcul de l ’ estimation avec les parametre theta actuels selon (2)yhat ( n+1:n+N) = dlsim (B,C, u( n+1:n+N)) + dlsim (C−A,C, y( n+1:n+N) ) ;%Residus ( erreur de prediction )eps i l on = y − yhat ;

Chapitre 8 VNIdentification, v.1.8315 mee \cours_rn.tex\12 avril 2005

Page 44: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

%Somme des carres de l ’ erreur de predictionVN(p) = 1/N∗sum(0 .5∗ eps i l on .^2) ; %selon (4)

[ p ,VN(p) − VN(p−1)]

%Si la somme des carres croit au l ieu de decroitre , on restaure les%parametres precedents et l ’ on change muN ( comment ?)i f ( ( VN(p) − VN(p−1))>0)

A = A_1;B = B_1;C = C_1;theta = [A(2 : na+1),B, C(2:1+ nc ) ] ’ ;muN = 0.001 ;yhat ( n+1:n+N) = dlsim (B,C, u( n+1:n+N)) + dlsim (C−A,C, y( n+1:n+N) ) ;eps i l on = y − yhat ;VN(p) = 1/N∗sum(0 .5∗ eps i l on .^2) ;

end%Calcul de phi , psi , du gradient et du Hessien avec le jeu de%parametres actuel

for k=n+1:n+Nphi = [− y( k−1:−1:k−na ) ’ , u( k−1:−1:k−nb) ’ , eps i l on ( k−1:−1:k−nc ) ’ ] ’ ;ps i = dlsim ( [ 1 , zeros (1 , nc ) ] , C, phi ) ; %selon (5)VNp = VNp − psi ∗ eps i l on ( k)/N; %selon (7)VNpp = VNpp + psi ∗psi ’/N; %selon (9)

end

%Passage au Hessien si l ’ on est tres proche du minimum et si la%variation de VN est negativei f ((−(VN(p) − VN(p−1))< to l2 )&((VN(p) − VN(p−1))<0))

RN = VNpp;% muN = 0.01;

disp ( ’ Hessien ’ )else

RN = eye ( na+nb+nc ) ; %methode de descente de gradientend%Calcul des parametres correspondant a l ’ i terat iontheta = theta − muN∗ inv (RN)∗VNp %selon (6)

%backup des parametre precedentsA_1 = A;B_1 = B;C_1 = C;

%Formation des polynomes A, B, CA = [1 , theta (1 : na ) ’ ] ;B = theta ( na+1:na+nb) ’ ;C = [1 , theta ( na+nb+1:na+nb+nc ) ’ ] ;p = p + 1; %variable d’ i terat ion

end

figureplot (VN(2 : NBITER) , ’ o ’ )t i t l e ( ’ Evolution ␣du␣ gradient ’ )

Les résultats sont sur les figures 8.33 page ci-contre et 8.34 page 318.

Chapitre 8 : Identification, v.1.8 316 mee \cours_rn.tex\12 avril 2005

Page 45: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

0 10 20 30 40 50 60 70 80 90 1000

0.5

1

1.5

2

2.5

3

3.5

4

4.5

No itération

Evolution du gradient

f_test_armax_01_1.eps

Fig. 8.33 – Evolution de la descente du gradient, pour NBITER=100 itérations(fichier source).

Chapitre 8 : Identification, v.1.8 317 mee \cours_rn.tex\12 avril 2005

Page 46: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

0 10 20 30 40 50 60−4

−2

0

2

4

6

y(k)

, yes

t(k)

yy

est

0 10 20 30 40 50 60−20

−10

0

10

20

k

u(k)

f_test_armax_01_2.eps

Fig. 8.34 – En haut : mesure y(k) et estimation y(k), après p = 100 itérations.En bas : signal d’entrée u(k) (fichier source).

Chapitre 8 : Identification, v.1.8 318 mee \cours_rn.tex\12 avril 2005

Page 47: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

8.B Rappel de théorie des probabilités [9]

8.B.1 Processus, signaux et variables aléatoires

Un processus aléatoire, ou stochastique, est une famille de signaux {x(t)} denatures aléatoires [[9], §5.1.1]. Un signal x(t) est aléatoire s’il dépend des lois duhasard.

Une variable aléatoire est la valeur prise par un signal aléatoire à un instantti ; on la désigne par xi [[9], §5.1.4].

8.B.2 Fonction de répartition et densité de probabilité [[9],§14.2]

Le comportement statistique de la variable aléatoire xi est défini par sa densitéde probabilité p(x) et/ou sa fonction de répartition F (x).

La fonction de répartition F (x) associée à une variable aléatoire xi est lafonction permettant de calculer la probablité que xi soit inférieure ou égale à unecertaine valeur x :

F (x) = Prob [xi ≤ x]

La densité de probabilité p(x) n’est autre que la dérivée de F (x) par rapport àx. On a :

Prob [x1 ≤ xi ≤ x2] =

∫ x2

x1

p(xi) · dxi

Des formes bien connues de densités de probabilité sont les distributions [[9],§14.4]

– uniforme :

p(x) =1

b− a· (ε(x+ a)− ε(x− b))

avec µx = 12· (b+ a) et σ2

x = (b−a)2

12

– gaussienne :

p(x) =1√

2 · π · σx

· exp

[−(x− µx)

2

2 · σ2x

]

8.B.3 Espérance mathématique, moyenne et variance

La valeur moyenne statistique de la variable aléatoire xi est donnée par l’es-pérance mathématique E [xi] de xi [[9], §14.3] :

µx = E [xi] =

∫ +∞

−∞xi · p(xi) · dxi

Chapitre 8 : Identification, v.1.8 319 mee \cours_rn.tex\12 avril 2005

Page 48: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

La mesure de la dispersion de xi autour de sa valeur moyenne µx est la variance :

σ2x = E

[(xi − µx)

2] =

∫ +∞

−∞(xi − µx)

2 · p(xi) · dxi

8.B.4 Fonctions d’autocorrélation et d’autocovariance [[9],§5.2]

La fonction d’autocorrélation du processus stochastique {x(t)} est donnée parl’espérance du produit de 2 variables aléatoires obtenues par exemple aux instantst et t+ τ :

Rx(τ) = E [x(t) · x(t+ τ)]

La fonction d’autocovariance se définit de la même manière, seuls les écarts entreles variables aléatoires x(t) et x(t+ τ) et leur moyenne µx étant toutefois pris encompte :

Cx(τ) = E [(x(t)− µx) · (x(t+ τ)− µx)] = Rx(τ)− µ2x

Pour µx = 0, on a Rx(τ) = Cx(τ).La fonction d’intercorrélation statistique peut également être définie :

Rxy(τ) = E [x(t) · y(t+ τ)]

Si x(t) et y(t) ne sont pas corrélés, alors Rxy(τ) = 0.

8.B.5 Stationnarité et ergodisme [[9], §5.1.11 et §5.1.13]

Un processus stochastique est stationnnaire si ses propriétés statistiques (parexemple µx et σx) sont invariantes dans le temps. On admet pour la suite queles processus aléatoires considérés sont stationnaires. De plus, on admet qu’ilssont ergodiques, ce qui signifie que les espérances mathématiques (ou moyennesstatistiques) de type

E [f(x)] =

∫ +∞

−∞f(x) · p(x) · dx

peuvent être identifiées à des moyennes temporelles telles que

f(x(t)) = limT→∞

1

T·∫ +T/2

−T/2

f(x(t)) · dt

Donc, avec l’hypothèse d’ergodicité, on a :

E [f(x)] = f(x(t))

Chapitre 8 : Identification, v.1.8 320 mee \cours_rn.tex\12 avril 2005

Page 49: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

La fonction d’autocorrélation d’un processus stochastique ergodique peut ainsise calculer comme suit :

Rx(τ) = E [x(t) · x(t+ τ)] = x(t) · x(t+ τ) = limT→∞

1

T·∫ +T/2

−T/2

x(t) · x(t+ τ) · dt

Son évaluation expérimentale ne peut bien sûr s’effectuer que pour une durée Tfinie, typiquement en échantillonnant le signal x(t) considéré :

RNx (k) =

1

N−1∑l=0

x(l + k) · x(l)

Chapitre 8 : Identification, v.1.8 321 mee \cours_rn.tex\12 avril 2005

Page 50: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

8.C Transformée de Fourier de signaux discrets[[9] et [16]]

8.C.1 Transformée de Fourier d’un signal discret

8.C.2 Définition

Par définition, la transformée de Fourier d’un signal discret x(k) est donnéepar :

X (j · ω) = F{x (k)} =+∞∑

k=−∞

x (k) · e−j·ω·k·h (8.16)

Elle est à mettre en regard de la transformée de Fourier de signaux analogiques,

Xa (j · ω) = F{xa (t)} =

+∞∫−∞

xa (t) · e−j·ω·t · dt

ce qui montre qu’elle est une simple adaptation à la nature discrète de x(k).La transformée de Fourier inverse s’écrit :

x (k) = F−1{X (j · ω)} =

+ωe2∫

−ωe2

X (j · ω) · e+j·ω·k·h · dω

8.C.3 Transformée de Fourier d’un signal de durée finie

Dans le cas expérimental, le signal discret transformé selon (8.16) est forcé-ment un signal de durée finie xN(k), provenant par exemple de l’échantillonnagerégulier du signal analogique xa(t) entre les instants k0 · h et (k0 +N − 1) · h. Ona :

x(k) = xa(t)|t=k·h

xN(k) = x(k) · (ε(k − k0)− ε(k − k0 −N)) = x(k) · rect (k − k0, N)

Du fait du nombre fini N d’échantillons, la transformée de Fourier peut s’écrire :

XN (j · ω) = F{xN (k)} =

k0+N−1∑k=k0

xN (k) · e−j·ω·k·h

On note que F{xN (k)} = XN (j · ω) est à ce stade une fonction continue de lavariable ω, laquelle peut ainsi varier de manière continue. La figure 8.35 pageci-contre le montre le résultat de la transformée d’une période d’un signal carré,évaluée selon (8.16) pour un grand nombre de valeurs de ω.

Chapitre 8 : Identification, v.1.8 322 mee \cours_rn.tex\12 avril 2005

Page 51: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

0 1 2 3 4 5 6 7 8 9 10−1

−0.5

0

0.5

1

u(t)

t [s]

fsignal

=0.1[Hz], fe=1.6[Hz], N

f=512, ∆f=f

e/N

f=0.003125[Hz]

0 0.5 1 1.5 2 2.5 3 3.5 4 4.50

0.5

1

1.5

2

2.5

3

|U(jω

)|

f [Hz]

f_fourier_carre_03_1.eps

Fig. 8.35 – Module de la transformée de Fourier, i.e. spectre d’amplitude d’unepériode d’un signal carré discret, évalué pour un grand nombre de valeurs def = ω

2·π . On note la périodicité (période fe = 1h

= 1.6 [Hz]) du spectre d’amplitude(fichier source).

8.C.4 Propriétés

Comme la figure 8.35 le laisse présager, X (j · ω) = F{x (k)} est une fonctionpériodique de période ωe = 2·π

h, puisqu’en effet

X (j · (ω + ωe)) =+∞∑

k=−∞

x (k) · e−j·(ω+ωe)·k·h

=+∞∑

k=−∞

x (k) · e−j·ω·k·h · e−j·ωe·k·h︸ ︷︷ ︸1

=X (j · ω)

ce qui signifie qu’on peut se contenter de l’évaluer et de la représenter sur unepériode ωe. D’autre part, le module |X (j · ω)| de X(j ·ω) est une fonction paire,car

|X (−j · ω)| = |X ((j · ω)∗)| = |X∗ (j · ω)| = |X (j · ω)|pour autant que le signal x(k) soit réel. En conséquence, il est suffisant de repré-senter |X (j · ω)| dans la gamme de pulsations 0

[ rads

]< ω < ωe

2(figure 8.36 page

suivante).

Chapitre 8 : Identification, v.1.8 323 mee \cours_rn.tex\12 avril 2005

Page 52: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

0 1 2 3 4 5 6 7 8 9 10−1

−0.5

0

0.5

1

u(t)

t [s]

fsignal

=0.1[Hz], fe=1.6[Hz], N

f=512, ∆f=f

e/N

f=0.003125[Hz]

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.80

0.5

1

1.5

2

2.5

3

|U(jω

)|

f [Hz]

f_fourier_carre_01_1.eps

Fig. 8.36 – Module de la transformée de Fourier d’une période d’un signal carrédiscret, évaluée pour un grand nombre de valeurs de ω. Du fait de la périodicitéde période fe de X (j · ω) et de la parité de |X (j · ω)|, l’affichage du spectred’amplitude peut être limité à la zone de fréquences 0 . . . fe

2(fichier source).

8.C.5 Transformée de Fourier discrète (TFD)

8.C.6 Discrétisation de l’axe des fréquences

Reprenant la définition de la transformée de Fourier d’un signal de durée finiexN(k), on note que bien que le signal original xN(k) soit de nature discrète, satransformée de Fourier XN (j · ω) = F{xN (k)} est une fonction de la variablecontinue ω. L’évaluation la transformée de Fourier est donc possible pour toutω. Pour des raisons pratiques [[16], §3.2.2], on doit toutefois se contenter d’uneversion échantillonnée de la fonction XN(j · ω), laquelle est obtenue en discré-tisant l’axe des pulsations. On n’évalue et/ou on ne dispose donc de XN(j · ω)qu’à intervalles réguliers ∆ω plutôt que de manière continue (figure 8.37 pagesuivante).

8.C.7 Définition de la TFD

L’échantillonnage de la fonction XN(j ·ω) sur une période complète entre −ωe

2

et +ωe

2produit ainsi P = ωe

∆ωnombres XN(n) :

XN (j · n ·∆ω)|−P2≤n<+P

2= XN (n)|−P

2≤n<+P

2

Chapitre 8 : Identification, v.1.8 324 mee \cours_rn.tex\12 avril 2005

Page 53: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

−0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.80

0.5

1

1.5

2

2.5

3

fsignal

=0.1[Hz], fe=1.6[Hz], N

f=512, ∆f=f

e/N

f=0.003125[Hz], P=64

|U(jf

)| et

|UN

(n)|

f [Hz]

f_fourier_carre_04_2.eps

Fig. 8.37 – Module de la transformée de Fourier d’une période d’un signal carrédiscret et sa version échantillonnée dans le domaine des fréquences : ici, on limitela représentation du spectre d’amplitude a P = 64 points répartis entre −fe

2et

+fe

2− fe

P(fichier source).

La suite de P nombres XN(n) représente la transformée de Fourier discrètede xN(k), abrégée ci-après TFD.

8.C.8 Conséquence de la discrétisation de la transforméede Fourier

Il va sans dire que la discrétisation de la transformée de Fourier n’est pas sansconséquence puisque XN(j · n · ∆ω) ne représente que partiellement XN(j · ω).Pour évaluer l’éventuelle perte d’information qui en résulte, on peut calculer latransformée de Fourier inverse xp(k) deXN(n) selon la relation (8.17) et compareravec le signal original xN(k). Sans entrer dans les détails de calcul (voir [[16],§3.2.10]), le résultat que l’on obtient en s’appuyant sur (8.17) est le suivant :

xp (k) = F−1{XN (n)} = . . . =+∞∑

l=−∞

xN (k + l · P )

Alors que XN(j · ω) est la transformée de Fourier (exacte) de xN(k), la TFDXN(n) de xN(k) est la transformée de Fourier exacte d’un signal périodique xp(k)de période P · h formé de la superposition de xN(k) tous les P échantillons.

Chapitre 8 : Identification, v.1.8 325 mee \cours_rn.tex\12 avril 2005

Page 54: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

Si P ≥ N , la superposition ne crée aucun recouvrement et la somme xp (k) =+∞∑

l=−∞x (k + l · P ) revient à juxtaposer le signal xN(k) tous les P échantillons.

8.C.9 Echantillonnage minimal de la transformée de Fou-rier

On peut en déduire le nombre P = ωe

∆ωd’échantillons à prélever sur la trans-

formée de Fourier XN(j · ω) pour former la TFD XN(n). En se rappelant quex(k) est de longueur N , on voit qu’il est indispensable que P ≥ N , le cas limiteP = N étant suffisant. En le choisissant, l’expression de la TFD est ainsi

XN (n)|−N2≤n<+N

2= XN (j · n ·∆ω)|−N

2≤n<+N

2=

k0+N−1∑k=k0

x (k) · e−j·n·∆ω·k·h

Dans un tel cas de figure, une période de xp(k) coïncide parfaitement avecxN(k) prélevé précédemment sur xa(t) et aucune information n’est perdue. End’autres termes, calculer la TFD de xp(k) ou celle de xN(k) donne le mêmerésultat.

−0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.80

0.5

1

1.5

2

2.5

3

fsignal

=0.1[Hz], fe=1.6[Hz], ∆f=f

e/N=0.1[Hz], P=N=16

|U(jf

)| et

|UN

(n)|

f [Hz]

f_fourier_carre_05_2.eps

Fig. 8.38 – Echantillonnage de la transformée de Fourier d’une période d’unsignal carré (N = 16 échantillons). La TFD est également échantillonnée avecN = 16, soit le cas limite pour éviter le recouvrement (fichier source).

En pratique, on échantillonne donc la période ωe de XN(j ·ω) au moins autantde fois que l’on a prélevé d’échantillons sur xa(t) afin d’obtenir N nombres XN(n)

Chapitre 8 : Identification, v.1.8 326 mee \cours_rn.tex\12 avril 2005

Page 55: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

(figure 8.38 page ci-contre) avec

XN(n) = XN(j · n ·∆ω) pour −N/2 ≤ n < +N/2.

La résolution ∆ω de l’axe des pulsations s’en déduit immédiatement :

∆ω =ωe

N

Sachant queXN(j·ω) est périodique de période ωe et que l’on peut en conséquencelimiter son affichage à la plage −ωe

2, . . .+ ωe

2, les N valeurs de ω sont :

−N2·∆ω, . . . ,−∆ω, 0,+∆ω,+2 ·∆ω, . . .+

(N

2− 1

)·∆ω

Le simple fait de songer à la TFD de xN(k) suppose donc que le signal xN(k)est périodique de période N · h ! On pouvait d’ailleurs le pressentir en relevantnotamment que le module |XN(j · ω)| de XN(n) n’est pas sans rappeler le spectrede raies d’un signal analogique périodique (figure 8.39).

0 1 2 3 4 5 6 7 8 9 10−1

−0.5

0

0.5

1

u(t)

t [s]

fsignal

=0.1[Hz], fe=1.6[Hz], N=16, ∆f=f

e/N=0.1[Hz]

−0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.80

0.5

1

1.5

2

2.5

3

|U(jω

)|

f [Hz]

f_fourier_carre_02_1.eps

Fig. 8.39 – Transformée de Fourier d’une période d’un signal carré (N = 16échantillons). La TFD est également échantillonnée avec N = 16, soit le caslimite pour éviter le recouvrement. L’affichage est limité à la zone de fréquences−fe

2. . . fe

2− fe

N(fichier source).

La conséquence évidemment importante est qu’avec un outil tel que la TFD,seuls des signaux périodiques de période N · h et ses sous-multiples peuvent

Chapitre 8 : Identification, v.1.8 327 mee \cours_rn.tex\12 avril 2005

Page 56: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

être transformés sans erreur. Pour les signaux non périodiques, les techniques defenêtrage (Hamming, Hanning, etc) permettent de limiter les inexactitudes [[16],§3.7].

8.C.10 Inversion de la TFD

Partant de la TFD XN(n), la formule d’inversion est :

xp (k) = F−1{XN (n)} =

+N2−1∑

n=−N2

XN(n) · e+j·n·2·π·k (8.17)

Notons que par suite de la discrétisation de la fréquence inhérente à la TFD, onn’a pas d’égalité parfaite entre xp(k) et xN(k) puisque l’on a mentionné que

xp (k) = F−1{XN (n)} = . . . =+∞∑

l=−∞

xN (k + l · P )

8.C.11 Périodogramme

On appelle périodogramme d’un signal x(k) l’expression

ΦN(ω) =1

N· |XN(ω)|2

Le périodogramme permet de mesurer les contributions des différentes fréquencesà l’énergie du signal.

Chapitre 8 : Identification, v.1.8 328 mee \cours_rn.tex\12 avril 2005

Page 57: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

8.C.12 Densité spectrale de puissance Φ(ω) ("spectre")

Dans l’optique de pouvoir traiter les signaux déterministes et les signauxaléatoires avec un outil commun [[12], §2.3], on définit ici la densité spectrale depuissance du signal x(k), appelée couramment spectre, et dénotée Φx(ω).

On appelle densité spectrale de puissance la fonction Φx(ω) telle que l’intégrale∫ ω2

ω1

Φx(ω) · dω

fournisse la puissance du signal x(k) correspondant aux pulsations comprisesentre ω1 et ω2 ([[13], §3.8 p.65]).

La densité spectrale de puissance s’applique aux signaux déterministes et aléa-toires à puissance moyenne finie, i.e. aux signaux tels que

Px = limN→∞

1

N∑k=0

x(k)2 <∞

Notons que pour les signaux déterministes à énergie finie, i.e. les signaux tels que

Wx =∞∑

k=0

x(k)2 <∞

on préfère utiliser la notion de densité spectrale d’énergie [[13], §3.8, p.66] (aussiappelée spectre !), dont il est facile de démontrer qu’elle a pour expression :

Φx(ω) = |X(ω)|2

8.C.13 Calcul de la densité spectrale de puissance de si-gnaux déterministes

On peut montrer d’une part que

Φx(ω) = F{Rx(k)} =∞∑

k=0

Rx(k) · e−j·ω·k·h

i.e., la densité spectrale de puissance est égale à la transformée de Fourier de lafonction d’autocorrélation

Rx(k) =∞∑l=0

x(l + k) · x(l)

de x(k), et d’autre part que

Φx(ω) = limN→∞

1

∣∣∣∣∣∣∣∣∣∣N∑

k=0

x(k) · e−j·ω·k·h

︸ ︷︷ ︸XN (ω)

∣∣∣∣∣∣∣∣∣∣

2

= limN→∞

1

N· |XN(ω)|2

Chapitre 8 : Identification, v.1.8 329 mee \cours_rn.tex\12 avril 2005

Page 58: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

Donc :

Φx(ω) = F{Rx(k)} = limN→∞

1

N· |XN(ω)|2 (8.18)

Lorsque la durée d’acquisition est limitée à N · h, on a :

RNx (k) =

1

N−1∑l=0

x(l + k) · x(l)

et

ΦNx (ω) = F

{RN

x (k)}

=1

N· |XN(ω)|2

On voit que la densité spectrale de puissance ΦNx (ω) coïncide avec le périodo-

gramme défini au § 8.C.11 page 328.

8.C.14 Calcul de la densité spectrale de puissance de si-gnaux aléatoires

Pour les signaux aléatoires, l’évaluation de la fonction d’autocorrélation nepeut se faire qu’en termes statistiques :

Rx(k) = E [x(l + k) · x(l)]

Sous l’hypothèse d’ergodicité (i.e. en admettant que les moyennes statistiquescoïncident avec les moyennes temporelles, § 8.B.5 page 320), on peut cependantécrire :

Rx(k) = E [x(l + k) · x(l)] = Rx(k)) = limN→∞

1

N−1∑l=0

x(l + k) · x(l)

La densité spectrale de puissance d’un signal aléatoire x(k) peut alors être calculéede manière analogue à ce qui a été fait pour les signaux déterministes et l’on peutmontrer que

Φx(ω) = F{Rx(k)} = limN→∞

E[

1

N· |XN(ω)|2

](8.19)

Si seules N valeurs sont à disposition, on a également :

ΦNx (ω) = F

{RN

x (k)}

Ces expressions mettent en lumière le parfait parallélisme entre les expressionsde la densité spectrale de puissance pour des signaux déterministes (8.18) etaléatoires (8.19).

Pour ces derniers, la densité spectrale de puissance sera plutôt évaluée enmesurant x(k), en calculant RN

x (k) avant d’obtenir ΦNx (ω). Quant aux signaux

Chapitre 8 : Identification, v.1.8 330 mee \cours_rn.tex\12 avril 2005

Page 59: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

déterministes, la même démarche est potentiellement appliquable, mais il est clairque le calcul de ΦN

x (ω) s’effectuera plus directement sur la base de la descriptionanalytique de x(k).

Relevons finalement que l’on peut montrer que ΦNx (ω) = F

{RN

x (k)}

est unestimateur non biaisé de Φx(ω) puisque [[13], §8.5, p.211]

E[ΦN

x (ω)]

= Φx(ω) +RN

où RN ∝ 1/√N .

8.C.15 Transformation du spectre par des systèmes dyna-miques linéaires

On considère le système dynamique linéaire [[12], §2.3 p.32]

Y (z) = G(z) · U(z) +H(z) · V (z)

dont la formulation dans le temps est

y(k) =∞∑l=0

g(l) · u(k − l) +∞∑l=0

h(l) · v(k − l) = g(k) ∗ u(k) + h(k) ∗ v(k)

où u(k) est un signal déterministe et v(k) un signal aléatoire de moyenne µv = 0et de variance σ2

v = λ. Alors

Φy(ω) =∣∣G(ej·ω)

∣∣2 · Φu(ω) + λ ·∣∣H(ej·ω)

∣∣2et

Φyu(ω) = G(ej·ω) · Φu(ω)

La dernière égalité provient du fait que u(k) et v(k) sont non corrélés. En consé-quence, E [u(k) · v(k + l)] = 0 et donc Φuv(ω) = 0.

Chapitre 8 : Identification, v.1.8 331 mee \cours_rn.tex\12 avril 2005

Page 60: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

Chapitre 8 : Identification, v.1.8 332 mee \cours_rn.tex\12 avril 2005

Page 61: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

Bibliographie

[1] Computer controlled systems, K. Åstrom, B.Wittenmark, 1990, Prentice-Hall, bibliothèque eivd 40.122-03

[2] Digital Control of Dynamic Systems, G.Franklin, J.Powell, M.Workman,1990, Addison-Wesley, bibliothèque eivd 40.122-19

[3] Réglages échantillonnés, vol.1, Traitement par la transformation en z, Hans-ruedi Bühler, 1986, Presses Polytechniques Romandes, bibliothèque eivd40.120-08

[4] Commande numérique de systèmes dynamiques, R.Longchamp, 1995,Presses Polytechniques Romandes, bibliothèque eivd 40.120-11

[5] Régulation automatique, L.Maret, 1987, Presses Polytechniques Romandes,bibliothèque eivd 40.110-11

[6] Réglages échantillonnés, vol.2, Traitement dans l’espace d’état, HansruediBühler, 1983, Presses Polytechniques Romandes, bibliothèque eivd 40.120-09

[7] Linear systems, Th.Kailath, 1980, Prentice-Hall, bibliothèque eivd 32.100-36[8] Régulation automatique 3, L.Maret, cours polycopié EINEV[9] Théorie et traitement des signaux, Traité d’Electricité, vol.VI, F.de Coulon,

1984, Presses Polytechniques Romandes, bibliothèque eivd 32.100-23[10] Einführung in die Regelungstechnik, W.Leonhard, Vieweg & Sohn, Braun-

schweig/Wiesbaden, 1985[11] Feedback control theory, Doyle, Francis, Tannenbaum, Maxwell Macmillan

international editions, 1992, bibliothèque eivd 40.112-04[12] System Identification, Theory for the User, Lennart Ljung, Prentice-Hall

information and system sciences series, Thomas Kailath Editor, 1987, bi-bliothèque eivd 40.162-27/02

[13] Modeling of Dynamic Systems, Lennart Ljung & Torkel Glad, Prentice-Hallinformation and system sciences series, Thomas Kailath Editor, 1994, biblio-thèque eivd 40.162-32

[14] Identifikation dynamischer Systeme, Rolf Iserman, Band I & II, Springer-Verlag, 1988, bibliothèque eivd 40.162-25/01 et 40.162-26/01

Bibliographie 333 mee \cours_rn.tex\12 avril 2005

Page 62: Chapitre 8 Identification des systèmes dynamiques linéairesphp.iai.heig-vd.ch/~mee/cours/cours_rn/chap_08/latex/chap_08.pdf · quentiel de systèmes dynamiques linéaires, deux

eivd Régulation numérique

[15] Introduction au traitement de signal, cours polycopié, F.Mudry, 1992, EI-NEV

[16] Traitement numérique des signaux, Traité d’Electricité, vol.XX, M.Kunt,1984, Presses Polytechniques Romandes

[17] Entraînements réglés, Michel Etique, cours polycopié de l’école d’ingénieursdu canton de Vaud (eivd), 2002, http://iai.eivd.ch/users/mee/

[18] Régulation automatique, Michel Etique, cours polycopié de l’école d’ingé-nieurs du canton de Vaud (eivd), 2003, http://iai.eivd.ch/users/mee/

[19] Atlas Copco Controls S.A., Socapel SAM, A Smart Axis Manager, Aboutthe PAM & SAM, Ordering Number : 025.8012.D, Rev. February 20, 1998

Bibliographie 334 mee \cours_rn.tex\12 avril 2005