Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Gianluca Antonelli
2009
Dipartimento di Automazione, Elettromagnetismo,
Ingegneria dellInformazione e Matematica Industriale
Universit`a degli Studi di Cassino
Via G. Di Biasio 43, 03043 Cassino (FR), Italy
antonelli@unicas.it
http://webuser.unicas.it/antonelli
Indice
1 Il problema della stima
1.1
Stimatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1.1
1.2
Osservatore di Luenberger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3
Il filtro di Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.4
1.3.1
Aggiornamento temporale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.2
1.3.3
1.3.4
Considerazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.3.5
Stabilit`
a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.3.6
1.3.7
1.3.8
Il Filtro di Wiener-Hopf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.3.9
Dualit`
a stima-controllo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2 Identificazione parametrica
34
2.1
2.2
2.3
Applicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.4
2.5
2.5.2
2.5.3
2.6
2.7
2.8
Regressore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.9
G. Antonelli - FI (2009)
2.9.1
2.9.2
2.9.3
Disuguaglianza di Cramer-Rao . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.9.4
Persistente eccitazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.9.5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
. . . . . . . . . . . . . . . . . . . . . . 73
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
77
3.1.2
3.1.3
3.1.4
3.1.5
3.1.6
Scelta dellalgoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.1.7
3.1.8
Validazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.2
Forno elettrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
3.3
Magellan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.4
MIB30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.5
Canale GSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
G. Antonelli - FI (2009)
4
97
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Bibliografia
115
Indice analitico
117
G. Antonelli - FI (2009)
Capitolo 1
1.1
Stimatori
Sia k IN la variabile che denota il tempo, dato un insieme di misure d ed una grandezza
vettoriale da stimare si definisce stimatore quella funzione che associa alle misure una stima
(k)
di :
(k)
= f (d).
(1.1)
La stima di una grandezza tempo-variante `e, ovviamente, funzione del tempo k. Pi`
u precisamente,
1.1.1
Definiamo il valor vero della grandezza da stimare come . Ogni esperimento che fornisce un
insieme di dati `e un esperimento casuale. In questo senso, ogni insieme dei dati `e un vettore
aleatorio funzione dellesito s e del valor vero da stimare d = d(s, ). Anche lo stimatore f e la
stima (k)
sono variabili casuali per le quali ha senso parlare di media e varianza.
6
G. Antonelli - FI (2009)
Non polarizzazione
Uno stimatore si definisce non polarizzato, o anche corretto o non deviato, se:
E[(k)]
= .
(1.2)
Lo stimatore non polarizzato, quindi, non presenta nessun errore sistematico di stima.
Minima varianza
Fra due stimatori non polarizzati `e certamente migliore lo stimatore con minore varianza, cio`e
lo stimatore con minore dispersione della stima. Poich`e la varianza, nel caso vettoriale, `e una
matrice, il confronto fra due stimatori si effettua sulla differenza fra le due matrici. La matrice
1 : V ar[
1 ] `e maggiore della matrice varianza della stima
2 : V ar[
2 ] se:
varianza della stima
1 ] V ar[
2] O
V ar[
(1.3)
l.i.m.
(N ) = .
N
(1.4)
(1.5)
(1.6)
Poich`e la stima `e funzione di un esito la sua convergenza al crescere dei dati non `e assicurata.
Definendo come A linsieme degli esiti per cui la stima converge al valore vero e S linsieme degli
esiti; si definisce convergenza certa il caso in cui A = S e convergenza quasi certa il caso in cui
P (A) = 1 (per cui `e sufficiente che linsieme S A abbia misura nulla).
Uno stimatore per cui sussista la convergenza quasi certa si dice consistente.
G. Antonelli - FI (2009)
Studiare la caratteristica asintotica di uno stimatore ha senso per costante. In questo caso,
infatti, laumento dei dati dovrebbe portare nuove informazioni utili sulla stessa grandezza. Se
fosse tempo-variante, (k), non potremmo pi`
u ragionevolmente considerare utili, al passo k,
dei dati acquisiti per tempi lontani da k. Si ricorre allora alla richiesta di non divergenza della
stima dal valor vero. In formule si richiede che:
2
(1.7)
E
(k|k l) (k)
c
con l e c scalari positivi.
1.2
Osservatore di Luenberger
La grandezza da stimare x(k) `e lo stato del sistema, `e quindi tempo-variante. Il motivo per
cui si ricorre alla stima `e che spesso non tutti gli stati sono fisicamente accessibili, oppure il costo
per laggiunta di un ulteriore trasduttore vuole essere risparmiato. Nel caso in cui lo stato sia
misurabile ma affetto da molto rumore, la stima tramite osservatore rappresenta una sorta di
filtraggio dello stato stesso.
Si costruisca un sistema lineare stazionario:
w(k + 1) = F w(k) + Bu(k) + Gy(k),
si vuole che:
limk kx wk = 0
u, x(0), w(0).
(1.9)
(1.10)
Luscita dellosservatore, dopo un transitorio, deve convergere numericamente al valore dello stato.
Poich`e lo stato `e tempo-variante la loro differenza si manterr`
a limitata nel tempo. Questo deve
valere per ogni ingresso e per ogni stato iniziale sia dellosservatore che del sistema dinamico (in
generale x(0) non `e noto). In Figura 1.1 uno schema dellosservatore.
Si definisca un errore, e(k) = x(k) w(k), e se ne calcoli la dinamica:
e(k + 1) = x(k + 1) w(k + 1) = x(k) + u(k) F w(k) Bu(k) Gy(k),
(1.11)
affinch`e sia indipendente dallingresso `e necessario che sia B = . Si noti come questa posizione
sia stringente, `e richiesta la conoscenza esatta dellinfluenza dellingresso sul sistema per poterla
compensare esattamente. Si ottiene quindi:
e(k + 1) = x(k + 1) w(k + 1) = ( GH) x(k) F w(k).
(1.12)
G. Antonelli - FI (2009)
w
obs
B
(1.13)
(1.14)
e(k) = F k e(0).
(1.15)
ossia dallevoluzione:
Si deve quindi richiedere che gli autovalori della matrice dinamica F siano tutti allinterno del
cerchio di raggio unitario per garantire che lerrore converga a zero.
I gradi di libert`
a del progettista sono G e F . Si potrebbe pensare di prendere G = O e F = .
Questa soluzione ha due inconvenienti fondamentali, pu`
o essere utilizzata solo per sistemi stabili
e levoluzione dellerrore dellosservatore evolve con la stessa dinamica del sistema da osservare.
Questo significa che, a causa dei differenti stati iniziali, i valori dellosservatore diventano utili
quando il transitorio del sistema si `e estinto.
Il procedimento da seguire `e quello di assegnare gli autovalori di F , che equivale ad assegnare
levoluzione dellerrore. Esistono infinite matrici caratterizzate dagli stessi autovalori, quindi
assegnare gli autovalori di F non significa averne vincolato tutti gli elementi. Si calcola poi G e
da questa si determina univocamente F . Nel dettaglio, si assegnano gli n autovalori desiderati
d,i tutti allinterno del cerchio di raggio unitario:
d = {d,1 , . . . , d,n } .
(1.16)
(1.17)
i=1
(1.18)
10
G. Antonelli - FI (2009)
in cui si hanno come incognite gli elementi della matrice G. Supponendo di assegnare lo stesso
polinomio caratteristico per tutte le uscite, tramite il principio di identit`a dei polinomi, si potrebbe
pensare di ricavare i Gi,i tramite un sistema di equazioni di dimensioni opportune. In realt`
a ci`
o
non `e in generale possibile, le incognite, infatti, dopo loperazione di calcolo del determinante
compaiono in forma nonlineare e la risoluzione del sistema sarebbe estremamente complessa.
` possibile utilizzare una formula, nota come formula di Ackermann, la cui derivazione pu`
E
o
essere trovata in Appendice A.7. Nel seguito, per semplicit`a di notazione, si far`a riferimento ad
un sistema con una uscita scalare, le matrici H e G, quindi, sono vettori riga o colonna e verranno
rispettivamente indicate con i simboli h e g.
Si calcoli il polinomio caratteristico della matrice dinamica del sistema dato da:
|I | = n + a1 n1 + . . . + an .
(1.19)
Si calcoli la matrice:
h
T = hT T hT
an1 an2
a
i n2 an3
T n1 T . . .
...
...
h
...
...
1
0
. . . a1 1
... 1
0
. . . . . . . . .
,
. . . . . . . . .
... 0
0
(1.20)
della quale `e necessario verificarne il rango pieno, che si riduce a verificare il rango della prima
matrice che `e proprio la trasposta della matrice di osservabilit`
a del sistema (dettagli in A.7).
Definendo
T
d = dn . . . d1
T
a = an . . . a1
g = T -T (a d) .
(1.21)
.6 .2
= .1 .7
0 .2
1
H=
0
.3
.2
.7
0 0
,
1 0
11
G. Antonelli - FI (2009)
la matrice G cercata ha dimensioni 3 2:
G1,1
G = G2,1
G3,1
G1,2
G2,2 .
G3,2
Calcolando lespressione del polinomio caratteristico per losservatore (1.18), si ottiene il polinomio
del terzo ordine:
3 + (2 G2,2 G1,1 )2 +
(0.3G3,1 0.1G1,2 0.2G3,2 0.2G2,1 + 1.4G1,1 G2,1 G1,2 + 1.27 + 1.3G2,2 + G1,1 G2,2 ) +
0.45G1,1 + 0.07G1,2 + 0.08G2,1 0.42G2,2 + 0.17G3,1 + 0.09G3,2 0.2G3,1 G1,2 +
+0.2G1,1 G3,2 + 0.3G3,1 G2,2 + 0.7G2,1 G1,2 0.7G1,1 G2,2 0.262 0.3G2,1 G3,2
in cui compaiono i prodotti delle 6 incognite Gi,i . Questa espressione, ovviamente non-lineare,
non pu`
o essere facilmente, e sistematicamente, trattata tramite il principio di identit`a dei polinomi
per poter assegnare gli autovalori desiderati dellosservatore in eq. (1.17).
(1.22)
che mette in evidenza come losservatore sia costituito da una componente che emula il processo pi`
u una retroazione, pesata tramite G, sulluscita misurabile per ipotesi. In molti testi
losservatore viene presentato direttamente in questa forma. xxx schema a blocchi.
Sulla conoscenza del modello
Limplementazione di un buon osservatore richiede unaccurata conoscenza del modello matematico. La procedura di progetto dellosservatore, infatti, si basa sulla compensazione degli ingressi
12
G. Antonelli - FI (2009)
e sulla conoscenza delle matrici dinamiche e di uscita del sistema al fine di ottenere un sistema
omogeneo nellerrore. La conoscenza inesatta di queste matrici ha come conseguenza limmissione
di disturbi nella dinamica dellerrore. In pratica, quindi, lerrore non converge esattamente a zero
per le inaccuratezze parametriche, le dinamiche non modellate e gli errori di misura. Apparentemente, quindi, sembra di non ritrovare le propriet`a di robustezza ed insensibilit`a alle variazioni
parametriche tipiche della retroazione, si noti per`
o che il sistema utilizza una combinazione lineare dello stato (luscita) per estrarne informazioni e che la compensazione degli ingressi `e fatta a
ciclo aperto.
In dettaglio, si consideri levoluzione dellerrore:
e(k + 1) = ( GH) x(k) F w(k),
in cui la matrice B non compensa perfettamente e la conoscenza di `e soggetta ad un errore,
mentre supporremo H noto:
GH =
GH
F =
B = =
levoluzione dellerrore `e quindi determinata dallequazione:
u(k).
e(k + 1) = F e(k) + w(k)
+
Procedura operativa
I passi per la progettazione di un osservatore asintotico sono:
1. si verifica la osservabilit`
a del sistema ed eventualmente si trasforma in forma canonica di
osservabilit`
a, impostando poi il progetto per il sottospazio osservabile;
2. porre B = ;
3. determinare gli autovalori desiderati assegnando il vettore d;
4. calcolare la matrice di trasformazione lineare T tramite la (1.20);
5. calcolare g tramite la (1.21);
6. calcolare F tramite la (1.13).
13
G. Antonelli - FI (2009)
1.3
Il filtro di Kalman
(1.23)
dove x IRn `e lo stato, y IRm sono le uscite, u IRp gli ingressi, w IRq il rumore di processo,
v IRm il rumore di misura, le matrici sono di dimensione opportuna: IRnn , IRnp ,
1 IRnq e H IRmn . I rumori sono considerati a media nulla, incorrelati fra loro e con lo
stato e di covarianza nota,
E[w(k)]
E[v(k)]
E[w(i)w T (j)]
E[v(i)v T (j)]
E[wh (i)vlT (j)]
E[xh (i)vlT (j)]
=
=
=
=
=
=
0
0
Rw (i j)
Rv (i j)
0
per ogni i, j, h, l
0
per ogni i, j, h, l.
Supponendo accessibili le sole uscite si vuole trovare uno stimatore ottimo dello stato.
(xxx rappresentazione schematica delle ipotesi, kailath pg 311).
(k) la stima dello stato allistante k usando i dati fino allistante k e x(k) la stima
Si definisce x
(k 1) 6= x(k). Si veda
dello stato allistante k usando i dati fino allistante k 1. Si noti che x
la Figura 1.2 per una rappresentazione grafica delle grandezze definite.
(k)
x
P (k)
aggiorn. temporale
x(k + 1)
(k + 1)
x
M (k + 1)
P (k + 1)
k+1
14
G. Antonelli - FI (2009)
La differenza `e che in questo caso, essendo lo stato tempo-variante, non `e possibile utilizzare la
formula a lotti ma solo quella ricorsiva:
dove
(1.24)
1
.
L(k) = M (k)H T Rv + HM (k)H T
(1.25)
(1.26)
1.3.1
Aggiornamento temporale
Si consideri il caso in cui le misure siano disponibili ad una frequenza minore rispetto a quella di
monitoraggio dello stato stesso. Si pu`
o pensare di aggiornare la stima, in attesa della successiva
misura, sulla base della conoscenza del modello stesso. Questa intuizione, nota come modifica di
S.F. Schmidt, si traduce in due equazioni di aggiornamento per lo stato e la stima della covarianza
dellerrore di stima.
(k) e conoscendo la dinamica in (1.23).
Il valore di x(k +1) viene quindi calcolato partendo da x
Poich`e il rumore w(k) ha media nulla si ottiene:
x(k + 1) =
x(k) + u(k).
(1.27)
Si noti che leq. (1.27) `e definita aggiornamento temporale in contrapposizione alleq. (1.24),
definita aggiornamento di misura.
Poich`e:
(k))(x(k) x
(k))T ]
P (k) = E[(x(k) x
(1.28)
(1.29)
(k)) + 1 w(k)
x(k + 1) x(k + 1) = (x(k) x
(1.30)
calcoliamo
sapendo che
e che v e w sono incorrelati fra loro cos` come x e w si ottiene:
(k))(x(k) x
(k))T T + 1 w(k)w(k)T T
M (k + 1) = E[(x(k) x
1 ],
(1.31)
(1.32)
Come per la stima, leq. (1.32) `e definita aggiornamento temporale della covarianza mentre
leq. (1.26) `e definita aggiornamento di misura della covarianza.
Luso delle due equazioni di aggiornamento temporale ha senso anche in caso di uguale frequenza di misura e monitoraggio.
15
G. Antonelli - FI (2009)
1.3.2
Il filtro `e quindi dato dallimplementazione delle equazioni (1.24), (1.25), (1.26), (1.27) e (1.32)
che vengono qui riportate e sono definite, rispettivamente, guadagno, aggiornamento di misura
della stima, aggiornamento di misura della covarianza, aggiornamento temporale della stima e
aggiornamento temporale della covarianza:
1
(1.33)
L(k) = M (k)H T Rv + HM (k)H T
(k) = x(k) + L(k) [y(k) Hx(k)]
x
(1.34)
(1.35)
x(k + 1) =
x(k) + u(k)
T
M (k + 1) = P (k) +
(1.36)
1 Rw T
1
(1.37)
in cui x(0) e M (0) sono note e costituiscono una stima iniziale delle grandezze corrispondenti. Il
corrispondente schema a blocchi `e riportato in Figura 1.3.
(k)
x
1 w(k)
u(k)
+
v(k)
x(k)
1
z
y(k)
+
L(k)
x(k)
1
z
L(k) =
(1.39)
L(k) = P (k)H T R1
v
che rappresenta la forma cercata.
(1.40)
16
G. Antonelli - FI (2009)
(1.40)
Per darne uninterpretazione intuitiva si consideri H = I, vale a dire che tutti gli stati sono
misurabili. In questo caso, siano P (k) che Rv sono matrici delle stesse dimensioni. Supponendo
inoltre che Rv sia diagonale (non c`e correlazione fra i diversi rumori di misura) si osserva come il
guadagno L(k) sia diagonale e rappresenti il rapporto fra due grandezze statistiche, lincertezza
sulla stima e lincertezza sulla misura. Precisamente il guadagno `e proporzionale allincertezza
17
G. Antonelli - FI (2009)
sulla stima ed inversamente proporzionale allincertezza sulla misura. Una piccola incertezza
nella stima ed una grande incertezza sulle misure suggeriscono al guadagno di non aggiornare
molto la stima corrente, al contrario, una grande incertezza sulla stima ed una piccola incertezza
sulle misure suggeriscono che i dati correnti contengano una grande quantit`a di informazione da
utilizzare per laggiornamento della stima.
Guadagno a regime
` interessante stuIl filtro di Kalman `e caratterizzato da un guadagno L(k) tempo-variante. E
diarne le caratteristiche. Sotto ipotesi di linearit`
a, stazionariet`a, osservabilit`
a e controllabilit`
a,
il guadagno tende a regime ad un valore costante a causa del raggiungimento del regime delle
matrici P (k) e M (k) (la stima della covarianza dellerrore di stima, quindi, converge ad un valore
finito). Ha quindi senso utilizzare direttamente il valore di regime per un evidente risparmio computazionale. Luso di un guadagno costante non deve far pensare che il filtro di Kalman degeneri
in un osservatore, il procedimento utilizzato per ricavare i due stimatori `e differente.
Il guadagno assume quindi la forma:
1
L = M H T Rv + HM H T
(1.41)
Per ottenere la matrice M , si sostituisca lequazione di aggiornamento di misura della covarianza (1.26), nellaggiornamento temporale della covarianza (1.32), facendo tendere ad infinito
le matrici (M = P ). Si ottiene quindi:
o
n
1
(1.42)
HM T + 1 Rw T
M = M T M H T Rv + HM H T
1
nota come equazione di Riccati, la cui soluzione non `e banale a causa della sua evidente struttura
nonlineare. Esistono delle tecniche numeriche per la risoluzione di questa equazione, si pu`
o quindi
assumere che, una volta risolta lequazione di Riccati, sia noto il guadagno a regime L del filtro
di Kalman.
Questo permette di riscrivere le equazioni del filtro di Kalman nella forma:
(k) = x(k) + L [y(k) Hx(k)]
x
x(k + 1) =
x(k) + u(k)
(1.43)
18
G. Antonelli - FI (2009)
Si consideri come esempio il problema di stimare in linea il valore di una costante tramite una sua
misura rumorosa. La dinamica di uno scalare, costante, `e data dalla semplice equazione:
x(k + 1) = x(k),
in cui la matrice dinamica `e = = 1. Lequazione di uscita `e:
y(k) = x(k) + v(k),
in cui H = H = 1 e v(k) `e per ipotesi incorrelato e Gaussiano a media nulla e varianza rv .
Sia assegnata la matrice di covarianza M (0) che si riduce ad uno scalare m(0) = m0 `e possibile
calcolare le equazioni di aggiornamento della covarianza dellerrore e del guadagno:
m(k)
rv + m(k)
m(k)rv
p(k) =
rv + m(k)
m(k + 1) = p(k).
l(k) =
per k = 1 si ottiene:
l(1) =
p(1) =
m(2) =
m0
p(0)
m0 rv
m(1)
=
=
= 2
rv + m(1)
rv + p(0)
rv + m0 rv + m0 rv
rv + 2m0
m0 rv
rv + 2m0
m0 rv
,
rv + 2m0
m0
m0 /rv
=
,
rv + (k + 1)m0
1 + (k + 1)m0 /rv
m0 /rv
[y(k) x(k)] ,
1 + (k + 1)m0 /rv
in cui si nota come, al crescere di k, le nuove misure non vengano utilizzate per aggiornare la stima.
Si noti inoltre come il guadagno sia fortemente influenza dal rapporto fra m0 e rv secondo quelle
considerazioni qualitative fatte precedentemente, maggiore `e il rapporto fra m0 e rv maggiore sar`a
il guadagno e quindi la capacit`a del filtro di modificare la stima; il contrario quando m0 /rv `e
piccolo, indice di una varianza di misura maggiore della covarianza del rumore di stima.
In questo esempio `e stata fatta lipotesi che il modello matematico sia perfetto, e quindi che nessun
rumore di processo insista sulla dinamica del sistema, in caso contrario si sarebbe introdotto un
segnale w(k), possibilmente Gaussiano a media nulla e di una certa varianza nota, che avrebbe
impedito al guadagno di tendere a zero.
19
G. Antonelli - FI (2009)
p
0
v = 0
a
0
=
=
=
v
a
0
1 0
p
0 1 v .
0 0 a
2
1 t t2
2
t
eF t = I + F t + F 2 = 0 1 t = .
2
0 0 1
Assumendo di porre
2
4
3
2
cp (0) + cv (0) T2 + ca (0) T4 cv (0)T + ca (0) T2 ca (0) T2
3
M (1) = P (0)T =
cv (0) + ca (0)T 2
ca (0)T
cv (0)T + ca (0) T2
2
ca (0) T2
ca (0)T
ca (0)
che `e simmetrica e definita positiva ma non diagonale, il che mostra come la covarianza dellerrore
di posizione sia ora correlato a quello di velocit`a e accelerazione.
In assenza di altri sensori, lINS fornisce una stima il cui errore diverge secondo una polinomiale
del secondo ordine (Figura 1.4). Utilizzando la misura della posizione via radio:
pradio = pt + ep ,
che, pu`
o essere inserito nel modello derrore:
z = pradio pIN S = pt + ep pt p,
ossia, in forma matriciale:
z(k) = 1 0
p(k)
0 v(k) + ep (k),
a(k)
dove si suppongono gli errori di misura ep incorrelati e stazionari, `e invece possibile ridurre questo
errore. Si progetta quindi un filtro di Kalman in cui T = 1 s e si eseguono le misure via radio ogni
30 s.
20
G. Antonelli - FI (2009)
35
30
25
[m]
20
15
10
5
0
5
50
100
tempo [s]
150
101
103 I 3
I3
La figura 1.5 mostra lerrore di posizone dellINS e del filtro di Kalman, si nota come lutilizzo delle
misure di posizone permetta di contenere lerrore di posizione. Fino alla prima misura (t = 30 s),
inoltre, lerrore del filtro `e uguale a quello dellINS.
35
30
25
[m]
20
15
10
5
0
5
50
100
tempo [s]
150
Figura 1.5: Errore di posizione utilizzando il solo INS (x) e il filtro di Kalman (o).
Il filtro permette anche una ricostruzione ottima della velocit`a, grandezza non direttamente accessibile alla misura nellesempio fatto. In figura 1.6 gli errori di velocit`a per lINS e per il filtro
sono riportati. Si noti come per il filtro tale errore `e limitato mentre per lINS cresca linearmente
con il tempo.
La figura 1.7, infine, mostra landamento delle tre componenti del guadagno nei 6 istanti di misura.
Si nota come venga presto raggiunto un valore di regime.
21
G. Antonelli - FI (2009)
0.4
[m/s]
0.2
0.2
0.4
50
100
tempo [s]
150
0.6
0.4
0.2
0
Figura 1.7: Andamento temporale delle 3 componenti della matrice di guadagno L IR3 .
1.3.3
Una formulazione alternativa del filtro di Kalman, nota come Optimum Transient Observer si
ottiene fissando a priori la struttura dellosservatore e minimizzando la covarianza dellerrore di
stima.
Si consideri il modello descritto dallequazione (1.23):
x(k + 1) = x(k) + u(k) + 1 w(k)
y(k) = Hx(k) + v(k)
(1.23)
(1.44)
22
G. Antonelli - FI (2009)
(1.45)
che pu`
o essere esplicitato conoscendo la dinamica del sistema ed utilizzando le equazioni di
aggiornamento di misura e temporale dello stato:
(k) = x(k 1) + u(k 1) + 1 w(k 1) x(k) L(k) [Hx(k) + v(k) Hx(k)]
x
=
x(k 1) + 1 w(k 1) L(k) [Hx(k) + v(k) Hx(k)]
=
x(k 1) + 1 w(k 1) +
=
x(k 1) + 1 w(k 1) L(k)H
x(k 1) L(k)H 1 w(k 1) L(k)v(k).
(1.46)
Applicando loperatore di valore atteso ad entrambi i membri, portando fuori operatore le variabili
deterministiche, si ottiene:
E[
x(k)] = (I L(k)H) E[
x(k 1)]
(1.47)
(0) = E[x(0)].
che `e identicamente nullo se si assume x
Calcolo del guadagno
Come detto, il calcolo del guadagno dellosservatore si ottiene minimizzando la covarianza dellerrore di stima P (k) = E[
x(k)
x(k)T ]:
E[
x(k)
x(k)T ] = (I L(k)H) P (k 1)T (I L(k)H)T +
T
T
+ (I L(k)H) 1 Rw T
1 (I L(k)H) + L(k)Rv L (k)
(1.48)
1
1
+ A Rv + HM (k)H T AT
(1.49)
23
G. Antonelli - FI (2009)
dove
A = L(k) M (k)H T Rv + HM (k)H T
1
(1.50)
1.3.4
1
(1.51)
Considerazioni
Si faccia riferimento al modello in eq. (1.23), supponendo di non avere informazioni probabilistiche
sui rumori di processo e di misura, la minimizzazione dellerrore quadratico medio dellequazione
di misura fornirebbe ancora la (1.24) con la differenza che la matrice Rv `e ora una matrice
di pesi. Assumendo di conoscere le caratteristiche probabilistiche di processo e di misura si
potrebbe procedere con il metodo della Massima Verosimiglianza (Maximum Likelihood): ossia
(k) che massimizza la probabilit`a delle misure y(k) eseguite conoscendo
scegliere quella stima x
le propriet`a statistiche di v(k). Si vuole massimizzare p(y|x). Assumendo per v(k) valor atteso
nullo e funzione densit`a di probabilit`a Gaussiana si ottiene esattamente lo stesso risultato in (1.24)
a meno di interpretare Rv come covarianza del rumore di misura (pg. 103 gelb, verificare eq.
4.0-6).
Lapproccio a massima verosimiglianza non fa uso di informazioni probabilistiche di x(k). Un
approccio alternativo, in cui si usano tutte le caratterizzazioni stocastiche, `e la stima Bayesiana,
in cui si utilizza il teorema di Bayes:
p(x|y) =
p(y|x)p(x)
p(y)
(1.52)
per soddisfare uno specifico criterio di ottimo, es., per ricavare la stima a minima varianza
Bayesiana. Sotto semplici ipotesi, questi 3 criteri di stima forniscono risultati uguali [10].
1.3.5
Stabilit`
a
Un aspetto importante del filtro di Kalman riguarda il suo comportamento dinamico nel caso in
cui le misure siano soppresse. Dalle equazioni del filtro, supponendo assente lingresso, `e possibile
ricavare la dinamica della stima:
(k) = ( L(k)H) x
(k 1)
x
(1.53)
` necessario
che, anche in condizioni di ottimalit`
a del guadagno, non `e garantita essere stabile. E
richiedere delle ipotesi abbastanza stringenti ([10]) sebbene nella maggior parte dei casi pratici il
filtro non presenti problemi di stabilit`
a.
24
G. Antonelli - FI (2009)
1.3.6
La grandezza
(k)
e(k) = y(k) H x
(1.54)
(1.55)
(k) = (I L(k)H)
x
x(k 1) + (I L(k)H) 1 w(k 1) L(k)v(k).
Si consideri il caso i > j. Il termine B vale, per ipotesi:
E v(i)v(j)T = Rv (i j),
(1.46)
(1.56)
j+1
Y
l=i
(I L(l)H)
(1.57)
(1.58)
25
G. Antonelli - FI (2009)
(j)
v (j)T H T + HE (i)
= HP (i, j)E x
v (j)T H T
= HP (i, j) (L(j)Rv )
(j) la sua espressione (1.46) ed osservando che (i) e v(j) sono
che si ottiene sostituendo a x
incorrelati.
Sommando i termini ricavati si ottiene:
E e(i)e(j)T = HP (i, j) P (j)H T L(j)Rv + Rv (i j),
(1.59)
Si noti come, giunti al passaggio (1.59) sia possibile imporre la bianchezza del processo di
innovazione e ricavare il guadagno ottimo. In altre parole la bianchezza garantisce che non ci
siano informazioni utili nellerrore e(k).
1.3.7
Ortogonalit`
a fra stima ed errore
(1.61)
(1.62)
(1) =
x
x(0) + L(1)[y(1) H
x(0)]
=
x(0) + L(1)[Hx(0) + Hw(0) + v(1) H
x(0)]
=
x(0) + L(1)[H
x(0) + Hw(0) + v(1)]
(1.63)
(1.64)
in cui si `e fatto uso della formulazione alternativa per il guadagno. Per induzione si generalizza
al campione k esimo.
26
G. Antonelli - FI (2009)
1.3.8
Il Filtro di Wiener-Hopf
Il primo tentativo di stimare una grandezza a partire da un insieme di osservazioni risale agli
inizi del 1800 con Gauss che comincia ad utilizzare la tecnica dei Minimi Quadrati deterministici.
Agli inizi del 1900 Fisher, introducendo concetti probabilistici, propone lapproccio a Massima
Verosimiglianza. Verso il 1940 Wiener studia limplementazione di filtri ottimi nel dominio della
frequenza affrontando il problema nel tempo-continuo per processi stazionari a regime. Verso
il 1960 il lavoro di Kalman estende il risultato di Wiener che pu`
o essere considerato come un
caso particolare del filtro di Kalman. Dai primi sforzi di Gauss al filtro di Kalman `e possibile
individuare molte similitudini. Gauss riconosce implicitamente concetti quali la ridondanza dei
dati per eliminare il rumore di misura, la necessit`a di un ingresso eccitante, si avvicina a concetti
quali losservabilit`
a del sistema. Kalman pu`
o essere infatti considerato come la versione ricorsiva
del lavoro di Gauss [10].
Si riscrivano le equazioni del filtro di Kalman a regime considerando, per semplicit`a, lassenza
di ingresso:
(k) = x(k) + L [y(k) Hx(k)]
x
x(k + 1) =
x(k)
queste possono essere riscritte come:
x(k + 1) = {x(k) + L [y(k) Hx(k)]}
(1.65)
(1.66)
(1.67)
ossia:
che, Z-trasformando, fornisce:
che nel caso scalare diventa:
X(z) =
f l
Y (z)
z f (1 l h)
(1.68)
Si noti come in alcuni testi questo approccio `e noto come Kolmogorov-Wiener invece di WienerHopf. Si ribadiscono le differenze rispetto al risultato di Kalman. Wiener `e applicabile a sistemi
ingresso-uscita stazionari e stabili, Kalman a sistemi ingresso-stato-uscita tempo-varianti e non
necessariamente stabili.
1.3.9
Il Filtro di Kalman esteso (EKF, Extended Kalman Filter) si applica ai sistemi nonlineari o ai
sistemi dinamici in cui si voglia identificare uno o pi`
u parametri incogniti.
Si consideri il modello
(1.69)
(k)
=
H(k)
=
f (x(k),k)
x
(k)
x= x
h(x(k),k)
x
(k)
x= x
(1.70)
27
G. Antonelli - FI (2009)
che vengono utilizzate per il calcolo della matrice di covarianza e del guadagno. La stima ottima
`e quindi fornita dalle equazioni:
i1
h
T
T
Rv + H(k)M
(k)H(k)
L(k) = M (k)H(k)
x(k + 1) = f (
x(k), k) + u(k)
T + 1 Rw T
M (k + 1) = (k)P (k)(k)
1.
(1.71)
(1.72)
(1.73)
(1.74)
(1.75)
Si osservi come ora non sia possibile calcolare il guadagno a regime ma sia necessario calcolarlo
istante per istante, le matrici dinamiche del modello lineare, infatti, sono calcolate sulla base della
(k).
conoscenza di x
Il Filtro di Kalman esteso pu`
o anche essere utilizzato per stimare il valore di un parametro
costante del modello fisico. Si definisca con un vettore di parametri incerti del modello. Il
modello (1.69) diventa
x(k + 1) = f (x(k), , k) + u(k) + 1 w(k)
(1.76)
y(k) = h(x(k), , k) + v(k)
in cui si `e evidenziata la dipendenza (nonlineare) dalle variabili incerte. Lidea `e quella di considerare tali parametri, costanti, come ulteriori stati del sistema caratterizzati dallavere dinamica
nulla:
(k + 1) = (k).
(1.77)
Definendo il vettore degli stati esteso:
xE =
si ottiene il modello:
x
w
.
w
(1.78)
(1.79)
(1.80)
(1.81)
Si noti come, laggiunta di un rumore w (bianco, di covarianza R ) alla dinamica costante dei
parametri significa dare incertezza al valore stesso del parametro e quindi ammettere una sua
variazione nel filtro stesso. Laspetto critico del filtro di Kalman esteso `e proprio nella scelta dei
valori delle covarianze.
Sul modello (1.79) si progetta poi un filtro di Kalman esteso come in (1.71)(1.75).
Il filtro di Kalman esteso fu originariamente sviluppato calcolando le matrici linearizzate rispetto alla traiettoria nominale (e non alla stima al passo precedente). Date le condizioni iniziali,
28
G. Antonelli - FI (2009)
infatti, le equazioni dinamiche possono essere integrate e fornire levoluzione nel tempo dello stato del sistema. In un certo senso, `e come se, utilizzando la traiettoria nominale, si progetti un
filtro a ciclo aperto laddove, utilizzando la stima precedente, si retroazioni linformazione utile.
` anche possibile dimostrare come, in alcuni casi, lerrore del filtro di Kalman esteso progettato
E
sulla traiettoria nominale risulti eccessivo per ogni applicazione pratica. Lutilizzo della stima
corrente per linearizzare fu proposto ancora da S.F. Schmidt alla NASA durante gli studi per il
progetto di atterraggio della navetta spaziale Apollo.
Esempio
Le equazioni cinematiche di un robot mobile caratterizzato da una cinematica di tipo uniciclo sono:
x = v cos
y = v sin
(1.82)
=
dove x e y sono le coordinate della posizione del veicolo in terna inerziale, `e lorientamento di
una terna solidale al veicolo rispetto ad una terna inerziale, v e sono, rispettivamente, la velocit`a
lineare ed angolare del veicolo espresse in terna solidale. Supponendo di misurare le velocit`a di
rotazione delle ruote e di risalire, da queste, a v ed , si vuole stimare la posizione e lorientamento
del veicolo.
Le stesse equazioni, in tempo discreto, sono fornite da:
(k + 1) = (k) + T (k)
che indica che la nostra sola misura `e il terzo elemento dello stato. La linearizzazione della dinamica
fornisce:
1 0 T v(k) sin (k)
f (x(k), k)
p
r + p T v(k) sin (k)
v
(1.86)
che mostra come, evidentemente, non si raggiunga un regime per le prime due componenti.
La figura 1.8 mostra landamento temporale dello stato del veicolo soggetto ad un ingresso v,
` possibile notare come
sinusoidale e lo stato ricostruito per semplice integrazione con T = 0.1 s. E
ci sia una deriva numerica sulla stima dello stato.
Supponendo di misurare lorientamento ogni 5 s e di impostare un filtro di Kalman esteso con i
guadagni:
Rv
102
29
G. Antonelli - FI (2009)
[m]/[rad]
2
0
2
4
0
20
40
tempo [s]
60
80
Figura 1.8: Andamento temporale delle 3 componenti dello stato, x, y e (linea continua) e loro
stima per semplice integrazione (x).
Rw =
M (0) =
102 I 3
100I 3
si ottiene un andamento dellerrore di stima della posizione come quello mostrato in figura 1.9,
in cui con la linea continua si rappresenta lerrore di stima utilizzando il filtro di Kalman esteso e
con il segno x si rappresenta lerrore ottenuto per semplice integrazione. Si nota come, la misura
di una posizione assoluta () permetta di contenere lerrore anche per gli stati non direttamente
misurabili (x e y).
errori
0.6
0.4
[m]/[rad]
0.2
0
0.2
0.4
0
20
40
tempo [s]
60
80
Figura 1.9: Andamento temporale dellerrore di stima, x, y e per il filtro di Kalman esteso
(linea continua) e loro stima per semplice integrazione (x).
La figura 1.10 mostra infine landamento delle componenti del guadagno. La terza componente,
cos` come derivato simbolicamente si assesta su un valore costante.
30
G. Antonelli - FI (2009)
1
0.5
0.5
10
15
20
x1 (k + 1)
cos x3 (k) sin x3 (k)
0
x1 (k)
0
x2 (k + 1) = sin x3 (k) cos x3 (k)
0 x2 (k) + 0
x3 (k + 1)
0
0
1
x3 (k)
w(k)
y(k) = x1 (k) + v(k)
(1.87)
(1.88)
(1.90)
31
G. Antonelli - FI (2009)
Lesercizio `e tratto da [11], un veicolo rientra nellatmosfera monitorato da un radar. Un possibile
modello matematico per alte quote e velocit`a `e dato da:
x 1 (t) =
x 2 (t) =
x3 (t)
x4 (t)
(1.91)
(1.92)
x 3 (t) =
x 4 (t) =
(1.93)
(1.94)
x 5 (t) =
(1.95)
in cui x1 (t) e x2 (t) rappresentano la posizione del veicolo su un piano verticale in cui la prima
componente `e la quota, x3 (t) e x4 (t) le componenti della velocit`a, x5 (t) `e un parametro legato a
propriet`a aerodinamiche, le funzioni nonlineari d(t) (drag) e g(t) (gravit`a) sono date da:
d(t)
g(t) =
0 ex5 (t) e
gm0
3
r (t)
r0 r(t)
h0
v(t)
in cui r(t) `e la distanza dal centro della terra e v(t) la velocit`a, le loro espressioni sono:
q
r(t) =
x21 + x22
q
v(t) =
x23 + x24
(1.96)
(1.97)
(1.98)
(1.99)
Il radar, di posizione nota xr , yr misura distanza ed angolo del veicolo dal radar stesso. Le due
misure disponibili sono quindi:
p
(x1 xr )2 + (x2 yr )2 + v1
(1.100)
y1 (t) =
x2 yr
y2 (t) = atan
(1.101)
+ v2
x1 xr
I dati dellesercizio sono:
0
h0
=
=
0.597
13.406
gm0
r0
xr
=
=
3.9860 105
6374
r0
yr
Rv1
=
=
0
1
Rv2
17
di dimensioni opportune e con condizioni iniziali (le posizioni sono espresse in km)
6500
349
x=
1.8
6.8
0.7
32
G. Antonelli - FI (2009)
Si progetti un filtro con passo di campionamento T = 0.1 s. Le condizioni iniziali della stima si
pongano pari a:
6490
345
=
x
2 .
7
0.6
1.4
Dualit`
a stima-controllo
Kalman ricav`o il risultato, oggi noto come filtro di Kalman, nel 1960 [13]. Nel 1958 aveva
pubblicato ([14]), con Koepcke, il risultato ad un problema di Controllo Lineare Quadratico
(LQR Linear Quadratic Regulator). Nellarticolo del 1960 riconobbe una similitudine formale
che lo port`
o a definire i problemi luno il duale dellaltro.
Si consideri un sistema lineare tempo-discreto:
x(k + 1) = x(k) + u(k)
(1.102)
per il quale si cerca un controllo a retroazione dello stato con lo scopo di portare a zero lo stato
del tipo:
u(k) = K(k)x(k)
(1.103)
con K(k) guadagno tempo-variante da individuare.
Il guadagno si ottiene minimizzando il seguente indice:
J=
N
1 X T
x (k)Q1 x(k) + uT (k)Q2 u(k)
2
(1.104)
k=0
in cui le due matrici di peso Q1 e Q2 sono simmetriche e definite positive. Lindice `e un compromesso fra due esigenze, quella di portare a zero lo stato velocemente, pesando molto, quindi, lo
stato stesso, e quella di preservare lo sforzo del controllo pesando, ovviamente, il controllo stesso.
Il problema si pu`
o riscrivere come un problema di minimo vincolato in cui si cerca il valore di
u(k) k = 0, 1, . . . , N che minimizzi lindice J soggetto ai vincoli:
x(k + 1) + x(k) + u(k) = 0
k = 0, 1, . . . , N.
(1.105)
Per la soluzione, ottenibile con vari strumenti matematici fra cui i moltiplicatori di Lagrange,
si rimanda a testi di approfondimento [9]. Il valore del guadagno K(k), tempo-variante, `e dato
dallespressione:
1 T
S(k + 1)
(1.106)
K(k) = Q2 + T S(k + 1)
in cui le matrici S(k) e N (k) si ottengono tramite ricorsione allindietro delle seguenti equazioni:
S(k) = T N (k + 1) + Q1 ,
1 T
S(k).
N (k) = S(k) S(k) Q2 + T S(k)
(1.107)
(1.108)
33
G. Antonelli - FI (2009)
controllo
stima
N
S
Q1
Q2
T
P
M
1 Rw T
1
HT
Rv
Capitolo 2
Identificazione parametrica
2.1
35
G. Antonelli - FI (2009)
2.2
Una prima importante classificazione concernente lidentificazione riguarda la sua eventuale implemenazione in linea, ossia durante il funzionamento dellimpianto, o fuori linea. Nel caso di
identificazione in linea si vuole utilizzare linformazione per tarare opportunamente le strategie di
controllo (filtraggio) che si stanno implementando sul processo (segnale) e si vuole che questa azione sia adattativa rispetto a precedenti errori di stima dei parametri o deriva dei parametri stessi.
Facendo riferimento agli schemi generali di controllo e filtraggio delle figure (2.2) e (2.3) possiamo
affermare che lidentificazione fuori linea pu`
o essere stata utilizzata per tarare opportunamente
le strategie di controllo e filtraggio.
disturbo
riferimento
+
u
sistema
controllore
y
filtro
2.3
Applicazioni
36
G. Antonelli - FI (2009)
strategia di
adattamento
riferimento
+
u
sistema
controllore
segnale
y
filtro
2.4
G. Antonelli - FI (2009)
37
Un modello matematico ricavato sulla base delle equazioni che regolano la fisica del sistema
si rileva spesso troppo complesso per poter avere unapplicazione ingegneristica (es., fenomeno
sismico). In alcuni casi, tali equazioni sono strutturalmente inesatte ed uno sforzo eccessivo di
modellistica potrebbe non avere senso (es., fenomeni economici).
Lidentificazione `e quel procedimento che cerca di descrivere il sistema dinamico tramite delle
equazioni semplici ricavate sulla base di osservazioni. Il livello di raffinatezza nella descrizione
del sistema `e ovviamente legato anche alluso che si vuole fare di tale modello. Si vuole quindi
di una famiglia di modelli M caratterizzato da un vettore di parametri
individuare il membro M()
appartenente ad un insieme di valori ammissibili.
Si far`a riferimento a modelli lineari e stazionari tempo discreto.
In alcuni casi, lingresso (o variabile esogena) non `e presente, si far`a riferimento in questo caso
ad identificazione di serie temporali.
In generale, il procedimento di identificazione pu`
o essere scomposto in diverse fasi. Ogni fase
`e critica per la buona riuscita dellidentificazione; `e spesso vincente un approccio ingegneristico
al problema pi`
u che puramente matematico. Di seguito vengono fatti dei commenti generali, casi
pratici di identificazione vengono riportati nel Capitolo 3:
Raccolta dati. In questa fase lutente deve decidere quali dati utilizzare per impostare
il procedimento di identificazione: che serie storica di ingressi fornire al sistema, con che
ampiezza e frequenza di campionamento, ecc. Spesso non `e possibile impostare un esperimento, oppure la serie storica desiderata non `e compatibile con i limiti fisici del sistema
stesso e si deve ricorrere a dati acquisiti durante il normale funzionamento dellimpianto (o
durante losservazione del fenomeno).
` difficile pensare ad unidentificazione in cui del fenomeno da identiScelta del modello. E
ficare non si abbiano informazioni di alcun tipo, anche solo dalla osservazione delle strisciate
di dati si pu`
o cominciare a trarre informazioni utili che condizionano la scelta del modello
da utilizzare. Scelte pi`
u ponderate possono essere fatte nel caso in cui il fenomeno abbia
una forte caratterizzazione fisica e sia possibile scriverne (semplici) equazioni dinamiche, si
parla in questo caso di identificazione a scatola trasparente. Si definisce identificazione a
scatola nera il caso in cui non ci siano informazioni preliminari sul modello matematico. Un
aspetto importante nella scelta del modello `e luso che si deve fare del modello identificato,
se finalizzato al controllo o al filtraggio, ecc.
Identificazione dei parametri del modello. Una volta scelto il modello e i dati da
utilizzare si procede con il calcolo dei parametri del modello. Esistono algoritmi diversi per
uno stesso modello ed i problemi da risolvere in questa fase sono essenzialmente di natura
numerica.
Validazione del modello. Il modello appena identificato deve essere validato. Si devono
quindi individuare una serie di indicatori che forniscano una sorta di misura della bont`
a
dellidentificazione. In caso di mancata validazione il procedimento va rianalizzato in toto
per capire il motivo del fallimento dellidentificazione stessa.
In un procedimento di identificazione `e sempre consigliabile utilizzare tutta la conoscenza apriori che si ha del modello da identificare.
38
G. Antonelli - FI (2009)
2.5
Si vuole modellare una componente di incertezza e/o errore considerando dei modelli stocastici di
sistemi dinamici, in cui la componente stocastica rappresenta unincertezza legata alla misurazione
o alla descrizione del fenomeno stesso. Luscita sar`
a quindi stocastica. Lo stato sar`
a stocastico
` utile rimarcare come la componente
se influenzato dalla componente stocastica del sistema. E
stocastica non individui solamente un rumore additivo fisicamente presente nellingresso e/o nella
misurazione delluscita ma anche lincertezza del modello matematico stesso.
Si definisca u(k) lingresso deterministico del sistema, y(k) luscita, (k) il rumore bianco e
G(z) la f.d.t. ingresso-uscita.
2.5.1
Tale modello, anche definito modello a rumore duscita, presuppone che alluscita del modello
dinamico si sovrapponga del rumore:
y(k) = G(z)u(k 1) + (k)
(2.1)
2.5.2
Tale modello, anche definito modello a rumore dingresso, presuppone che allingresso del modello
dinamico si sovrapponga del rumore bianco:
y(k) = G(z) [u(k 1) + (k)]
(2.2)
2.5.3
Tale famiglia di modelli, anche definiti modelli a rumore di processo, ha maggiore interesse pratico
e si basa sulla considerazione che le equazioni che descrivono il sistema in esame siano inevitabilmente inaccurate. Questa inaccuratezza `e portata in conto aggiungendo un processo stocastico
(rumore di processo) alla descrizione del fenomeno. Introducendo i polinomi a coefficienti reali
A(z 1 ), B(z 1 ) e C(z 1 ), con A(z 1 ) e C(z 1 ) monici:
A(z 1 ) = 1 a1 z 1 a2 z 2 + . . . ana z na
B(z
C(z
) = b1 + b2 z
) = 1 + c1 z
+ . . . + bn b z
+ c2 z
nb +1
+ . . . + cnc z
nc
(2.3)
(2.4)
(2.5)
si pu`
o scrivere il modello dinamico come:
A(z 1 )y(k) = z d B(z 1 )u(k) + C(z 1 )(k),
(2.6)
39
G. Antonelli - FI (2009)
y(k) = z d
B(z 1 )
C(z 1 )
(k).
1 u(k) +
A(z )
A(z 1 )
(2.7)
Si noti
Non `e una limitazione considerare lo stesso denominatore per la f.d.t. dellingresso e del
rumore, ci`
o `e evidente riscrivendo lequazione precedente come:
y(k) = z d
B1
B1 A2
C2
C2 A1
u(k) +
(k) = z d
u(k) +
(k);
A1
A2
A1 A2
A1 A2
(2.8)
ARMAX
Il modello descritto dallequazione (2.7) `e definito ARMAX. Il nome `e un acronimo che ne descrive
la componente AutoRegressive (A(z 1 )y(k)), eXogeneous (z d B(z 1 )u(k)) e Moving Average
(C(z 1 )(k)).
Si noti che la componente C(z 1 )(k), che prende il nome di residuo dequazione, `e ora un
rumore colorato.
ARX
` un caso particolare
Il modello privo della componente Moving Average prende il nome di ARX. E
1
di ARMAX in cui C(z ) = 1:
y(k) = z d
B(z 1 )
1 (k),
u(k) +
A(z 1 )
A(z 1 )
(2.9)
40
G. Antonelli - FI (2009)
o equivalentemente
A(z 1 )y(k) = z d B(z 1 )u(k) + (k).
(2.10)
Si pu`
o osservare come il modello ARX abbia una debole interpretazione fisica, dalla eq. (2.9)
si nota infatti come, per ipotesi, il rumore influenzi luscita con la stessa dinamica del processo. Nonostante questa ipotesi sia molto restrittiva, limportanza di questo modello risiede nella
possibilit`a di scriverlo in forma di regressione lineare, come verr`
a mostrato pi`
u avanti.
AR
Lassenza anche della componente esogena da luogo al modello AR
1 (k),
A(z 1 )
(2.11)
(2.12)
y(k) =
o equivalentemente
ARMA
Il modello caratterizzato da rumore colorato ma privo della componente esogena da luogo al
modello ARMA
y(k) =
C(z 1 )
(k),
A(z 1 )
(2.13)
o equivalentemente
A(z 1 )y(k) = C(z 1 )(k).
(2.14)
ARIMA
Un caso particolare del modello ARMA si ottiene considerando A = (1 z 1 )A , cio`e
y(k) =
C(z 1 )
(k),
(1 z 1 )A (z 1 )
(2.15)
41
G. Antonelli - FI (2009)
il cui acronimo prende in considerazione esplicitamente il fatto che questo modello rappresenta
lintegrazione di rumore colorato: AutoRegressive Integrated Moving Average. Nel tempo infatti
si ha:
C(z 1 )
y(k) = y(k 1) + 1 (k).
(2.16)
A (z )
Se il rumore non `e colorato (A = C = 1), il modello diviene:
y(k) = y(k 1) + (k),
(2.17)
vale a dire integrale di rumore bianco, noto come moto browniano o passeggiata casuale (random
walking). Lequivalente tempo-continuo, vale a dire lintegrale di rumore bianco, `e noto anche
come processo di Wiener [20].
Il modello matematico della passeggiata casuale ha una caratteristica interessante. Definendo
come la varianza del rumore bianco, se si calcola il valor atteso e la varianza delluscita si
ottiene
E[y(k)] = E[y(k 1) + (k)] = E[y(k 1)] + E[(k)] = 0
per quanto concerne il valor atteso e
E[y 2 (k)] = E[(y(k 1) + (k))2 ]
= E[y 2 (k 2)] + 2
= ...
(2.18)
= k
B(z 1 )
u(k) + (k),
A(z 1 )
(2.19)
o equivalentemente
A(z 1 )y(k) = z d B(z 1 )u(k) + A(z 1 )(k).
(2.20)
Si noti come lestensione al caso multivariabile sia semplice e non modifichi la struttura delle
equazioni.
42
G. Antonelli - FI (2009)
modello
G(z)
ARMAX
G(z) =
ARMA
W (z)
z d B(z 1 )
A(z 1 )
G(z) = 0
AR
z d B(z 1 )
A(z 1 )
G(z) = 0
OE
G(z) =
ARX
G(z) =
z d B(z 1 )
A(z 1 )
C(z 1 )
A(z 1 )
C(z 1 )
W (z) =
A(z 1 )
1
W (z) =
A(z 1 )
1
W (z) =
A(z 1 )
W (z) =
W (z) = 1
u(k)
G(z)
y(k)
+
Figura 2.6: Schema generale dei modelli presentati (si veda la Tabella 2.1).
2.6
43
G. Antonelli - FI (2009)
y(k|k 1)
(2.21)
o, pi`
u semplicemente y(k), lerrore di predizione cercato (ad un passo) `e allora dato da:
(k) = y(k) y(k|k 1).
(2.22)
1
N
x+N
X1
2 (k).
(2.23)
k=x
Verr`
a inoltre mostrato come sia necessario non fermarsi ad un solo indice di merito nella scelta
del modello ma si renda necessario fare una serie di considerazioni differenti.
C(z 1 )
B(z 1 )
u(k)
+
(k)
A(z 1 )
A(z 1 )
)
e si faccia lipotesi che W (z) = C(z
A(z 1 ) sia rappresentato in forma canonica. Si dividano entrambi
i membri per W (z) e si sommi e sottragga y(k):
B(z 1 )
A(z 1 )
u(k) + (k)
(2.24)
y(k) + z d
y(k) = 1
1
C(z )
C(z 1 )
1
(2.25)
ARMAX
Il predittore per un modello ARMAX `e proprio dato dalleq. (2.25). Nel seguito con la notazione ARMAX(na,nb,d,nc) si caratterizzer`a la struttura del modello. Si supponga un modello
particolarmente semplice ARMAX(1,1,1,1):
A(z 1 ) = 1 a1 z 1
44
G. Antonelli - FI (2009)
B(z 1 ) = b1
C(z 1 ) = 1 + c1 z 1 ,
scrivendo esplicitamente il predittore si ottiene:
y(k) = (a1 + c1 )y(k 1) c1 (a1 + c1 )y(k 2) + . . . + b1 u(k 1) c1 b1 u(k 2) + . . .
(2.26)
la dipendenza dai parametri delluscita stimata, quindi, `e abbastanza complessa anche per un
modello estremamente semplice, ed `e, evidentemente, nonlineare.
Si faccia attenzione alla necessit`a di rappresentare C(z 1 ) in forma canonica, `e facile verificare,
infatti, come la stabilit`
a di C(z 1 ) (zeri allinterno del cerchio del raggio unitario) sia indispensabile per non far divergere la predizione. Il predittore infatti dipende dai valori passati di y a
meno di C(z 1 ).
ARX
Sostituendo C(z) = 1 nella forma generale (2.25) si ottiene il predittore per il modello ARX:
y(k) = 1 A(z 1 ) y(k) + z d B(z 1 )u(k)
(2.27)
che, scritto in forma esplicita, assume una forma particolarmente attraente in quanto lineare
nei parametri da identificare:
y(k) = a1 y(k 1) + a2 y(k 2) + . . . + b1 u(k d) + b2 u(k d 1) + . . .
(2.28)
esso, inoltre, `e stabile in quanto non dipende dai valori passati di y ma dalle sole misure y.
AR
Il modello AR, utilizzato per le serie storiche si ottiene facilmente come:
y(k) = 1 A(z 1 ) y(k)
(2.29)
(2.30)
ARMA
Il modello ARMA, utilizzato per le serie storiche si ottiene facilmente come:
A(z 1 )
y(k) = 1
y(k)
C(z 1 )
anche in questo caso, la dipendenza dai parametri `e non lineare.
(2.31)
45
G. Antonelli - FI (2009)
OE
Il modello OE `e un caso particolare di ARMAX con A(z) = C(z): Il suo predittore `e quindi dato
da:
y(k) = z d
B(z 1 )
u(k)
A(z 1 )
(2.32)
2.7
2.8
Regressore
46
G. Antonelli - FI (2009)
(2.33)
che pu`
o essere riscritta come operazione matriciale:
a1
...
ana
(2.34)
ossia
(2.35)
e lerrore di predizione:
2.9
(k) = H(k)
y
(2.37)
(2.38)
poich`e m < n,
La relazione (2.37) non `e, in generale, direttamente utilizzabile per stimare ;
infatti, il regressore `e una matrice rettangolare bassa. Esistono infiniti vettori dei parametri che
forniscono una determinata uscita per un determinato regressore.
Si pu`
o osservare, per`
o, come quella relazione debba essere valida istante per istante. Si considerino quindi un numero sufficientemente alto di istanti di misura: y(k l), y(k l + 1), . . . , y(k).
Si definisca un vettore y(k) IRml ottenuto impilando i vettori y():
y(k l)
y(k l + 1)
y(k) =
(2.39)
.
..
.
y(k)
47
G. Antonelli - FI (2009)
H(k l)
H(k l + 1)
(2.40)
H(k) =
.
..
.
H(k)
(2.41)
si noti che, essendo la matrice H(k) ottenuta impilando in colonna le matrici H(k), il vettore `e
lo stesso di (2.36). Leq. (2.41) differisce dalleq. (2.36) solo per il numero di righe della matrice
H(k) e dei vettori y(k) e v(k). Affinch`e il problema sia correttamente definito `e necessario che
la matrice H(k) sia rettangolare alta, cio`e che m l > n.
` immediato scrivere un vettore impilato di errori di predizione:
E
(2.42)
Lindice, scalare, rispetto al quale si calcola la soluzione ottima `e la somma del quadrato degli
errori di predizione:
J = e(k)T e(k).
(2.43)
o essere riscritta come:
Lequazione (2.43) pu`
J
(2.44)
Condizione necessaria affinch`e J abbia un estremo relativo (punto stazionario) `e che le derivate
parziali rispetto a siano nulle. Imponendo questa condizione otteniamo la cosiddetta equazione
normale:
J
= 0 2yT (k)H(k) + 2 T HT (k)H(k) = 0.
(2.45)
Supponendo invertibili le matrici interessate si ottiene la soluzione ai minimi quadrati (LS, Least
Squares):
= HT (k)H(k) 1 HT (k)y(k).
(2.46)
(2.47)
Si noti che lindice di merito `e funzione del vettore n-dimensionale , la sua derivata parziale,
quindi, ha dimensione n. La soluzione trovata non `e solo un estremo relativo ma un minimo della
48
G. Antonelli - FI (2009)
x = x1
. . . xl
T
. . . ymis,l
T
che, impilando le misure ed aggiungendo il rumore di misura, gaussiano bianco per ipotesi, permette
di scrivere la seguente relazione:
ymis,1
x1
y0
1
..
.. .. ..
. = . + . + .
ymis,l
xl
y0
x1 1
ymis,1
1
.
.. .. ..
. = . . y0 + .. = H +
ymis,l
xl
da cui `e immediato ricavare una stima utilizzando la formula dei minimi quadrati:
= H y .
mis
3 4
5 6
7 8
T
9 10
1
2
e i parametri stimati:
y0
= 1.14
= 2.78.
G. Antonelli - FI (2009)
49
Figura 2.7: Retta originaria (linea spessa), dati misurati (punti) e retta interpolante (linea sottile).
In figura 2.7 `e rappresentata la retta interpolante (linea sottile), quella che ha generato i dati (linea
spessa) e i punti di misura.
` utile osservare come si possa diminuire lerrore sulla stima dei parametri incrementando il numero
E
di misure. Asintoticamente, inoltre, tale errore pu`
o convergere al valore nullo perch`e il modello
utilizzato per la stima `e uguale al meccanismo di generazione dei dati.
2.9.1
Modificando la cifra di merito da minimizzare si ottiene una differente soluzione, definita Minimi
Quadrati Pesata (WLS, Weighted Least Square). Lindice `e ora la somma pesata del quadrato
degli errori di stima:
J = e(k)T W(k)e(k)
(2.49)
in cui la matrice di peso W(k) `e scelta impilando l matrici W (k) definite positive come gi`a fatto
per H. La matrice W(k) `e definita positiva per costruzione. Se si pone W = R1
v , covarianza
del rumore, e quindi
W(k) = diag W (k) . . . W (k) ,
si ottiene la stima Markoviana le cui propriet`a sono discusse nella Sezione 2.9.2.
[aggiungere interpretazione pesi]
50
G. Antonelli - FI (2009)
(2.50)
(2.51)
Derivando ancora
= 2HT (k)W(k)H(k)
(2.52)
(2.53)
che `e definita positiva per costruzione e conferma i risultati della soluzione ai minimi quadrati
come caso particolare dei minimi quadrati pesati con W = I.
2.9.2
Supponendo di aver generato i dati con il modello ARX o AR `e possibile valutare le propriet`a
stocastiche della stima ottenuta con i minimi quadrati. Si fa riferimento al caso pesato con ovvia
particolarizzazione al caso non pesato.
Lerrore di stima al passo k `e fornito da:
=
1 T
H (k)W(k)y(k)
= HT (k)W(k)H(k)
1 T
T
H (k)W(k) [H(k) v(k)]
= H (k)W(k)H(k)
1 T
T
H (k)W(k)v(k)
= H (k)W(k)H(k)
(2.54)
(2.55)
Affinche il valore atteso dellerrore di stima sia nullo `e quindi necessario che la matrice da invertire
abbia rango pieno (si veda sezione 2.9.4) e che il rumore (bianco per ipotesi) abbia valor atteso
nullo. Se il rumore non fosse bianco ed avesse, quindi, una correlazione nel tempo dei propri
campioni e se il meccanismo di generazione dei dati avesse na 1 allora `e possibile vedere come
il valore atteso dellerrore non sia nullo.
La covarianza dellerrore, gi`
a definita come E[(k)(k)T ] = Rv , `e fornita da:
(2.56)
51
G. Antonelli - FI (2009)
(2.57)
dove si sono usate le propriet`a di simmetria delle matrici W e HT (k)W(k)H(k). Si noti come in
questo caso si suppone nota la covarianza del rumore.
Nel caso dei minimi quadrati, W = I; supponendo inoltre E[v(k)v(k)T ] = 2 I dalla eq. (2.56)
si ottiene
T ] = 2 HT (k)H(k) 1 .
E[
(2.58)
Si noti che la covarianza dellerrore di stima `e proporzionalmente legata, a meno della matrice
H, alla covarianza del rumore di misura.
2.9.3
Disuguaglianza di Cram
er-Rao
La sezione 2.9.2 mostra una relazione importante per loperazione dei Minimi Quadrati. La
` di interesse fornire un risultato
covarianza dellerrore `e legata alla covarianza del rumore. E
una possibile stima di tale che la
generale dato dalla disuguaglianza di Cramer-Rao: Sia
= (y)
media dellerrore sia nulla. Il vettore `e funzione dei dati y(k) IRml :
con una
funzione densit`a di probabilit`a fy (, y). Si ha
T
] M 1
E[
in cui la matrice M IRnn definita matrice di informazione di Fisher `e definita come:
"
2
T #
= E
log fy (, y)
log fy (, y)
M =E
log fy (, y) .
(2.59)
(2.60)
Si noti come la valutazione della matrice M richieda la conoscenza del valore esatto dei parametri da individuare che non `e, ovviamente, disponibile allutente. La dimostrazione pu`
o essere
trovata, per es., in [17].
2.9.4
Persistente eccitazione
52
G. Antonelli - FI (2009)
u(2)
u(3)
H= .
..
u(1)
u(2)
..
.
u(N ) u(N 1)
u(2)
u(1)
u(2)
u(2) u(3) . . .
u(N )
u(3)
T
H H =
..
..
u(1) u(2) . . . u(N 1) .
.
u(N ) u(N 1)
PN 2
PN
i=2 u (i)
i=2 u(i)u(i 1)
,
=
PN 1
PN 1 2
i=1 u(i 1)u(i)
i=1 u (i 1)
(2.61)
]=
E[
2
I
2
(2.63)
53
G. Antonelli - FI (2009)
Unulteriore considerazione `e necessaria per comprendere la relazione che intercorre fra lerrore
e la natura dellingresso. Ci si chiede se sia possibile avere un errore di predizione nullo con
parametri stimati diversi da quelli reali. Si supponga di aver generato i dati tramite un modello
SISO del tipo:
A(z)Y (z) = B(z)U (z)
(2.64)
in cui si suppone di aver inglobato il termine z d in B(z), cui corrisponde un predittore del tipo
h
i
y(k) = 1 A(z)
y(k) + B(z)u(k)
(2.65)
ed un errore di predizione:
h
i B(z)
B(z)
u(k) 1 A(z)
u(k) B(z)u(k)
A(z)
A(z)
(2.66)
(2.67)
Dobbiamo quindi verificare se la seguente equazione possa essere soddisfatta per stime dei parametri diverse da quelle vere:
A(z)B(z)
A(z)B(z)
u(k) = 0.
(2.68)
A(z) = 1 a1 z 1
B(z) = b1 z 1
che permette di particolarizzare la (2.68) in:
i
h
(1 a
1 z 1 )b1 z 1 (1 a1 z 1 )b1 z 1 u(k) =
i
h
(b1 b1 )z 1 + (a1b1 a
1 b1 )z 2 u(k) = 0.
(2.69)
Si supponga di sollecitare il sistema con un ingresso u(k) = cost., riscrivendo la (2.69) nel tempo
osserviamo:
h
i
(b1 b1 )u(k 1) + (a1b1 a
1 b1 )u(k 2) = (b1 b1 ) + (a1b1 a
1 b1 ) cost. = 0,
(2.70)
54
G. Antonelli - FI (2009)
(2.71)
b1
b1
=
1 a1
1a
1
(2.72)
equivalente a
che permette di trarre un prima conclusione. Sollecitando il sistema in esame con un ingresso
costante `e possibile ottenere un errore di predizione nullo che non implica lidentificazione dei
parametri corretti. Nel caso specifico di ingresso costante ci`o che si osserva `e che il modello
identificato ha lo stesso guadagno del modello che ha generato i dati. Siamo in presenza, evidentemente, di un ingresso poco adatto alla identificazione. Lequazione (2.69) `e unequazione alle
differenze la cui soluzione, a meno di una traslazione temporale, `e data da:
k
u(k) = =
k
a1b1 a
1 b1
b1 b1
!k
(2.73)
Supponendo di poter sollecitare il sistema esattamente con questo ingresso avremmo un errore di
predizione nullo senza poter, in alcun modo, trarre conclusioni circa la correttezza dei parametri.
Si scelga quindi come ingresso un segnale sinusoidale, certamente non soluzione della (2.69), del
tipo u(k) = sin(k), si ottiene che lerrore di predizione `e nullo se e solo se
(b1 b1 ) = (a1b1 a
1 b1 ) = 0
(2.74)
che implica lesattezza dei parametri identificati. Per questo caso semplice, sapendo che n =
na + nb = 2, si `e ottenuto che, ad ingresso sinusoidale ed errore di predizione nullo corrisponde
la possibilit`a di identificare due parametri. Nel caso generale `e possibile dimostrare ([15]) che un
segnale sinusoidale che contenga un numero di componenti maggiore della met`
a dei parametri da
identificare, associato ad un errore di predizione nullo, `e sufficiente per la corretta identificazione
dei parametri.
Questo risultato, ottenuto supponendo che i dati siano stati generati tramite la (2.64) e che
il numero delle incognite sia noto, va generalizzato in un contesto di identificazione pratica osservando che lindicazione che fornisce `e coerente con la condizione di persistente eccitazione: lo
spettro del segnale di ingresso deve essere sufficientemente ricco di armoniche.
2.9.5
(2.75)
55
G. Antonelli - FI (2009)
Linterpretazione geometrica di questo risultato `e immediata, la proiezione dellerrore di predizione nel range della matrice H(k) `e nulla. Oppure, dalla definizione stessa dellerrore, significa
la proiezione di y(k)
dire che la soluzione ai minimi quadrati individua come valore ottimo di
lungo il range di H(k).
La matrice H(k) `e composta dalle misure degli ingressi e delle uscite, la relazione (2.75) esprime
unortogonalit`a fra errore e misure, grossolanamente, lerrore `e composto da quelle componenti
non contenute nei dati. Sotto lipotesi di ergodicit`
a, `e possibile giungere alla conclusione che:
E[HT (k)e(k)] = 0,
(2.76)
per i = 1, . . . , na
per i = d, . . . , d + nb 1
lerrore di predizione, quindi, `e quella quantit`a incorrelata agli ingressi ed alle uscite precedenti.
La rappresentazione geometrica in uno spazio euclideo con IR2 e y IR3 `e data dalla
u chiarezza il bisogno di
Figura 2.8. Alla luce di questa nuova interpretazione acquista anche pi`
generare degli ingressi eccitanti.
R(H)
yy
= H
y
Figura 2.8: Interpretazione geometrica del legame fra errore e dati per y IR3 e IR2 .
Esercizio
Si consideri il modello ARX(2,1,2) caratterizzato dai polinomi:
A(z 1 ) =
B(z 1 ) =
1 1.6z 1 + 0.66z 2
2z 2 .
Si realizzi la simulazione in Simulink con tempo finale k = 100 considerando un rumore bianco
con varianza 2 = 103 ed ingressi:
Gradino di ampiezza unitaria applicato in k = 5;
Per ogni simulazione di salvi in un file .mat usando il comando save dal prompt del Matlab.
Si realizzi un funzione Matlab per lidentificazione ai Minimi Quadrati con in ingresso le serie
storiche ingresso-uscita e lordine del modello ARX ed in uscita il vettore dei parametri identificato
56
G. Antonelli - FI (2009)
ed il numero di condizione del regressore impilato. Utilizzando questa funzione, e lo stesso insieme di dati generato, si faccia lidentificazione dei modelli ARX(2,1,2), ARX(2,2,1), ARX(2,4,1),
ARX(3,3,1), ARX(1,1,2) utilizzando come ingresso la successione di gradini. Si giustifichino i
diversi valori del numero di condizione ottenuti anche costruendo un tabella in cui, per ogni identificazione, si riportano il numero di condizione e la norma di HT H, il vettore dei parametri
identificato e la posizione dei poli della fdt (zeri di A(z)).
Per il modello ARX(2,1,2) (il modello che ha generato i dati), si facciano diverse identificazioni
utilizzando un numero decrescente di campioni (es. 100, 50, 10, 5).
Per lo stesso modello si utilizzino i dati ottenuti tramite la simulazione del gradino e del rumore
bianco. Si giustifichino le differenze fra i risultati.
Al modello Simulink si aggiunga ora un rumore colorato tramite:
C(z 1 ) = 1 0.3z 1,
e si utilizzino i Minimi Quadrati per identificare il modello ARX(2,1,2). Quale propriet`a della stima
non `e pi`
u garantita?
Per i modelli ARX individuati si provveda poi ad effettuare una opportuna validazione. Per ognuno
dei modelli si calcoli il valore della cifra di merito (errore quadratico medio), la eventuale bianchezza
del vettore dellerrore di predizione tramite, ad es., il test di Anderson, e si simuli luscita rispetto
ad un ingresso canonico, ad es., un gradino, confrontando graficamente luscita simulata con quella
misurata1 . Per una pi`
u facile interpretazione dei dati si riportino i risultati in una tabella.
Lesercitazione `e finalizzata a far riflettere su alcuni punti evidenziati in teoria nelle sezioni precedenti:
importanza della scelta di un ingresso opportuno e indicatori quantitativi sulla bont`a dello
stesso;
in caso di dubbio sul ritardo d ingresso-uscita, `e possibile porre d = 1 e verificare il modulo
dei coefficienti bi identificati; in generale sovrastimare i coefficienti bi non lede il processo di
identificazione;
a parit`a di dati, un modello sovraparametrizzato comporta un problema numericamente
malcondizionato;
`e possibile ottenere una matrice HT H malcondizionata sia per una sovraparametrizzazione
del modello che per una scelta poco eccitante dellingresso;
La predizione al passo k si ottiene utilizzando le uscite misurate dei passi precedenti; la simulazione si ottiene
utilizzando le uscite simulate dei passi precedenti (si veda la sezione 2.15.1)
57
G. Antonelli - FI (2009)
2.10
La derivazione dei Minimi Quadrati `e stata possibile senza introdurre concetti di tipo probabilistico. In questa Sezione verr`
a brevemente introdotto un metodo di identificazione, definito a
Massima Verosimiglianza (MLE Maximum Likelihood Estimator), che si basa sulla conoscenze di
caratteristiche probabilistiche delle variabili in gioco. Per dettagli si faccia riferimento, per es.,
a [9].
Si supponga di avere a disposizione un vettore di osservazioni y IRN . Per questo vettore si
definisce una funzione densit`a di probabilit`a:
fy (, x)
(2.77)
(y)
(2.78)
che `e una funzione da IRN a IRn . Se il valore osservato di y `e y allora la stima `e fornita da:
= (y
).
(2.79)
(2.80)
Fornito il valore numerico delle osservazioni y questa funzione `e una funzione numerica di ,
chiamata funzione di verosimiglianza; rappresenta la verosimiglianza che quei dati abbiano luogo.
Un possibile stimatore `e quello che massimizza la verosimiglianza dei dati:
M L = max fy (, y )
(2.81)
(2.82)
Per calcolare lo stimatore MLE si deve ricavare la pdf congiunta del vettore y delle osservazioni.
Per ogni elemento yi si ha:
1
(xi )2
fyi (, xi ) =
exp
2i
2i
58
G. Antonelli - FI (2009)
data lindipendenza delle variabili si ottiene:
fy (, x) =
N
Y
i=1
1
(xi )2
.
exp
2i
2i
2
2
2 i=1
i
i=1
da cui si ricava
X y
1
i
.
ML = PN
(1/
)
i i=1 i
i=1
La differenza rispetto alla stima (2.82), ottenuta assumendo di non avere informazioni sulla caratterizzazione probabilistica dei dati, `e data dal fatto che ogni osservazione viene ora pesata per
linverso della varianza. Lo stimatore MLE pesa in maniera maggiore i valori ottenuti dalle variabili
a varianza minore.
Si ricaver`
a ora la stima a Massima Verosimiglianza per un vettore delle osservazioni uscita di
un sistema dinamico. Si consideri un modello ARMAX
y(k) = z d
B(z 1 )
C(z 1 )
u(k)
+
(k)
A(z 1 )
A(z 1 )
(2.83)
(2.84)
e lerrore di predizione
(k) = y(k) y(k|k 1)
(2.85)
in cui si `e evidenziato che la predizione al passo k utilizza i dati fino al campione k 1. Ogni
elemento ha pdf fe (k, x, ) indipendente per ipotesi. Si cerca ora la funzione di verosimiglianza
dei dati. Dalla (2.85) si ottiene:
1
A(z 1 )
d B(z )
y(k) = 1
u(k) + (k)
(2.86)
y(k)
+
z
C(z 1 )
C(z 1 )
che ha pdf congiunta:
fy (k, y|u, ) =
N
Y
i=k
(2.87)
(2.88)
59
G. Antonelli - FI (2009)
in cui si sfrutta la propriet`a che il logaritmo del prodotto `e pari alla somma dei logaritmi; definendo
l(k, (k), ) = log fe (k, (k), )
si ottiene
N
X
M L (y) = min 1
l(k, (k), )
N k=1
(2.89)
(2.90)
che ha unanalogia formale immediata con lindice utilizzato per ricavare i Minimi Quadrati pesati.
Se la pdf fe `e Gaussiana si ottiene:
l(k, , ) = log fe =
1
1 2
1
log 2 + log +
2
2
2
(2.91)
in cui, se `e nota, otteniamo proprio il criterio dei minimi quadrati con minimizzazione dellerrore
quadratico. Si noti, infatti, che si deve minimizzare il solo termine in 2 essendo l la somma di
tutti termini definiti positivi.
2.11
Algoritmo di Gauss-Newton
xxx
Esempio
xxx
2.12
La soluzione ai minimi quadrati in (2.52) prevede di calcolare la stima dopo aver misurato un
certo intervallo di campioni (da k l a k). In applicazioni, ad es., di controllo adattativo potrebbe
essere inefficiente attendere un intero lotto di dati e poi effettuare unidentificazione fuori linea, `e
di interesse avere una stima ad ogni passo k da utilizzare per un controllo adattativo. I vantaggi
di un algoritmo ricorsivo sono:
adattativo ai cambiamenti del sistema;
riduzione della dimensione dei dati da immagazzinare;
minor carico computazionale;
utilizzo in applicazioni in tempo reale.
Si vuole quindi mettere in relazione la stima al passo k con la stima al passo k 1.
Si prenda il primo termine della (2.52), direttamente dalla definizione delle matrici coinvolte
otteniamo la seguente scomposizione:
HT (k)W(k)H(k) = HT (k 1)W(k 1)H(k 1) + H T (k)W H(k).
(2.92)
60
G. Antonelli - FI (2009)
(2.93)
Si noti come, per la stima Markoviana, la matrice P (k) sia proprio la covarianza dellerrore di
stima. Nel caso dei minimi quadrati `e proporzionale alla matrice di covarianza a meno della covarianza del rumore (costante). Anche nel caso generico la matrice P (k) `e strettamente legata alla
covarianza tanto che, nel seguito, parleremo di P (k) correntemente come covarianza dellerrore
di stima.
In virt`
u di (2.92), P (k) pu`
o essere riscritta come:
1
,
P (k) = P 1 (k 1) + H(k)T W H(k)
(2.94)
1
H(k)P (k 1).
P (k) = P (k 1) P (k 1)H T (k) W 1 + H(k)P (k 1)H T (k)
(2.95)
Si passi poi alla scomposizione del secondo termine della (2.52) ottenendo:
(2.96)
H(k)P (k 1)
(k)
=
P (k 1) P (k 1)H T (k) W 1 + H(k)P (k 1)H T (k)
T
H (k 1)W(k 1)y(k 1) + H T (k)W y(k) ,
(2.97)
1). E
`
il prodotto dei primi termini delle due parentesi `e proprio la (2.52) allistante k 1: (k
possibile quindi riscrivere lequazione precedente:
1
L(k) = P (k 1)H T (k) W 1 + H(k)P (k 1)H T (k)
,
(2.98)
(2.99)
per far comparire come moltiplicatore comune L(k) fra il secondo e terzo prodotto del secondo
termine si aggiunga la seguente identit`a:
1 1
W 1 + H(k)P (k 1)H T (k)
W + H(k)P (k 1)H T (k)
(2.100)
61
G. Antonelli - FI (2009)
(k)
h= (k 1)+
i
1) H(k)P (k 1)H T (k)W y(k)
+L(k) y(k) + H(k)P (k 1)H T (k)W y(k) H(k)(k
che fornisce la relazione cercata nota come ai Minimi Quadrati Pesata Ricorsiva (WRLS, Weighted
Recursive Least Square):
h
i
(2.101)
Ovviamente i conti fatti riconducono ai Minimi Quadrati Ricorsivi (RLS, Recursive Least
Square) per W = I.
y(k)
(k)
+
+
L(k)
+
1)
(k
H(k)
z 1
2.12.1
Gli algoritmi presentati, LS, WLS, RLS, WRLS, ben si adattano ai modelli AR e ARX che
presentano limportante propriet`a di linearit`
a nei parametri. Questa permette di riscrivere il
modello ed il corrispondente predittore in forma di regressione e di impostare il problema di
minimo che fornisce gli algoritmi suddetti. Per tutti i modelli con rumore colorato MA non
si possono banalmente applicare i risultati visti. La conseguenza sarebbe quella di avere una
polarizzazione nella stima dei parametri [21].
Una prima osservazione da fare riguarda loperazione che `e stata fatta per ricavare la stima:
impostata una funzione obiettivo (o cifra di merito) si `e cercato il minimo assoluto. Questa operazione pu`
o essere ripetuta anche per modelli nonlineari nei parametri usando specifiche tecniche
di ricerca del minimo. In caso di funzioni scalari di n variabili `e noto che sussiste il problema
della possibilit`a di imbattersi in un minimo locale. Le tecniche utilizzate allora saranno algoritmicamente pi`
u onerose ma concettualmente identiche al LS. Spesso, inoltre, si tratta di tecniche
ricorsive basate sul gradiente della funzione stessa.
62
G. Antonelli - FI (2009)
In questo contesto si vuole perseguire una diversa strada, ci si chiede se sia possibile utilizzare
i risultati ottenuti per una soluzione, magari approssimata, ma semplice.
Per semplicit`a di notazione, si consideri il caso ad una uscita del modello ARMA. Scrivendo
esplicitamente lequazione alle differenze otteniamo:
y(k) = a1 y(k 1) + a2 y(k 2) + . . . + ana y(k na )+
+c1 (k 1) + c2 (k 2) + . . . + cnc (k nc ) + (k)
(2.102)
che pu`
o essere riscritta come operazione matriciale:
ossia
a1
...
ana
(2.103)
(2.104)
Si noti come i valori passati di non siano accessibili per definizione. Non `e quindi possibile
ricavare numericamente questo regressore. Esistono una serie di tecniche per stimare il valore
passato di ed inserirlo nel calcolo del regressore.
Una prima soluzione consiste nel sostituire i valori passati di con i corrispondenti valori
passati dellerrore di predizione (k) = y(k) H(k)(k 1) ottenendo:
a1
...
ana
su cui `e possibile lavorare con i risultati del RLS. Questa tecnica `e nota come Minimi Quadrati
Ricorsivi Estesi (RELS, Recursive Extended Least Square). Il motivo per cui si pensa di sostituire
con `e dato dallosservazione che, a regime, sotto ipotesi di aver fatto una buona osservazione,
lerrore di predizione dovrebbe coincidere proprio con il rumore . Questo algoritmo, ottenuto in
maniera completamente euristica, non converge sempre al valore vero anche nel caso in cui i dati
siano generati da un modello ARMA(X); per un controesempio si veda [2].
Lerrore di predizione `e anche definito errore a priori poich`e `e calcolato utilizzando i dati
correnti e la stima dei parametri precedente. Nella matrice regressore si potrebbe pensare di
utilizzare una stima pi`
u raffinata dellerrore di predizione, definita errore di predizione a posteriori
(k) = y(k) H(k)(k) calcolata al passo precedente. Questa tecnica `e nota come Massima
Verosimiglianza Approssimata (AML, Approximate Maximum Likelihood). Per dettagli [2, 21].
Si noti come entrambe queste tecniche approssimate siano definite solo per la versione ricorsiva.
Per riassumere, i passi necessari alla implementazione delle tecniche ricorsive ai minimi quadrati
sono riassunti:
63
G. Antonelli - FI (2009)
1. calcolo di H(k). per ERLS utilizzando i valori passati dellerrore di predizione a priori (k),
per AML dellerrore a posteriori (k);
2. calcolo di (k) = y(k) H(k)(k 1);
3. calcolo del guadagno L(k) secondo la (2.98):
1
;
L(k) = P (k 1)H T (k) W 1 + H(k)P (k 1)H T (k)
1) + L(k)(k);
5. aggiornamento della stima (k)
= (k
6. nel caso dellAML calcolo di (k) = y(k) H(k)(k).
Per lalgoritmo ricorsivo si pone il problema della inizializzazione della stima (0) e della
covarianza P (0).
2.12.2
Si `e visto come, per tutti gli algoritmi ricorsivi, siano necessarie delle informazioni relative al passo
` quindi necessario, in qualche modo, fornire delle informazioni relative a k = 0, vale
precedente. E
a dire inizializzare lalgoritmo.
La prima osservazione da fare riguarda la costruzione del regressore, `e evidente che, prima di
poter fornire una stima delluscita, `e necessario avere na campioni delluscita e nb +d dellingresso.
Il massimo fra questi valori +1 determina listante k nel quale il predittore fornisce una prima
stima y(k) (in formule, k = max (na , nb + d 1) + 1).
Il calcolo dellerrore a priori richiede una stima iniziale del vettore dei parametri, la stessa cosa
vale per il calcolo della matrice L, in questo caso serve una stima della covarianza dellerrore. Un
modo per ottenere queste due stime `e quello di implementare un algoritmo di minimi quadrati
a lotti e poi cominciare la stima iterativa utilizzando questa prima stima come valore iniziale (si
veda Figura 2.10). Questa tecnica, valida, ovviamente, solo per le tecniche con un corrispondente
a lotti, garantisce laderenza esatta dei risultati fra i minimi quadrati a lotti e ricorsivi a meno
di derive di natura numerica. In realt`
a, se la stima `e fatta durante un applicazione in linea
lingresso `e deciso per scopi non legati allidentificazione e, con buona propabilit`a, non `e adatto
per un primo lotto ben condizionato numericamente.
pu`
La stima
o anche essere inizializzata ad un valore fornito da una conoscenza della fisica
del sistema in esame.
Per P (0) si consideri la possibilit`a di prendere una matrice identit`a moltiplicata per un gua di conseguenza il guadagno
dagno scalare. Un alto valore implica incertezza nella stima di ,
dellalgoritmo `e alto e ci si possono attendere forti variazioni nel valore numerico dei parametri nel corso delle iterazioni. Lopposto per un valore piccolo della covarianza. Una conoscenza
accurata dei parametri, inoltre, potrebbe anche permettere levoluzione con guadagni differen semplicemente scegliendo una matrice diagonale e tarando
ti per le diverse componenti di
opportunamente i valori sulla diagonale.
64
G. Antonelli - FI (2009)
{z
lotto per stima iniziale
Figura 2.10: Possibile inizializzazione di un algoritmo ricorsivo, il primo lotto di dati viene
utilizzato per una stima iniziale.
2.12.3
La scelta di un ingresso eccitante `e stata giustificata per lalgoritmo a Minimi Quadrati a lotti.
Anche nella versione ricorsiva lingresso deve eccitare tutti i modi del sistema; a differenza della
versione a lotti, per`
o, il problema che si incontra non riguarda linvertibilit`
a di matrici, sia P (k)
che L(k), infatti, sono sempre definite per costruzione, ma la possibilit`a di causare uninstabilit`
a
algoritmica. Localmente, vale a dire per un numero limitato di campioni, nessun ingresso pu`
o
considerarsi eccitante; se per`
o la presenza di un ingresso non eccitante viene prolungata per un
intervallo di campioni sufficiente ampio allora si pu`
o incorrere in instabilit`a algoritmica.
Alcuni segnali utilizzati per lidentificazione tramite algoritmi ricorsivi sono:
Onda quadra Permette di scegliere lampiezza dellingresso evitando quindi la eventuale sollecitazione di dinamiche non-lineari non modellate. La frequenza dellonda quadra va scelta
in maniera opportuna, la risposta del sistema, infatti, deve avere il tempo di raggiungere il
regime ma lo stesso regime non deve essere predominante nellintervallo della singola onda.
Una regola euristica consiste nel prendere unonda quadra di durata pari a circa 6 volte la
costante di tempo del sistema.
Rumore binario pseudo-casuale Conserva la limitatezza dellingresso dellonda quadra ma
sollecita uno spettro pi`
u ampio. Euristicamente si sceglie la frequenza di clock pari alla
banda del processo.
Rumore a fdp uniformemente distribuita Conserva la limitatezza dellingresso ma, a differenza dei due segnali precedenti, assume tutti i valori di un determinato intervallo. In
sistemi con non-linearit`a di tipo dead-zone questo ingresso non `e appropriato.
` lunico segnale che non limita con certezza lampiezza dellingresRumore a fdp Gaussiana E
so, questo pu`
o forzare alla scelta di una bassa varianza con conseguente concentrazione del
segnale di energia per basse ampiezze del segnale. Si possono incontrare anche in questi
casi problemi in sistemi con non-linearit`a di tipo dead-zone.
2.12.4
Gli algoritmi ricorsivi presentati hanno una forte limitazione. La matrice di covarianza P (k)
tende ad annullarsi per k .
Questo pu`
o essere visto in maniera intuitiva, se lidentificazione procede correttamente `e auspicabile che la covarianza dellerrore di stima decresca monotonamente. La conseguenza `e che
65
G. Antonelli - FI (2009)
lalgoritmo smette semplicemente di aggiornare la stima dei parametri indipendentemente dallerrore di stima. Si noti come questa caratteristica non sia strettamente legata alla scelta eccitante
degli ingressi. Anche per ingressi eccitanti la covarianza decresce a zero. Se i parametri subiscono
una variazione, quindi, lalgoritmo non `e in grado di reagire ed aggiornare correttamente il valore
della stima.
Un altro modo per verificare semplicemente la decrescenza della covarianza si ha considerando
la formula (2.94) in cui il termine H T (k)W H(k) `e definito positivo per costruzione.
Si devono quindi introdurre degli artifici che tengano il guadagno dellalgoritmo alto.
Passeggiata casuale
Se `e noto il momento i cui i parametri sono soggetti a cambiamento si potrebbe anche tollerare
che il guadagno converga a zero a meno di fornire allalgoritmo la capacit`
a di adattamento nel
momento in cui, o appena prima, i parametri cambieranno il loro valore. In formule, per un solo
istante k:
P (k) = P (k 1) L(k)H(k)P (k 1) + R
(2.106)
dove R `e una matrice semidefinita positiva di dimensioni pari al numero dei parametri. Si noti
come la scelta naturale di R sia una matrice diagonale con gli elementi della diagonale diversi da
zero in corrispondenza dei parametri soggetti a cambiamento.
Linterpretazione qualitativa della (2.106) `e semplice, si lascia decrescere il guadagno a zero e
lo si resetta ad un valore diverso da zero per quei parametri per cui `e avvenuto un cambiamento.
Il modello passeggiata casuale (Random Walk) anche detto moto Browniano, `e un lintegrale
di un rumore bianco:
p(k) = p(k 1) + (k).
` possibile dimostrare che se la deriva dei parametri `e descritta dallintegrale un rumore bianco
E
di covarianza R allora la (2.106), applicata ad ogni istante e il cui valore rappresenta la stima
della covarianza con cui derivano i parametri, soddisfa dei criteri di ottimo secondo il filtro di
Kalman (per dettagli [21]).
Fattore di oblio
Il modo pi`
u popolare per ovviare allannullamento del guadagno `e lintroduzione del fattore di
oblio. Si sfruttano i risultati dellalgoritmo RWLS definendo opportunamente il peso. Si consideri
la cifra di merito:
J = e(k)T W(k)e(k)
in cui W `e ottenuta, come noto, impilando le matrici W . Si supponga di considerare W tempovariante e di legarlo alla differenza fra il tempo corrente e listante in cui si calcola lerrore:
W(k) = diag{. . . , 2 I, 1 I, I}.
con < 1. Valori tipici per sono [0.95, 1[. Lindice J, riscritto in termini di sommatoria,
potrebbe essere scelto come:
k
X
J=
ki T (i)(i),
i=k0
66
G. Antonelli - FI (2009)
il cui peso `e mostrato in Figura 2.11. Dalla definizione di P (k) in (2.93) e dalla definizione di
W(k) si ottiene la (2.94) che, particolarizzata per questo specifico peso, pu`
o essere scritta come:
T
1
H (k 1) (W(k 1)) H(k 1) + H(k)T W H(k)
1
,
= P 1 (k 1) + H(k)T H(k)
P (k) =
1
1
1
H(k)P (k 1). (2.107)
P (k 1) P (k 1)H T (k) I + H(k)P (k 1)H T (k)
Ripetendo poi i passaggi in maniera analoga a quanto fatto per i minimi quadrati ricorsivi si
arriva alla definizione di una matrice dei guadagni L(k):
1
,
L(k) = P (k 1)H T (k) I + H(k)P (k 1)H T (k)
(2.108)
e dellequazione di aggiornamento della stima dei parametri formalmente analoga alla (2.101).
Lintroduzione del fattore di oblio ha proprio lo scopo evitare il decrescere a zero del guadagno.
Questo meccanismo ha un difetto, una scelta errata del valore iniziale di P (0) (la sua norma `e
troppo alta) o la presenza di intervalli di tempo in assenza di ingressi eccitanti pu`
o avere effetti
destabilizzanti sulla dinamica del guadagno. Questo fenomeno `e noto come wind-up della matrice
di covarianza.
= 0.97
= 0.9
k = 100
k=0
Figura 2.11: Variazione del peso dei dati per due valori di nei 100 campioni passati.
(2.109)
67
G. Antonelli - FI (2009)
tr[R(k)]I
.
tr[I]
(2.110)
) =
1 1.6z 1 + 0.66z 2
(2.111)
2z 2 ,
2
.
z 2 1.6z + 0.66
La fdt rumore-uscita:
W (z) =
z2
1
.
1.6z + 0.66
Si generano, tramite simulazione, due serie storiche di dati di 100 campioni che verranno utilizzate
per identificare e validare lidentificazione (figure 2.12 e 2.13).
Il rumore di modello `e stato simulato tramite la generazione di un numero casuale con funzione
densit`a di probabilit`a gaussiana a media nulla e varianza 103 .
Lidentificazione a lotti, ponendo d = 2 ha fornito come risultato:
T
LS = 1.6015 0.66129 1.9977 ,
68
G. Antonelli - FI (2009)
ingresso
0.8
0.6
0.4
0.2
0
0
20
40
60
campioni
80
100
20
40
60
campioni
80
100
40
uscita
30
20
10
0
0
69
G. Antonelli - FI (2009)
ingresso
0.8
0.6
0.4
0.2
0
0
20
40
60
campioni
80
100
20
40
60
campioni
80
100
40
uscita
30
20
10
0
0
e
P RLS (0) = 103 I.
70
G. Antonelli - FI (2009)
LS
40
30
20
10
50
100
150
campioni
2.13
Quando il modello matematico identificato non `e riconducibile ad una delle strutture presentate od `e, per es., fornito tramite il diagramma di Bode per punti, si parla di identificazione
non parametrica. In questa Sezione vengono elencati alcuni dei metodi di identificazione non
parametrica.
2.13.1
(2.112)
71
G. Antonelli - FI (2009)
ARX RLS
2500
traccia P
2000
1500
1000
500
0
20
40
60
campioni
80
100
Figura 2.15: Andamento temporale della traccia della matrice di covarianza per lidentificazione
ricorsiva senza gestione della covarianza.
sollecitato da un ingresso impulsivo
u(k) = (k),
(2.113)
2.13.2
k
X
i=0
w(i)u(k i) + (k)
(2.114)
k
X
i=0
(2.115)
k
X
i=0
w(i)ru (i ).
(2.116)
(2.117)
(2.118)
72
G. Antonelli - FI (2009)
3
parametri
2
1
0
1
2
20
40
60
campioni
80
100
Figura 2.16: Andamento temporale della stima dei 3 parametri per due diversi valori della
covarianza iniziale.
ottenendo quindi la risposta impulsiva w(k).
Nel caso di ingresso generico si deve stimare la correlazione dellingresso tramite la:
ru ( ) =
N
1 X
u(i)u(i + )
N
(2.119)
i=1
k
X
i=0
w(i)
ru (i )
(2.120)
che, risolta numericamente, fornisce ancora la risposta impulsiva. Si noti infatti che questa
relazione lega linearmente le incognite; riscrivendola per diversi valori di `e possibile giungere
ad un sistema di equazioni lineare ben definito.
Spesso unanalisi della correlazione dei dati pu`
o rappresentare un primo passo per stimare il
ritardo ingresso-uscita in un processo di identificazione parametrica.
2.13.3
Un metodo molto semplice per aver informazioni sulla funzione di risposta armonica di un processo
`e dato dalla sollecitazione del sistema con segnali sinusoidali del tipo:
u(k) = U sin(k),
cui corrisponde, per sistemi asintoticamente stabili, unuscita misurata a regime
yr (k) = G(ej ) U sin(k + G(ej )) + (k).
(2.121)
(2.122)
` sufficiente quindi cambiare lingresso per diverse frequenze in un intervallo di interesse, per
E
ognuna delle quali si misura luscita a valle dellestinzione del transitorio, e costruire per punti la
funzione di risposta armonica.
73
G. Antonelli - FI (2009)
1 1.6z 1 + 0.66z 2
2z 2 ,
2.14
ottimo
Si `e ripetuto pi`
u volte come la minimizzazione dellindice J porti ad inviduare il vettore
secondo un criterio che non deve essere considerado infallibile. La minimizzazione del funzionale,
infatti, non sempre porta ad inviduare il modello con le stesse propriet`a dinamiche del modello
che ha generato i dati. Spesso, inoltre, serve un compromesso fra un modello aderente ai dati ma
con una complessita non troppo elevata. Potrebbe essere quindi di ausilio disporre di metodi per
decidere lordine del sistema da utilizzare. In questa sezione verrano brevemente illustrati alcuni
metodi.
2.14.1
Il metodo basato sullerrore di predizione finale (FPE, dallinglese Final Prediction Error) si basa
sulla considerazione che la complessit`a ideale `e quella che minimizza la formula:
FPE =
N +n
J()
N n
(2.123)
relativa al caso ARX. Si rimanda al testo di Bittanti [2] per dettagli e per la dimostrazione.
Linterpretazione della (2.123) permette di vedere la presenza di due termini, lindice di merito J,
che ci aspettiamo decrescente rispetto allordine n del modello ARX ed il rapporto (N +n)/(N n)
` immediato osservare come F P E , per
che tende allinfinito quando n tende ad N . E
n N . Poich`e, per piccoli valori di n, ci si pu`
o aspettare una diminuzione di J maggiore
rispetto allincremento del rapporto, il minimo di questa funzione viene assunto per valori finiti
di n. Si `e fatta lipotesi che lindice di merito, per linevitabile presenza di rumore, non si annulli
mai. Un caso numerico `e sviluppato nel Capitolo 3.
La formula (2.123), ricavata per AR, si utilizza comunemente anche per modelli ARX e
ARMAX avendo cura di considerare n come n = na + nb o n = na + nb + nc .
2.14.2
Questo criterio, il cui acronimo `e AIC, Akaike Information Criterion, `e basato su considerazioni
di tipo statistico che portano alla formula:
AIC = 2
+ ln J().
N
(2.124)
Ci sono, quindi, due termini additivi. Al logaritmo naturale dellindice, ancora decrescente al
crescere di n, si somma un retta in n con pendenza positiva, quindi crescente al crescere di n.
G. Antonelli - FI (2009)
74
La pendenza di questa retta `e inversamente proporzionale alla lunghezza N dei dati, ci`o sta a
significare che la formula pesa meno dei modelli complessi quando i dati sono numerosi. Anche
in questo caso, a causa della presenza di rumore, lindice J si mantiene positivo, seppur prossimo
allo zero, e quindi il suo ln negativo finito, e landamento divergente della funzione `e determinato
dalla componente proporzionale a n.
2.14.3
Il criterio sulla lunghezza minima (MDL, Minimum Description Length) fonda le sue basi sulla
teoria dei codici. Si perviene alla formula:
n
M DL = ln N + ln J()
(2.125)
N
molto simile alla formula AIC con un coefficiente differente per la pendenza della retta. Con N
sufficientemente elevato, la formula MDL porta a scegliere dei modelli con un numero inferiore di
parametri rispetto al criterio AIC.
2.15
Validazione dellidentificazione
Come pi`
u volte detto, lidentificazione `e un procedimento che prevede un certo numero di tentativi. Decidere quale modello sia il modello ottimale rispetto ad un insieme di possibili modelli
`e unoperazione delicata, in cui considerazioni ingegneristiche sono spesso pi`
u utili rispetto ad
indicatori analitici. In questa Sezione si daranno delle considerazioni da tenere presente nella
validazione del modello.
Per ognuno dei modelli presi in esame `e opportuno prendere in considerazione:
Cross-validazione. La validazione deve essere effettuata usando un insieme di dati diverso
rispetto a quello utilizzato per lidentificazione. I due insiemi devono per`
o condividere lo
stesso contenuto frequenziale per evitare che si cerchi di validare con dei dati che hanno eccitato delle frequenze non presenti nei dati di identificazione. Dei buoni dati di identificazione
e validazione dovrebbero essere intercambiabili.
Valore della cifra di merito. La cifra di merito `e stata minimizzata per il modello
in esame e con i dati di identificazione, a meno di errori grossolani, quindi, ci si aspetta
75
G. Antonelli - FI (2009)
2.15.1
Loperazione di identificazione si basa sulla minimizzazione di una cifra di merito. Ci sono molteplici motivi che possono portare a sbagliare unidentificazione pur ottenendo un valore basso
della cifra di merito. Per questo `e importante, oltre a seguire le cosiderazioni fatte nella sezione
precedente, anche capire la differenza fra simulazione e predizione.
La predizione si ottiene utilizzando il modello in forma predittiva definito in
B(z 1 )
A(z 1 )
u(k)
y(k) = 1
y(k) + z d
1
C(z )
C(z 1 )
(2.25)
si noti come, in ogni istante k, solo il campione delluscita allistante k stesso `e una stima mentre
i campioni precedenti sono ottenuti tramite delle misure.
Nella simulazione, al contrario, non si utilizzano misure delluscita ma solo le stime dei campioni
o affermare che la simulazione `e equivalente ad
precedenti. Riferendosi alla equazione (2.25) si pu`
una formula del tipo:
1
A(z 1 )
d B(z )
u(k),
y(k) = 1
y
(k)
+
z
C(z 1 )
C(z 1 )
laddove gli ingressi sono gli stessi per i due casi. Appare evidente come la simulazione integri il
proprio errore indefinitamente e risultati molto pi`
u sensibile ad errori di modello.
Questa differenza comporta dei risultati drammaticamente differenti per la simulazione e la
predizione in quanto, rappresentando, ad es., le uscite solo graficamente, la predizione pu`
o dare
la sensazione di rappresentare meglio il sistema identificato rispetto ad una simulazione anche
quando la situazione `e esattamente opposta.
La figura 2.17 mostra un semplice confronto fra le uscite di un sistema dinamico di tipo
ARX(1,1,1) con
b1 = 0.5
a1 = 0.5
la predizione (simbolo o) di una identificazione che ha fornito come risultato
b1 = 0.3
a
1 = 0.7
e la simulazione (simbolo x) di una identificazione che ha fornito come risultato
b1 = 0.45
a
1 = 0.55
si nota come, a fronte di identificazioni dal risultato palesemente diverso, le sole rappresentazioni
grafiche diano risultati accettabili in entrambi i casi.
76
G. Antonelli - FI (2009)
campioni
Figura 2.17: Confronto fra le uscite di un modello dinamico ARX(1,1,1) (linea tratto-punto) e
della predizione (linea tratto-o) e della simulazione (linea tratto-x) di due diverse identificazioni.
Capitolo 3
Identificazione in pratica
In questo capito verrano fornite delle linee metodologiche generali per effettuare unidentificazione
in pratica. Alcuni casi pratici verrano quindi presentati.
3.1
Nel capitolo precedente sono stati forniti un certo numero di algoritmi e modelli dinamici stocastici. Alcuni, risultati, inoltre, sono stati ricavati solo per condizioni ideali difficilmente riproducibili
in un caso di identificazione reale. In questa sezione verrano fornite delle linee guida per impostare
lidentificazione in un caso reale.
Come precisato nel Capitolo precedente in un procedimento di identificazione `e sempre consigliabile utilizzare tutta la conoscenza a-priori che si ha del modello da identificare.
3.1.1
Una delle ipotesi utilizzate nel ricavare i risultati dellidentificazione `e la stazionariet`a dei processi.
Questo implica un primo trattamento dei dati per verificare, e quindi eliminare uneventuale
presenza di stagionalit`
a. Per quanto concerne il valor medio `e sufficiente depolarizzare ingresso e
uscita e lavorare quindi con segnali a valor medio nullo:
N
1 X
y (k) = y(k)
y(i)
N
i=1
u (k) = u(k)
N
1 X
u(i).
N
i=1
Nel seguito, dove non esplicitamente detto, i segnali ingresso-uscita si considerereranno a media
nulla.
` anche possibile che il segnale sia costituito da una componente di deriva (drift), ossia che
E
la sua derivata prima non abbia media nulla. Anche in questo caso, `e buona norma eliminare
77
78
G. Antonelli - FI (2009)
3.1.2
` immediato osservare
Nella Sezione 2.8 `e stato ricavato il regressore per un modello ARX o AR. E
come il regressore contenga elementi dipendenti dallingresso ed elementi dipendenti dalluscita,
questi formano delle colonne, rispettivamente dipendenti dallingresso e dalluscita, per il regressore impilato. Nei casi pratici di identificazione allingresso e alluscita corrispondono delle variabili
fisiche, misurate tramite sensori e quindi dotate di una loro unit`
a di misura. Pu`o accadere, quindi,
che, bench`e il problema sia stato correttamente impostato, ingressi e uscite abbiano valori numerici molto diversi fra di loro. La conseguenza `e un malcondizionamento mumerico del regressore.
` possibile in questo caso scalare una delle due grandezze moltiplicandola o dividendola per una
E
costante e rendere cos` il problema meglio condizionato numericamente.
Questa operazione modifica il valore del guadagno del modello identificato per cui `e poi
necessario scalare corrispondentemente i coefficienti identificati a
i (bi ).
Si noti come il malcondizionamento causato da uno sbilanciamento numerico di ingresso e
uscita non abbia nulla a che vedere con i problemi di malcondizionamento causati dalla scelta di
un ingresso non eccitante.
3.1.3
79
G. Antonelli - FI (2009)
3.1.4
Nel caso in cui non si abbia conoscenza a-priori del ritardo ingresso-uscita la scelta pi`
u ovvia `e
di porre il ritardo d = 0. Se, per ipotesi, fosse stato d > 0, si sarebbe identificato un valore di b1
piccolo rispetto a b2 dove si pu`
o convenzionalmente intendere piccolo come:
b1 < 0.15 b2
a questo punto si potrebbe ripete lidentificazione ponendo d = 1 e procedendo iterativamente
fino ad individuare il ritardo effettivo d.
i < j
si pu`
o consideare d = j come prima approssimazione del ritardo ingresso-uscita.
` bene notare come i due metodi esposti siano fortemente dipendenti dal livello di rumore del
E
segnale e situazioni ambigue possano presentarsi con estrema facilit`a.
3.1.5
Le indicazioni fornite nel Capitolo precedente sulle formule per determinare lordine del sistema
` infatti possibile,
vanno interpretate alla luce della inevitabile presenza di rumore di misura. E
se non frequente, che le formule FPE, AIC e MDL non forniscano un minimo in corrispondenza
dello stesso sistema. La stessa formula, inoltre, pu`
o dare minimi multipli o cambiare il minimo
al variare del numero di punti N . Vale la pena di ribadire che le analisi sullordine del sistema
possono essere inficiate anche da errori grossolani quali, ad esempio, la scelta di un ingresso non
eccitante.
Lidentificazione si conferma come un procedimento fatto di tentativi che portano, con lausilio
di opportuni strumenti matematici, ad inviduare un modello spesso frutto di diversi compromessi.
Esempio : caso numerico per la scelta dellordine del sistema
Si consideri il modello ARX(2,2,1):
A(z 1 ) =
B(z 1 ) =
d =
1 0.8z 1 + 0.07z 2
1 + 0.3z 1
1,
che pu`
o essere scritto, supponendo di identificare d insieme agli elementi di B(z 1 ), come un
ARX(2,3,0)
A(z 1 ) =
B(z 1 ) =
1 0.8z 1 + 0.07z 2
0 + 1z 1 + 0.3z 2 .
Si realizza una simulazione al calcolatore con N = 1000 campioni, ingresso pari ad una Gaussiana
a media nulla e varianza 10 e rumore ancora pari ad una Gaussiana a media nulla e varianza
unitaria. Si noti come le condizioni di identificazioni siano ideali.
80
G. Antonelli - FI (2009)
Si eseguono 25 identificazioni con lalgoritmo dei minimi quadrati a lotti per na = 1, . . . , 5 e
nb = 1, . . . , 5 e si calcolano gli indici di merito J e gli indici F P E, AIC e M DL.
Lindice J ottenuto `e:
na \nb 1
2
3
4
5
1
326.6188 22.5193 2.2945 2.1275 2.1233
2
327.5110 3.7437
2.1223 2.1224 2.1215
3
328.3099 2.3075
2.1218 2.1220 2.1222
4
327.8558 2.1259
2.1233 2.1242 2.1278
5
328.2169 2.1317
2.1212 2.1206 2.1173
osservando il quale `e possibile fare alcune interpretazioni. La colonna corrispondente a nb = 1 ha
degli indici che sono due ordini di grandezza maggiori rispetto al resto della griglia. Si pu`
o quindi
ipotizzare che il sistema abbia almeno un campione di ritardo fra ingresso e uscita. Unaltro modello
sensibilmente diverso rispetto agli altri identificati `e quello corrispondente ad un ARX(1,2,0).
I rimanenti indici hanno tutti lo stesso ordine di grandezza, incrementando na e nb , inoltre,
notiamo dei miglioramenti decisamente marginali. In questo caso il minimo viene raggiunto per
lARX(5,5,0). Se facessimo affidamento solo sullindice per determinare lordine, quindi, dovremmo
concludere che `e necessario aggiungere altre identificazioni con un ordine maggiore.
La matrice relativa alla formula FPE fornisce:
na \nb 1
2
3
4
5
1
327.9279 22.6548 2.3129 2.1489 2.1490
2
329.4820 3.7738
2.1437 2.1480 2.1514
3
330.9469 2.3307
2.1474 2.1520 2.1565
4
331.1508 2.1516
2.1532 2.1584 2.1665
5
332.1793 2.1618
2.1554 2.1591 2.1601
che, essendo in questo specifico caso (N + n)/(N n) 1, `e numericamente molto vicino a
J. La formula, per`
o, modifica il valore del minimo individuato che ora corrisponde al modello
ARX(2,3,0). In questo caso, vicino ad una identificazione ideale, il minimo corrisponde al modello
che ha generato i dati ed i valori identificati sono:
1 ) =
A(z
1 ) =
B(z
1 0.8z 1 + 0.07z 2
1016 + 1z 1 + 0.3z 2 z 1 + 0.3z 2 .
B(z 1 ) =
1 0.71908z 1
7 104 + 1.0005z 1 + 0.38153z 2 1.0005z 1 + 0.38153z 2.
81
G. Antonelli - FI (2009)
La differenza `e significa sia rispetto al modello scelto con la formula FPE che con il modello che
ha generato i dati, in questo caso, infatti, lordine del sistema `e 1, si ha cio`e un solo polo a fronte
dei 2 poli del vero modello.
Per la sola formula MDL si riporta il grafico della griglia individuata in Figura 3.1, si pu`
o notare
come la formula introduca effettivamente un minimo locale e come esistano molti punti con valori
assoluti prossimi al minimo stesso.
0.25
na = 5
M DL
0.2
0.15
0.1
0.05
0
na = 1
nb
5
4
3
2
1
0
1
10
20
30
40
50
k
Figura 3.2: Risposta indiciale del modello ARX(2,3,0), simbolo x, individuato utilizzando la
formula FPE, e il modello ARX(1,3,0), simbolo *, individuato utilizzando le formule AIC e MDL.
Si nota facilmente come la risposta dei due modelli sia molto simile, in particolare per quanto
concerne il tempo di assestamento, ed una differenza marginale, inferiore al 3 %, per la stima del
guadagno statico.
Il commento che si pu`
o fare riguarda il modello scelto come modello generatore dei dati, la sua
dinamica dominante, infatti, `e data proprio da un polo semplice e la sua risposta indiciale non
presenta sovraelongazioni. In questo caso, quindi, le formule MDL e AIC hanno permesso di
82
G. Antonelli - FI (2009)
individuare un modello pi`
u semplice rispetto alla formula FPE, ed ancora pi`u semplice rispetto al
solo indice J, ma che ha identificato le caratteristiche principali dei dati.
3.1.6
Scelta dellalgoritmo
` evidente che
La scelta dellalgoritmo da utilizzare `e strettamente legata al modello scelto. E
per i modelli che mostrano un legame lineare fra errore e parametri, lAR e lARX, lutilizzo
dei Minimi Quadrati, pesati o meno, sia la scelta pi`
u ovvia. In particolare, se non sussistono
esigenze di identificazione in tempo reale, la formula dei Minimi Quadrati a lotti permette anche
di verificare numericamente la bont`
a dei dati. Quando si lavora con modelli quali lARMA,
lARMAX o lOE `e evidente che il problema di minimizzare lerrore quadratico medio diventi un
problema di minimizzazione multivariabile non-lineare. Richiede, quindi, algoritmi appositi quali,
ad esempio, lalgoritmo di Gauss-Newton o di qualunque altro algoritmo basato sulle tecniche di
tipo gradiente. In questo caso, trattandosi di algoritmi iterativi, diventa importante la scelta
dei guadagni di convergenza ed, eventualmente, il confronto fra diversi algoritmi per uno stesso
problema di identificazione.
3.1.7
Gli algoritmi basati su tecniche di tipo gradiente individuano un minimo locale di una funzione
multivariabile non-lineare, nel caso in esame la cifra di merito, lerrore quadratico medio. Questo
implica che il risultato finale, a parit`
a di dati e di guadagni algoritmici, `e in genere funzione
delle condizioni iniziali per i coefficienti a
i , bi e ci . Lassenza di qualsiasi tipo di informazione
suggerisce di scelgliere come valore iniziale il valore nullo per tutte le variabili. Ci sono situazioni,
al contrario, che permettono di fornire una soluzione di tentativo quando, ad esempio, si hanno
delle conoscenze a-priori sulla costante di tempo.
Si supponga di sapere che un determinato processo abbia una dinamica del primo ordine, quindi
priva di sovraelongazioni, e che, ad un ingresso di tipo gradino, risponda con una dinamica che
va a regime in circa 5 secondi; il tempo di campionamento T , inoltre `e pari a T = 0.5 s. Dalla
conoscenza dei sistema dinamici tempo-continuo [8] si sa che il polo dominante nel piano complesso
tempo-continuo `e posizionato in un intorno del punto (0.7, j0). La mappatura
z = esT
permette di concludere che il polo dominante, nel piano complesso tempo-discreto, `e in:
z = e(0.7,j0)0.5 = 0.7047.
Supponendo di aver scelto di identificare con na = 1 una scelta idonea per a1 potrebbe essere
proprio a1 = 0.7.
3.1.8
3.2
Validazione
Forno elettrico
83
G. Antonelli - FI (2009)
K
1
y(t) + u(t)
C
C
= K
C
e
1
C
iT
(3.3)
H(t) = y(t) u(t)
pu`
o essere riscritto in forma di regressore
K
C
y(t)
= y(t) u(t) = H(t).
1
C
(3.4)
La scelta del passo di campionamento per lacquisizione dei dati deve soddisfare il teorema
di Shannon, il modello `e chiaramente del primo ordine e questo semplifica molto la stima della
sua banda passante. Da un primo test si nota come la costante di tempo del sistema dinamica
sia dellordine di grandezza dei 30 minuti, ossia 1800 s. Il diagramma di Bode, quindi, assume
un profilo qualitativo come quello in figura xxx, per il quale `e noto che la banda a 3 dB sotto il
valore di regime `e proprio linverso della costante di tempo: f3 = 0.5103 Hz. La frequenza di
campionamento deve essere pi`
u che doppia di questo valore e quindi il passo di campionamento
`e limitato superiormente da Tmax = 900 s.
Lacquisizione avviene collegando il DAQ (Data acquisition) USB-1280LS della Measurement
Computing, comandato da un programma in C sotto Linux con campionamento imposto di T =
0.5 s.
Il valore estremamente basso del passo di campionamento rispetto alla costante di tempo del
sistema permette di approssimare la derivata tempo continua con la tecnica della mappatura pi`
u
semplice, quella di Eulero, ottenendo:
y(k)
y(k) y(k 1)
T
(3.5)
84
G. Antonelli - FI (2009)
3.3
Magellan
Magellan, mostrato in Figura 3.3, `e un robot mobile di tipo uniciclo commercializzato dalla iRobot
` anolonomo, e pu`
(www.rwii.com). E
o essere controllato assegnando due grandezze desiderate al
` compito dellutente,
controllo di basso livello: la velocit`
a di avanzamento e la velocit`a angolare. E
usando la sensoristica del robot, chiudere un ulteriore anello di controllo per gestire al meglio la
sua mobilit`
a.
85
G. Antonelli - FI (2009)
dati misurati
0.6
m/s
0.5
0.4
0.3
0.2
0.1
0
0
50
100
150
campioni
200
86
G. Antonelli - FI (2009)
zione. Il motivo risiede nel fatto che il controllo di basso livello attiva i freni meccanici quando
riceve in ingresso riferimenti nulli. Per non corrompere lidentificazione la parte finale dei dati va
eliminata.
Media, filtraggio e campionamento
I modelli presentati sono validi per sistemi a valor medio nullo. I dati di ingresso e uscita, quindi,
vanno decurtati del valor medio.
Per grandezze di ingresso-uscita fisicamente differenti pu`
o presentarsi il caso che il loro valore
numerico sia notevolmente differente fra loro a causa della scelta delle unit`
a di misura. Questo
porta ad un regressore numericamente sbilanciato con conseguenti errori numerici di stima dei
parametri. Pu`o essere quindi opportuno scalare uno dei due vettori di dati ricordandosi poi di
scalare coerentemente i coefficienti individuati. Nel nostro caso, essendo la grandezza fisica in
ingresso uguale a quella in uscita, questa operazione non `e necessaria.
Conoscendo la banda del sistema `e possibile effettuare un prefiltraggio sui dati volto ad eliminare il rumore in alta frequenza. Sarebbe necessario filtrare analogicamente i dati prima del
campionamento per evitare di riportare in bassa il rumore. In ogni caso, il filtraggio va effettuato
rigorosamente prima del campionamento dei dati. Per sapere a che banda fissare la frequenza di
taglio del filtro passa-basso sono necessarie alcune considerazioni sul contenuto frequenziale del
sistema stesso.
Dalla risposta indiciale si pu`
o individuare un tempo di assestamento al 10% di circa 2 s. In
prima approssimazione possiamo considerare la banda a 3 db del sistema pari a 0.5 Hz. Scegliamo
quindi una frequenza di cut-off del filtro passa-basso di circa 4 Hz. Si noti come, operando fuori
linea, sia possibile rimediare allinevitabile ritardo introdotto da filtri passa-basso utilizzando dei
o osservare il segnale
filtri anticausali (es., il comando filtfilt del Matlab) In Figura 3.5, si pu`
filtrato.
dati filtrati
0.6
m/s
0.5
0.4
0.3
0.2
0.1
0
0
50
100
150
campioni
200
87
G. Antonelli - FI (2009)
poli del sistema intorno al punto (1, 0j) (tutte le dinamiche del sistema, infatti, sono lente). In
pratica questo causa dei forti problemi di natura numerica nellimplementazione degli algoritmi
di identificazione e nella successiva simulazione del sistema. Un sottocampionamento, daltra
parte, porterebbe a perdere la dinamica del sistema. Non esiste una regola precisa nella scelta
del campionamento, un metodo euristico consiste nel fare in modo che, nel transitorio iniziale,
cadano da 4 a 10 punti di misura. A valle della identificazione si deve comunque verificare che i
poli non siamo addensati intorno allorigine o al punto (1, 0j). Nel caso in esame, si `e scelto di
campionare con passo 4, la nuova frequenza di campionamento `e quindi di 12.5 Hz.
Unultima modifica da fare ai dati riguarda lingresso; il suo valore costante rende malcondizionati gli algoritmi di identificazione. Possiamo, in prima battuta, aggiungere un valore nullo ai
vettori di ingresso e uscita sicuri di non alterare la fisica del problema. La Figura 3.6 riporta i
dati trattati.
dati posttrattamento
0.6
m/s
0.5
0.4
0.3
0.2
0.1
0
0
20
40
60
campioni
Figura 3.6: Ingresso di velocit`
a lineare a gradino e corrispondente uscita per Magellan, dati
post-trattamento.
In questo caso `e risultata agevole la stima della banda del sistema grazie alla forma particolare
dellingresso. Nei casi in cui, dalla semplice osservazione della serie storica, non `e possibile questa
stima si pu`
o ricorrere a tecniche numeriche di analisi spettrale (es., si vedano i demo del Matlab
Identification Toolbox).
Scelta del modello
Dalla risposta indiciale appare evidente che il modello `e almeno del secondo ordine, si decide
quindi na 2. Non ci sono particolari indicazioni circa il ritardo ingresso-uscita, in questo caso,
una buona scelta potrebbe essere d = 1 lasciando poi al procedimento il compito di identificare
un eventuale b1 0 indicativo di un ritardo maggiore. Si sceglie nb = 3. Come primo tentativo
si decide di utilizzare un modello ARX(2,3).
In [15] vengono forniti dei valori tipici di na per differenti sistemi fisici. Il valore di nb `e
solitamente scelto 2 per prendere in considerazione anche i ritardi frazionali.
88
G. Antonelli - FI (2009)
a2 = 0.5
e di prendere bi nulli.
Il valore di V0 `e influenzato da molti fattori. Una scelta rigorosa potrebbe essere quella di
legarlo al regressore. Spesso per`
o questo pu`
o portare ad una sottostima del suo valore, o meglio,
lalgoritmo potrebbe beneficiare di un valore pi`
u alto e convergere pi`
u velocemente. A questo
si aggiunga che la traiettoria usata per lidentificazione non `e eccitante e, esaurito il transitorio
inziale, non c`e modo di aggiornare i parametri. Dopo alcuni tentativi si fissa V0 = 500I.
Prima identificazione
Si `e deciso per un algoritmo WRLS con fattore di oblio = 0.99. A valle della identificazione `e
bene verificare il valore del guadagno (della sua norma, in questo caso) nel corso dellidentificazione, un valore troppo alto di , infatti, o una traiettoria poco eccitante, farebbero decrescere il
valore del guadagno a zero terminando, di fatto, laggiornamento della stima dei paramtri.
Si sono identificati i valori:
a1 = 1.4179
a2 = 0.66693
b1 = 0.10068
b2 = 0.10068
b3 = 0.049341
kV ar[k
] = 0.013. In realt`
a abbiamo si ha bisogno di un ulteriore verifica, la simulazione. Solo
simulando il modello possiamo capire se i poli del sistema identificato sono coerenti con il sistema
reale. La simulazione, riportata in figura 3.8, mostra che sia la dinamica sia la sovraelongazione
sono sottostimate. Infine, il test di Anderson non `e soddisfatto e questo comporta un errore
colorato indicativo della presenza di dinamica non identificata nel modello. La figura 3.9 mostra
lautocorrelazione dellerrore e conferma questi commenti.
89
G. Antonelli - FI (2009)
m/s
0.5
0.4
0.3
0.2
0.1
0
0
20
40
60
campioni
Figura 3.7: Velocit`
a misurata e predetta su traiettoria differente da quella di identificazione,
modello ARX(2,3).
Seconda identificazione
La seconda identificazione viene ripetuta con na = 3. Lasciando inalterati gli altri parametri si
ottiene:
a1 = 1.0367
a2 = 0.074934
a3 = 0.4381
b1 = 0.12611
b2 = 0.12611
b3 = 0.07424,
cui corrisponde:
J = 0.00027.
In questo caso, lautocorrelazione dellerrore di predizione mostra un residuo sostanzialmente
bianco (figura xx), il test di Anderson `e soddisfatto e la simulazione mostra una riproduzione
fedele della risposta al gradino del sistema (figura 3.10). La stima della varianza della stima dei
p2 = 0.79 + 0.41j
p3 = 0.55.
3.4
MIB30
Il MIB30 `e una media pesata del prezzo dei primi 30 titoli per capitalizzazione quotati alla
Borsa di Milano. Il suo andamento nel tempo fornisce unindicazione sullandamento medio
dei prezzi e quindi, banalizzando, sullo stato della Borsa italiana. Non `e lunico indicatore,
90
G. Antonelli - FI (2009)
m/s
0.5
0.4
0.3
0.2
0.1
0
0
20
40
60
campioni
Figura 3.8: Velocit`
a misurata e simulata su traiettoria differente da quella di identificazione,
modello ARX(2,3).
lo stesso prezzo ufficiale di un titolo, in quanto media degli ultimi n contratti `e una sorta di
indicatore. Una corrente delleconomia finanziaria, nota come Analisi Tecnica [18], propone di
studiare landamento di un titolo osservandone il grafico. Esistono molte tecniche differenti, le
candele giapponesi, gli istogrammi, i grafici punto-croce, tutti hanno in comune losservazione
di alcuni dati particolari: il prezzo di apertura, il prezzo di chiusura, il minino, il massimo ed i
volumi scambiati durante la giornata. Dalla osservazione di queste serie storiche, opportunamente
disegnate e sovrapposte, gli analisti cercano di trarre informazioni sulla salute di un titolo. In
questo contesto si valuta lopportunit`a di identificare la f.d.t. che lega dei possibili ingressi, ad
unuscita di interesse, ad es., il prezzo di chiusura di un titolo. Se fosse possibile ottenere una
buona predizione sarebbe anche possibile condizionare la propria scelta finanziaria.
In Figura 3.11 `e riportato landamento del MIB30. In Figura 3.12, le sue variazioni giornaliere.
Analizziamo innanzitutto questa serie storica, la sua media, nellintervallo considerato `e di 66
punti, cio`e circa il 3% della variazione massima e lo 0.16% del prezzo medio. Valutiamone la
covarianza, riportata in Figura 3.13. La covarianza assume un aspetto molto vicino a quella di un
rumore bianco, si deve considerare, infatti, che la formula usata per stimare la covarianza `e esatta
per vettori di grandi dimensioni. In particolare, se ci si divertisse a generare un vettore di rumore
bianco e a calcolarne la covarianza si otterrebbe un grafico qualitativamente indistinguibile da
quello generato dalle variazioni di prezzo.
Se le variazioni di prezzo sono assimilabili ad un rumore bianco il prezzo assume la forma della
passeggiata casuale:
p(k) = p(k 1) + (k),
spesso utilizzato in simulazione per generare intenzionalmente una deriva casuale in un parametro.
Un risultato del tutto analogo `e stato ottenuto con una serie storica di due mesi sui titoli
Fiat e Seat Pagine Gialle nonche su una serie di 2 anni del titolo Compaq quotato alla borsa di
New York. Il lettore pu`
o esercitarsi a identificare le possibili combinazioni di dati e costruire il
corrispondente preditorre. Probabilmente otterr`
a un valore della cifra di merito molto bassa, ma
91
G. Antonelli - FI (2009)
1
0.5
0
0.5
1
0
50
100
3.5
Canale GSM
Il GSM (Global System for Mobile communication) `e un sistema di comunicazione digitale che
fa uso di un canale ad accesso ibrido FDMA/TDMA (Frequency-Division/Time-Division Multiple
Access) utilizzando una modulazione di tipo GMSK (Gaussian Minimum Shift Keying). Ogni bit
del segnale inviato `e affetto da ISI (Inter Symbolic Interference), noto, causato dalla modulazione
stessa, e da fading, non noto, causato dai cammini multipli di uno stesso bit. I bit fanno parte
di pacchetti di dati fra i quali il pi`
u usato `e il cosiddetto NB (Normal Burst) costituito da bit
informativi intervallati da bit di addestramento il cui scopo `e proprio quello di identificare il fading
che insiste sul segnale. La figura 3.14 mostra il pacchetto di 26 bit di addestramento circondati
1
92
G. Antonelli - FI (2009)
m/s
0.5
0.4
0.3
0.2
0.1
0
0
20
40
60
campioni
Figura 3.10: Velocit`
a misurata e simulata su traiettoria differente da quella di identificazione,
modello ARX(3,3).
da 58 informativi, a questi vanno aggiunti 3 tail bit prima e dopo ed infine 8.25 bit di guard alla
fine del pacchetto. Una volta identificato il fading `e possibile demodulare il pacchetto informativo
del segnale. Dal punto di vista applicativo il primo pacchetto informativo `e memorizzato, poi il
canale `e identificato tramite il pacchetto di addestramento ed infine primo e secondo pacchetto
informativo sono demodulati. Il pacchetto di addestramento `e posto al centro del contenuto
informativo del segnale per minimizzare gli effetti di tempo-varianza del fading. I 3 bit di tail
sono nulli per assicurare che il demodulatore, basato sullalgoritmo di Viterbi (citare un testo
xxx), inizi e termini in uno stato noto.
Esistono diversi pacchetti di addestramento, celle contigue usano diversi pacchetti di addestramento per evitare possibili interferenze. In figura 3.15 `e riportato il pacchetto di addestramento
usato in questo esempio.
Il segnale ricevuto `e modellato come una sequenza di bit ottenuti tramite un modello ARX:
y(k) = G(z)u(k) + (k)
(3.6)
93
G. Antonelli - FI (2009)
4.6
x 10
MIB30
4.4
punti
4.2
4
3.8
3.6
3.4
0
20
40
giorni
60
ambiente
1 0.4z 1 0.1z 2
1 + 0.1z 1
1 + z 1 + z 2
1 z 1 + z 2 z 3 + z 4
1 0.1z 1 + 0.3z 4
cittadino
rurale
pseudo EQ
EQ
collinare
94
G. Antonelli - FI (2009)
variazioni MIB30
2000
punti
1000
0
1000
2000
0
20
40
giorni
60
Figura 3.12: Andamento delle variazioni del MIB30 su un intervallo di circa due mesi.
[]
0.5
0
0.5
1
0
50
100
150
giorni
Figura 3.13: Stima della covarianza delle variazioni del MIB30 su un intervallo di circa due mesi.
tail bits
information bits
training sequence
information bits
tail bits
guard
58
26
58
8.25
95
G. Antonelli - FI (2009)
sequenza di addestramento
0
0
10
15
campioni
20
25
sequenza inviata
200
400
campioni
Figura 3.16: Sequenza inviata.
600
96
G. Antonelli - FI (2009)
sequenza ricevuta
200
400
campioni
Figura 3.17: Sequenza ricevuta.
600
Appendice A
A.1
G. Antonelli - FI (2009)
98
Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical
or political position regarding them.
The Invariant Sections are certain Secondary Sections whose titles are designated, as being
those of Invariant Sections, in the notice that says that the Document is released under this
License. If a section does not fit the above definition of Secondary then it is not allowed to be
designated as Invariant. The Document may contain zero Invariant Sections. If the Document
does not identify any Invariant Sections then there are none.
The Cover Texts are certain short passages of text that are listed, as Front-Cover Texts or
Back-Cover Texts, in the notice that says that the Document is released under this License. A
Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words.
A Transparent copy of the Document means a machine-readable copy, represented in a
format whose specification is available to the general public, that is suitable for revising the
document straightforwardly with generic text editors or (for images composed of pixels) generic
paint programs or (for drawings) some widely available drawing editor, and that is suitable for
input to text formatters or for automatic translation to a variety of formats suitable for input to
text formatters. A copy made in an otherwise Transparent file format whose markup, or absence
of markup, has been arranged to thwart or discourage subsequent modification by readers is not
Transparent. An image format is not Transparent if used for any substantial amount of text. A
copy that is not Transparent is called Opaque.
Examples of suitable formats for Transparent copies include plain ASCII without markup,
Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD,
and standard-conforming simple HTML, PostScript or PDF designed for human modification.
Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include
proprietary formats that can be read and edited only by proprietary word processors, SGML or
XML for which the DTD and/or processing tools are not generally available, and the machinegenerated HTML, PostScript or PDF produced by some word processors for output purposes
only.
The Title Page means, for a printed book, the title page itself, plus such following pages as
are needed to hold, legibly, the material this License requires to appear in the title page. For
works in formats which do not have any title page as such, Title Page means the text near the
most prominent appearance of the works title, preceding the beginning of the body of the text.
A section Entitled XYZ means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language.
(Here XYZ stands for a specific section name mentioned below, such as Acknowledgements,
Dedications, Endorsements, or History.) To Preserve the Title of such a section when
you modify the Document means that it remains a section Entitled XYZ according to this
definition.
The Document may include Warranty Disclaimers next to the notice which states that this
License applies to the Document. These Warranty Disclaimers are considered to be included by
reference in this License, but only as regards disclaiming warranties: any other implication that
these Warranty Disclaimers may have is void and has no effect on the meaning of this License.
2. VERBATIM COPYING
You may copy and distribute the Document in any medium, either commercially or noncom-
G. Antonelli - FI (2009)
99
mercially, provided that this License, the copyright notices, and the license notice saying this
License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or
control the reading or further copying of the copies you make or distribute. However, you may
accept compensation in exchange for copies. If you distribute a large enough number of copies
you must also follow the conditions in section 3.
You may also lend copies, under the same conditions stated above, and you may publicly
display copies.
3. COPYING IN QUANTITY
If you publish printed copies (or copies in media that commonly have printed covers) of the
Document, numbering more than 100, and the Documents license notice requires Cover Texts,
you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: FrontCover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also
clearly and legibly identify you as the publisher of these copies. The front cover must present the
full title with all words of the title equally prominent and visible. You may add other material on
the covers in addition. Copying with changes limited to the covers, as long as they preserve the
title of the Document and satisfy these conditions, can be treated as verbatim copying in other
respects.
If the required texts for either cover are too voluminous to fit legibly, you should put the first
ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent
pages.
If you publish or distribute Opaque copies of the Document numbering more than 100, you must
either include a machine-readable Transparent copy along with each Opaque copy, or state in or
with each Opaque copy a computer-network location from which the general network-using public
has access to download using public-standard network protocols a complete Transparent copy of
the Document, free of added material. If you use the latter option, you must take reasonably
prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this
Transparent copy will remain thus accessible at the stated location until at least one year after
the last time you distribute an Opaque copy (directly or through your agents or retailers) of that
edition to the public.
It is requested, but not required, that you contact the authors of the Document well before
redistributing any large number of copies, to give them a chance to provide you with an updated
version of the Document.
4. MODIFICATIONS
You may copy and distribute a Modified Version of the Document under the conditions of
sections 2 and 3 above, provided that you release the Modified Version under precisely this
License, with the Modified Version filling the role of the Document, thus licensing distribution
and modification of the Modified Version to whoever possesses a copy of it. In addition, you must
do these things in the Modified Version:
A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document,
and from those of previous versions (which should, if there were any, be listed in the History section
of the Document). You may use the same title as a previous version if the original publisher of
that version gives permission. B. List on the Title Page, as authors, one or more persons or
entities responsible for authorship of the modifications in the Modified Version, together with at
G. Antonelli - FI (2009)
100
least five of the principal authors of the Document (all of its principal authors, if it has fewer than
five), unless they release you from this requirement. C. State on the Title page the name of the
publisher of the Modified Version, as the publisher. D. Preserve all the copyright notices of the
Document. E. Add an appropriate copyright notice for your modifications adjacent to the other
copyright notices. F. Include, immediately after the copyright notices, a license notice giving the
public permission to use the Modified Version under the terms of this License, in the form shown
in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections
and required Cover Texts given in the Documents license notice. H. Include an unaltered copy
of this License. I. Preserve the section Entitled History, Preserve its Title, and add to it an
item stating at least the title, year, new authors, and publisher of the Modified Version as given
on the Title Page. If there is no section Entitled History in the Document, create one stating
the title, year, authors, and publisher of the Document as given on its Title Page, then add an
item describing the Modified Version as stated in the previous sentence. J. Preserve the network
location, if any, given in the Document for public access to a Transparent copy of the Document,
and likewise the network locations given in the Document for previous versions it was based on.
These may be placed in the History section. You may omit a network location for a work
that was published at least four years before the Document itself, or if the original publisher of
the version it refers to gives permission. K. For any section Entitled Acknowledgements or
Dedications, Preserve the Title of the section, and preserve in the section all the substance and
tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve
all the Invariant Sections of the Document, unaltered in their text and in their titles. Section
numbers or the equivalent are not considered part of the section titles. M. Delete any section
Entitled Endorsements. Such a section may not be included in the Modified Version. N. Do
not retitle any existing section to be Entitled Endorsements or to conflict in title with any
Invariant Section. O. Preserve any Warranty Disclaimers.
If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option
designate some or all of these sections as invariant. To do this, add their titles to the list of
Invariant Sections in the Modified Versions license notice. These titles must be distinct from any
other section titles.
You may add a section Entitled Endorsements, provided it contains nothing but endorsements of your Modified Version by various partiesfor example, statements of peer review or that
the text has been approved by an organization as the authoritative definition of a standard.
You may add a passage of up to five words as a Front-Cover Text, and a passage of up to
25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version.
Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through
arrangements made by) any one entity. If the Document already includes a cover text for the
same cover, previously added by you or by arrangement made by the same entity you are acting
on behalf of, you may not add another; but you may replace the old one, on explicit permission
from the previous publisher that added the old one.
The author(s) and publisher(s) of the Document do not by this License give permission to use
their names for publicity for or to assert or imply endorsement of any Modified Version.
5. COMBINING DOCUMENTS
You may combine the Document with other documents released under this License, under
the terms defined in section 4 above for modified versions, provided that you include in the
G. Antonelli - FI (2009)
101
combination all of the Invariant Sections of all of the original documents, unmodified, and list
them all as Invariant Sections of your combined work in its license notice, and that you preserve
all their Warranty Disclaimers.
The combined work need only contain one copy of this License, and multiple identical Invariant
Sections may be replaced with a single copy. If there are multiple Invariant Sections with the
same name but different contents, make the title of each such section unique by adding at the
end of it, in parentheses, the name of the original author or publisher of that section if known,
or else a unique number. Make the same adjustment to the section titles in the list of Invariant
Sections in the license notice of the combined work.
In the combination, you must combine any sections Entitled History in the various original
documents, forming one section Entitled History; likewise combine any sections Entitled Acknowledgements, and any sections Entitled Dedications. You must delete all sections Entitled
Endorsements.
6. COLLECTIONS OF DOCUMENTS
You may make a collection consisting of the Document and other documents released under
this License, and replace the individual copies of this License in the various documents with a
single copy that is included in the collection, provided that you follow the rules of this License
for verbatim copying of each of the documents in all other respects.
You may extract a single document from such a collection, and distribute it individually under
this License, provided you insert a copy of this License into the extracted document, and follow
this License in all other respects regarding verbatim copying of that document.
7. AGGREGATION WITH INDEPENDENT WORKS
A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an aggregate
if the copyright resulting from the compilation is not used to limit the legal rights of the compilations users beyond what the individual works permit. When the Document is included in
an aggregate, this License does not apply to the other works in the aggregate which are not
themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these copies of the Document, then
if the Document is less than one half of the entire aggregate, the Documents Cover Texts may
be placed on covers that bracket the Document within the aggregate, or the electronic equivalent
of covers if the Document is in electronic form. Otherwise they must appear on printed covers
that bracket the whole aggregate.
8. TRANSLATION
Translation is considered a kind of modification, so you may distribute translations of the
Document under the terms of section 4. Replacing Invariant Sections with translations requires
special permission from their copyright holders, but you may include translations of some or all
Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty
Disclaimers, provided that you also include the original English version of this License and the
original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will
prevail.
If a section in the Document is Entitled Acknowledgements, Dedications, or History,
G. Antonelli - FI (2009)
102
the requirement (section 4) to Preserve its Title (section 1) will typically require changing the
actual title.
9. TERMINATION
You may not copy, modify, sublicense, or distribute the Document except as expressly provided
for under this License. Any other attempt to copy, modify, sublicense or distribute the Document
is void, and will automatically terminate your rights under this License. However, parties who
have received copies, or rights, from you under this License will not have their licenses terminated
so long as such parties remain in full compliance.
10. FUTURE REVISIONS OF THIS LICENSE
The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/.
Each version of the License is given a distinguishing version number. If the Document specifies
that a particular numbered version of this License or any later version applies to it, you have the
option of following the terms and conditions either of that specified version or of any later version
that has been published (not as a draft) by the Free Software Foundation. If the Document does
not specify a version number of this License, you may choose any version ever published (not as
a draft) by the Free Software Foundation.
A.2
Cenni storici
Eulero Leonhard Euler, nato a Basilea, Svizzera nel 1707, morto nel 1783 a Pietroburgo.
Figlio di un pastore protestante doveva intraprendere la carriera ecclesiastica. Comincia
per`
o a frequentare alcuni dei numerosi, ed attivi, membri della famiglia Bernoulli, Jean
ed i figli Nicolaus e Daniel in fuga dal Belgio per questioni razziali e si orienta verso la
` chiamato allAccadematematica, studiando anche teologia, medicina e lingue orientali. E
mia di Pietroburgo nel 1727 per coprire il posto di professore di medicina, per una serie di
fortuite coincidenze diventa professore di filosofia naturale ed infine, alla et`a di 26 anni, di
matematica. Nella sua vita ha pubblicato una media di 800 pagine lanno senza diminuire
la sua frenetica attivit`a nemmeno dopo aver perso la vista ad un occhio nel 1735 ed essere
diventato cieco nel 1771. Negli ultimi anni di vita scrive, cieco, su una grande lavagna
descrivendo e dettando ad alcuni dei sui 13 figli le sue idee. Di lingua madre tedesca scrive
in latino e francese. La tradizione vuole che dicesse che la sua penna lo superava in intelligenza. I contributi di Eulero sono estremamente vasti, un segno della sua importanza nella
storia della matematica `e implicitamente dato dallosservazione che lui utilizza per la prima
volta una simbologia ancor oggi comune; la lettera e per la base del sistema dei logaritmi
naturali, il simbolo P
per il rapporto fra circonferenza e diametro del cerchio, il simbolo i
per la radice di -1,
per la sommatoria, ecc.
Gauss Karl Friedrich Gauss, nato a Brunswick, Germania, nel 1777, morto a Gottinga nel
1855. Dimostra che le radici di unequazione polinomiale sono in numero pari al suo grado,
abbandona la geometria euclidea per avventurarsi nel concetto di spazio curvo.
Jury Pubblica nel 1961, con Blanchard, il test di stabilit`
a noto come test di Jury.
G. Antonelli - FI (2009)
103
Kalman Rudolph Emil Kalman presenta ad una conferenza a Mosca nel 1960 il suo lavoro
degli ultimi 10 anni in cui mostra levidenza della dualit`
a esistente fra il controllo in retroazione multivariabile ed il filtraggio in retroazione multivariabile. Pochi anni dopo presenta
il filtro noto come filtro di Kalman-Bucy.
Kolmogorov Andrei Nikolaecih Kolmogorov, nato a Tambov, Russia, nel 1903 e morto a
Mosca, URSS, nel 1987. Entra allUniversit`
a di Mosca nel 1920 dove comincia a studiare
calcolo delle probabilit`a. Nel 1933 pubblica la monografia Concetti fondamentali di probabilit`
a in cui pone di fatto le basi matematiche al calcolo delle probabilit`a e presenta, fra le
altre cose, la legge dei grandi numeri. La sua teoria, sviluppata contemporaneamente ma
indipendentemente da Norbert Wiener, fornisce per la prima volta gli strumenti analitici
per affrontare i problemi di filtraggio e predizione dei dati.
Laplace nasce in Francia nel 1749 da un famiglia popolare, muore nel 1823. Riesce ad
entrare in unaccademia militare ed ad avvicinarsi alla matematica. Contemporaneo di
Lagrange, Condorcet, Monge, Legendre e Carnot; con loro condivide le esperienze della rivoluzione francese (1789) e lo studio della matematica. Ha un ruolo minore rispetto ai suoi
contemporanei in entrambi i campi, politico e scientifico. Pubblica, nel 1812, la Theorie
analytique des probabilites in cui introduce la funzione oggi nota come Trasformata di
Laplace e dimostra rigorosamente la teoria dei minimi quadrati gi`a formulata da Legendre. Ha fatto parte del Comitato sui Pesi e sulle Misure, fu ministro della Pubblica
Amministrazione sotto Napoleone senza raccogliere particolari consensi.
Nyquist Harry Nyquist (1889-1976) pubblica nel 1932 un lavoro dal titolo Regeneration
Theory durante lo sviluppo di un amplificatore con retroazione negativa da parte della
AT&T. Si intravede lo sviluppo di quello che oggi `e noto come criterio di Nyquist e si
cominciano a comprendere gli effetti benefici della retroazione negativa.
Riccati Jacopo Francesco Riccati, nato a Venezia nel 1676, morto nel 1754. Dopo aver
intrapreso studi di legge presso i gesuiti si dedica allastronomia per poi studiare definitivamente le scienze naturali. Provveditore di Castelfranco Veneto per oltre 30 anni, viaggia
poco e non frequenta le accademie ed universit`
a, il suo contributo scientifico `e ricavabile
tramite la fitta corrispondenza che aveva con studiosi contemporaneai italiani ed europei.
Il suo contributo, e quello di Vincenzo Riccati, uno dei suoi 18 figli, risiede essenzialmente
nello studio di quella che dAlembert definir`a equazione di Riccati, cui Eulero dar`
a un
contributo determinante alla soluzione.
Routh Edward J. Routh (1831-1907). Nel 1877 pubblica in un trattato Stability of Motion il criterio oggi noto come criterio di Routh-Hurwitz. Hurwitz (Svizzera, 1859-1919)
non collabor`
o con Routh ma trov`o il risultato indipendentemente nel 1895.
Tustin Arnold Tustin, nato in Inghilterra. Chairman della Automatic Control, il primo
congresso mai tenuto sul controllo automatico nel 1951 a Cranfield, Inghilterra.
Wiener Norbert Wiener (Columbia 1894- Stoccolma 1964). Per molti anni professore di
matematica al Massachusetts Institute of Technology `e un personaggio dotato di spiccate
qualit`a analitiche, un prodigio secondo i suoi contemporanei. Durante la seconda guerra
mondiale dedica le sue risorse allo studio della predizione della posizione di un aereo in
istanti futuri. Nel 1948 pubblica Cibernetica, inaugurando la nuova disciplina che studia
104
G. Antonelli - FI (2009)
controllo e comunicazione di animali e macchine. Nel 1949-1950 lavora con Shannon alla
teoria dellinformazione. Fornisce contributi significativi nel calcolo delle probabilit`a, nella
teoria degli spazi lineari e nella definizione degli spazi di Banach. Utilizza modelli stocastici
per modellare non solo il rumore ma anche i segnali. Studia lapplicazione della logica
matematica allattivit`a del sistema nervoso.
A.3
La Z trasformata
La Z trasformata di una sequenza f (k), con f (k) = 0 per k < 0 `e definita come:
F (z) = Z [f (k)] =
f (k)z k .
(A.1)
k=0
Limportanza di questa trasformazione risiede nel fatto che equazioni alle differenze vengono
convertite in equazioni algebriche (cos` come la trasformata di Laplace trasforma equazioni
differenziali in equazioni algebriche).
Se la serie a secondo membro della (A.1) converge in corrispondenza di un z, F (z) risulta
definita per ogni z tale che |z| |
z |. Il pi`
u piccolo valore di |z| per cui `e definita F (z) `e definito
raggio di convergenza, la regione del piano caratterizzata da avere |z| maggiore del raggio di
convergenza `e definita regione di convergenza.
Il metodo di antitrasformazione pi`
u generale `e fornito dalla relazione:
I
1
1
F (z)z k1 dz k 0
f (k) = Z [F (z)] =
2j
(A.2)
dove `e una curva chiusa del piano complesso che racchiude tutte le radici del denominatore di
F (z) (i poli); `e contenuta nella regione di convergenza.
Lasciando i dettagli a testi specializzati `e bene rimarcare un punto importante: per sequenze
f (k) nulle per k < 0 la corrispondenza con la sua Z-trasformata `e biunivoca, non c`e quindi
perdita di informazione nel lavorare con la sequenza f (k) o la sua Z-trasformata F (z).
Propriet`
a principali
Linearit`
a
Sia
F1 (z) = Z [f1 (k)]
F2 (z) = Z [f2 (k)]
allora, considerando e due scalari qualsiasi, vale:
F1 (z) + F2 (z) = Z [f1 (k) + f2 (k)]
105
G. Antonelli - FI (2009)
Anticipo
Sia
F (z) = Z [f (k)]
vale:
Z [f (k + m)] = z m F (z) z m
m1
X
f (k)z k
(A.3)
k=0
(A.4)
che mostra come la moltiplicazione per z nel dominio della variabile complessa (con f(0)=0)
equivale ad anticipare di un passo nel dominio del tempo. Da questo la denominazione di z come
operatore di anticipo unitario.
Ritardo
Sia
F (z) = Z [f (k)]
vale:
Z [f (k m)] = z m F (z)
(A.5)
(A.6)
che mostra come la moltiplicazione per z 1 nel dominio della variabile complessa equivale ad
ritardare di un passo nel dominio del tempo. Da questo la denominazione di z 1 come operatore
di ritardo unitario.
Valore iniziale
Sia
F (z) = Z [f (k)]
vale:
f (0) = lim F (z)
|z|
(A.7)
Valore finale
Sia
F (z) = Z [f (k)]
vale:
lim f (k) = lim (z 1)F (z)
z1
(A.8)
106
G. Antonelli - FI (2009)
Convoluzione
Sia
F1 (z) = Z [f1 (k)]
F2 (z) = Z [f2 (k)]
vale:
f1 f2 =
k
X
i=0
(A.9)
Trasformate notevoli
f (k)
Z[f (k)]
(k) 1
1 (k)
ak 1 (k)
kn ak 1 (k)
1 (k) sin(k)
1 (k) cos(k)
z
z1
z
za
n!z
(z a)n
z sin()
z 2 2z cos() + 1
z(z cos())
2
z 2z cos() + 1
A.4
Segnali aleatori
Sia x(k) t IN un segnale discreto (sequenza). Un segnale aleatorio `e una collezione di segnali
(deterministici) ciascuno corrispondente ad un singolo esperimento casuale. Se individua il
107
G. Antonelli - FI (2009)
risultato di un singolo esprimento, cio`e un elemento dellinsieme dei possibili risultati o spazio dei
campioni S:
x(k, )
x(k, )
x(k, )
)
x(k,
segnale aleatorio
realizzazione del segnale aleatorio
variabile aleatoria
numero
varianza
` una misura della dispersione della variabile intorno al valor atteso:
E
x2 = V ar[x(k)] = E[(x(k) x (k))2 ].
autocorrelazione
rx (k1 , k2 ) = E[x(k1 )x(k2 )].
108
G. Antonelli - FI (2009)
covarianza
cx (k1 , k2 ) = Cov[x(k1 ), x(k2 )] = E[(x(k1 ) x (k1 ))(x(k2 ) x (k2 ))].
cx ( ) = Cov[x(k), x(k + )] = E[(x(k) x (k))(x(k + ) x (k + ))].
La covarianza soddisfa le seguenti propriet`a:
1. cx (0) > 0
2. cx ( ) = cx ( )
3. kcx ( )k < cx (0)
4. La seguente matrice simmetrica ottenuta dai valori della covarianza `e semidefinita positiva:
cx (0)
cx (1)
cx (2)
cx (N 1)
cx (1)
cx (0)
cx (1)
. . . cx (N 2)
cx (2)
c
(1)
c
(0)
c
(N
3)
x
x
x
(A.10)
..
.
..
.
cx (N 1) cx (N 2) cx (N 3)
cx (0)
stima dellautocorrelazione
Le formule usate per stimare lautocorrelazione di una serie numerica a valor medio nullo sono:
rx ( ) =
N
1 X
x(i)x(i + ),
N
i=1
rx ( ) =
X
1
x(i)x(i + ).
N
i=1
Per N le due formule sono ovviamente coincidenti. Per N finito la prima pu`
o fornire una
stima polarizzata mentre la seconda non fornisce una matrice (4) semidefinita positiva.
segnale aleatorio stazionario
` il segnale aleatorio per cui le caratterizzazioni statistiche non dipendono dalla scelta dellorigine
E
dei tempi ma dal ritardo = k2 k1 . Se questa propriet`a `e valida fino allordine N si definisce
segnale aleatorio stazionario di ordine N .
Un segnale stazionario in senso lato (SSL) ha la media costante nel tempo e lautocorrelazione
funzione solo di .
ergodicit`
a
Un segnale SSL `e ergodico se, al crescere della dimensione N di una sua realizzazione, le medie
temporali coincidono con loperazione di valor atteso.
109
G. Antonelli - FI (2009)
rumore bianco
Si definisce rumore bianco il segnale aleatorio (k) caratterizzato da una funzione di autocorrelazione impulsiva:
E[(k) T (l)] = R(k l).
test di Anderson
Il test di Anderson `e un diffuso test di bianchezza per un segnale aleatorio. Si consideri un
segnale (k), di dimensione N e a valor medio nullo. Si pu`
o dimostrare che, se (k) `e bianco, per
N la covarianza normalizzata tende ad una gaussiana con media nulla e varianza 1/N . Il
test, quindi, si riconduce a verificare la gaussianit`a di un segnale.
1. si calcoli la covarianza secondo la
r( ) =
N
1 X
(i)(i + ).
N
i=1
r( )
.
r(0)
3. si fissi un livello di confidenza per il test, es. = 5%, e si individuino le code della gaussiana
che coprono unarea attraverso un valore dellascissa , es. ad = 5% corrisponde un
valore di = 1.96.
4. si contino il numero di campioni che sono fuori del valore N su un numero di valutazioni,
es. 30, (calcolando (1) . . . (30)).
5. se, in percentuale sul numero di valutazioni (30 nellesempio), i campioni fuori dellintervallo
( N ) sono minori della soglia (5%) allora il segnale pu`
o considerarsi bianco.
xxx grafico con linterpretazione del test.
A.5
Polinomi
lunga divisione
Si prendano due polinomi da dividere: (x3 + 4x2 + 3x + 1) e (x + 1):
x3 +4x2 +3x +1
|x + 1
si divide la potenza maggiore del primo polinomio x3 , per la potenza maggiore del secondo x
ottenendo x2 e si moltiplica il secondo polinomio per x2
x3 +4x2 +3x +1
x3 +x2
|x + 1
x2
110
G. Antonelli - FI (2009)
sottranendo
x3 +4x2 +3x +1
x3 +x2
+3x2 3x +1
|x + 1
x2
|x + 1
x2 + 3x
sottraendo ancora si ottiene 1 che `e inferiore alla potenza maggiore del divisore. Il risultato `e
quindi (x3 + 4x2 + 3x + 1) = (x + 1)(x2 + 3x) + 1.
polinomio monico
Si definisce polinomio monico il polinomio il cui coefficiente della potenza pi`
u elevata `e unitario.
polinomi coprimi
Due polinomi si definiscono coprimi se non hanno fattori in comune.
A.6
Matrici
Minore principale
Data una matrice A IRnn , si definisce minore principale di ordine k la sottomatrice estratta
da A considerando le prime k righe e le prime k colonne.
111
G. Antonelli - FI (2009)
1
DA1
Positiva definitezza
Una matrice quadrata A si definisce definita positiva se, per ogni vettore x con almeno un
elemento diverso da zero, `e verificata:
xT Ax > 0.
Si definisce semi-definita positiva se la relazione `e verificata anche con il segno di eguaglianza. La
definizione si estende banalmente alla negativa (semi)definitezza. Definendo
As =
1
A + AT
2
condizione necessaria e sufficiente affinch`e A sia definita positiva `e che lo sia anche As . Per
verificare se una matrice `e o meno definita positiva si possono utilizzare diversi test quali la verifica
`
del segno degli autovalori o il test di Sylvester che sono validi solo per matrici simmetriche. E
necessario quindi calcolare prima la As e poi applicare il test.
Test di Sylvester
Una matrice simmetrica `e definita positiva se il determinante di tutti i suoi minori principali `e
positivo.
Matrice compagna
Un matrice A si definisce compagna orizzontale inferiore se assume la forma:
0
1
0
...
0
0
0
1
...
0
A = ...
...
...
... ...
.
...
...
...
... ...
an an1 an2 . . . a1
(A.11)
112
G. Antonelli - FI (2009)
A=
U
VT
se n m
O
in cui U IRnn e V IRmm sono matrici ortonormali, per le quali, quindi, vale U U T = I e
V V T = I. La matrice , semidefinita positiva, di dimensioni opportune, `e una matrice diagonale
i cui elementi i sono definiti valor singolari (i 0). La matrice `e generalmente arrangiata in
modo tale da avere i valori singolari in ordine decrescente. Il numero p di valor singolari diversi da
zero rappresenta proprio il rango della matrice A. Le colonne di U e V sono definite autovettori
sinistri e destri rispettivamente.
Il massimo valor singolare della matrice A rappresenta proprio la sua norma-2 definita come
kAk2 = max kAxk ,
kxk=1
in cui la norma del vettore `e quella Euclidea. Si ha quindi kAk2 = 1 (A). Esistono diverse
definizioni di norma di una matrice, alcune delle quali direttamente riconducibili a delle relazioni
sui valor singolari.
La decomposizione in valor singolari assume unimportanza fondamentale anche nel calcolo
delle pseudoinverse. Si definisca:
1
1
= diag 1
1 , 2 , . . . , p , 0, . . . , 0
di dimensioni opportune. Si ha
UT
se n m
V
O
A =
V O U T se n m
AA A
T
A AA
AA
T
A A
= A
= A
= AA
= A A
1
se n m
AT AAT
A =
AT A1 AT se n m
113
G. Antonelli - FI (2009)
in cui si riconosce che, nel caso rettangolare alto, loperazione di pseudoinversa `e proprio quella
necessaria per trovare la soluzione a Minimi Quadrati.
Si definisce numero di condizione della matrice A:
cond(A) =
A.7
max (A)
min (A)
Formula di Ackermann
xxx
Si deve quindi ricorrere ad un artificio che evidenzi unespressione semplice delle incognite. Si
tratta di rappresentare il sistema in forma canonica di osservabilit`
a tramite una trasformazione
lineare; gli autovalori, infatti, sono invarianti rispetto a tali trasformazioni.
Si calcola il polinomio caratteristico della matrice dinamica del sistema dato da:
|I | = n + a1 n1 + . . . + an .
Nel seguito, per semplicit`a di notazione, si far`a riferimento ad un sistema con una uscita scalare,
le matrici H e G, quindi, sono vettori riga o colonna e verranno rispettivamente indicate con i
simboli h e g.
Si applichi la trasformazione lineare allo stato:
e = T e,
lequazione dinamica, nel nuovo stato, diventa:
T e(k + 1) = F T e(k)
e(k + 1) = T 1 F T e(k).
Per il calcolo della nuova matrice dinamica si faccia riferimento alla sua trasposta (anche in questo
caso, gli autovalori sono invarianti rispetto a questa operazione):
T 1 T hT g T T = T 1 T T T 1 hT g T T .
(A.12)
Si scelga, come matrice di trasformazione lineare, la matrice:
an1 an2
a
h
i n2 an3
n1 T
T
T
T
T
...
T = h
h
...
h
...
...
...
1
0
. . . a1 1
... 1
0
. . . . . . . . .
. . . . . . . . .
... 0
0
affinch`e questa matrice sia invertibile `e necessario che siano invertibili entrambe le matrici che
la compongono: la seconda ha rango pieno per costruzione, la prima matrice `e la trasposta della
matrice di osservabilit`
a del sistema. Se ha rango pieno il sistema si definisce completamente
osservabile. Si noti come losservabilit`
a di un sistema dipenda dalla coppia (, h) e non da .
In parole, un sistema `e non osservabile se esiste un particolare stato la cui evoluzione libera `e
114
G. Antonelli - FI (2009)
indistinguibile dallo stato nullo, ossia se fornisce in uscita una evoluzione libera identicamente
nulla in un qualsiasi intervallo di tempo. Si noti, inoltre, che la propriet`a di osservabilit`
a di
un sistema si conserva rispetto a trasformazioni lineari dello stato. A questo punto `e possibile
riscrivere il primo termine della (A.12) nella forma compagna orizzontale inferiore:
0
1
0
...
0
0
0
1
...
0
1 T
T T =
...
...
... ...
...
,
...
...
...
... ...
an an1 an2 . . . a1
0
..
1 T
T h = . ,
1
definiamo infine kT = g T T . La matrice dinamica del sistema, nel nuovo stato, assume anchessa
una forma compagna orizzontale inferiore:
0
1
0
...
0
0
0
1
...
0
1 T
T F T =
...
...
...
...
...
,
...
...
...
...
...
kn an kn1 an1 kn2 an2 . . . k1 a1
che, definendo
d =
a =
permette di scrivere la relazione vettoriale:
dn . . . d1
an . . . a1
T
T
k a = d
che fornisce
g = T -T (a d) .
A.8
Simbologia
variabile scalare
vettore (r 1)
matrice (r1 r2 )
115
G. Antonelli - FI (2009)
x
(
x)
diag{x1 , . . . , xn }
blockdiag{X 1 , . . . , X n }
R(K)
kxk
xT X T
K
Ir
(r r) matrice identit`a (r r)
O r1 r2
Bibliografia
[1] S. Bennett, A Brief History of Automatic Control, IEEE Control Systems Magazine,
pp. 1725, 1996.
[2] S. Bittanti, Identificazione dei Modelli e Controllo Adattativo, Pitagora Editrice, Bologna,
I, 2000.
[3] S. Bittanti, Teoria della Predizione e del Filtraggio, Pitagora Editrice, Bologna, I, 2000.
[4] S. Bittanti and M. Campi, Raccolta di Problemi di Identificazione Filtraggio Controllo
Predittivo, Pitagora Editrice, Bologna, I, 1995.
[5] S. Bittanti and S.M. Savaresi, On the Parametrization and Design of an Extended Kalman
Filter Frequency Tracker, IEEE Trans. on Automatic Control, vol. 45, n. 9, pp. 17181724,
2000.
[6] C. Bonivento, C. Melchiorri and R. Zanasi, Sistemi di Controllo Digitale, Progetto Leonardo,
Bologna, I, 1995.
[7] C. B. Boyer, A History of Mathematics, John Wiley & Sons Inc., 1968.
[8] S. Chiaverini, F. Caccavale, L. Villani and L. Sciavicco, Fondamenti di Sistemi Dinamici,
McGraw-Hill, Milano, I, 2003.
[9] G.F. Franklin, J.D. Powell and M.L. Workman, Digital Control of Dynamic Systems,
Addison-Wesley, Reading, M, 1990.
[10] A. Gelb, Applied Optimal Estimation, M.I.T. Press, M, 1990.
[11] S.J. Julier and J.K. Uhlmann, Unscented filtering and nonlinear estimation, Proceedings of
the IEEE, vol. 92, n. 3, pp. 401422, 2004.
[12] T. Kailath, A.H. Sayed and B. Hassibi, Linear Estimation, Prentice Hall, Upper Saddle
River, NJ, 1999.
[13] R.E. Kalman, A new approach to linear filtering and prediction problems, Trans. ASME
J. Basic Eng., 82, pp. 3445, 1960.
[14] R.E. Kalman and R.W. Koepcke, Optimal synthesis of linear sampling control systems using
generalized performance indices, Trans. ASME Ser.D., J. Basic Engr , 80, pp. 18201826,
1958.
116
G. Antonelli - FI (2009)
117
[15] J.D. Landau, System Identification and Control Design, Prentice Hall, Englewood Cliffs, NJ,
1990.
[16] B.F. La Scala and R.R. Bitmead, Design of an Extended Kalman Filter Frequency Tracker,
IEEE Trans. on Signal Processing, vol. 44, n. 3, pp. 739742, 1996.
[17] L. Ljung, System Identification: Theory for the User , Prentice Hall PTR, Upper Saddle
River, NJ, 1999.
[18] J.J. Murphy, Technical Analysis of the Financial Markets, New York Institute of Finance,
New York, 1999.
[19] C. Presse and M. Gautier, New Criteria of Exciting Trajectories for Robot Identification,
Proc. 1993 IEEE Int. Conf. on Robotics and Automation, Atlanta, GA, pp. 907912, 1993.
[20] T. S
oderstrom, Discrete-time Stochastic Systems: Estimation and Control, Springer-Verlag,
London, GB, 2002.
[21] P.E. Wellstead and M.B. Zarrop, Self-Tuning Systems. Control and Sygnal Processing, John
Wiley & Sons, Chichester, UK, 1991.
Indice analitico
Ackermann, formula di, 10, 113
AIC, 73
Akaike, 73
AR, 40
AR, predittore, 44
ARIMA, 40
ARMA, 40
ARMA, predittore, 44
ARMAX, 39
ARMAX, predittore, 43
ARX, 39
ARX, predittore, 44
controllo lineare quadratico, 32
convergenza in media quadratica, 7
disturbi, 34
dualit`
a stima-controllo, 32
Eulero, cenni storici, 102
filtraggio, 6
Fisher, 26, 57
FPE, 73
Gauss, 26
Gauss, cenni storici, 102
Gauss-Newton, algoritmo di, 59
identificazione, 37
innovazione, 24
interpolazione, 6
Jury, cenni storici, 102
Kalman, 13, 32, 65
Kalman, aggiornamento di misura, 14
Kalman, aggiornamento temporale, 14
Kalman, cenni storici, 102
Kalman, filtro esteso, 26
Kolmogorov, 26
118
G. Antonelli - FI (2009)
119