Analisi dati sperimentali e principi di modellazione tramite identificazione

40
Analisi dati sperimentali e principi di modellazione tramite identificazione Carlo Alberto Avizzano – [email protected] Corso di Simulink L2 - A.A. 2008/2009

description

Analisi dati sperimentali e principi di modellazione tramite identificazione. Carlo Alberto Avizzano – [email protected] Corso di Simulink L2 - A.A. 2008/2009. Introduzione. - PowerPoint PPT Presentation

Transcript of Analisi dati sperimentali e principi di modellazione tramite identificazione

Page 1: Analisi dati sperimentali e principi di modellazione tramite identificazione

Analisi dati sperimentali e principi di modellazione tramite identificazione

Carlo Alberto Avizzano – [email protected] di Simulink L2 - A.A. 2008/2009

Page 2: Analisi dati sperimentali e principi di modellazione tramite identificazione

Introduzione Sensori e sistemi si dicono ideali se producono

comportamenti e leggono grandezze in maniera aderente a un modello teorico senza alcun errore sui parametri e di misura.

Durante i corsi di controllo si immagina solitamente di poter disporre di sensori e sistemi ideali (semplificazione).

Tuttavia eccetto che nelle simulazioni, questi sistemi non sono realistici e quando possibile il comportamento dei sensori e dei sistemi va modellato tramite una campagna di acquisizione dati.

Page 3: Analisi dati sperimentali e principi di modellazione tramite identificazione

Obiettivi Si necessita pertanto di

poter caratterizzare il comportamento di un sensore quando I segnali sorgenti non sono piu’ modellabili come valori certi.

La misura porta I sistemi a interagire con una realta` in cui tutti I segnali sono soggetti ad un disturbo detto rumore che ne altera il valore teorico

0 1 2 3 4 5 6 7 8 9 10-20

-15

-10

-5

0

5

10

X=0:0.1:10Y=sin(X)+X-0.2*X.*X+ X.*sin(X)Z=rand(1,101)*2;plot (X,Y,X,Y+Z-1,'.',X,Y+1,X,Y-1)grid

Page 4: Analisi dati sperimentali e principi di modellazione tramite identificazione

Obiettivi In molti casi sperimentali il

processo di design del controllore dipendera` dalla corretta identificazione del sistema in studio e da una sua modellazione con strutture e parametri adeguati

Si tratta quindi di elaborare dati dalla conoscenza a priori e quella sperimentale che possiamo testare sul sistema da controllare.

In tutti i casi rumore, vincoli sul segnale o altre fonti esterne potranno disturbare l’acquisizione corretta di dati dal modello.

Modellare il comportamento lineare/non lineare di un algebricita` (interpolazione/regressione)

Modellare il comportamento lineare(/non lineare) di un sistema dinamico (identificazione)

Modellare il comportamento sequenziale di un sistema complesso (machine learning)

Page 5: Analisi dati sperimentali e principi di modellazione tramite identificazione

Il training set In tutti i casi di cui sopra si partira` sempre da

un set di addestramento sulla base del quale potremo manipolare le informazioni a nostra conoscenza per renderle adeguate a quelle del modello.

Page 6: Analisi dati sperimentali e principi di modellazione tramite identificazione

Curva caratteristica La caratteristica di

funzionamento (o relazione di taratura statica o funzione di taratura), è la relazione che lega fra loro i valori della grandezza in uscita dallo strumento a quelli in ingresso, stabilendo una corrispondenza tra i valori di lettura dello strumento e i risultati della misurazione.

Nel funzionamento, la catena di misura è quindi caratterizzata dalla sua funzione di trasferimento, ovvero dal legame che unisce il segnale d’ingresso x con il segnale d’uscita y:

y= f(x)

Yi + uiYi

I i

curva di taratura

I

Yi - ui

Y

Page 7: Analisi dati sperimentali e principi di modellazione tramite identificazione

Approssimazioni di Linearità Vi sono diversi tipi di approssimazioni: linearità riferita allo zero (zero based

linearity): la retta di riferimento passa per l’estremo inferiore della curva di taratura, corrispondente all’estremo inferiore del campo di misura, ed è tracciata in modo da rendere minimo il più elevato (in valore assoluto) degli scostamenti;

linearità riferita agli estremi (end point linearity): la retta di riferimento congiunge i due estremi della curva di taratura corrispondenti ai due estremi del campo di misura;

linearità secondo i minimi quadrati (least squares linearity): la retta di riferimento è quella che corrisponde al valor minimo della somma dei quadrati degli scostamenti;

linearità indipendente (independent linearity): la retta di riferimento è quella che rende minimo il più elevato (in valore assoluto) degli scostamenti.

Page 8: Analisi dati sperimentali e principi di modellazione tramite identificazione

Misura Supponendo di

