Applicazioni nel campo
dell’ingegneria dell’approssimazione
di funzioni mediante sistemi fuzzy
Arianna Mencattini
Riunione Annuale del
GRUPPO ELETTRONICA
(GE 2002)
TRIESTE, 3-8 giugno 2002
Indice:
• Introduzione all’approssimazione di funzioni.
• Introduzione ai sistemi fuzzy come approssimatori di funzioni.
• Applicazione nel caso SISO: progetto di un DDS.
• Sistemi MISO: introduzione e confronti.
• Sistemi MISO: teoremi fondamentali.
• Applicazione nel caso MISO: modellizzazione di dispositivi.
• Conclusioni e sviluppi.
L’approssimazione di funzioni
mediante sistemi fuzzy
Approssimazione
Utilizzo di sistemi
di funzioni
fuzzy
Approssimazione di funzioni
mediante sistemi fuzzy
Progettazione di
un sistema fuzzy
con
certe caratteristiche
Sistemi fuzzy e sistemi neurali
Rispetto ai sistemi neurali i sistemi fuzzy presentano i
seguenti vantaggi:
• Il sistema è facilmente implementabile (SW/HW)
• I sistemi fuzzy sono più robusti.
• La fase di apprendimento è “delicata” e “lunga” nei sistemi
neurali
Cosa significa approssimare una
funzione
• Date certe caratteristiche di una funzione target f(x)
trovare una funzione F(x), che rispetto a questa
minimizzi una certa norma.
F ( x)  f ( x)  
• Si può inoltre imporre che la funzione F(x) goda di ulteriori
caratteristiche, come la continuità delle derivate.
Perché approssimare una funzione?
Caso 1)
• La funzione target può essere nota, ma difficile da implementare
Es. f(x)=log(tan(x))
Occorre utilizzare una Look Up Table, su cui memorizzare i campioni
della funzione target.
Oppure si deve costruire una funzione approssimante in cui siano
presenti solo operatori elementari.
Perché approssimare una funzione?
Caso 2)
•
La funzione target può essere nota, ma non gode di caratteristiche
di regolarità
Es.
f (x) 
y0
y0  x  
f(x)
f'(x)
d
dx
y0

0
x
x
Perché approssimare una funzione?
Caso 2)
Può essere utile costruire un’altra funzione approssimante che goda di
proprietà di regolarità.
Funzione non regolare
Funzione regolare
Perché approssimare una funzione?
Caso 3)
Della funzione f(x) si conoscono alcuni campioni.
Si può costruire una funzione approssimante di tipo piecewise linear
b4

b3

P4
P3
P2
b2
b1

P1

A1
A2
1
A3
2
A4
Perché approssimare una
funzione? Caso 3)
Voglio che un certo sistema fuzzy implementi una funzione che passi per alcuni
campioni dati mantenendo caratteristiche di regolarità.
PW linear
b4
PW non linear
b3


P4
P3
P2
b2
b1

P1

A1
A2
1
A3
2
A4
Sistemi fuzzy non normalizzati
NNFS 1)
MFs
k2
k1
x
In letteratura si sono sempre usati sistemi fuzzy normalizzati (NFS).
Utilizzando sistemi fuzzy non normalizzati (NNFS) ho ulteriori parametri
su cui agire per :
 Migliorare l’approssimazione.
 Imporre le derivate continue in certi punti.
