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 vivi 1 vi1vi 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 vivi 1 vi1vi 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 ji1 ( 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 nm 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.