![Page 1: Analisi dati sperimentali e principi di modellazione tramite identificazione](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/6.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/11.jpg)
Soluzione specifica
![Page 12: Analisi dati sperimentali e principi di modellazione tramite identificazione](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/14.jpg)
Approccio statistico
![Page 15: Analisi dati sperimentali e principi di modellazione tramite identificazione](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/15.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/18.jpg)
Operatori
![Page 19: Analisi dati sperimentali e principi di modellazione tramite identificazione](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/19.jpg)
Riassunto di regole
![Page 20: Analisi dati sperimentali e principi di modellazione tramite identificazione](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/21.jpg)
![Page 22: Analisi dati sperimentali e principi di modellazione tramite identificazione](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/24.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/26.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/29.jpg)
Detrend a spezzate
![Page 30: Analisi dati sperimentali e principi di modellazione tramite identificazione](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/30.jpg)
Ispezione dei comportamenti frequenziali (fft) ed analisi del tempo di campionamento
![Page 31: Analisi dati sperimentali e principi di modellazione tramite identificazione](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/33.jpg)
Classi di modelli
LTIBlack-box(i.e. ARX)
Modelli nonParametrici
![Page 34: Analisi dati sperimentali e principi di modellazione tramite identificazione](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/34.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/35.jpg)
Modelli LTI tempodiscreti
![Page 36: Analisi dati sperimentali e principi di modellazione tramite identificazione](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/37.jpg)
Modelli ARX
![Page 38: Analisi dati sperimentali e principi di modellazione tramite identificazione](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/39.jpg)
Errore di predizione (ARX)
![Page 40: Analisi dati sperimentali e principi di modellazione tramite identificazione](https://reader035.vdocuments.pub/reader035/viewer/2022070501/56816927550346895de0625d/html5/thumbnails/40.jpg)
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)