NNFS 2)
( i 1  x) f ( i )  ( x   i ) f ( i 1 )
Fi ( x) 
( i 1   i )
Se ki = ki+1
Fi(x) è una funzione polinomiale
ki ( i 1  x) f ( i )  ki 1 ( x   i ) f ( i 1 )
Fi ( x) 
ki ( i 1  x)  ki 1 ( x   i )
Se ki  ki+1
Fi(x) è una funzione razionale
Esempio 1: progetto di un DDS
• Schema di un DDS
Df
REGISTER
Sistema fuzzy
f
REGISTER
f TO A
CONVERTER
DIGITAL
OUT
PHASE ACCUMULATOR
D/ A
CONVERTER
ANALOG
OUT
FILTER
SINE GENERATOR
Approssimazione di una funzione
modificata
sin (x  /2 )+x
2.0
F 'n ew (1)#==1
1.5
Y
F'o ld (1)#==0
sin (x  /2 )
1.0
x
0.5
0.0
0.0
0.2
0.4
0 .6
X
0.8
1.0
Fourier coefficients for the fuzzy
approximation
 8 Ai   n i 1 
 n i 
sin

sin



 


2
 2 
 (n) Di   2 

Bi 
Bi 
4   Ai
 n i 1   Ai
 n i 






cos



cos

 

 if Ci  0
 

i 1
i


n   Di
Di 
Di 
 2   Di
 2 

~ N  4 Ai   n i 
 n i 1 
bn  bn   
cos

cos



 

i 1  n Ci 
 2 
 2 

 nFi    n i 1  Fi  
 n i  Fi  
2
T
cos
Si

Si

 


 

i
2
2
 2  





 nFi    n i  Fi  
 n i 1  Fi  
2
T
cos
Ci

Ci
if Ci  0





,

i

2
2
2

 




~
4
8
 n 
 n 
bn 
cos   
sin
 
2
n
2
(

n
)
 
 2 
Spettro della sinusoide fuzzy
80
90
dBc
100
110
120
130
140
1
11
21
31
41
51
61
Spurious
71
81
91
101
Risultati e confronti
Method
SFDR
Uncompressed memory
-81.76 dBc
Modified Sunderland
architecture
-73.59 dBc
Modified Nicholas
architecture
-74.56 dBc
Taylor series approximation
-73.28 dBc
CORDIC algorithm
-73.32 dBc
NNFS approximation
-81.60 dBc
Sistemi di tipo SISO vs. MISO 1)
(single input multiple output vs. multiple input multiple output)
Un sistema con più ingressi presenta già da un punto di vista
analitico alcune importanti differenze
La metodolgia dell’uso di MFs ad altezze variabili non può essere
più usata per imporre la continuità delle derivate.
Sistemi di tipo SISO vs.MISO 1)
(single input multiple output vs. multiple input multiple output)
b
4
b
3
b
b

P
P
2
1
P

P
4
Parametri liberi = n
3
2
Punti di discontinuità = n
1
A
A
1

k
A
2

1
2
1
k

1
2
k

3
2
A
3
k
4
4
E’ possibile imporre la continuità
delle derivate attraverso le altezze
ki in modo diretto.
Sistemi di tipo SISO vs.MISO 1)
(single input multiple output vs. multiple input multiple output)
z
Parametri liberi = n+m
sj+1
ki
Bj
Bj+1
wj+1
sj
Punti di discontinuità = 
ki+1
Ai
vi
Ai+1
vi+1
wj
x
i
y
y
j
i+1
x
Non si può imporre la
continuità delle derivate
attraverso le altezze
k e s in modo diretto.
Esempio: funzione target
Funzione fuzzy bilineare
con MFs triangolari
Linee di discontinuità
delle derivate parziali
Funzione fuzzy con MFs cubiche
Sistemi di tipo SISO vs.MISO 2)
(single input multiple output vs. multiple input multiple output)
Per imporre la continuità delle derivate occorre soddisfare le ipotesi
del seguente
Teorema 1: Data la funzione fuzzy
con input MFs

vi  ki
wi  si
in  i ,  i 1   j ,  j 1

z ( x, y) :[1 ,  n ]  [ 1 ,  m ]  
( i 1  x )
( x  i 1 )
vi 1  ki 1 (

( i 1  i )
(  j 1  y )
( y   j )
wi 1  si 1 ( 
(  j 1   j )
per garantire che z ( x, y )  C

i 1  i )
q

j 1   j
)

