Sei sulla pagina 1di 43

Identificazione dei Modelli

e Analisi dei Dati 2∗

Appunti NON UFFICIALI del corso del prof. Sergio Bittanti†

Politecnico di Milano

Marcello Pogliani
marcello.pogliani - at - gmail - dot - com

A.A. 2012 – 2013


Questo documento contiene parte degli appunti che ho raccolto durante le lezioni del corso. Man-
cano alcune (parti di) lezioni, soprattutto relative all’ultima parte e tutte le esercitazioni,
in cui sono stati spiegati alcuni complementi non trattati a lezione. Nota: Alcuni esempi e
figure qui riportati sono tratti da [2] e [3]

Il programma completo del corso è disponibile sul sito ufficiale [1]
Indice

1 Identificazione ricorsiva 5
1.1 Minimi quadrati (least squares) . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1.1 Modelli ARX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Minimi quadrati ricorsivi (RLS) . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Minimi quadrati con oblio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 Controllo predittivo e sistemi adattativi 11


2.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Controllo a minima varianza . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1 Controllo MV con ritardo maggiore di 1 . . . . . . . . . . . . . . . . . 15
2.3 Controllo a minima varianza generalizzata (GMV) . . . . . . . . . . . . . . . 16
2.4 Sistemi adattativi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3 Identificazione non lineare 21

4 Identificazione 23
4.1 Raggiungibilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.2 Osservabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.3 Identificazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4.3.1 Dimensione della realizzazione minima nota . . . . . . . . . . . . . . . 27
4.3.2 Dimensione della realizzazione minima ignota . . . . . . . . . . . . . . 28

5 Filtro di Kalman 29
5.1 Stima di Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.1.1 Interpretazione geometrica . . . . . . . . . . . . . . . . . . . . . . . . 31
5.1.2 Sima ricorsiva di Bayes . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2 Predittore di Kalman a un passo . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3 Predizione a k passi e filtraggio . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.3.1 Predittore di Kalman a k passi . . . . . . . . . . . . . . . . . . . . . . 36
5.3.2 Filtraggio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.3.3 Generalizzazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.4 Convergenza dell’equazione di Riccati . . . . . . . . . . . . . . . . . . . . . . 37
5.4.1 Rappresentazione di innovazione . . . . . . . . . . . . . . . . . . . . . 39
5.4.2 Confronto tra la teoria di Kalman e la teoria di Kolmogorov-Wiener . 41
5.5 Filtro di Kalman esteso (EKF) . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1 Identificazione ricorsiva

1.1 Minimi quadrati (least squares)


Una famiglia di modelli che risponde in modo semplice alla necessità di stimare il valore
successivo y(i + 1) di una serie temporale1

y(1), y(2), . . . , y(i)

è costituita dai modelli AR (autoregressivi). Un modello autoregressivo è un modello che


ha la forma seguente:

ŷ(i) = a1 y(i − 1) + a2 y(i − 2) + · · · + an y(i − n)

Il problema che vogliamo considerare è quello di trovare il miglior modello avendo a di-
sposizione i dati passati della serie temporale. Definiamo errore di predizione, per un dato
modello, la quantità
ε(i) = y(i) − ŷ(i)
Il modello migliore è quello che rende minimo tale errore. Si assume come indice dell’aderenza
del modello ai dati la cifra di merito
t
X
J= (ε(i)2 )
i=1

e si cercano i valori dei parametri che rendono minimo J. Scrivendo il modello nella forma

ŷ(i) = ϑT ϕ(i) = ϕ(i)T ϑ

(dove ϑT = [a1 a2 . . . an ] è detto vettore dei parametri e ϕ(t) = [y(t − 1)y(t − 2) . . . y(t − n)]
è detto vettore delle osservazioni), la cifra di merito J da minimizzare rispetto a ϑ assume
la forma
Xt
J= (y(i) − ϑT ϕ(i))2
i=1

La funzione J è una funzione quadratica dei parametri incogniti, quindi è possibile trovare
un’espressione del minimo in forma esplicita. Vale il seguente risultato:
Teorema 1.1. Il minimo (o i minimi) di J si trovano risolvendo il sistema
" t # t
X X
T
ϕ(i)ϕ(i) ϑ = ϕ(i)y(i)
i=1 i=1

(detto sistema di equazioni normali).


Il sistema di equazioni normali può avere una o infinite soluzioni, a seconda dell’inverti-
bilità della matrice
Xt
S(t) = ϕ(i)ϕ(i)T
i=1
1 una sequenza di osservazioni a tempo discreto
6 IDENTIFICAZIONE RICORSIVA

Se S(t) è invertibile il vettore dei parametri che viene stimato al tempo t è


t
X
ϑ̂t = S(t)−1 ϕ(i)y(i) (1.1)
i=1

Per aggiornare la stima all’istante di tempo t + 1, si ripete la medesima procedura:


t+1
X
ϑ̂t+1 = S(t + 1)−1 ϕ(i)y(i) (1.2)
i=1

1.1.1 Modelli ARX


Se si considera la presenza di una variabile esogena, misurabile, il modello viene detto ARX
e assume la forma

ŷ(t) = a1 y(t − 1) + a2 y(t − 2) + · · · + ana y(t − na )+


+ b1 u(t − 1) + b2 u(t − 2) + · · · + bnb u(t − nb )

Esattamente come già fatto nel caso dei modelli AR, definendo il vettore dei parametri
ϑT = [a1 a2 . . . ana b1 b2 . . . bnb ] e il vettore delle osservazioni ϕ(t)T = [y(t − 1)y(t − 2) . . . y(t −
na )u(t − 1)u(t − 2) . . . u(t − nb )] (entrambi di dimensione n = na + nb ), il predittore assume
la forma
ŷ(t) = ϕ(t)T ϑ
Come indice di aderenza ai dati si considera sempre la cifra di merito
t t
X X 2
J= ε(i)2 = y(i) − ϕ(i)T ϑ
i=1 i=1

che è quadratica in ϑ. Quindi, è possibile trovare un’espressione del minimo in forma espli-
cita. Tale espressione si ottiene risolvendo le equazioni normali, esattamente come nel caso
dei modelli AR: " t #
X Xt
T
ϕ(i)ϕ(i) ϑ̂t = ϕ(i)T y(i)
i=1 i=1

1.2 Minimi quadrati ricorsivi (RLS)


Il problema principale del metodo dei minimi quadrati a lotti risiede nella possibilità di
aggiornare iterativamente la stima del modello, passando da una stima ϑ̂t dei parametri
effettuata in base a t dati, alla stima ϑ̂t+1 effettuata su t + 1 dati Infatti, il procedimento
richiede di calcolare ad ogni iterazione l’inversa della matrice quadrata S(t) di dimensione
n × n. Si vuole quindi trovare un’espressione ricorsiva che consenta di passare dalla stima
ϑ̂t alla stima ϑ̂t+1 evitando di calcolare l’inversa di S(t + 1). Dall’equazione 1.1 si ricava
t+1
X t
X
ϕ(i)y(i) = ϕ(i)y(i) + ϕ(t + 1)y(t + 1) = S(t)ϑ̂t + ϕ(t + 1)y(t + 1)
i=1 i=1

D’altra parte,
t+1
X t
X
S(t + 1) = ϕ(i)ϕ(i)T = ϕ(i)ϕ(i)T + ϕ(t + 1)ϕ(t + 1)T = S(t) + ϕ(t + 1)ϕ(t + 1)T
i=1 i=1

ovvero
S(t) = S(t + 1) − ϕ(t + 1)ϕ(t + 1)T
MINIMI QUADRATI RICORSIVI (RLS) 7

da cui si ricava che


t+1
X
ϕ(i)y(i) = S(t + 1) − ϕ(t + 1)ϕ(t + 1)T ϑ̂t + ϕ(t + 1)y(t + 1)
 
i=1

Sostituendo il tutto nell’equazione 1.2 (minimi quadrati a lotti), si ottiene


n o
ϑ̂t+1 = S(t + 1)−1 S(t + 1) − ϕ(t + 1)ϕ(t + 1)T ϑ̂t + ϕ(t + 1)y(t + 1)


h i
ϑ̂t+1 = ϑ̂t + S(t + 1)− 1ϕ(t + 1) y(t + 1) − ϕ(t + 1)T ϑ̂t
| {z }
k(t+1)

dove y(t + 1) − ϕ(t + 1)T ϑ̂t = ε(t + 1) è l’errore di predizione commesso al tempo t + 1 usando
il modello stimato al tempo t. Quindi risulta

ϑ̂t+1 = ϑ̂t + k(t + 1)ε(t + 1)


Si è quindi ottenuta un’espressione ricorsiva per ϑ̂t+1 :


 ϑ̂t+1 = ϑ̂t + k(t + 1)ε(t + 1)

 k(t + 1) = S(t + 1)−1 ϕ(t + 1)

RLSI


 S(t + 1) = S(t) + ϕ(t + 1)ϕ(t + 1)T

ε(t + 1) = y(t + 1) − ϕ(t + 1)T ϑ̂t

L’espressione ricorsiva si inizializza rigorosamente calcolando i valori necessari all’istante t0


con la formula dei minimi quadrati a lotti:
t0
X
ϑ̂t0 = S(t0 )−1 ϕ(i)y(i)
i=1

t
X
S(t0 ) = ϕ(t0 )ϕ(t0 )T
i=1

Osservazione. In un generico istante di tempo t + 1, abbiamo a disposizione il dato y(t + 1)


e la predizione ŷ(t + 1) = ϕ(t + 1)T ϑ̂t . Se y(t + 1) = ŷ(t + 1), allora ε(t + 1) = 0, quindi
ϑ̂t+1 = ϑ̂t . Dunque, se la predizione del modello al tempo t è esatta, il vettore dei parametri
coincide con quello stimato all’istante t + 1.

Le formule dei minimi quadrati ricorsivi possono essere scritte P in diverse forme. Nella
forma appena vista (RLSI ), se ϕ(i) è uno scalare, allora S(t) = ϕ(i)2 e S(t) è un valore
crescente con t, causando problemi per il buon funzionamento dell’algoritmo. Questo vale
anche nel caso vettoriale, poiché S(t+1) = S(t)+ϕ(t+1)ϕ(t+1)T , dove ϕ(t+1)ϕ(t+1)T ≥ 0 è
una matrice semidefinita positiva. Questo implica che anche S(t+1)−S(t) ≥ 0 è semidefinita
positiva, dunque S è una matrice crescente con t (dove “crescente” significa che gli autovalori
sono numeri positivi crescenti), causando problemi numerici. Per questa ragione, si può
considerare invece della matrice S(t) la matrice

1
R(t) = S(t)
t

e si possono riscrivere facilmente le equazioni in funzione di R, ricavandone una seconda


forma (RLSII ):
8 IDENTIFICAZIONE RICORSIVA



 ϑ̂t+1 = ϑ̂t + k(t + 1)ε(t + 1)

 1
R(t + 1)−1 ϕ(t + 1)

 k(t + 1) =


II t+1
RLS
1
ϕ(t + 1)ϕ(t + 1)T − R(t)

 R(t + 1) = R(t) +




 t + 1

ε(t + 1) = y(t + 1) − ϕ(t + 1)T ϑ̂t

In entrambe le forme sorge il problema di invertire, ad ogni iterazione, la matrice S (oppure


la matrice R). Una soluzione a questo problema viene dal seguente risultato di algebra
lineare:
Teorema 1.2 (Lemma di inversione di matrice). Siano F, G, H, K matrici tali per cui le
espressioni scritte sotto (prodotti e inversioni) hanno senso. Allora

(F + GHK)−1 = F −1 − F −1 G(H −1 + KF −1 G)−1 KF −1

Applicando questo lemma alla relazione (prima forma di RLS)

S(t + 1) = S(t) + ϕ(t + 1)ϕ(t + 1)T

e considerando F = S(t), G = ϕ(t + 1), H = 1, K = ϕ(t + 1)T , si ottiene

S(t + 1)−1 = S(t)−1 − S(t)−1 ϕ(t + 1)(1 + ϕ(t + 1)T S(t)−1 ϕ(t + 1))−1 ϕ(t + 1)T S(t)−1

