430 likes | 624 Views
Analisi dati sperimentali e principi di modellazione tramite identificazione. Carlo Alberto Avizzano – carlo@sssup.it Corso di Simulink L2 - A.A. 2008/2009. Introduzione.
E N D
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.
Obiettivi X=0:0.1:10 Y=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 Si necessitapertantodipotercaratterizzareilcomportamentodi un sensorequando I segnalisorgenti non sonopiu’ modellabili come valoricerti. La misuraporta I sistemi a interagire con unarealta` in cui tutti I segnalisonosoggetti ad un disturbodettorumoreche ne alterailvaloreteorico
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 (machinelearning)
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.
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)
Approssimazioni di Linearità • Vi sono diversi tipi di approssimazioni: • linearità riferita allo zero (zerobasedlinearity): 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 pointlinearity): 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 (leastsquareslinearity): la retta di riferimento è quella che corrisponde al valor minimo della somma dei quadrati degli scostamenti; • linearità indipendente (independentlinearity): la retta di riferimento è quella che rende minimo il più elevato (in valore assoluto) degli scostamenti.
Misura Supponendodisuddividerel’intervallodimisura in N punti, ildiagrammaditaraturadisolitoriporta al postodellanuvoladipuntiacquisitiunalinea continua detta ‘curvaditaratura’.
Rettaditaratura Nelcaso in cui un sensoreabbia un comportamento quasi lineare, risultapossibiledefinireunacurvaditaraturalineare Y=Au + B Il metododiricercasifatramiteunatecnicadefinitadeiminimiquadrati
Metododeiminimiquadrati I valorideiparametrisiscelgonoquindi in maniera tale daminimizzare la sommadegliscartiquadratici. Larisoluzionediquestoproblemasiottieneimponendo le due derivate parzialiuguali a zero
Cosasuccederebbe in un caso del 2 ordine Vi sonotreparametri e tre derivate parziali, chesirisolvono con l’inversionediunamatrice 3x3.
SoluzioneMatlab 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
Il comandoPolyfit Polyfitesegueunainterpolazioneaiminimiquadratidi un polinomiodigradoqualunque (1== lineare, 2== quadratico,…) Polyfitrestituiscesia I parametrideicoefficientipolinomialisia la matricedicovarianzadeicampionirispettoallaretta data
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)
Distribuzioni Frequenti Errore costantemente distribuito indipendente Errore a rampa Errore Gaussiano o normale (Teorema del limite centrale) Esempio Quantizzazione e Integrali
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)
Identificazione di algebricita’ non lineari • Modelli parzialmente strutturati (esempio Robot) • Linearita` nei parametri? • No: Punto di stima • Si?
Metodi di identificazione Data-fittingnonlinearettramitei 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. lsqcurvefit
Identificazione (matlab) [P,residual] = lsqcurvefit(‘F(xdata,Px…)’,P0,xdata,ydata,[lb,ub,options,P1,P2,…]) P: vettore dei parametri residual: matrice dei residui P0: valore iniziale di P Lb, ub: limiti dell’algoritmo options: opzioni di minimizzazione (vedi help optimset)
Identificazione (matlab) ‘F’: funzione modello memorizzata in un M-file(F.m) functionydata= F(P,xdata,P1,P2,…) ‘F’ puo’ anche richiamare un solver ‘ode’ per risolvere sistemi differenziali
Identificazione di modelli dinamici • Identificazione non parametrica • Modelli strutturali per l’identificazione • Identificazione tramite modelli regressivi
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
Ispezione dei comportamenti frequenziali (fft) ed analisi del tempo di campionamento
IDDataManipulation • iddata - IDDATA(Y,U,Ts) • iddata - IDDATA(Y,U,Ts, ‘FREQS’, Freqs) • BasicOperations • fft/ifft - Transformtimetofrequencyand viceversa. • Collections – getexp, subsref, merge • Manipulation – Resample, nkshift, misdata • Test/Analysis – plot , isnlarx, spa (Spectrum),
IDDataManipulation • detrend - Removetrendsfrom data sets. • delayest - Estimate the timedelay (dead time) from data. • feedback - Investigate feedback effects in data sets. • idfilt - Filter data throughButterworthfilters. • idinput - Generates input signalsforidentification. • isreal - Checkif a data set containsreal data.
Classi di modelli LTI Black-box (i.e. ARX) Modelli non Parametrici
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
Alcune definizioni • Model = IDPOLY(A,B,C,D,F,Noise,Ts) • Ts=0 ContinuousTime • A,B,C,D,F Polynoms • B leadingzeros == delays == nk • MIMO => B,F = Matrices • AlsopossibleModel = IDPOLY(SYS) • Polydatareverse the computation • [A,B,C,D,F] = Polydata(Model) • Modelpuo’ essere simulato sim(Model,Udata), impulse(Model)
Il comando ARX • Model = arx(data,order) • Order =[nanbnk] • Na = numero poli • Nb = numero zeri • Nk ritardo in ingresso • Se B(z) == 0 nb = 0 arcommand
Classi Armax • Model= ARMAX(IDDATA,[nanbncnk]) • [nanbncnk] are the orders and delaysoftheARMAX model, accordingto the referenceequation • A(q) y(t) = B(q) u(t-nk) + C(q) e(t)