in  i ,  i 1   j ,  j 1 è sufficiente che
 

z ( x, y ) sono continue
min(   1,   1)  q. Ossia si ha che le funzioni
x  y 
per ogni 0     - 1,0     - 1 0      min  -1,  -1
Significato del Teorema 1
vivi 1  vi1vi  0
Condizione sulle derivate prime
MFs di ingresso per la variabile x, =1
v'i(i) = v'i(i+1)
ki+1
ki
v'i+1(i+1) = v'i+1(i)
v i(x)
v i+1(x)
0
i
i+1
x
Significato del Teorema 1
vivi 1  vi1vi  0
MFs di ingresso per la variabile x, =2
v'i(i)
ki+1
ki
v'i+1(i+1)
v i(x) v i+1(x)
v'i+1(i)
v'i(i+1)
0
i
i+1
x
Aspetto della funzione fuzzy 3D
wj
wj
vi
vi 1
zij ( x, y ) 
R ji ( x, y ) 
R ji1 ( x, y ) 
vi  vi 1 w j  w j 1
vi  vi 1 w j  w j 1
w j 1
w j 1
vi
vi 1
R j 1i ( x, y ) 
R j 1i 1 ( x, y )
vi  vi 1 w j  w j 1
vi  vi 1 w j  w j 1
N N l
dove
R ji ( x, y )   rjik N l  k ( x   i ) k ( y   j ) N l  k
l 0 k 0
sono detti polinomi di Sugeno di ordine N, nelle due variabili x e y.
Sistemi di tipo SISO vs.MISO 2)
Per imporre i valori delle derivate occorre soddisfare le ipotesi del seguente
Teorema 2: Data la funzione fuzzy z ( x, y ) :[1 ,  n ]  [ 1 ,  m ]  
con i polinomi di Sugeno R ji ( x, y ) e con input MFs
vi  ki
( i 1  x )
( i 1  i )
( x  i 1 )
vi 1  ki 1 (
in  i ,  i 1   j ,  j 1 

i 1  i )
wi  si
(  j 1  y )
(  j 1   j )
( y   j )
wi 1  si 1 ( 
j 1   j

)
una volta garantito che z ( x, y )  C in  i ,  i 1   j ,  j 1
q

 

z ( x, y )
allora si ha che i valori delle derivate parziali
0     min ,  ,


x y
0      1 0      1 in  i ,  i 1   j ,  j 1 i  1,, n j  1,, m

possono essere fissati attraverso i soli coefficienti
r
ji
 
1  f ( i ,  j )

 ! ! x y 