Ponendo V (t) = S(t)−1 , si ricava la terza forma delle equazioni dei minimi quadrati ricorsivi,
in cui si nota che l’unica inversione da effettuare ad ogni iterazione è quella di uno scalare:


 ϑ̂t+1 = ϑ̂t + k(t + 1)ε(t + 1)




 k(t + 1) = V (t + 1)ϕ(t + 1)
1


RLSIII V (t + 1) = V (t) − V (t)ϕ(t + 1)ϕ(t + 1)T V (t)

 β t+1
βt+1 = 1 + ϕ(t + 1)T V (T )ϕ(t + 1)






ε(t + 1) = y(t + 1) − ϕ(t + 1)T ϑ̂t

Per quanto riguarda l’inizializzazione, al tempo t0 si pone


( −1
V (t0 ) = S(t0 )−1 = i = 1t0 ϕ(i)ϕ(i)T
P
Pt0
ϑ̂t0 = V (t0 ) = i=1 ϕ(i)y(i)

Osservazione. Nelle tre forme dei minimi quadrati ricorsivi, le matrici ausiliarie sono ri-
spettivamente S(t), R(t) e V (t). Il termine k(t) è detto guadagno dell’algoritmo, ed è un
vettore di n elementi. Il suo ruolo è decidere in che misura distribuire sui parametri ϑi
l’errore di predizione. In ognuno dei tre casi, ci si aspetta che k(t) → 0, cioè che il valore
stimato di ϑ tende a una costante.2

1.3 Minimi quadrati con oblio


In casi reali, è possibile che il vettore dei parametri ϑ del processo non sia costante, ma sia
soggetto a derive temporali. La stima ai minimi quadrati – e quindi l’algoritmo RLS – non
tengono conto di questo (per t → ∞, la stima del vettore ϑ tende a una costante).
2 Ad esempio, la matrice ausiliaria S(t) è crescente (i suoi autovalori aumentano con t, quindi, con un abuso
di notazione, si può dire che S(t) → ∞, e quindi k(t) tende a zero. Lo stesso ragionamento può essere
fatto per le altre due forme: in questo caso, R(t) tende a una costante e V (t) è una matrice decrescente.
MINIMI QUADRATI CON OBLIO 9

Nella cifra di merito utilizzata per la stima ai minimi quadrati, i dati recenti contano come
i dati vecchi. Se si sospettano variazioni di ϑ nel tempo, è possibile ricavare una cifra di
merito che dia un peso minore ai dati vecchi rispetto a quelli recenti. Un modo per ottenere
questo è introdurre nella cifra di merito J un coefficiente µ, detto coefficiente di oblio:

t
X
J= µt−1 (y(i) − ϕ(i)T ϑ)2
i=1

dove µ ∈ (0, 1]. Abbassando il valore di µ, si riduce il numero di dati che vengono pesati
per la stima ai minimi quadrati. I dati che vengono considerati (finestra sui dati) sono circa
1
1−µ .
Per utilizzare il coefficiente di oblio con l’algoritmo dei minimi quadrati ricorsivi, è suffi-
ciente cambiare la definizione della matrice ausiliaria (nella prima forma), ottenendo

S(t + 1) = µS(t) + ϕ(t + 1)ϕ(t + 1)T

Si noti che, senza il coefficiente di oblio la formula per l’aggiornamento della matrice S è
S(t + 1) = S(t) + v(t), dove v(t) = ϕ(t + 1)ϕ(t + 1)T , ossia S(t) è un integratore a tempo
discreto, la cui funzione di trasferimento è

S(t) 1
=
v(t) z−1

mentre introducendo il coefficiente di oblio, la funzione di trasferimento diventa

S(t) 1
=
v(t) z−µ

In quest’ultimo caso, il polo è all’interno del cerchio di raggio unitario, dunque il sistema
con la funzione di trasferimento S(t)
v(t) è asintoticamente stabile, e S(t) tende a una costante.
Per questo motivo, anche k(t) non tende più a 0, e - come è lecito attendersi - l’algoritmo
RLS non tende più a un valore della stima di ϑ costante per t → ∞.
Osservazione. Per quanto riguarda la scelta di µ, con un coefficiente di oblio più basso, si
aumenta la variabilità della stima nel caso di parametri costanti, ma si segue più velocemente
l’andamento di parametri tempo-varianti.

Osservazione (Uso del coefficiente di oblio nella stima di parametri costanti). Per evitare
l’inversione di S(t0 ) durante l’inizializzazione dell’algoritmo RLS, spesso viene effettuata
un’inizializzazione convenzionale come
t0
X
ϑ̂t0 = αI ϕ(i)T y(i)
i=0

per un valore di α scelto empiricamente. L’effetto di questa inizializzazione può essere


efficacemente eliminato utilizzando il coefficiente di oblio. Inizialmente si imposta un oblio
elevato, e gradualmente lo si porta a 1, ad esempio con una relazione di questo tipo:

µ(t) = ρµ(t − 1) + (1 − ρ)
2 Controllo predittivo e sistemi adattativi

2.1 Introduzione
In questo capitolo si analizza come utilizzare i modelli ARX e ARMAX per il controllo,
mediante tecniche di controllo digitale piuttosto elementari basate sul concetto di predizione
(controllo predittivo).

disturbi

y◦ u y
Controllore C Sistema S

Figura 2.1: Un sistema di controllo

Ricordiamo che, in generale, un problema di controllo può essere formulato nel modo
seguente: sia S un sistema soggetto a un ingresso controllabile u (variabile causa) e a variabili
esogene non manipolabili (disturbi), che produce un effetto y. L’obiettivo del controllore C
è imporre a y l’andamento desiderato, nonostante i disturbi1 .
Supponendo che l’andamento desiderato per la variabile y sia un valore costante, si vuole
quindi imporre
y(t) = cost = ȳ ◦
Più realisticamente, si può imporre che lo scostamento

ε(t) = y(t) − ȳ ◦

sia il minore possibile. Per realizzare questo, una strategia è quella di realizzare il controllore
(in anello aperto oppure in anello chiuso) con l’obiettivo di rendere minimo l’errore medio
quadratico
t
1X
ε(t)2
t i=1

Questa logica di controllo è detta controllo a minima varianza, perché cerca di minimizzare
la varianza campionaria di ε(t). Nel paragrafo successivo si affronta il problema di ricavare
il controllore a minima varianza da un modello ARX o ARMAX dell’impianto.

2.2 Controllo a minima varianza


Sia S un sistema descritto da un modello ARMAX, con A(z), B(z), C(z) noti:

S : A(z)y(t) = B(z)u(t − 1) + C(z)η(t) η ≈ W N (0, λ2 )

Il segnale y(t) è un processo casuale. Poiché non è chiaramente possibile imporre che tale
segnale sia uguale al segnale di riferimento (y(t) = ȳ ◦ per ogni t), si cerca di rendere l’uscita
1 Non è possibile manipolare direttamente y
12 CONTROLLO PREDITTIVO E SISTEMI ADATTATIVI

y(t) il più possibile somigliante al segnale di riferimento. L’obiettivo è quindi minimizzare


la cifra di merito
J = E (y(t) − ȳ ◦ )2
 

che, in generale, è una funzione del tempo. Se si aggiunge l’ulteriore ipotesi che vede y come
un processo stazionario, J non dipende dal tempo e, una volta progettato il controllore, il
sistema di controllo nel suo complesso è asintoticamente stabile. Scomponendo y(t) come

y(t) = ŷ(t) + ε(t)


|{z} |{z}
predittore errore di predizione

si può riscrivere J come

J = E (ŷ(t) + ε(t) − ȳ ◦ )2 = E (ŷ(t) − ȳ ◦ )2 + E ε(t)2 + 2E [ε(t)(ŷ(t) − ȳ ◦ )]


     

Il predittore associato al meccanismo di generazione dei dati S è

Ŝ : C(z)ŷ(t) = [C(z) − A(z)]y(t) + B(z)u(t − 1)

e l’errore di predizione ε(t) è pari a η(t). Considerando nuovamente l’espressione di J,


essendo ε(t) = η(t) un rumore bianco di valor medio nullo e incorrelato con il termine
ŷ(t) − ȳ ◦ (che dipende solo dal passato di u e y), la cifra di merito diviene

J = E[(ŷ(t) − ȳ ◦ )2 ] + λ2

Minimizzare J equivale quindi a minimizzare il primo termine. Sicuramente, se questo


termine si annulla, si ottiene un minimo per J. Per ricavare il controllore, quindi, si impone

ŷ(t) = ȳ ◦

Secondo questa logica, il controllore C si ottiene dal predittore Ŝ sostituendo ȳ ◦ alle occor-
renze di ŷ(t):
C : C(z)ȳ ◦ = [C(z) − A(z)]y(t) + B(z)u(t − 1)
Risolvendo rispetto a u(t − 1) si ottiene
1
u(t − 1) = {− [C(z) − A(z)] y(t) + C(z)ȳ ◦ }
B(z)
Sostituendo t a t − 1, si ottiene la formula del controllore:
1
u(t) = {− [C(z) − A(z)] y(t + 1) + C(z)ȳ ◦ }
B(z)
che corrisponde allo schema a blocchi presentato in figura 2.2. Si noti che, anche se nello
schema un blocco viene moltiplicato per z, poiché C(z) = 1 + c1 z −1 + . . . e A(z) = 1 −
a1 z −1 + . . . , la differenza C(z) − A(z) = (c1 + a1 )z −1 + . . . non contiene il termine noto,
e quindi il termine [C(z) − A(z)]z utilizza i valori di y fino al tempo t e non fino al tempo
t + 1.
Osservazione. Il controllore a minima varianza cosı̀ ottenuto è un controllore lineare in
retroazione (il controllore utilizza una misura dell’uscita), e non è un controllore classico:
il valore della variabile di controllo non viene stabilito in base all’errore y ◦ − y, con una
sola funzione di trasferimento, ma nello schema di controllo sono presenti tre funzioni di
trasferimento. Inoltre, per realizzare il controllore, è necessario mantenere in memoria n
campioni di y(t).
Nota: Per ricavare il controllore, si è ipotizzato un valore costante per la variabile di riferimento (set
point). Se il segnale di riferimento è invece tempo-variante, si può procedere in questo modo:
CONTROLLO A MINIMA VARIANZA 13

S
C(z)

ȳ ◦ 1 + 1 y
+ u +
C(z) z −1 B(z)
− B(z) A(z)

[C(z) − A(z)] z
C

Figura 2.2: Schema a blocchi del controllore a minima varianza

• Se ȳ ◦ (t) è un segnale deterministico, noto ad ogni istante (anche futuro), basta utilizzare istante
per istante il valore di ȳ ◦ (t), imponendo per il controllo che ŷ(t) = ȳ ◦ (t).
• Se il segnale non è deterministico, basta scomporlo come ȳ ◦ (t) = ŷ ◦ + e(t) (predittore + errore),
e imporre l’uguaglianza della predizione dell’uscita con la predizione del segnale di riferimento:
ŷ(t) = ŷ ◦ (t)
• Se non è noto come varia il segnale di riferimento, si impone ŷ(t) = y ◦ (t − 1), cioè si utilizza
come cifra di merito da minimizzare

J = E (y(t) − y ◦ (t − 1))2
 

ossia E[(y(t + 1) − y ◦ (t)].

Stabilità Veniamo ora alla questione della stabilità del sistema di controllo a minima
varianza.

u y
L(z)

Figura 2.3: Un sistema in retroazione

Ricordiamo che in un sistema retroazionato con funzione di trasferimento di anello


N (z)
L(z) =
D(z)

e retroazione (negativa) unitaria (figura 2.3), la funzione di trasferimento dall’ingresso u


all’uscita y vale
L(z) N (z)
F (z) = =
1 + L(z) D(z) + N (z)
e il denominatore
∆(z) = D(z) + N (z)
viene detto polinomio caratteristico del sistema: il sistema retroazionato (a tempo discreto)
è stabile se e solo se le radici del polinomio caratteristico ∆(z) sono interne al cerchio di
raggio unitario nel piano complesso.
Nel caso del controllo a minima varianza, come si può osservare dallo schema a blocchi di
figura 2.2, condizione necessaria e sufficiente per la stabilità è che sia stabile il sottosistema
14 CONTROLLO PREDITTIVO E SISTEMI ADATTATIVI

costituito dal solo anello di retroazione e che siano stabili le due porzioni del sistema fuori
dall’anello. Le porzioni del sistema esterne all’anello sono entrambe descritte dalla funzione
di trasferimento C(z) = 1 + c1 z −1 + c2 z −1 + . . . , quindi sono stabili. Resta da verificare la
stabilità dell’anello di retroazione. Osservando che la retroazione è negativa, si può calcolare
il polinomio caratteristico come

z −1
 B(z) C(z) − A(z) 
∆(z) = D(z) + N (z) = 
B(z)A(z)
 +


 z = B(z)C(z)
 }
| {z } | {z
D(z) N (z)

Quindi la stabilità del polinomio caratteristico dipende dalla posizione delle radici di B(z)
e C(z). Siccome C(z)η(t) rappresenta il disturbo agente sul sistema, facendo riferimento
alla rappresentazione canonica di un processo stazionario (fattorizzazione spettrale), si può
ipotizzare che le radici di C(z) abbiano modulo minore di 1. Quindi, il sistema di controllo
a minima varianza è stabile se B(z) (la funzione di trasferimento da u a y) ha zeri in modulo
minori di 1, ossia se il sistema da controllare è a sfasamento minimo.

Funzione di trasferimento Sviluppando i calcoli, si può ricavare che la funzione di trasfe-


rimento da y ◦ a y è pari a
C(z)F (z) = z −1

dove F (z) è la funzione di trasferimento da C(z)y ◦ a y. Il valore dell’uscita è dato da

y(t) = z −1 y ◦ (t) + effetto di η = y(t − 1) + disturbo

Nota: Il risultato ottenuto, in termini di funzione di trasferimento, è eccellente. Tuttavia, quando un


sistema ha un legame cosı̀ buono tra la variabile controllata e la variabile di riferimento, nei transitori il
segnale di controllo u (che ha un significato fisico) assume valori troppo elevati. Segnali cosı̀ elevati pos-
sono provocare costi elevati, oppure essere irrealistici da ottenere a causa del manifestarsi di nonlinearità
dell’impianto (ad esempio, la saturazione). È quindi possibile che il vero andamento di u(t), e quindi
di y(t), in casi reali si discosti molto dall’andamento teorico. Questo avviene in quanto il problema del
controllo a minima varianza è stato impostato solo sulla base della cifra di merito J, senza alcun vincolo
sui valori che può assumere il segnale u. Per rendere il sistema di controllo più realistico, è necessario
pesare nella cifra di merito anche il segnale di controllo, oppure cambiare la funzione di trasferimento
da u a y in modo da “peggiorarla” per avere segnali più contenuti. Una tecnica che porta a leggi di
controllo più realistiche è la minima varianza generalizzata.

Esempio 2.1: Si vuole ricavare il controllore a minima varianza per il sistema ARX

S : y(t + 1) = ay(t) + b0 u(t) + b1 u(t − 1) + η(t) η ∼ W N (0, λ2 )

in cui il segnale di riferimento, costante, è ȳ ◦ . Il controllo a minima varianza minimizza

2 2
J = E (y(t) − ȳ ◦ ) = E (y(t + 1) − ȳ ◦ )
   

Il predittore Ŝ è dato da
ŷ(t + 1) = aŷ(t) + b0 u(t) + b1 u(t − 1)
Il controllore si ottiene sostituendo il riferimento al posto della predizione

ȳ ◦ ay(t) + b0 u(t) + b1 u(t − 1)

quindi
ȳ ◦ − ay(t) − b1 u(t − 1)
u(t) =
b0
CONTROLLO A MINIMA VARIANZA 15

2.2.1 Controllo MV con ritardo maggiore di 1


Il procedimento utilizzato nell’esempio 2.1 è corretto se b0 = 0, cioè se il ritardo di u su
y è unitario. In caso contrario, si rende necessario sviluppare un procedimento diverso per
evitare la divisione per 0. Si consideri quindi un sistema ARMAX con un ritardo k = u − y
qualunque:
S : A(z)y(t) = B(z)u(t − k) + C(z)η(t) (2.1)
che si può scrivere in maniera equivalente come A(z)y(t + k) = B(z)u(t) + C(z)η(t). Il
controllo a minima varianza cerca di minimizzare la cifra di merito
h i h i
2 2
J = E (y(t) − ȳ ◦ ) = E (y(t + k) − ȳ ◦ )

Procedendo in modo simile al caso di ritardo unitario, si effettua l’ipotesi che il sistema
è stabile (cioè y è un processo stazionario). Si può quindi scrivere y(t) in funzione della
predizione a k passi
y(t) = ŷ(t|t − k) + errore di predizione
e imporre che la predizione sia uguale al segnale di riferimento: ŷ(t|t − k) = ȳ ◦ , o equivalen-
temente ŷ(t + k|t) = ȳ ◦ .
Il predittore a k passi in avanti per un processo ARMAX si ottiene effettuando k passi
dell’algoritmo della lunga divisione del polinomio C(z) per A(z). Il risultato della divisione
è un polinomio
E(z) = e0 + e1 z −1 + · · · + ek−1 z −(k−1)
e il resto della divisione è z −k F̃ (z). Vale quindi la relazione

C(z) = A(z)E(z) + z −k F̃ (z)

nota come equazione diofantea (diophantine equation).


Esempio 2.2: Nel sistema y(t) = ay(t − 1) + b0 u(t − 2) + b1 u(t − 3) + η(t), si ha che C(z) = 1 e
A(z) = 1 − az −1 . Eseguendo due passi dell’algoritmo di lunga divisione, si ottiene E(z) = 1 + az −1 e
F̃ (z) = a2 .

Una volta ottenuti i polinomi E(z) e F̃ (z), bisogna ricavare il predittore. Moltiplicando
ambo i membri della 2.1 per il polinomio E(z) si ottiene

A(z)E(z)y(t + k) = B(z)E(z)u(t) + C(z)E(z)η(t + k)

da cui, aggiungendo e sottraendo C(z)y(t + k) si ricava

C(z)y(t + k) = [C(z) − A(z)E(z)] y(t + k) + B(z)E(z)u(t) + C(z)E(z)η(t + k)


| {z }
z −k F̃ (z)

C(z)y(t + k) = F̃ (z)y(t) + B(z)E(z)u(t) + C(z)E(z)η(t + k) (2.2)


Ricavando y(t + k) dall’equazione precedente:

F̃ (z) B(z)E(z)
y(t + k) = y(t) + u(t) + E(z)η(t + k)
C(z) C(z)

In quest’ultima relazione, il primo termine dipende dal passato di y fino a t e il secondo


termine dipende dal passato di u fino a t. Il terzo termine vale

E(z)η(t + k) = e0 η(t + k) + e1 η(t + k − 1) + · · · + ek−1 η(t + 1)

cioè è una combinazione lineare dei campioni di rumore bianco futuri rispetto all’istante
di tempo t, quindi è impredicibile all’istante di tempo t. In questa scrittura, quindi, si è
16 CONTROLLO PREDITTIVO E SISTEMI ADATTATIVI

η(t)

S
C(z)

y ◦ (t) 1 u(t) + 1 y(t)


+ +
C(z) z −k B(z)
− B(z)E(z) A(z)

F̃ (z)
C

Figura 2.4: Schema di controllo a minima varianza con ritardo k qualunque

separata la dipendenza dal passato rispetto a t dalla dipendenza dal futuro. Il predittore si
ottiene semplicemente cancellando la parte impredicibile:

F̃ (z) B(z)E(z)
ŷ(t + k|t) = y(t) + u(t) (2.3)
C(z) C(z)
Il controllore a minima varianza si ottiene imponendo che la predizione sia uguale al segnale
di riferimento: ŷ(t + k|t) = y ◦ (t)
Osservazione. Confrontando l’equazione 2.2 e la 2.3 si può notare che l’errore di predizione
è dato dato da
y(t + k) − ŷ(t + k|t) = E(z)η(t + k)
La varianza dell’errore di predizione è quindi

V ar = (e20 + e21 + · · · + e2k−1 )λ2

dove e0 = 1
In sintesi, il controllore assume la seguente forma:

C : C(z)y ◦ (t) = F̃ y(t) + B(z)E(z)u(t)

Lo schema a blocchi corrispondente è presentato in figura 2.4.


Come nel caso del ritardo unitario, la stabilità dipende dall’anello di retroazione. Il polino-
mio caratteristico dell’anello è B(z)C(z). Quindi, perché il sistema sia stabile è necessario
che B(z) abbia tutte le singolarità interne al cerchio di raggio unitario. La funzione di
trasferimento da y ◦ (t) a y(t) è z −k . Questo significa che, in generale

y(t) = y ◦ (t − k)e0 η(t) + e1 η(t − 1) + · · · + ek−1 η(t + k + 1)

e in assenza di disturbi (cioè se η(t) = 0), y(t) = y ◦ (t − k). Come nel caso k = 1, bisogna
introdurre nel controllo a minima varianza qualche elemento di flessibilità, che consenta un
comportamento migliore della variabile di controllo.

2.3 Controllo a minima varianza generalizzata (GMV)


Nel controllo a minima varianza, si minimizza la cifra di merito

JM V = E [(y(t + k) − y ◦ (t))]
CONTROLLO A MINIMA VARIANZA GENERALIZZATA (GMV) 17

y(t + k)
P (z)

+ yG (t + k)

u(t)
Q(z)

Figura 2.5: Schema a blocchi relativo all’uscita generalizzata

Il controllo a minima varianza generalizzata, invece, generalizza questa cifra di merito


considerando
 2 
h i
2
JGM V = E P (z)y(t + k) + Q(z)u(t) − y ◦ (t)  = E (yG (t + k) − y ◦ (t))
  
| {z } | {z }
ỹ(t+k) ỹ ◦ (t)

dove P (z) e Q(z) sono funzioni di trasferimento scelte dal progettista del sistema di controllo.
Questa cifra di merito confronta il segnale di riferimento con quella che viene detta uscita
generalizzata ỹ(t + k), ricavata come da schema a blocchi di figura 2.5.
Per calcolare C, si riconduce il problema del controllo GMV a un problema di controllo a
minima varianza, e poi si applicano i risultati ottenuti precedentemente. Siano

PN (z) QN (z)
P (z) = Q(z) =
PD (z) QD (z)

e sia definito il segnale


 
PN (z) PN (z) B(z) C(z)
ỹ(t) = P (z)y(t) = y(t) = u(t − k) + η(t)
PD (z) PD (z) A(z) A(z)
PN (z)B(z) PN (z)C(z)
= u(t − k) + η(t)
PD (z)A(z) PD (z)A(z)

Dunque un modello ARMAX che genera ỹ(t) è

S̃ : PD (z)A(z) ỹ(t) = PN (z)B(z) u(t − k) + PN (z)C(z) η(t) (2.4)


| {z } | {z } | {z }
Ã(z) B̃(z) C̃(z)

Quindi, la cifra di merito JGM V diventa


h i
2
JGM V = E (ỹ(t + k) − ỹ ◦ (t))

dove ỹ è generato del modello ARMAX 2.4. Si possono quindi applicare le formule già
ottenute per il controllo a minima varianza per il sistema

S̃ : Ã(z)ỹ(t) = B̃(z)u(t − k) + C̃(z)y(t)

Applicando l’algoritmo della lunga divisione, si ottiene

C̃(z) = Ã(z)E(z) + z −k F̃ (z)

Il controllore a minima varianza è quindi

C̃(z)ỹ ◦ (t) = F̃ (z)ỹ(t) + B̃(z)E(z)u(t)


18 CONTROLLO PREDITTIVO E SISTEMI ADATTATIVI

S
C(z)

ȳ ◦ 1 + 1 y
+ u +
H(z) z −1 B(z)
− G(z) A(z)

F (z)
C

Figura 2.6: Schema di controllo GMV

Sostituendo ỹ ◦ (t) = y ◦ (t) − Q(z)u(t) e ỹ(t) = P (z)y(t), l’espressione del controllore diventa
C : G(z)u(t) + F (z)y(t) − H(z)y ◦ (t) = 0
dove
G(z) = PD (z) [B(z)QD (z)E(z) + C(z)QN (z)]
F (z) = F̃ (z)QD (z)
H(z) = C(z)PD (z)QD (z)
In figura 2.6 è presentato lo schema a blocchi del controllore.
Non è stato ancora affrontato il problema della scelta dei polinomi P (z) e Q(z). I due
casi paradigmatici, in cui è semplice ricavare P (z) e Q(z), sono il progetto a modello di
riferimento e il progetto a controllo penalizzato. Nel progetto a modello di riferimento si
fissa Q(z) = 0 ottenendo la seguente espressione della cifra di merito:
h i
2
J = E (P (z)y(t + k) − y ◦ (t))

Nel progetto a controllo penalizzato si fissa P (z) = 1:


h i
2
J = E (y(t + k) + Q(z)u(t) − y ◦ (t))

Modello di riferimento In questo caso si pone Q(z) = 0, ossia QN (z) = 0 e QD (z) = 1. I


polinomi che definiscono il controllore risultano quindi
C(z) = PD (z)B(z)E(z)
H(z) = C(z)PD (z)
F (z) = F̃ (z)
Il polinomio caratteristico dell’anello è ∆ = B(z)C(z)PN (z), e la funzione di trasferimento
da y ◦ a y risulta quindi pari a
z −k PD (z)
S(z) = = z −k
P (z) PN (z)
Ancora una volta, il sistema è instabile se il processo da controllare è a fase non minima,
cioè se ha zeri all’esterno del cerchio di raggio unitario. Inoltre, PN (z) deve essere scelto
stabile. Si noti che, a meno del ritardo z −k , il sistema in anello chiuso ha una funzione di
trasferimento M (z) = P (z)−1 . Essendo la dinamica governata dall’inversa di P (z), questo
viene chiamato modello di riferimento. Queste considerazioni forniscono alcune indicazioni
sulla scelta di P (z):
CONTROLLO A MINIMA VARIANZA GENERALIZZATA (GMV) 19

• Il guadagno di M (z) = P (Z)−1 dev’essere unitario (a regime l’uscita non dev’essere


polarizzata)
• Il comportamento complessivo in anello chiuso deve essere stabile, quindi PN (z) de-
v’essere un polinomio con tutte le singolarità all’interno del cerchio di raggio unitario
• La scelta di P (z) si effettua quindi cercando di raggiungere il miglior compromesso tra
velocità di risposta ed escursione della variabile di controllo

Controllo penalizzato In questo caso, P (z) = 1 cioè PN (z) = 1 e PD (z) = 1. Si ricava che
il polinomio caratteristico dell’anello chiuso è
∆ = C(z) [B(z)QD (z) + A(Z)QN (z)]
e la funzione di trasferimento del sistema complessivo in anello chiuso è
1
S(z) = z −k A(z)
1 + Q(z) B(z)
Si può osservare che in questo caso, il polinomio caratteristico non ha come fattore B(z),
quindi il controllo penalizzato può essere applicato anche a sistemi di loro natura instabili.
I poli del sistema in anello chiuso possono essere calcolati come

c=0 (poli fissi)
B(z)QD (z) + A(z)QN (z) = 0 (poli mobili)
Bisogna quindi scegliere i polinomi QN (z) e QD (z) in modo che i poli siano tutti in modulo
minori di 1. Una prima possibile scelta è quella di porre Q(z) costante, cioè QN (z) = λ e
QD (z) = 1, dove λ è una costante. I poli mobili si ricavano quindi dalla relazione
B(z) + λA(z) = 0
che fornisce un insieme di soluzioni al variare di λ. Tracciando il luogo delle radici di questo
polinomio nel piano complesso, si nota che per λ = 0 le doluzioni coincidono con gli zeri
dell’impianto e per λ → ∞ con i poli. Dall’analisi di questo luogo delle radici, si sceglie λ in
modo che (a) le radici di B(z) + λA(z) siano all’interno del cerchio di raggio unitario e (b)
si abbia una buona risposta all’anello chiuso. La funzione di trasferimento, una volta scelto
λ risulta
1
S(z) = z −k A(z)
1 + λ B(z)
e ha guadagno pari a
1
S(z)|z=1 = −1 6= 1
1 + λ · (guadagno in anello aperto)
Quindi, più si aumenta λ più il guadagno si allontana dal valore unitario: in ogni caso,
con questa scelta di Q(z) a regime ci sarà sempre discrepanza tra l’uscita y e il segnale di
riferimento y ◦ , anche in assenza di rumore. Per garantire un guadagno di S(z) unitario, si
può quindi effettuare una scelta diversa. Ponendo
Q(z) = λ(1 − z −1 )
si ha che, per ogni valore di λ,
Q(z)|z=1 = 0
Quindi, con questa scelta di Q(z), si è garantito un guadagno unitario per la funzione di
trasferimento, per ogni valore di λ:
S(z)|z=1 = 1
Un problema di questa soluzione è che si complica la scelta di λ, in quanto si aggiunge un
polo nel luogo delle radici.
20 CONTROLLO PREDITTIVO E SISTEMI ADATTATIVI

2.4 Sistemi adattativi


Nel controllo a minima varianza generalizzata, considerando un segnale di riferimento co-
stante e una strategia a controllo penalizzato, con Q(z) = cost. = λ, la cifra di merito da
minimizzare è
J = E (y(t + k) + λu(t) − ȳ ◦ )2
 

Una tecnica diversa, denominata MPC (model prediction control) si può ottenere esprimendo
la cifra di merito come
 2 
Ny Nu
X X
J = E  (y(t + k + i) − ȳ ◦ ) + λj u(t + j) 
 
i=0 j=0

In questa tecnica si considera l’effetto del segnale u(t) su un certo orizzonte temporale
(recording horizon), a differenza del controllo a minima varianza generalizzata, in cui si
considera l’effetto di u(t) solo su un singolo punto.

yo + u(t) y(t)
H(z) - 1/G(z) S

y(t)
F(z)
A
Sint. B
C
Identificatore

Figura 2.7: Schema di controllo adattativo

Nella tecnica MPC, il cui schema è rappresentato in figura 2.7, vengono stimati in tempo
reale i polinomi del controllore Ĥ, F̂ , Ĝ, data la stima dei polinomi del modello Â, B̂, Ĉ. Per
questo motivo, il metodo prende il nome di controllo adattativo. Esistono diverse logiche
di sintonia (tuning) del controllore a partire dai dati identificati. Una di queste è data
dal principio di equiparazione alla certezza (CEP), in cui i parametri (i polinomi) stimati
vengono usati come se fossero i parametri veri, senza tenere conto dell’incertezza della stima.
Osservazione. Il controllore ottenuto è non lineare, a causa del processo di identificazione
a partire dai dati.
3 Identificazione non lineare

Dati u1 (·), u2 (·), y(·), un modello lineare (regressione lineare) è espresso dalla relazione

ŷ(t) = ϑ1 u1 (t) + ϑ2 u2 (t) + ϑ0 = ϑT ϕ(t)

dove
ϕ(t)T = [u1 (t)u2 (t)1]
Il vettore dei parametri ϑ può essere ricavato con il metodo dei minimi quadrati. In alcuni
casi, l’errore che viene ottenuto utilizzando un modello di regressione lineare è troppo elevato:
è quindi necessario passare a modelli non-lineari.
Modelli non-lineari piuttosto diffusi sono le reti neurali. Nella rete neurale standard
rappresentata in figura 3.1, vale la relazione
   
(1) (1) (1) (2) (2) (2)
ŷ(t) = w1 · σ ϑ0 + ϑ1 u1 (t) + ϑ2 u2 (t) + w2 · σ ϑ0 + ϑ1 u1 (t) + ϑ2 u2 (t)

ovvero, in generale, considerando I neuroni e J ingressi:


 
I I J
(i) (i)
X X X
ŷ(t) = wi ŷ(t)(i) = wi · σ ϑ0 + ϑj uj (t)
i=1 i=1 j=1

dove σ(·) è una funzione non-lineare, come la funzione sigmoidale. Si può dimostrare che,
data una qualunque funzione non-lineare, si può sempre troare una rete neurale (aumentando
il numero di neuroni oppure di strati della rete) che approssima la funzione data, utilizzando
funzioni sigmoidali nei blocchi non-lineari.
Per la stima dei parametri, viene utilizzata la backward propagation, un algoritmo iterativo
che stima i parametri di uno strato a partire dallo strato precedente.

neurone artificiale
θ0(1)
u1(t) θ1(1)
S(t) y(t)(1) w
σ(∙) 1 σ
u2(t) θ2(1) + 1
θ0(2) y(t)
+
θ1(2)
y(t) (2) S
σ(∙) w2
θ2(2) funzione sigmoidale

Figura 3.1: Schema di una rete neurale


4 Identificazione

Un modello di stato SISO (l’ingresso u(t) e l’uscita y(t) sono scalari) ha la forma
(
x(t + 1) = F x(t) + Gu(t)
(4.1)
y(t) = Hx(t)

dove x(t) è un vettore di n elementi, detto vettore di stato. L’uscita y(t) dipende da x(t) e
dall’ingresso al tempo t, u(t): a differenza dei modelli ingresso/uscita, l’uscita non dipende
direttamente dal passato dell’ingresso.
Osservazione. Dato un comportamento esterno (ingresso/uscita) del sistema, esistono in-
finiti modelli di stato che lo rappresentano. Infatti, se si effettua un cambiamento di base
del vettore di stato x
x̃(t) = T x(t)
con T non singolare, e si riscrive il sistema secondo la nuova base
(
x̃(t + 1) = F̃ x̃(t) + G̃u(t)
y(t) = H̃ x̃(t)

il nuovo modello di stato si ottiene come

x̃(t) = T x(t) = T (F x(t − 1) + Gu(t − 1) =


= T F x(t − 1) + T Gu(t − 1) = T T −1} x̃(t − 1) + |{z}
| F{z T G u(t − 1)
F̃ G̃
−1
y(t) = HT
| {z } x̃(t)
x̃(t)

da cui

F̃ = T F T −1
G̃ = T G (trasformazione di similitudine)
−1
H̃ = HT

La funzione di trasferimento del modello di stato originale è data da

W (z) = H(zI − F )−1 G

mentre la funzione di trasferimento del modello scritto secondo la nuova base è

W˜(z) = H̃(zI − F̃ )−1 G̃ = W (z)

La funzione di trasferimento risulta invariara: il cambiamento di base riguarda solo il vettore


di stato e non il comportamento ingreso/uscita.
Un sistema ha molteplici rappresentazioni come modello di stato per due ragioni:
1. esistono infinite terne F, G, H che definiscono lo stesso comportamento ingresso/uscita
24 IDENTIFICAZIONE

2. Possono esistere sistemi con un diverso numero di variabili di stato, ma con la stessa
funzione di trasferimento.

Definizione. Data una funzione di trasferimento W (z), una terna (F, G, H) tale che il
sistema (espresso come modello di stato) S abbia funzione di trasferimento W (z) si dice
realizzazione

Definizione. Una realizzazione si dice minima se non esiste una realizzazione con un numero
minore di varaibili di stato

Per determinare se una realizzazione è minima, si considerano le proprietà di raggiungi-


bilità e osservabilità.

4.1 Raggiungibilità
Per quanto riguarda la raggiungibilità, si considera soltanto lo stato interno del sistema:

x(t + 1) = F x(t) + Gu(t)

Si può notare che, al variare del segnale u(·),

• per t = 0, x(0) = 0

• per t = 1, x(1) = Gu(0)

• per t = 2, x(2) = F x(1) + Gu(1) = F Gu(0) + Gu(1), che è l’insieme delle combinazioni
lineari delle colonne F G, G

• per t = 3, x(3) è l’insieme delle combinazioni lineari delle colonne F 2 G, F G, G

• ...

Considerando un sistema con due variabili di stato, le relazioni scritte precedentemente


significano che, per t = 1, al variare di u(0) si riescono a raggiungere tutti i valori delle
variabili di stato che si trovano sulla linea definita dal vettore G. Analogamente, per t = 2
si riescono a raggiungere tutte le cominazioni lineari delle colonne F G, G: se il vettore F G
giace sulla stessa linea definita dal vettore G, si possono raggiungere solo i punti di questa
linea, altrimenti si può raggiungere tutto lo spazio di stato. Quindi, i punti dello spazio di
stato che possono essere raggiunti dipende da G e da F .
In generale, l’insieme degli stati raggiungibili in k passi (l’insieme degli stati a cui si
può arrivare con opportune scelte di u(0), u(1), . . . , u(k − 1)) corrisponde all’insieme delle
combinazioni lineari delle colonne G, F G, . . . , F k G. In un sistema con n variabili di stato,
si riesce a raggiungere l’intero spazio quando, tra queste colonne, ce ne sono n linearmente
indipendenti.
Un utile risultato per studiare la raggiungibilità viene dal Teorema di Cayley-Hamilton,
secondo cui la potenza i−esima di una matrice F di dimensione n × n è una combinazione
lineare delle potenze precedenti, per ogni i > n

F i = α1 F + · · · + αi−1 F i−1

In base a questo risultato, non serve aumentare l’ordine k della matrice

Rk = G F G F 2 G . . . F k−1 G
 

oltre n al fine di trovare nuove colonne linearmente indipendenti. È sufficiente considerare


la matrice di dimensioni n × n:
OSSERVABILITÀ 25

Definizione (Matrice di raggiungibilità). Si definisce matrice di raggiungibilità la matrice


n×n
R = G F G F 2 G . . . F n−1 G
 

Teorema 4.1 (Condizione di raggiungibilità). Un sistema è completamente raggiungibile


se e solo se la matrice R ha rango n.
In questo caso, la matrice R è quadrata, quindi la condizione di raggiungibilità è equiva-
lente a imporre che
det(R) 6= 0
Osservazione (Forma canonica di raggiungibilità). Data una funzione di trasferimento
scritta nella forma
b0 z n−1 + b1 z n−2 + · · · + bn−1
W (z) =
z n + a1 z n−1 + dots + an
(potenze di z positive), una sua possibile realizzazione è data dalla forma canonica di
raggiungibilità o controllo, definita dalle matrici (F, G, H) costruite in questo modo:
 
0 1 0 ... 0  
0
 0 0 1 . . . 0 
..  G =  0  H =  b
   
F =  ... .. .. .. 
n−1 bn−2 . . . b0

. . . .   .. 
   . 
 0 0 0 ... 1 
1
−an −an−1 −an−2 . . . −a1

Un sistema in questa forma è sempre completamente raggiungibile.

4.2 Osservabilità
La proprietà di osservabilità riguarda la possibilità di distinguere, osservando l’uscita, gli
stati interni del sistema. In generale, l’uscita y dipende dal segnale u e dallo stato iniziale:

y(t) = f (u(·), x(0))

Nel seguito del paragrafo supporremo inoltre che u(·) sia un segnale fissato. In particolare,
considereremo1 u(t) = 0 per ogni t.
Definizione. Un sistema si dice osservabile (la coppia (F, H) è osservabile) se ad ogni uscita
corrisponde uno e un solo stato iniziale
Si ha:

y(0) = Hx(0)
y(1) = HF x(0)
y(2) = HF 2 x(0)
...

Introducendo la matrice  
H
 HF 
k
 
O =
 HF 2 

 ... 
HF k−1
si può provare che il sistema è osservabile quando tale matrice ha rango n. Considerando il
teorema di Hamilton, è sufficiente considerare la matrice troncata a k = n.
1 si può dimostrare che i risultati che verranno ricavati sono equivalenti per un qualunque segnale u(t)
26 IDENTIFICAZIONE

Definizione. Si dice matrice di osservabilità la matrice (n × n)


 
H
 HF 
 2

O=  HF


 ... 
HF n−1

Teorema 4.2 (Condizione di osservabilità). Un sistema è osservabile (la coppia (F, H) è


osservabile) quando la sua matrice di osservabilità ha rango n.
Nel caso di sistemi SISO, questa condizione si riduce a chiedere che O sia non singolare.
Definizione (Sistema minimo). Un sistema si dice minimo se non esiste un sistema di ordine
minore con lo stesso comportamento ingresso-uscita, ossia la stessa funzione di trasferimento.
Teorema 4.3. Un sistema descritto dalla terna F, G, H si dice minimo se e solo se è
raggiungibile e osservabile.
Esempio 4.1: Si consideri il sistema

 x1 (t + 1) = 0.5x1 (t) + 2u(t)
x2 (t + 1) = 0.7x1 (t) + u(t)

y(t) = x1 (t)

Le matrici F, G, H sono.
   
0.5 0 2  
F = G= H= 1 0
0.7 0 1

Le matrici di raggiungibilità e osservabilità sono:


 
  2 1
R= G FC =
1 1.4
   
H 1 0
O= =
HF 0.5 0
La matrice di raggiungibilità non è singolare. La matrice di osservabilità non è invertibile: il sistema è
raggiungibile ma non osservabile. La realizzazione minima del sistema è

x1 (t + 1) = 0.5x1 (t) + 2u(t)
y(t) = x1 (t)

4.3 Identificazione
Si consideri un sistema SISO espresso in forma di stato:
(
x(t + 1) = F x(t) + Gu(t)
y(t) = Hx(t)

Si vuole ricavare dai dati, ossia dalle misure di u(·) e y(·), la terna F, G, H. Sperimental-
mente, si effettuano esperimenti in risposta impulsiva:

x(0) = 0

(
1 t=0
u(t) = imp(t) =
0 t 6= 0
IDENTIFICAZIONE 27

ottenendo


 y(0) = 0

 y(1) = HG



y(2) = Hx(2)

y(3) = Hx(3) = HF 2 G





...

Dalla risposta impulsiva, si può costruire la matrice di Hankel del sistema (matrice che
ha elementi uguali per controdiagonali):

HF G HF 2 G . . .
   
y(1) y(2) y(3) . . . HG
 y(2) y(3) y(4) . . .   HF G HF 2 G HF 3 G . . .
H∞
  
= = 
 y(3) y(4) y(5) . . .   HF 2 G HF 3 G HF 4 G . . . 
... ... ... ... ... ... ... ...
 
H
 HF  
 G F G F 2G . . .

=
HF 2 
...

Quindi, la matrice di Hankel di ordine ∞ è il prodotto della matrice di osservabilità di ordine


∞ per la matrice di raggiungibilità di ordine ∞

H∞ = O∞ R∞

Supponendo che la terna (F, G, H) sia data, e sia una realizzazione minima, (F, H) è os-
servabile e (G, H) è raggiungibile. Quindi rank(O) = n e rank(R) = n. Sotto queste
condizioni, si può dimostrare che anche rank(H∞ ) = n: quindi il numero delle colonne (o
delle righe) linearmente indipendenti di H fornisce il numero delle variabili di stato della
rappresentazione minima della risposta impulsiva misurata2 .

4.3.1 Dimensione della realizzazione minima nota


Si vuole ora trovare una terna (F, G, H) che renda conto della risposta impulsiva misurata
nel caso in cui la dimensione della realizzazione minima n è nota. In questo caso, per quanto
detto sopra, la matrice di Hankel di ordine n
 
y(1) y(2) ... y(n)
 y(2) y(3) . . . y(n + 1) 
Hn =  ...

... ... ... 
y(n) y(n + 1) . . . y(2n − 1)

deve potersi scrivere come il prodotto della matrice di osservabilità per la matrice di rag-
giungibilità:  
H
 HF  
Hn =  2

 HF 2  G F G F G . . .

...
Per ottenere queste due matrici basta calcolare, mediante un apposito algoritmo di calcolo
numerico, una delle possibili fattorizzazioni della matrice di Hankel come il prodotto di due
matrici n × n. Quindi si ricava H prendendo la prima riga di On e si ricava G come la prima
colonna della matrice R. Per trovare F , si segue questo procedimento:
2 Chiaramente, nei casi reali, si costruisce la matrice di Hankel di ordine >> n, finito
28 IDENTIFICAZIONE

• si aumenta di 1 la dimensione della matrice di Hankel:


 
H
 HF 
n
  n−1
2 
F nG

H =  HF  G F G . . . F G
 ... 
HF n

• dalla fattorizzazione di questa matrice, si ricava la matrice di osservabilità “shiftata”


T
O↑ = HF . . . HF n−1 HF n


• per costruzione, la matrice di osservabilità shiftata O↑ deve essere pari a On moltipli-


cata per F . Da questa considerazione (shift invariance property) si ricava F :
−1
F = (On ) O↑

4.3.2 Dimensione della realizzazione minima ignota


Quando l’ordine della realizzazione minima non è noto a priori, sorge il problema di deter-
minare il rango di una matrice di Hankel (di ordine sufficientemente grande), tenendo conto
del rumore. A questo scopo, si sfrutta la scomposizione ai valori singolari (SVD, Singular
Value Decomposition) di una matrice (E. Beltrami, 1873). Una matrice A quadrata reale
n × n può essere scritta come il prodotto di tre matrici n × n:
A = U SV
3
dove U e V sono ortogonali , e S è una matrice diagonale
 
σ1 0 0 ...
 0 σ2 0 ... 
S= 
 0 0 σ3 . . . 
... ... ... ...
dove i valori σi sono numeri reali maggiori o uguali di 0 univocamente individuati, e prendono
il nome di valori singolari. Il rango della matrice A è uguale al numero dei valori singolari
non nulli.
Osservazione. La decomposizione a valori sinvolari è applicabile, con opportune precisazio-
ni, anche a matrici complesse e non necessariamente quadrate: ad esempio, considerando il
caso complesso, una matrice A ∈ M(C) può essere scomposta come U SV tali che U H U = I e
V H V = I, dove U H indica il trasposto coniugato (matrici ortogonali nel campo complesso),
e S ∈ M(R) è una matrice con elementi reali non nulli solo sulla diagonale.
In conclusione, nel caso in cui la dimensione n non sia nota, si segue il seguente procedimento:
• si costruisce la matrice Hk con k >> n
• si effettua la fattorizzazione SVD della matrice ottenuta
• si trovano i valori singolari di S e si dispongono in ordine σ1 ≥ σ2 ≥ · · · ≥ . . .
• verosimilmente i valori singolari saranno tutti diversi da zero. Analizzando tali valori
(p.e. disponendoli in un diagramma), si riesce a ricavare quali sono i valori singolari
“significativi” e quali sono invece dovuti a rumore oppure ad arrotondamenti. In base
a queste considerazioni, si ricava (si sceglie) l’ordine del sistema
• trovato l’ordine, si effettua il procedimento descritto nel paragrafo precedente (ordine
noto)

3 una matrice U si dice ortogonale se U T U = I


5 Filtro di Kalman

Sia (
x(t + 1) = F x(t) + Gu(t) + v1 (t)
(5.1)
y(t) = Hx(t) + v2 (t)
un sistema dinamico lineare, dove lo stato x è un vettore di n elementi, e l’uscita y è un
vettore di p elementi. Per ipotesi, i vettori v1 e v2 sono rumori bianchi a valore atteso nullo e
incorrelati tra loro, la cui matrice varianza è rispettivamente V ar[v1 ] = E[v1 (t)v1 (t)T ] = V1
e V ar[v2 ] = E[v2 (t)v2 (t)T ] = V2 :

v1 ∼ W N (0, V1 ) v2 ∼ W N (0, V2 )

Lo stato iniziale del sistema è una variabile casuale x(1) di valore atteso 0 e varianza P1 .
Il problema del filtraggio e della predizione alla Kalman è il seguente: dati u(t), y(t) per
t = 1, . . . , N si vuole stimare lo stato x. A seconda dell’istante di tempo in cui si vuole
stimare lo stato, si distinguono:

• problema del filtraggio: l’incognita è x(N )

• problema della predizione (a 1 passo): l’incognita è x(N + 1) noti i dati fino all’istante
di tempo N

• problema della regolarizzazione: l’incognita è x(N − 1)

Per come è stato formulato il problema, x(·) e y(·) sono sequenze di vettori casuali. È quindi
necessario per prima cosa affrontare il problema della stima di una variabile casuale a partire
da un’altra variabile causale.

5.1 Stima di Bayes


In questo paragrafo, si affronta il problema della stima di una variabile casuale ϑ data
un’altra variabile casuale d (problema di Bayes). Siano d e ϑ due variabili casuali a media
nulla, varianza
λdd = V ar[d], λϑϑ = V ar[ϑ]
e covarianza
λdϑ = E[dϑ]
In forma vettoriale:      
d 0 λdd λdϑ
∼ ,
ϑ 0 λϑd λϑϑ
Il problema di Bayes consiste nel trovare il migliore stimatore lineare, cioè uno stimatore
della forma
ϑ̂ = αd + β
per un opportuno valore dei parametri α e β. A questo scopo, si cerca di minimizzare
rispetto a tali parametri la cifra di merito
h i
J = E (ϑ − ϑ̂)2 = E (ϑ − αd − β)2
 
30 FILTRO DI KALMAN

Si pone quindi 
 ∂J = 0

∂α

∂J
=0



∂β
Svolgendo i calcoli, tenendo conto che d e ϑ hanno valore atteso nullo:
∂J
= E [−2d(ϑ − αd − β)] =
∂α
= 2 −E[dϑ] + αE[d2 ] + βE[d] = 2(−λϑd + αλdd )


che si annulla per


λϑd
α=
λdd
Analogamente,
∂J
= E[−2(ϑ − αd − β)] = 2β
∂β
che si annulla per β = 0. Lo stimatore lineare ottimo è dato quindi da
λϑd
ϑ̂ = d (formula di Bayes)
λdd
La varianza dell’errore di stima è
" 2 #
h i λ dϑ
V ar[ϑ − ϑ̂] = E (ϑ − ϑ̂)2 = E ϑ − d =
λdd
2
λ2

2 λdϑ λdϑ
= E[ϑ ] − 2 E[dϑ] + E[d2 ] = λϑϑ − ϑd
λdd λdd λdd

Lo stimatore di Bayes può essere generalizzato al caso in cui d e ϑ hanno valore atteso non
nullo. Se E[ϑ] = ϑm e E[d] = dm , le formule diventano
λdϑ
ϑ̂ = ϑm + (d − dm )
λdd
λ2
V ar[ϑ − ϑ̂] = λϑϑ − ϑd
λdd

dove chiaramente E[ϑ̂] = ϑm . Inoltre:

λ2ϑd
V ar[ϑ − ϑ̂] = λϑϑ − = λϑϑ (1 − ρ2 )
λdd
dove
λϑd
ρ= √
λϑϑ λdd
è il coefficiente di covarianza. Siccome |ρ| ≤ 1, accade sempre che V ar[ϑ − ϑ̂] ≤ λϑϑ .
Quanto detto sulla stima di Bayes si può interpretare come segue:
• In assenza di dati (situazione a priori), ϑ ha valor medio ϑm e varianza λϑϑ .
• Una volta misurato il dato d (situazione a posteriori), si può stimare ϑ con la formula
di Bayes. Cosı̀ facendo, l’errore di stima vale λϑϑ (1 − ρ2 ). L’osservazione di d riduce
l’incertezza della stima di ϑ. In particolare, nel caso ρ = 0 (d e ϑ incorrelati), l’incer-
tezza a posteriori è uguale all’incertezza a priori; se invece ρ e d sono massimamente
correlati |ρ| = 1, l’incertezza a posteriori è nulla.
STIMA DI BAYES 31

Le formule di Bayes si possono generalizzare anche al caso in cui d e ϑ sono vettori casuali
di dimensione qualsiasi (anche diversa tra loro). Se
     
d dm Λdd Λdϑ
∼ ,
ϑ ϑm Λϑd Λϑϑ

con Λdϑ = ΛTϑd , allora

ϑ̂ = ϑm + Λϑd Λ−1
dd (d − dm )

V ar[ϑ − ϑ̂] = Λϑϑ − Λϑd Λ−1


dd Λdϑ

Anche nel caso vettoriale V ar[ϑ − ϑ̂] ≤ Λϑϑ (dove la scrittura ≤ significa che la differenza
tra le due matrici è semidefinita negativa).

5.1.1 Interpretazione geometrica


Per dare un’interpretazione geometrica della stima di Bayes, introduciamo un’opportuno
spazio vettoriale. Sia
G = {g1 , g2 , . . . , g∞ }
l’insieme delle variabili casuali scalari a valor medio nullo. Su questo insieme sono definite
le operazioni di somma e di prodotto per uno scalare:
g1 + g2 ⇔ g̃(s) = g1 (s) + g2 (s) (somma)
λg ⇔ g̃(s) = λg(s), λ ∈ R (prodotto per uno scalare)
Su questo spazio vettoriale si definisce inoltre un prodotto scalare come
(g1 , g2 ) = E[g1 g2 ]
che è effettivamente un prodotto scalare, essendo verificate le seguenti proprietà:
• (g1 , g2 ) = (g2 , g1 ): infatti E[g1 g2 ] = E[g2 g1 ] dato che nel campo reale vale la proprietà
commutativa
• (g, g) ≥ 0: infatti E[gg] = V ar[g] ≥ 0
• (g, g) = 0 =⇒ g = 0. È verificata imponendo che g = 0 ⇔ V ar[g] = 0
• con µ1 , µ2 ∈ R, (µ1 g1 + µ2 g2 , g3 ) = µ1 (g1 , g2 ) + µ2 (g2 , g3 ): infatti E[(µ1 g1 + µ2 g2 )g3 ] =
E[µ1 g1 g3 + µ2 g2 g3 ] = µ1 E[g1 g3 ] + µ2 E[g2 g3 ]
A partire dal prodotto scalare cosı̀ definito, introduciamo una norma e di conseguenza
definiamo l’angolo α compreso tra due vettori g1 , g2 :
p p
||g|| = (g, g) = E[g 2 ] = deviazione standard di g
(g1 , g2 ) E[g1 , g2 ]
cos(α) = =p =ρ
||g1 ||||g2 || V ar[g1 ]V ar[g2 ]
Nello spazio vettoriale delle variabili casuali scalari a valor medio nullo, se g1 e g2 sono
incorrelate, ρ = 0, cioè cos(α) = 0, ovvero g1 e g2 sono due vettori ortogonali. Analogamente,
se g1 e g2 sono massimamente correlate, ρ = ±1: dal punto di vista vettoriale, si tratta di
vettori allineati.
Diamo ora un’intepretazione geometrica della stima di Bayes di g2 a partire da g1 :
λ12 E[g1 g2 ] (g1 , g2 )
gˆ2 = g1 = 2 g1 = g1 =
λ11 E[g1 ] ||g1 ||2
(g1 , g2 ) g1 g1
= ||g2 || = ||g2 || cos(α)
||g1 ||||g2 || ||g1 || ||g1 ||
32 FILTRO DI KALMAN

dove α è l’angolo compreso tra g1 e g2 , e ||gg11 || è il versore associato a g1 . Quindi, la stima di


Bayes di g2 dato g1 è la proiezione del vettore g2 su g1 . L’errore di stima lo si può ricavare
con il teorema di Pitagora:

λ2ϑd
errore2 = ||g2 ||2 − ||ĝ2 || = λϑϑ −
λdd

5.1.2 Sima ricorsiva di Bayes


La stima di Bayes di una variabile casuale ϑ nota d, data dalla relazione

λϑd
ϑ̂ = E[ϑ|d] = d
λdd

può essere generalizzata al caso in cui ci sono più dati, ad esempio d(1), d(2):

ϑ̂ = (covarianza incognita dato) · (covarianza dei dati)−1 · (dato)

Se      
ϑ 0 λϑϑ λϑ1 λϑ2
 d(1)  ∼  0  ,  λ1ϑ λ11 λ12 
d(2) 0 λ2ϑ λ21 λ22
la stima di Bayes risulta essere
  
  λ11 λ12 d(1)
ϑ̂ = λϑ1 λϑ2
λ21 λ22 d(2)

Di questa stima è possibile inoltre ottenere un’espressione ricorsiva, ovvero scrivere la stima
come
E[ϑ|d(1), d(2)] = E[ϑ|d(1)] + . . .
Svolgendo i calcoli, si arriva all’espressione
  
λϑ1 1 λ12 λ12
ϑ̂ = d(1) + 2 λϑ2 − λϑ1 d(2) − d(1) (5.2)
λ11 λ λ11 λ11
| {z }| {z }
λϑe e

dove
λ212
λ2 = λ22 −
λ11
Definizione. Siano d(1) e d(2) variabili casuali. Si dice innovazione di d(2) rispetto a d(1)
è la variabile casuale
λ12
e = d(2) − d(1)
λ11
La variabile innovazione ha le seguenti proprietà:
λ12
• E[e] = E[d(2)] − λ11 E[d(1)] = 0. perché i dati hanno valore medio nullo per ipotesi

λ212
• Var[e] = λee = E[e2 ] = λ22 − λ11 = λ2 , quindi λ2 si interpreta come la varianza
dell’innovazione
λ12
• λϑe = E[ϑe] = λϑ2 − λ11 λϑ1

λ12
• λ1e = E[λ12 − λ11 λ11 = 0, ossia il dato d(1) e l’innovazione sono scorrelate
PREDITTORE DI KALMAN A UN PASSO 33

piano generato
da d(1) e d(2)
E[ϑ | d(1)] E[d(2) | d(1)]
d(1)

ϑ = E[ϑ | d(2), d(2)] E[ϑ | e] d(2) e

Figura 5.1: Interpretazione geometrica della stima di Bayes

L’innovazione può essere interpretata osservandone la definizione. Infatti:


λ12
d(2) = d(1) + e = E[d(2)|d(1)] + e
λ11
ossia il dato d(2) viene scomposto nella sua migliore predizione (la stima di Bayes) noto
d(1), cioè la porzione di informazione apportata da d(2) che era prevedibile noto d(1), e
nella porzione di d(2) imprevedibile conoscendo d(1), che è proprio l’innovazione e.
Utilizzando la definizione di innovazione, la stima 5.2 si può riscrivere come
λϑ1 λϑe
ϑ̂ = d(1) + e = E[ϑ|d(1), d(2)] = E[ϑ|d(1)] + E[ϑ|e]
λ11 λee
Quest’ultima formula si generalizza anche al caso in cui sono noti più di due dati1 :
E[ϑ|d(1), d(2), . . . , d(N ), d(N + 1)] = E[ϑ|d(1), . . . , d(N )] + E[ϑ|e]
con
e = d(N + 1) − E[d(N + 1)|d(1), d(2), . . . , d(N )]
Osservazione. Si può estendere a questi concetti l’interpretazione geometrica già ottenuta
per la stima di Bayes con un dato, secondo cui lo stimatore di Bayes di ϑ dato d è la proiezione
di ϑ sul vettore d. Quando sono disponibili due dati (figura 5.1), ϑ̂ è la proiezione di ϑ sul
piano generato da d(1) e d(2) (l’insieme delle variabili casuali del tipo α1 d(2) + α2 d(2), con
α1 , α2 ∈ R. Inoltre, dal fatto che d1 ed e sono ortogonali, si può ricavare subito la relazione
d(2) = E[d(2)|d(1)] + e.

5.2 Predittore di Kalman a un passo


Si consideri un sistema espresso in forma di stato
(
x(t + 1) = F x(t) + v1 (t)
S:
y(t) = Hx(t) + v2 (t)

dove x è un vettore di n elementi, e y è un vettore di p elementi. Si vuole affrontare il


problema della stima di x(N + 1), noti i valori di y(1), y(2), . . . , y(N ). L’obiettivo è quindi
ricavare il predittore dello stato
x̂(N + 1|N ) = E[x(N + 1)|y(1), . . . , y(N )]
e il predittore dell’uscita
ŷ(N + 1|N ) = E[y(N + 1)|y(1), . . . , y(N )]
Per semplificare la notazione, l’insieme {y(1), y(2), . . . , y(N )} verrà indicato con y N .
1e anche al caso in cui ϑ è un vettore
34 FILTRO DI KALMAN

Predittore dell’uscita Il predittore dell’uscita è dato da

ŷ(N + 1|N ) = E[y(N + 1)|y N ] = E[Hx(N + 1) + v2 (N + 1)|y N ] =


= HE[x(N + 1)|y N ] + E[v2 (N + 1)|y N ] =
= H x̂(N + 1|N ) + E[v2 (N + 1)|y N ]

Considerando gli elementi dell’insieme y N , e indicando con f (·) una generica dipenden-
za funzionale, osservando l’equazione che definisce il sistema si può notare che y(1) =
f (x(1), v2 (1)), y(2) = f (x(2), v2 (2)) = f (x(1), v1 (1), v2 (2)), e cosı̀ via. Quindi l’insieme
y N dipende solo dallo stato iniziale, dai valori passati di v1 fino a N − 1 (insieme denotato
con v1N −1 , e dall’insieme v2N dei valori di v2 fino a N :

y N = f (x(1), v1 (1), v1 (2), . . . , v1 (N − 1), v2 (1), v2 (2), . . . , v2 (N ))

Supponendo che v1 e v2 siano rumori bianchi tra loro incorrelati, e che lo stato iniziale sia
incorrelato con v1 e v2 , allora y N non porta alcuna informazione su v1 e v2 all’istante di
tempo N + 1. Il valor medio a posteriori di v1 e v2 è quindi uguale al valor medio a priori, e
il termine E[v2 (N + 1)|y N ] si annulla (il valor medio a priori di v2 è nullo). In conclusione,
il predittore dell’uscita è dato da

ŷ(N + 1|N ) = H x̂(N + 1|N )

Innovazione Nel contesto della predizione alla Kalman, definiamo innovazione all’istante
di tempo N la differenza tra l’ultimo valore dell’uscita e la sua stima effettuata conoscendo
tutti i dati precedenti:

e(N ) = y(N ) − ŷ(N |N − 1) = Hx(N ) + v2 (N ) − H x̂(N |N − 1)


= H [x(N ) − x̂(N |N − 1)] + v2 (N )

dove x(N ) − X̂(N |N − 1) = ν(N ) è l’errore di predizione dello stato. Vi è quindi un semplice
legame tra l’errore di predizione di y e l’errore di predizione di x:

e(N ) = Hν(N ) + v2 (N )

Osservazione. L’innovazione e(N ) e l’errore di predizione dello stato ν(N ) sono entrambi
ortogonali al sottospazio del passato, cioè al piano generato da y(N − 1), y(N − 2), . . . .

Predittore dello stato Per ricavare il predittore dello stato, sfruttiamo la formula di Bayes
ricorsiva:

x̂(N + 1|N ) = E[x(N + 1|y N )] = E[x(N + 1|y N −1 , y(N )] =


= E[x(N + 1)|y N −1 ] + E[x(N + 1)|e(N )]

dove il primo addendo si ricava come

E[x(N + 1)|y N −1 ] = E[F x(N ) + v1 (N )|y N −1 ] =


= F E[x(N )|y N −1 ] + ( N(−1
(
(1 (N
E[v (( )|y( ] = F x̂(N |N − 1)

(per l’indipendenza di v1 (N ) da y N −1 vale lo stesso discorso fatto nel caso del predittore
dell’uscita), e il secondo elemento, applicando la formula di Bayes (a lotti), è pari a

E[x(N + 1)|e(N )] = Λx(N +1)e(N ) Λ−1


e(N )e(N ) e(N )

Ricordando l’espressione dell’innovazione in funzione dell’errore di predizione dello stato

e(N ) = Hν(N ) + v2 (N )
PREDITTORE DI KALMAN A UN PASSO 35

si ottiene (i doppi prodotti indicati con . . . si azzerano perché le variabili casuali coinvolte
sono incorrelate)
Λe(N )e(N ) = E[e(N )e(N )T ] = E[Hν(N )ν(N )T H T + v2 (N )v2 (N )T + 2Hν(N )v2 (N )T ] =
= HE[ν(N )ν(N )T ]H T + E[v2 (N )v2 (N )T ] + · · · =
= HP (N )H T + V2
avendo indicato con
P (N ) = E[ν(N )ν(N )T ]
la matrice varianza dell’errore di predizione dello stato e con V2 la matrice varianza di v2 .
Con analoghi calcoli,
Λx(N +1)e(N ) = F P (N )H T
Il predittore dello stato è dato quindi dalla relazione
−1
E[x(N + 1)|e(N )] = HP (N )H T HP (N )H T + V2 e(N ) = K(N )e(N )
Il termine K(N ) è detto guadagno del predittore di Kalman. Sinteticamente, il predittore è
definito dalle relazioni seguenti (sotto l’ipotesi che v1 e v2 siano incorrelati):

x̂(N + 1|N ) = F x̂(N |N − 1) + K(N )e(N )


e(N ) = y(N ) − ŷ(N |N − 1)
ŷ(N |N − 1) = H x̂(N |N − 1)
−1
K(N ) = F P (N )H T HP (N )H T + V2

Equazione di Riccati Per poter utilizzare il predittore in pratica, resta da considerare


il calcolo della matrice P (N ) = Var[ν(N )]. A questo proposito, troviamo un’espressione
ricorsiva per passare dal valore di P (N ) a P (N + 1), basata sull’espressione di ν(N + 1) in
funzione di ν(N ). Quest’ultima espressione si può ricavare nel seguente modo:
ν(N + 1) = x(N + 1) − x̂(N + 1|N ) =
= F x(N ) + v1 (N ) − [F x̂(N |N − 1) + K(N )e(N )] =
= F (x(N ) − x̂(N |N − 1)) +v1 (N ) − K(N )e(N ) =
| {z }
ν(N )

= [F − K(N )H]ν(N ) − K(N )v2 (N ) + v1 (N )


da cui si ottiene l’espressione ricorsiva per P 2 , detta equazione di Riccati (DRE, Differential
Riccati Equation):
P (N + 1) = Var[ν(N + 1)] = E[ν(N + 1)ν(N + 1)T ] =
T
= [F − K(N )H] P (N ) [F − K(N )H] + K(N )V2 K(N )T + V1
Manipolando l’equazione, si possono ottenere altre forme per l’equazione di Riccati:
P (N + 1) = F P (N )F T + F P (N )H T K(N )T − K(N )HP (N )F T +
+ V1 + K(N ) HP (N )H T + V2 K(N )T =
 

= sostituendo a K(N ) l’espressione completa... =


= F P (N )F T + F P (N )H T K(N )T − K(N )HP (N )F T + V1 +
(( (T(+(V(
+ F P (N )H T (
[HP (N(
)H(T(+(V2 ]−1 [HP (N(
)H T
2 ]K(N ) =
(( (((
= F P (N )F T + V1 − K(N )HP (N )F T
2 dettagli dei calcoli omessi
36 FILTRO DI KALMAN

v1 (N ) v2 (N )

x(N + 1) x(N ) + y(N )


z −1 H
+

F
S

K(N )
e(N )

+
x̂(N + 1|N ) x̂(N |N − 1) ŷ(N |N + 1)
z −1 H
+

F

Figura 5.2: Schema a blocchi del predittore di Kalman a un passo

Sostituendo il termine HP (N )F T con la definizione di K(N ):

P (N + 1) = F P (N )F T + V1 − K(N ) HP (N )H T + V2 K(N )T
 

Inizializzazione Considerando l’istante 1 come istante iniziale, i valori iniziali del predittore
di Kalman sono:
x̂(1|0) = E[x(1)|dati al tempo 0] = E[x(1)] = 0
(oppure x̂(1|0) = x1 se la media è non nulla), e
h i
T
P (1) = E (x(1) − x̂(1|0)) (x(1) − x̂(1|0)) = V ar[x(1)] = P1

5.3 Predizione a k passi e filtraggio


5.3.1 Predittore di Kalman a k passi
In questo paragrafo affrontiamo il problema della predizione a k > 1 passi. Sfruttando i
risultati ottenuti per il predittore a un passo, il predittore a due passi si ottiene applicando
l’equazione dello stato in questo modo:

x̂(N + 2|N ) = E[F x(N + 1) + v1 (N + 1)|y N ] =


= F E[x(N + 1)|y N ] + E[v1 (N + 1)|y N ] =
= F x̂(N + 1|N ) + 0
CONVERGENZA DELL’EQUAZIONE DI RICCATI 37

In maniera analoga si calcola il predittore a tre passi:

x̂(N + 3|N ) = F 2 x̂(N + 1|N )

In generale
x̂(N + k|N ) = F k−1 x̂(N + 1|N )

5.3.2 Filtraggio
Sfruttando i risultati ottenuti per il predittore, il filtro di Kalman si calcola applicando la
stima ricorsiva di Bayes:

X̂(N |N ) = E[x(N )|y N ] = E[xN |y N −1 , y(N )] =


= E[x(N )|y N −1 ] + E[X(N )|e(N )] =
= x̂(N |N − 1) + K0 (N )e(N )

dove
K0 (N ) = Λx(N )e(N ) Λe(N )e(N ) = P (N )H T HP (N )H T + v2


prende il nome di guadagno del filtro. Vale la relazione K(N ) = F K0 (N ), dove K(N ) è il
guadagno del predittore. Se F è una matrice non singolare, il filtro di Kalman può essere
anche espresso dalla
x̂(N |N ) = F −1 x̂(N + 1|N )

5.3.3 Generalizzazioni
La teoria della predizione e del filtraggio alla Kalman può essere generalizzata in varie
direzioni:
• Vale anche per sistemi lineari tempo-varianti
• In presenza di una variabile esogena (sistema nella forma dell’equazione 5.1),

X̂(N + 1) = F X̂(N |N − 1) + K(N )P (N ) + Gν(N )

• Se v1 e v2 sono correlati (accade ad esempio in presenza di un modello ingresso/uscita)


in questo modo: 
0 ∀t2 6= t1
E[v1 v2 ] =
V12 t2 = t1
varia l’espressione del guadagno:

K(N ) = F P (N )H T + V12 (HP (N )H T + V2 )−1


 

e si può usare solo l’equazione di Riccati nella seconda forma

5.4 Convergenza dell’equazione di Riccati


Un problema importante riguarda lo studio della convergenza della soluzione P (N ) dell’e-
quazione di Riccati per N → ∞, ossia se

lim P (N ) = P̄
N →∞

per qualche P̄ costante. Questo problema è importante perché P rappresenta la varianza


dell’errore di stima dello stato: se P diverge, la stima dello stato è una cattiva stima, mentre
se P converge, l’errore di stima a regime è limitato. Inoltre, in generale, il guadagno K(N ) è
38 FILTRO DI KALMAN

tempo-variante anche se il sistema è tempo-invariante. Se P (N ) converge, anche il guadagno


dle predittore converge: K(N ) → K̄. Si può quindi considerare K̄ costante, ottenendo il
cosiddetto predittore di regime, tempo-invariante, che è subottimo ma più efficiente del
predittore ottimo.
Se l’equazione di Riccati (DRE) converge a P̄ , questa è soluzione dell’equazione algebrica
di Riccati (ARE, Algebraic Riccati Equation), ottenuta ponendo nella DRE P (N + 1) =
P (N ) = P :
P = F P F T + V1 − F P H T (HP H T + V2 )−1 HP F T
Poiché P (N ) è una matrice semidefinita positiva, anche il valore limite P̄ dovrà essere una
matrice semidefinita positiva. Si cercano quindi le soluzioni semidefinite positive dell’ARE.3
Se si considera come predittore quello banale (naive), che predice sempre il valore atteso
del processo, la varianza dell’errore di predizione è

V ar[err](naive) = E[(x(t) − x̂(t)(naive) )(x(t) − x̂(t)(naive) )T ] = V ar[x(t)]

Ci si aspetta quindi che la varianza dell’errore di predizione commesso dal predittore ottimo
sia più piccola di questo valore, e quindi a maggior ragione che sia limitata. Si può provare4
infatti il seguente
Teorema 5.1 (Primo teorema di convergenza della DRE). Se il meccanismo di generazione
dei dati è stabile, a partire da una qualunque condizione iniziale P1 ≥ 0, la soluzione P (t)
della DRE converge sempre al medesimo limite (matriciale) P̄ . Inoltre, il predittore di
Kalman di regime è stabile
Il motivo per cui il predittore di regime è stabile è il seguente: i segnali x(·) e y(·) sono
processi stazionari. Se il predittore, che ha y come ingresso, fosse instabile, la predizione
sarebbe divergente: la predizione di un processo stazionario x sarebbe un processo non
stazionario x̂.
La stabilità del sistema comunque non è condizione necessaria per la convergenza della
DRE. Ad esempio, sia S il sistema

x(t + 1) = αx(t) + v1 (t)
y(t) = γx(t) + v2 (t)

dove β 2 è la varianza di v2 (t), α, β, γ sono scalari e |α| > 1 (il sistema è instabile).
L’equazione di Riccati (DRE) è data da

α2 γ 2 P (t) α2 P (t)
P (t + 1) = α2 P (t) + β 2 − 2
= β2 +
γ P (t) + 1 1 + γ 2 P (t)

e l’equazione algebrica (ARE) si ottiene ponendo P (t + 1) = P (t) = P :

α2 P
P = β2 +
1 + γ2P

Se P (t) converge a P , cioè se limt→∞ P (t) = P̄ , allora P̄ è una soluzione non negativa della
ARE. Vediamo come evolve il sistema a partire da una condizione iniziale P1 non negativa.
α2 x
In figura 5.3(a) è riportato il grafico della curva y = β 2 + 1+γ 2 x . Se i valori dell’ascissa

sono x = P (t), nell’ordinata saranno rappresentati i valori di y = P (t + 1). Per ottenere le


soluzioni della ARE basta quindi considerare le intersezioni della curva con la retta y = x.
3 Nota: in una situazione non standard, può succedere che a partire da matrici varianza iniziali diverse, la
DRE converga a due diverse matrici.
4 Nota importante: i teoremi di convergenza che verranno enunciati valgono sotto l’ipotesi in cui i disturbi

che agiscono sullo stato e sull’uscita – di matrici varianza rispettivamente V1 e V2 – sono indipendenti
tra loro e sono indipendenti dalla condizione iniziale x(1). Inoltre V2 è una matrice definita positiva. Per
dettagli vedere il testo [2].
CONVERGENZA DELL’EQUAZIONE DI RICCATI 39

Come si vede dal grafico, esistono in generale due soluzioni P̃ < 0 e P̄ > 0. La soluzione
negativa va scartata, poiché P (t) è in generale una matrice semidefinita positiva, e quindi
non può che convergere a una matrice semidefinita positiva. A partire da una determinata
condizione iniziale P1 , non negativa, si può vedere dalla figura 5.3(b) che se P (t) a un certo
istante è minore di P̄ , a un istante successivo P (t + 1) assumerà un valore più elevato di
P (t), ovvero la soluzione dell’equazione è monotona crescente e tende a P̄ . Consideriamo
invece i valori che può assumere γ:

• se γ = 0, P (t + 1) = β 2 + α2 P (t), e P → ∞. Infatti y = v2 (t), e il sistema è instabile


(si sta cercando di stimare x a partire dal rumore v2 .
α2 P (t)
• γ 6= 0 e β = 0, P (t + 1) = 1+γ 2 P (t) . Vi sono due soluzioni ammissibili della DRE,
una delle quali P̃ nulla. Si può vedere che, se P1 = 0, P (t) → P̃ , mentre se P1 6= 0,
P (t) → P̄ . Questo è il caso in cui l’equazione di stato è deterministica (è priva di
rumore). Se lo stato iniziale non è deterministicamente noto, bisogna “combattere” il
rumore; se invece lo stato iniziale è noto, si può calcolare lo stato senza errore ad ogni
passo.

Vale il seguente

Teorema 5.2 (Secondo teorema di convergenza della DRE). Se la coppia (F, G) del sistema
di generazione dai dati è raggiungibile, e la coppia (F, H) è osservabile, allora P (t) → P̄
(la soluzione della DRE converge asintoticamente a una e una sola matrice, soluzione della
ARE). Inoltre, il predittore di Kalman di regime è stabile, e P̄ è definita positiva.

I risultati sulla convergenza della DRE possono essere ulteriormente generalizzati. Sia x1
la parte non osservabile dello stato del sistema, e x2 la parte osservabile. x1 non influenza y,
in quanto non è nell’uscita e non è osservabile. Se la x2 non è stabile, si può stimare lo stesso
lo stato x2 , perché porta la sua informazione sull’uscita, purché la parte non osservabile sia
stabile. Quello che è importante è che sia stabile la parte non osservabile oppure la parte
non raggiungibile. Questo fatto è espresso dal seguente

Teorema 5.3 (Teorema generale di convergenza). Se la parte non osservabile e la parte non
raggiungibile del sistema di generazione dei dati sono stabili, per ogni condizione iniziale
P1 ≥ 0, la soluzione P (t) della DRE converge a un limite P̄ (sempre lo stesso per ogni
condizione iniziale), e il predittore di Kalman di regime è stabile.

In base a queste considerazioni, si definiscono le proprietà strutturali estese di un sistema:

Definizione (Stabilizzabilità). Un sistema si dice stabilizzabile se la sua parte non raggiun-


gibile è stabile.

Definizione (Rivelabilità). Un sistema si dice rivelabile se la sua parte non osservabile è


stabile.

Quando i rumori v1 e v2 sono correlati, i teoremi di convergenza della DRE non sono
valido. In questo caso, si porta il sistema in una nuova forma in cui i rumori sono scorrelati
e si applicano i teoremi al nuovo sistema.

5.4.1 Rappresentazione di innovazione


Sia S un sistema scritto in forma di stato, con n variabili di stato e un’uscita y scalare: è un
sistema dinamico alimentato da n + 1 rumori bianchi. Se è stabile, l’uscita y è un processo
stazionario, e le ipotesi del teorema di convergenza della DRE sono soddisfatte: l’equazione
di Riccati converge ed esiste il predittore di regime Ŝ. Definendo

s(t) = x̂(t|t − 1)
40 FILTRO DI KALMAN

Figura 5.3
CONVERGENZA DELL’EQUAZIONE DI RICCATI 41

il predittore di regime in funzione di y ha la forma


(
s(t + 1) = F s(t) + K̄e(t)
Ŝ :
y(t) = Hs(t) + e(t)

Tramite la teoria del filtro di Kalman, quindi, è possibile rappresentare il processo y in


un’altra forma, mediante la terna (F, K̄, H) e il segnale innovazione e(t). Questa forma
è detta rappresentazione di innovazione di y, e permette di considerare il processo come
generato da un solo ingresso, e(t), che si può dimostrare essere anch’esso un rumore bianco.
La rappresentazione di innovazione ha come matrice dinamica F . La funzione di trasferi-
mento da e a y è
H(zI − F )−1 K̄ + 1
e ha le seguenti proprietà:
• i poli sono interni al cerchio di raggio unitario
• il grado relativo è 0
• numeratore e denominatore sono monici
Il sistema inverso Ŝ −1 che produce il segnale e a partire da y si può ottenere semplicemente
dal filtro di Kalman, in cui viene vista come uscita l’innovazione e(t). Per il primo teorema
di convergenza, se il sistema è stabile, lo è anche il predittore di Kalman. Quindi, anche
Ŝ −1 è stabile, e i poli della sua funzione di trasferimento sono interni al cerchio di raggio
1. I poli della funzione di trasferimento del sistema inverso sono gli zeri della funzione di
trasferimento del sistema. Si può quindi concludere che la funzione di trasferimento da e a
y ha gli zeri all’interno del cerchio di raggio unitario.
Le proprietà ottenute per la rappresentazione di innovazione sono analoghe a quelle della
rappresentazione canonica di un p.s.s. espresso come modello ingresso-uscita. Infatti, la
rappresentazione di innovazione gioca nella teoria di Kalman lo stesso ruolo del fattore
spettrale canonico nella teoria di Kolmogorov-Wiener.

5.4.2 Confronto tra la teoria di Kalman e la teoria di


Kolmogorov-Wiener
Sono state analizzate due diverse teorie, il predittore di Kalman e la teoria di Kolmogorov-
Wiener, che risolvono il problema della predizione. Delle due, la teoria di Kalman è più
generale, applicandosi anche a sistemi in cui l’uscita è vettoriale. Un’importante differenza è
che nella teoria di Kolmogorov-Wiener si vuole predire lo stesso segnale che viene misurato
a un istante di tempo successivo, mentre nella predizione alla Kalman si risolve il problema
di stimare una variabile di stato x(t + 1) note le uscite y(t), y(t − 1), . . . : la variabile stimata
può essere diversa da quella misurata. Inoltre, mentre nella teoria di Kalman le matrici
F, G, v1 , v2 possono essere tempo-varianti, la teoria di Kolmogorov-Wiener sussiste solo per
sistemi tempo-invarianti.
Consideriamo il caso in cui entrambe le teorie sono applicabili, per esempio per la pre-
dizione ad un passo di un processo stazionario scalare, rappresentato una volta con un
modello ingresso uscita, ed una volta con un modello di stato. Allora, si può ricorrere sia
ad una teoria sia all’altra. Poco sorprendentemente il predittore ottenuto con la teoria di
Kolmogorov-Wiener ha le medesime prestazioni del predittore (di regime) ottenuto con la
teoria di Kalman: la varianza dell’errore di predizione è identica. Per tale problema e’ quin-
di indifferente usare una o l’altra teoria da un punto di vista teorico generale. In questo
particolare problema, la teoria di Kolmogorov-Wiener è preferibile numericamente poiché la
teoria di Kalman richiede la risoluzione di una equazione non banale come l’equazione di
Riccati, mentre l’uso dell’altra teoria richiede solo divisioni polinomiali. Quindi, la teoria di
Kolmogorov è ancora fondamentale per motivi computazionali.
42 FILTRO DI KALMAN

5.5 Filtro di Kalman esteso (EKF)


La teoria di Kalman vale solo per sistemi lineari. Si può ottenere in modo approssimato un
predittore alla Kalman forzando l’uso della teoria per sistemi non-lineari:
(
x(t + 1) = f (x(t)) + v1 (t)
S:
x(t) = h(x(t)) + v2 (t)
dove f e h sono generiche funzioni non-lineari. All’istante iniziale lo stato assume il valore
x(1), di valore atteso E[x(1)] = x̄(1). Considerando l’evoluzione (deterministica) dallo stato
iniziale x̄(1), applicando la relazione x(t + 1) = f (x(t)), si definisce il movimento nominale
del sistema x̄(t). Corrispondentemente, y(t) = h(x̄(t)). Defnendo le variazioni
∆x(t) = x(t) − x̄(t)
∆y(t) = y(t) − ȳ(t)
il sistema linearizzato intorno a x̄ è
∆x(t + 1) = F̄ (t)∆x(t) + v1 (t)
∆y(t) = H̄(t)∆x(t) + v2 (t)
dove
∂f ∂h
F̄ = H̄ =
∂x x=x̄(t) ∂x x=x̄(t)
di dimensioni rispettivamente n × n e p × n, dove n è il numero della variabili di stato e p è la
dimensione dell’uscita. Le matrici F̄ e H̄ sono funzioni del tempo. Si può quindi applicare
la teoria del filtro di Kalman al sistema linearizzato, ottenendo le predizioni dello stato e
dell’uscita. Si ottengono quindi le relazioni (LKF, filtro di kalman linearizzato)
x̂(t + 1|t) = f (x̂(t|t − 1)) + K̄(t)e(t)
e(t) = y(t) − h(x̂(t|t − 1))
| {z }
ŷ(t|t−1)

dove K̄ si ottiene dalla soluzione dell’equazione di Riccati con F = F̄ (t) e H = H̄(t).


Tuttavia, questo modo di procedere porta a delle stime di cattiva qualità, in cui ŷ e y
potrebbero addirittura divergere, poiché F̄ e x̄ sono calcolati a partire dal valor medio
dello stato iniziale. Un modo migliore di porocedere è linearizzare il sistema non intorno al
movimento nominale, ma intorno all’ultima predizione:

∂f ∂h
F̄ = H̄ =
∂x x=x̂(t|t−1) ∂x x=x̂(t|t−1)

Il filtro ottenuto mediante questo procedimento è chiamato filtro di Kalman esteso (EKF,
Extended Kalman Filter).
Esempio 5.1: Un uso frequente del filtro di Kalman esteso è la stima di parametri di un modello lineare.
Ad esempio, per stimare lo stato x e il parametro incognito α del sistema

 x1 (t + 1) = αx1 (t) + 3x2 (t) + v11 (t)
x2 (t + 1) = 0.5x1(t) + 0.8x2 (t) + v12 (t)

y(t) = x2 (t) + v2 (t)
si trasforma il parametro incognito in una nuova variabile di stato:
α(t + 1) = α(t) + v13 (t)



 x1 (t + 1) = α(t)x1 (t) + 3x2 (t) + v11 (t)
x (t + 1) = 0.5x1(t) + 0.8x2 (t) + v12 (t)
 2


y(t) = x2 (t) + v2 (t)
A questo punto, si stima lo stato esteso del nuovo sistema – che non è più lineare – mediante l’EKF.
Bibliografia

[1] Sito del corso. http://corsi.dei.polimi.it/IMAD.


[2] Sergio Bittanti. Teoria della Predizione e del Filtraggio. Pitagora Editrice Bologna, 2003.
[3] Sergio Bittanti. Identificazione dei Modelli e Sistemi Adattativi. Pitagora Editrice
Bologna, 2005.