Modellistica ed identificazione del bacino acquatico di

Analisi dati sperimentali e principi di
modellazione tramite identificazione
Carlo Alberto Avizzano – [email protected]
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


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
10
5
0
-5
-10
-15
-20
0
1
2
3
4
5
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
6
7
8
9
10
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)
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)
Y
Yi + ui
Yi
Yi - ui
curva di
taratura
Ii
I
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.
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’.
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
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
Soluzione specifica

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.
Soluzione Matlab
60







X=0:0.1:10;
Y=3.1+5.2*X;
50
Ym=3.1+5.2*X+(rand(1,101)0.5)*4.5;
40
[AB,C]=polyfit(X,Ym,1)
Yr= AB(2)+AB(1)*X; 30
plot (X,Y,X,Ym, '.',X,Yr);
AB = 5.1200 3.4997 20
10
0
0
1
2
3
4
5
6
7
8
9
10
Approccio statistico
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
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
Operatori
Riassunto di regole
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?

Si?


No: Punto di stima
Metodi di identificazione
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.
lsqcurvefit
Identificazione (matlab)
[P,residual] =
lsqcurvefit(‘F(xdata,Px…)’,P0,xdata,ydata,[lb,ub,options,P1,P
P: vettore dei parametri
2,…])
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)
function ydata =
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
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
Operazioni di Make-Up dei dati
Operazione




Rimozione dei disturbi a
bassa frequenza
Rimozione dei disturbi ad
alta frequenza
Rimozione degli outliers
Fill-up di dati mancanti
Comando




Sottrazione della media
Detrend del miglior fit
lineare
Filtraggio passa alto
Filtraggio passa basso
Detrend a spezzate
Ispezione dei comportamenti frequenziali
(fft) ed analisi del tempo di campionamento
IDData Manipulation







iddata
iddata
- IDDATA(Y,U,Ts)
- 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),
IDData Manipulation






detrend
delayest
data.
feedback
idfilt
idinput
isreal
- Remove trends from data sets.
- Estimate the time delay (dead time) from
- Investigate feedback effects in data sets.
- Filter data through Butterworth filters.
- Generates input signals for identification.
- Check if a data set contains real data.
Classi di modelli
Modelli non
Parametrici
LTI
Black-box
(i.e. ARX)
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


Modelli LTI tempodiscreti
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)
Modelli ARX
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
Errore di predizione (ARX)
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)