r ji
scegliendoli come segue
.
Significato del Teorema 2
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Significato del Teorema 2
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Sommario dei Teoremi1-2
Utilizzo di MFs
polinomiali
di grado M
Continuità delle
derivate parziali
di ordine M-1
Utilizzo di Sugeno
di ordine N
Imposizione dei valori
delle derivate
della funzione fuzzy
di ordine N
N  M 1
Sistemi di tipo MISO
Teorema 3: Data una funzione target polinomiale e data una funzione fuzzy
come definita nei precedenti teoremi, questa ultima è in grado di approssimare con
errore nullo la funzione polinomiale. (La funzione razionale diventa polinomiale).
Teorema 4: Utilizzando risultati del Teorema 2 si ha che i polinomi
R ji ( x, y )
rappresentano la serie di Taylor di f(x) troncata all’N-esimo termine centrata
nel punto
( i ,  j )
Teorema 5: La funzione fuzzy risulta essere la combinazione lineare delle
serie di Taylor troncate all’N-esimo termine, pesata con il prodotto delle
funzioni di appartenenza.
Significato dei Teoremi 3-4
Significato dei Teoremi 3-4
Ottimizzazione del sistema fuzzy:
uso delle altezze variabili
Le altezze variabili delle MFs possono infine essere usate per migliorare
Il comportamento del sistema fuzzy come approssimatore, utilizzando
un’opportuna norma.
Uso dell’algoritmo del gradiente per determinare la configurazione migliore
delle n+m altezze all’interno delle nm griglie.
Esempio 2: modellizzazione di
dispositivi FET
Misure sul dispositivo
di Ids, gm, gds,
Cds, Cgd, Cds
Estrazione dei
Parametri S
Funzione parametrica
di Materka-Kacprzak
Ottimizzazione
dei parametri in base
alle misure
Estrazione
del circuito
equivalente
Costruzione
del modello
per la simulazione
Modello
finale
Regolarità della funzione di
Materka: problematiche
Il modello di Materka non ha nessun legame con la fisica del dispositivo
e non gode di proprietà di regolarità nelle derivate seconde.
Non è possibile estrarre dal modello informazioni riguardanti il comportamento
delle derivate seconde e terze. Il modello non è significativo in questo senso.
Introduzione dei sistemi fuzzy nel
campo della modellizzazione
1. Come viene approssimata la funzione di Materka
da una sistema fuzzy?
2. E’ possibile migliorare le caratteristiche di
regolarità del modello usando un sistema fuzzy?
Sistema fuzzy come modello : Ids
350
Materka
300
Fuzzy
250
Ids [mA]
200
150
100
50
0
-50
0
1
2
3
Vds [V]
4
5
6
Sistema fuzzy come modello : gds
700
Materka
600
Fuzzy
500
gds [mS]
gds [mS]
400
300
200
100
0
-100
0
0.5
1
1.5
Vds [V]
Vds [V]
2
2.5
3
Sistema fuzzy come modello : gm
Materka
200
Fuzzy
gm [mS]
150
100
50
0
0
1
2
3
Vds [V]
4
5
6
Dalla funzione target alle misure
Nell’applicazione reale si hanno delle misure e non una funzione target
A partire dalle misure occorre costruire il modello fuzzy con certe
caratteristiche di regolarità.
Nascono degli ulteriori problemi
Fenomeni dispersivi sulle misure
A seconda del punto di polarizzazione le misure effettuate muovendosi
attorno al punto di lavoro a bassa frequenza risentono del cambio della
temperatura e dei fenomeni di trappola.
Quando si vuole simulare il dispositivo ad alta frequenza questi stessi
fenomeni non intervengono, perché sono fenomeni con costanti di tempo
piccole.
Discrepanza fra il modello costruito ed i risultati attesi, perché sono
cambiate le condizioni di lavoro dalla fase di simulazione
alla fase di misura.
Conclusioni
I sistemi fuzzy costituiscono una valida alternativa ai sistemi neurali
e ad altri sistemi di approssimazione classici.
1. Perché si costruiscono direttamente senza fase di apprendimento.
2. Perché hanno una struttura semplice.
3. Perché si può facilmente imporre al modello fuzzy di godere
di determinate caratteristiche di regolarità e di passaggio per punti
4. Perché la fase di ottimizzazione richiede pochi secondi.
Sviluppi
Modifiche della norma usata nell’algoritmo di ottimizzazione, al fine di
minimizzare eventualmente anche gli errori sulle derivate.
(Norma di Sobolev)
Ottimizzazione della posizione dei punti di intersezione della griglia usata:
uso dei Teoremi 3-5 sul legame della funzione fuzzy con la serie di Taylor.
Modellizzazione: implementazione di un algoritmo che elimini il contributo
dispersivo dalle misure utilizzate per costruire il modello fuzzy.
Modellizzazione: estrazione di informazioni riguardanti le derivate parziali
seconde e terze della Ids dal modello fuzzy del dispositivo.
DDS: valutazione delle prestazioni del DDS in termini di area, consumo
di potenza e frequenza massima raggiungibile.
Scarica

Applicazioni nel campo dell`ingegneria dell