Vous êtes sur la page 1sur 14

Identification des SNL par des SIF.

1) Introduction
LAutomatique consiste en ltude des systmes rels des diffrentes disciplines scientifiques
(Electronique, mcanique, thermique, chimie, cologie, iologie, conomie, sociologie,
physique, cosmologie!), en "ue de lanalyse, de la prdiction, de la sur"eillance, de la
commande, et # ou de loptimisation des systmes$ %nralement, la connaissance du modle
du systme rel (on ralise une modlisation) est ncessaire dans ltude$ &n systme est un
o'et dans lequel des "ariales de diffrents types interagissent et produisent des signau(
oser"ales$
Figure 0 : reprsentation dun systme
)our laorer un modle, deu( approches sont sou"ent considres *
+ La premire qualifie de , modlisation o-te lanche . ou de , modlisation
thorique . se fonde sur les lois physiques, chimiques, mcaniques, iochimiques,
inter"enant dans le systme$
+ La deu(ime approche dite , modlisation oite noire . ou modlisation
sattache / talir , / partir de donnes e(primentales, une relation entre les
"ariales des entres du processus et les "ariales de ses sorties et ne ncessite pas a
priori la connaissance des lois physiques$
La recherche de modles, est une proccupation ma'eure dans la plupart des disciplines
scientifiques$ Elle dsigne a la fois une dmarche scientifique et un ensemle de techniques
"isant / dterminer / partir des donnes e(primentales des modles capales de reproduire
aussi fidlement que possile le comportement dun systme physique, chimique, iologique,
conomique!
0e"ant la comple(it des systmes (non linarits, multi"ariales, paramtres "ariant dans le
temps, asence de relations physiques mises en 'eu !), le recours / des modles de type oite
noire capale de reproduire leur comportement de"ient ncessaire$ 0ans le cas des systmes
linaires, ces modles (A12, A13A2, !) ont t largement tudis et utiliss$ 4ependant,
peu de systmes physique ont un comportement linaire$ )our dcrire le comportement des
systmes non linaires des modles type oite noire / ase de rseau( de neurones et de la
logique floue ont t d"elopps$ 4es modles ont la facult de reproduire le comportement
de systmes fortement non linaires$
Identifier un processus (systme), cest chercher un modle (dynamique), appartenant / une
classe de modles connue, et qui, soumis / des signau( tests (en entre), donne une rponse
(dynamique et statique en sortie), la plus proche possile du systme rel 56ILLAI7 8 199:;$
<=<>E3E
Entres <orties
)erturations
0ans ce tra"ail, nous allons prsenter deu( mthodes de modlisation des systmes non
linaires par des systmes dinfrence floue $
?) Modlisation des Systmes Non linaires dcrits par SIF de type Mamdani
Le ut consiste / dterminer un <I@ de n rgles de type 3amdani permettant de reproduire le
comportement dun systme non linaire$
An considre un <I@ / n entres et un sortie$ Les rgles linguistiques de type 3amdani sont de
la forme *
Si x
1
est F
1
l
et . et x
n
est F
n
l

alors y est G
l
oB
l=1 M * lindice de la rgle
F
i
l
* dsigne le l
me
ensemle flou qui caractrise la i
me
"ariale dentre (
i

G
l
* dsigne le l
me
ensemle flou qui caractrise la "ariale de sortie y$
4haque rgle l reprsente une implication floue de % @ @ @
l l
n
l
?
l
1
dans lespace 1
nC1
Etant donn lentre x=(x
1
, .,x
n
), en utilisant linfrence de type Larsen (<up+produit)
La sortie de la l
me
rgle est dfinie par la fonction dappartenance
) ( ) ( ) ( ) (
1 D
1
y x x y
j j
n
j j
G
n
F F


La sortie floue gloale associe / lensemle de rgles est *
) ( ) (
D
1
y y
j

M
l

!up

oB
) ( ) ( ) ( ) (
1
1
1
y x x y
j j
n
j
G
n
F F
M
l

!up

En utilisant la dfuEEification par la mthode du centre de gra"it *

1
1
) (
) (
i
i
i
i i
y
y y
y

<i on considre que les points modau(


l
y
des "aleurs floues de la sortie %
l
(lF1, !$,3) (
1 ) (
l
G
y
l

) pour calculer le centre de gra"it(


i
i
y y
), on a
) ( ) (
i
i
y y
lquation () de"ient

M
i
i

M
i
i

i
y
y y
y
1
1
) (
) (

a"ec


n
i
i F n
F F
l

x x x y
l
i
j
n
j
1
1
) ( ) ( ) ( ) (
1

et )ar consquent, la sortie estime du systme dinfrence floue est *





M
l
n
i
i F
M
l
n
i
i F
l
x
x y
x " y
l
i
l
i
1 1
1 1
) (
) (
) ( G

a"ec
l
y
est la "aleur modale de la "aleur floue %
l
$
0ans le cas des fonctions dappartenance de type gaussien, nous a"ons *
#
a
x x
x x
y
x " y
M
l
n
i
l
i
l
i i
M
l
n
i
l
i
l
i i
l

1
1
]
1