suddividere l’intervallo di misura in N punti, il diagramma di taratura di solito riporta al posto della nuvola di punti acquisiti una linea continua detta ‘curva di taratura’.

Page 9: Analisi dati sperimentali e principi di modellazione tramite identificazione

Retta di taratura Nel caso in cui un

sensore abbia un comportamento quasi lineare, risulta possibile definire una curva di taratura lineare

Y=Au + B

Il metodo di ricerca si fa tramite una tecnica definita dei minimi quadrati

Page 10: Analisi dati sperimentali e principi di modellazione tramite identificazione

Metodo dei minimi quadrati

I valori dei parametri si scelgono quindi in maniera tale da minimizzare la somma degli scarti quadratici.

Larisoluzione di questo problema si ottiene imponendo le due derivate parziali uguali a zero

Page 11: Analisi dati sperimentali e principi di modellazione tramite identificazione

Soluzione specifica

Page 12: Analisi dati sperimentali e principi di modellazione tramite identificazione

Cosa succederebbe in un caso del 2 ordine

Vi sono tre parametri e tre derivate parziali, che si risolvono con l’inversionedi una matrice 3x3.

Page 13: Analisi dati sperimentali e principi di modellazione tramite identificazione

0 1 2 3 4 5 6 7 8 9 100

10

20

30

40

50

60

Soluzione Matlab

X=0:0.1:10; Y=3.1+5.2*X; Ym=3.1+5.2*X+

(rand(1,101)-0.5)*4.5; [AB,C]=polyfit(X,Ym,1) Yr= AB(2)+AB(1)*X; plot (X,Y,X,Ym, '.',X,Yr); AB = 5.1200 3.4997

Page 14: Analisi dati sperimentali e principi di modellazione tramite identificazione

Approccio statistico

Page 15: Analisi dati sperimentali e principi di modellazione tramite identificazione

Il comando Polyfit Polyfit esegue una

interpolazione ai minimi quadrati di un polinomio di grado qualunque (1== lineare, 2== quadratico,…)

Polyfit restituisce sia I parametri dei coefficienti polinomiali sia la matrice di covarianza dei campioni rispetto alla retta data

Page 16: Analisi dati sperimentali e principi di modellazione tramite identificazione

Misura di variabili La misura di una variabile e’ una lettura soggetta

ad differenti tipologie di errori e che per sua natura viene gestita quindi tramite metodologie statistiche.

In particolare si introduce il concetto di funzione di densita’ distribuzione della lettura P(x) che descrive la probabilita` che a una lettura di un sensore corrisponda una determinato valore del misurando.

L’integrale della densita’ di probabilita’ e’ detta funzione cumulata T(x) e’ corrisponde alla probabilita’ che data la lettura x (evento) il misurando sia minore o uguale all’evento Pr(X<=x)

Page 17: Analisi dati sperimentali e principi di modellazione tramite identificazione

Distribuzioni Frequenti Errore

costantemente distribuito indipendente

Errore a rampa Errore Gaussiano o

normale (Teorema del limite centrale)

Esempio Quantizzazione e Integrali

Page 18: Analisi dati sperimentali e principi di modellazione tramite identificazione

Operatori

Page 19: Analisi dati sperimentali e principi di modellazione tramite identificazione

Riassunto di regole

Page 20: Analisi dati sperimentali e principi di modellazione tramite identificazione

Relazioni tra minimi quadrati e probabilita’ Perche’ si usa il

metodo dei minimi quadrati?

Che senso ha nell’ottica della misura che abbiamo descritto

Proviamo a calcolare la probabilita’ di N misura congiunte supposte indipendenti e cerchiamo quale sia la soluzione ottima (piu’ probabile)

Page 21: Analisi dati sperimentali e principi di modellazione tramite identificazione
Page 22: Analisi dati sperimentali e principi di modellazione tramite identificazione

Identificazione di algebricita’ non lineari Modelli parzialmente strutturati (esempio

Robot) Linearita` nei parametri?

No: Punto di stima Si?

Page 23: Analisi dati sperimentali e principi di modellazione tramite identificazione

Metodi di identificazione

lsqcurvefit

Data-fitting nonlineare ttramite i minimi quadrati

Xdata: vettore di ingressi (xdata)

Ydata: un vettore di osservazioni (ydata)

Trovare i parametri “theta” che meglio “adattano” la funzione F(x,xdata) alle osservazioni.

Page 24: Analisi dati sperimentali e principi di modellazione tramite identificazione

Identificazione (matlab)

[P,residual] = lsqcurvefit(‘F(xdata,Px…)’,P0,xdata,ydata,[lb,ub,options,P1,P2,…])

residual: matrice dei residui

P0: valore iniziale di P

Lb, ub: limiti dell’algoritmo

options: opzioni di minimizzazione (vedi help optimset)

