analisi dati sperimentali e principi di modellazione tramite identificazione carlo alberto avizzano...

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

Upload: nunzia-perri

Post on 02-May-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Analisi dati sperimentali e principi di modellazione tramite identificazione Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

Soluzione specifica

Page 12: Analisi dati sperimentali e principi di modellazione tramite identificazione Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

Approccio statistico

Page 15: Analisi dati sperimentali e principi di modellazione tramite identificazione Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

Operatori

Page 19: Analisi dati sperimentali e principi di modellazione tramite identificazione Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

Riassunto di regole

Page 20: Analisi dati sperimentali e principi di modellazione tramite identificazione Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009
Page 22: Analisi dati sperimentali e principi di modellazione tramite identificazione Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

Prerequisiti di identificazione

Un 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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

Detrend a spezzate

Page 30: Analisi dati sperimentali e principi di modellazione tramite identificazione Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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

Page 31: Analisi dati sperimentali e principi di modellazione tramite identificazione Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

Classi di modelli

LTIBlack-box(i.e. ARX)

Modelli nonParametrici

Page 34: Analisi dati sperimentali e principi di modellazione tramite identificazione Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

Modelli LTI tempodiscreti

Page 36: Analisi dati sperimentali e principi di modellazione tramite identificazione Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

Modelli ARX

Page 38: Analisi dati sperimentali e principi di modellazione tramite identificazione Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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 Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

Errore di predizione (ARX)

Page 40: Analisi dati sperimentali e principi di modellazione tramite identificazione Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009

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)