,
_

1
1
]
1

,
_




1 1
?
1 1
?
e(p
e(p
) ( G

4ette fonction traduit une relation non linaire entre le "ecteur dentre ( et la sortie y$ Le ut
de la modlisation des systmes non linaire par le <I@ de type 3amdani consiste alors /
dterminer les paramtres de rgles (
l
y
,
l
i
x
,
l
i
, (
n i , , 1
,
M l , , 1
)) permettant de
minimiser lerreur quadratique
?
) ) ( (
?
1
d x " e
oB d dsigne la sortie dsire du systme et f(() la sortie estime par le @I<$
La modlisation dun systme non linaire par un <I@ / partir de donnes e(primentales se
dcompose en *
H Le choi( de la structure du <I@,
H Identification des paramtres du <I@,
4omme le rappelle la figure 1, lapproche est similaire / celle classique pour lidentification
de systmes linaires $
<upposons que nous a"ons les donnes entre+sortie caractrisant le comportement de
systme non linaire / modliser ((, d) oB (F((
1
,(
?
,(
I
, !, (
n
)1
n
et dF()
En utilisant lalgorithme du gradient
a) Estimation de
) ($ y
l
$
l
l l
y
e
$ y $ y

+ ) ( ) 1 (
a"ec
l
l l
%
#
d "
y
a
a
"
d "
y
e 1
) ( ) (

, lF 1,$$,3, JF1K?, Et est le pas du gradient


suppos constant$
En sustituant () dans ()
l l l
%
#
d " $ y $ y
1
) ( ) ( ) 1 ( +
) Estimation de ) ($ x
l
i
$
l
i
l
i
l
i
x
e
$ x $ x

+ ) ( ) 1 (
a"ec
?
) ( ?
) ( ) (
l
i
l
i
p
i
l
l
l
i
l
l l
i
x x
%
#
" y
d "
x
%
%
"
d "
x
e

on otient
$
l
i
l
i
p
i
l
l
l
i
l
i
x x
%
#
" y
d " $ x $ x
?
) ( ?
) ( ) ( ) 1 (


+
(?)
c) Estimation de ) ($
l
i

$
l
i
l
i
l
i
e
$ $

+ ) ( ) 1 (
En utilisant la mthode que prcdemment, on otient
$
l
i
l
i
p
i
l
l
l
i
l
i
x x
%
#
" y
d " $ $
I
?
) ( ?
) ( ) ( ) 1 (



+
(I)
Les quations (1) (?) et (I) ralise la procdure de lerreur de propogation$
<ynthse du <I@
An considre le systme non linaire discret *
y(JC1)Ff(y(J),y(J+1),!$$,y(J+nC1) Ku(J),!$,u(J+mC1))
AB
+ f est une fonction inconnues que ne "oulons identifier$
+ u et y sont les entres sorties du systmes
+ n et m sont des entiers naturels$
Il e(iste deu( structure pour identifier le systme
+ <tructure parallle *
+ <tructure <rie+)arallle
En gnral, la structure <erie#parallle est meilleure que la structure parallle$
La synthse du <I@ consiste en deu( parties
1) Initialisation des paramtres du <I@
?) Adaptation (a'ustement) en ligne des paramtres de rgles linguistiques$
Systme
Non linaire
Systme
Non linaire
Systme
Flou
Systme
Flou
u
C
+
d
yG
e
Systme
Non linaire
Systme
Non linaire
Systme
Flou
Systme
Flou
u
C
+
y
C
e
a) Initialisation des paramtres.
<upposons que nous cherchons / dterminer 3 / n entres et 1 sorties$ 0onc, on aura
(?LnC1)L3 paramtres / identifier$ )our initialiser ces paramtres, on considre les 3
premires lignes du fichier entres#sorties *
An dfinit

) ( ) ( l u M x
i
l
i


)) ( ( ) ( l u & M y
l

et
M
l u l u
M
i
M
i
i
M
i
l
i
?
)); ( ( )) ( ( 5
) (
min ma(
1 1


ou iF1!$$n, lF1,!$,3$
'
n
l u j u l u )) ( , ), ( ( ) (
1

sont les entres du systmes non linaires et du <I@ et g(u(l)) est la
sortie dsire du systme <I@ pour lentre u(l)$
M
l u l u
M
i
M
l
i
M
l
l
i
?
)); ( ( )) ( ( 5
) (
min ma(
1 1


(rpartition uniforme)
>horme *
M > , M
L
> # le <I@
"
G
a"ec les initialisation ci+dessus a la proprit sui"ante
(Nang)
< )) ( ( )) ( (
G
l u & l u "
pour lF1 !$3
Exemples :
)) ( ( ) 1 ( : $ M ) ( I $ M ) 1 ( $ u & $ y $ y $ y + + +
a"ec
) O sin( 1 $ M ) sin( I $ M ) sin( : $ M ) ( u u u u & + +
est une fonction inconnue
Afin didentifier le systme, la structure srie parallle est employe $
)) ( (
G
) 1 ( : $ M ) ( I $ M ) 1 ( G $ u " $ y $ y $ y + + +
An choisit 3FPM , FM$O,
)
?OM
?
sin( ) (
$
$ u

Programme Matlab
clear;
!ypot"ses de dpart
M#$%; nom&re de fonctions d'appartenance
n&pts#$%%; nom&re de points sur le(uel on tra)aille
t#*%:n&pts);
u#sin**+,t,pi)-+.%); l'entre
/#%.0,sin*pi,u)1%.2,sin*2,pi,u)1%.3,sin*.,pi,u); la sortie
INI4I5LIS54I6N
l#*3:M);
x%#u*l)';
y%#/*l)';
I3#ones*+%73);
si/ma%#**max*u*l))8min*u*l)))-*+,M)).,I3;
Estimation en li/ne
n&riter#+%%; n&re d'itrations
for i#3:n&riter7
&#%;
a#%;
d#/*i); sortie
x#u*i); entre
for 9#3:M 7
Fap*9)#/aussmf*x7:si/ma%*9)7x%*9););
end;
a#sum*Fap'.,y%);
&#sum*Fap);
f#a-&;
e#*%..,*f8d)-&).,Fap';
si/ma%#si/ma%8+.,e.,*y%8f).,**x8x%).<+).-**si/ma%).<2);
x%#x%8+,e.,*x8x%).-**si/ma%).<+);
y%#y%8e;

end;
=econstitution du si/nal de sortie a partir des paramtres estims
y*+)#%;
y+*+)#%;
for i#+:n&pts7
&#%;
a#%;
for 9#3:M7
Fap*9)#/aussmf*u*i)7:si/ma%*9)7x%*9););
end;
&#sum*Fap);
a#sum*Fap'.,y%);
f+#a-&;
y*i13)#%.2,y*i)1%.0,y*i83)1/*i);
yes*i13)#%.2,y*i)1%.0,y*i83)1f+;
end;
4=5>E
plot*:y' yes';);
FIN
Exemple 2 :
Y(k+1)=g(y(k),y(k-1))+u(k)
Avec
) 1 ( ) ( 1
) O $ ? ) ( )( 1 ( ) (
)) 1 ( ), ( (
? ?
+ +
+

$ y $ y
$ y $ y $ y
$ y $ y &
U(k)=sin(2k/25).
!"g!#mme $#%l#&
' v#leu! (e l# s"!%ie y e% es%im)e yy
' ini%i#lis#%i"n
cle#!*
y(1)=+* y(2)=+*
k=(1:2++)*
u=sin(2,pi,k/25)* ' en%!)e
$=-+* ' n"m&!e (e ."nc%i"ns (/#pp#!%en#nce
' s"!%ies
."! k=2:2+1
u(k)=sin(2,pi,k/25)*
g(k)=y(k),y(k-1),(y(k)+2.5)/(1+y(k),y(k)+y(k-1),y(k-
1))*
y(k+1)=g(k)+u(k)*
en(
' 01020A304A2051
l=(1:$)*x61+=y(2:-1)/*x62+=y(1:-+)/* y+=g(1:-+)/*
01=(1:$)/-(+:$-1)/*
sig6x1=(m#x(x61+)-min(x61+))/(2,$).,01*
sig6x2=(m#x(x62+)-min(x62+))/(2,$).,01*
'&=+.++1*
'E420$A2051 E1 3071E
."! i=2:2+1,
#=+*&=+*
(=g(i)*
x1=y(i)*
x2=y(i-1)*
."! k=1:-+ ,
."nc6x1(k)=g#ussm.(x1,8sig6x1(k),x61+(k)9)*
."nc6x2(k)=g#ussm.(x2,8sig6x2(k),x62+(k)9)*
en(*
&=sum(."nc6x1/.,."nc6x2/)*
#=sum(."nc6x1/.,."nc6x2/.,y+)*
.=#/&*

e=(+.5,(.-()/&).,."nc6x1/.,."nc6x2/*
sig6x1=sig6x1-2,e.,(y+-.).,((x1-x61+).:2)./
((sig6x1).:;)*
sig6x2=sig6x2-2,e.,(y+-.).,((x1-x62+).:2)./
((sig6x2).:;)*
x61+=x61+-2,e.,(x1-x61+)./((sig6x1).:2)*
x62+=x62+-2,e.,(x2-x62+)./((sig6x2).:2)*
y+=y+-e*
en(*
y(1)=+*
y(2)=+*
."! i=2:-+1,
#=+*&=+*
x1=y(i)*
x2=y(i-1)*
i.(i<25+),
u(i)=sin(2,pi,i/25)*
else
u(i)=+.5,sin(2,pi,i/25+)++.5,sin(2,pi,i/25)*
en(*
g(i)=y(i),y(i-1),(y(i)+2.5)/(1+y(i),y(i)+y(i-1),y(i-
1))*
."! k=1:-+ ,
."nc6x1(k)=g#ussm.(x1,8sig6x1(k),x61+(k)9)*
."nc6x2(k)=g#ussm.(x2,8sig6x2(k),x62+(k)9)*
en(*
&=sum(."nc6x1/.,."nc6x2/)*
#=sum(."nc6x1/.,."nc6x2/.,y+)*
.es=#/&*
yes(i+1)=u(i)+.es*
y(i+1)=u(i)+g(i)*
en(*
pl"%(8y/ yes/9)*
Exemple+&is
)aleur de la sortie y et estime yy
y*3)#%;
y*+)#%;
for 9#+:+%%
u*9)#sin*+,pi,9-+.);
/#y*9),y*983),:y*9)1+..;-*31y*9),y*9)1y*983),y*983));
y*913)#/1u*9);
end
)aleurs de u et y sur +%% itrations
ta&#:u*+:3??)' y*+:3??)';
nom&re de fonction d'appartenance
nummfs # +%;
type de fonction d'appartenance */ausseene)
mftype # '/aussmf';
stepsi@e#3;
nom&re d'itrations
no # +%;
inputfismat # /enfis3*ta&7nummfs7mftype);
outputfismat # anfis*ta&7inputfismat7:no nan stepsi@e;);
sortie estime
yy#e)alfis*u'7outputfismat);
affic"a/e des sorties
plot*:yy*+:3??) y*+:3??)';);
Exemple 2
y*913)#/*y*9)7y*983)7y*98+)7u*9)7u*983))
a)ec
?
?
?
I
P I O I ? 1
O P I ? 1
1
) 1 (
) , , , , (
x x
x x x x x x
x x x x x &
+ +
+

u*9)#sin*+,pi,9-3+.) si 9A.%%
u*9)#%.B,sin*+,9,pi-3+.)1%.+,sin*+,9,pi-+.) si 9C.%%;
Modle estim
)) 1 ( ), ( ), ? ( ), 1 ( ), ( (
G
) 1 ( G + $ u $ u $ y $ y $ y " $ y
88888888888888888888888888888888888L6DIEFE FL6FE8888888888888888888888888888888888888888
G*3)#%; G*+)#%; G*2)#%;
H*3)#%; H*+)#%; H*2)#%; H*$)#%; H*.)#%;
/*3)#%; /*+)#%;
F*+)#%;
for 9 # 2:3%%%7
if 9A.%% u#sin*+,pi,9-3+.);
else u#%.B,sin*+,9,pi-3+.)1%.+,sin*+,9,pi-+.);
end
F*9) # u;
x3#G*9); H3*9) # x3;
x+#G*983); H+*9) # x+;
x2#G*98+); H2*9) # x2;
x$#F*9); H$*9) # x$;
x.#F*983); H.*9) # x.;
/*9)#*x3,x+,x2,x.,*x283)1x$)-*31x2,x21x+,x+);
G*913)#/*9);

end
pause
plot*G*3:3%%%));
pause
td # :H3' H+' H2' H$' H.' /';;
num # :+ + + + +;;
mt # '/&ellmf';
ne # +%;
pas # 3;
iff # /enfis3*td7 num7 mt);
of # anfis*td7 iff7ne);
GG # e)alfis*td*:73:$)7of);
fi/ure
plot*:GG /';);
le/end*'sortie mesure'7'sortie estime');