P: vettore dei parametri

Page 25: Analisi dati sperimentali e principi di modellazione tramite identificazione

Identificazione (matlab)

‘F’: funzione modello memorizzata in un M-file (F.m)

function ydata = F(P,xdata,P1,P2,…)

‘F’ puo’ anche richiamare un solver ‘ode’ per risolvere sistemi differenziali

Page 26: Analisi dati sperimentali e principi di modellazione tramite identificazione

Identificazione di modelli dinamici

Identificazione non parametrica Modelli strutturali per l’identificazione Identificazione tramite modelli regressivi

Page 27: Analisi dati sperimentali e principi di modellazione tramite identificazione

Prerequisiti di identificazioneUn modello derivato da dati non puo’ fornire piu’ informazioni di quante contenute nei dati stessi!

Per l’identificazione di un sistema dinamico e’ necessario che i dati presentati siano sufficientemente descrittivi del modello da rappresentare.In particolare, essendo la funzione di uscita correlata al segnale in ingresso, i dati di ingresso devono essere tali da sollecitare tutti i modi propri del sistema.Ingressi comuni sono: random binary, pseudo random, treni di gradini/impulsi, sinusoidi a frequenza variabile, ingressi dipendenti dalla struttura del modello

Page 28: Analisi dati sperimentali e principi di modellazione tramite identificazione

Operazioni di Make-Up dei dati

Operazione Comando Rimozione dei

disturbi a bassa frequenza

Rimozione dei disturbi ad alta frequenza

Rimozione degli outliers

Fill-up di dati mancanti

Sottrazione della media

Detrend del miglior fit lineare

Filtraggio passa alto Filtraggio passa

basso

Page 29: Analisi dati sperimentali e principi di modellazione tramite identificazione

Detrend a spezzate

Page 30: Analisi dati sperimentali e principi di modellazione tramite identificazione

Ispezione dei comportamenti frequenziali (fft) ed analisi del tempo di campionamento

Page 31: Analisi dati sperimentali e principi di modellazione tramite identificazione

IDData Manipulation

iddata - IDDATA(Y,U,Ts) iddata - IDDATA(Y,U,Ts, ‘FREQS’, Freqs)

Basic Operations fft/ifft - Transform time to frequency and

viceversa. Collections – getexp, subsref, merge Manipulation – Resample, nkshift, misdata Test/Analysis – plot , isnlarx, spa (Spectrum),

Page 32: Analisi dati sperimentali e principi di modellazione tramite identificazione

IDData Manipulation

detrend - Remove trends from data sets. delayest - Estimate the time delay (dead

time) from data. feedback - Investigate feedback effects in

data sets. idfilt - Filter data through Butterworth filters. idinput - Generates input signals for

identification. isreal - Check if a data set contains real

data.

Page 33: Analisi dati sperimentali e principi di modellazione tramite identificazione

Classi di modelli

LTIBlack-box(i.e. ARX)

Modelli nonParametrici

Page 34: Analisi dati sperimentali e principi di modellazione tramite identificazione

Identificazione non parametrica Covf(Z,D) – Stima della funzione di covarianza tra Z=[y u]

con ritardo D IMPULSE (IDDATA) – Stima della risposta all’impulso step (IDDATA) - Stima della risposta al gradino

[ir,R,cl]=Cra(IDDATA,[D,na,plot]) – Stima della risposta all impulso: ir

Page 35: Analisi dati sperimentali e principi di modellazione tramite identificazione

Modelli LTI tempodiscreti

Page 36: Analisi dati sperimentali e principi di modellazione tramite identificazione

Alcune definizioni Model = IDPOLY(A,B,C,D,F,Noise,Ts) Ts=0 Continuous Time A,B,C,D,F Polynoms B leading zeros == delays == nk MIMO => B,F = Matrices

Also possible Model = IDPOLY(SYS) Polydata reverse the computation [A,B,C,D,F] = Polydata(Model) Model puo’ essere simulato sim(Model,Udata),

impulse(Model)

Page 37: Analisi dati sperimentali e principi di modellazione tramite identificazione

Modelli ARX

Page 38: Analisi dati sperimentali e principi di modellazione tramite identificazione

Il comando ARX Model = arx(data,order) Order =[na nb nk] Na = numero poli Nb = numero zeri Nk ritardo in ingresso Se B(z) == 0 nb = 0 ar command

Page 39: Analisi dati sperimentali e principi di modellazione tramite identificazione

Errore di predizione (ARX)

Page 40: Analisi dati sperimentali e principi di modellazione tramite identificazione

Classi Armax Model = ARMAX(IDDATA,[na nb nc nk]) [na nb nc nk] are the orders and delays of the

ARMAX model, according to the reference equation

A(q) y(t) = B(q) u(t-nk) + C(q) e(t)