...

note di Identificazione e Filtraggio

by user

on
Category: Documents
72

views

Report

Comments

Transcript

note di Identificazione e Filtraggio
note di Identificazione e Filtraggio
Gianluca Antonelli
2008
Dipartimento di Automazione, Elettromagnetismo,
Ingegneria dell’Informazione e Matematica Industriale
Università degli Studi di Cassino
Via G. Di Biasio 43, 03043 Cassino (FR), Italy
[email protected]
http://webuser.unicas.it/antonelli
Copyright (c) 2007 GIANLUCA ANTONELLI.
Permission is granted to copy, distribute and/or modify this document under the terms of the
GNU Free Documentation License, Version 1.2 or any later version published by the Free Software
Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy
of the license is included in the section entitled “GNU Free Documentation License”.
Indice
1 Generalità
7
1.1
L’approccio sistemistico e l’identificazione dei modelli . . . . . . . . . . . . . . . .
7
1.2
Identificazione in linea e fuori linea . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
1.3
Applicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
2 Sistemi digitali
2.1
10
Sistemi lineari e stazionari a tempo discreto . . . . . . . . . . . . . . . . . . . . . . 10
2.1.1
Equazioni lineari alle differenze . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2
Risposta in evoluzione libera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3
Risposta in evoluzione forzata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4
Corrispondenza fra le costanti di tempo continuo e discreto . . . . . . . . . . . . . 16
2.5
Funzione di trasferimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5.1
2.6
Funzione di risposta armonica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.6.1
2.7
2.9
Forme di rappresentazione della funzione di risposta armonica . . . . . . . . 20
Stabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7.1
2.8
Forme di rappresentazione della funzione di trasferimento . . . . . . . . . . 18
Criteri per la determinazione della stabilità di un sistema tempo discreto . 23
Sistemi a dati campionati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.8.1
Campionamento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.8.2
Spettro di un segnale campionato e aliasing . . . . . . . . . . . . . . . . . . 27
2.8.3
Quantizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.8.4
Organo di tenuta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Tecniche di discretizzazione per equivalenza . . . . . . . . . . . . . . . . . . . . . . 31
2.9.1
Metodo delle differenze all’avanti . . . . . . . . . . . . . . . . . . . . . . . . 32
2.9.2
Metodo delle differenze all’indietro . . . . . . . . . . . . . . . . . . . . . . . 32
2.9.3
Metodo dei trapezi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.9.4
Metodo della corrispondenza poli-zeri . . . . . . . . . . . . . . . . . . . . . 34
2.9.5
Equivalenza ai campioni della risposta impulsiva . . . . . . . . . . . . . . . 35
2.9.6
Equivalenza ai campioni della risposta indiciale . . . . . . . . . . . . . . . . 35
2
G. Antonelli - IF (2008)
3
2.9.7
Confronto fra le tecniche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.9.8
Discretizzazione dei modelli con ritardo . . . . . . . . . . . . . . . . . . . . 36
2.10 Discretizzazione di sistemi dinamici tempo continuo: un esempio . . . . . . . . . . 36
2.10.1 a) Metodo del rapporto incrementale in avanti . . . . . . . . . . . . . . . . 37
2.10.2 b) Metodo del rapporto incrementale all’indietro . . . . . . . . . . . . . . . 40
2.10.3 c) Metodo della trasformazione bilineare (Tustin) . . . . . . . . . . . . . . . 40
2.10.4 d) Metodo della mappatura poli-zeri . . . . . . . . . . . . . . . . . . . . . . 45
2.10.5 e) Metodo dell’equivalenza della risposta indiciale . . . . . . . . . . . . . . . 45
3 Sistemi in Retroazione
49
3.1
Sensibilità alle variazioni parametriche del ciclo aperto e del ciclo chiuso . . . . . . 50
3.2
Reiezioni ai disturbi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.3
Disturbi non reiettabili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.4
Allargamento della banda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.5
Linearizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.6
Precisione dei sistemi in controreazione . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.7
Errore per ingressi non manipolabili . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.8
Criterio di Nyquist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.9
3.8.1
Effetto delle variazioni del guadagno . . . . . . . . . . . . . . . . . . . . . . 59
3.8.2
Effetto della retroazione positiva . . . . . . . . . . . . . . . . . . . . . . . . 60
3.8.3
Effetto del ritardo temporale . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.8.4
Presenza di poli sulla circonferenza unitaria . . . . . . . . . . . . . . . . . . 61
Un esempio di azione di controllo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4 Identificazione parametrica
65
4.1
Introduzione e definizione del problema della individuazione dei parametri di un
modello dinamico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.2
Modelli per l’identificazione dei sistemi dinamici e delle serie temporali . . . . . . . 66
4.2.1
Modelli a errore d’uscita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.2.2
Modelli a errore d’ingresso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.2.3
Modelli a errore d’equazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.3
Forma predittiva dei modelli per l’identificazione . . . . . . . . . . . . . . . . . . . 70
4.4
Minimizzazione dell’errore di predizione . . . . . . . . . . . . . . . . . . . . . . . . 73
4.5
Regressore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.6
Algoritmo a minimi quadrati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.6.1
Algoritmo a minimi quadrati pesati . . . . . . . . . . . . . . . . . . . . . . 78
4.6.2
Media e Covarianza dell’errore di stima . . . . . . . . . . . . . . . . . . . . 79
4.6.3
Disuguaglianza di Cramér-Rao . . . . . . . . . . . . . . . . . . . . . . . . . 79
G. Antonelli - IF (2008)
4
4.6.4
Persistente eccitazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
4.6.5
Legame fra l’errore e i dati . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
4.7
Algoritmo a Massima Verosimiglianza . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.8
Algoritmo di Gauss-Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.9
Algoritmo a Minimi Quadrati ricorsivo . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.9.1
Algoritmo a minimi quadrati esteso e massima verosimiglianza approssimata 89
4.9.2
Inizializzazione degli algoritmi ricorsivi . . . . . . . . . . . . . . . . . . . . . 91
4.9.3
Persistente eccitazione per gli algoritmi ricorsivi . . . . . . . . . . . . . . . 91
4.9.4
Gestione della covarianza . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.10 Cenni sulla identificazione non parametrica . . . . . . . . . . . . . . . . . . . . . . 98
4.10.1 Analisi della risposta impulsiva . . . . . . . . . . . . . . . . . . . . . . . . . 98
4.10.2 Analisi della correlazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.10.3 Analisi della risposta in frequenza . . . . . . . . . . . . . . . . . . . . . . . 100
4.11 Scelta della complessità del modello . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.11.1 Errore di predizione finale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.11.2 Criterio dell’informazione di Akaike . . . . . . . . . . . . . . . . . . . . . . 101
4.11.3 Criterio sulla descrizione a lunghezza minima . . . . . . . . . . . . . . . . . 102
4.12 Validazione dell’identificazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.12.1 Differenza fra simulazione e predizione . . . . . . . . . . . . . . . . . . . . . 102
5 Identificazione in pratica
5.1
105
Aspetti pratici per l’identificazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.1.1
Eliminazione delle componenti continue, delle derive o delle componenti
stagionali . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.1.2
Scalatura degli ingressi e delle uscite . . . . . . . . . . . . . . . . . . . . . . 106
5.1.3
Scelta del modello . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.1.4
Determinazione del ritardo ingresso-uscita . . . . . . . . . . . . . . . . . . . 107
5.1.5
Determinazione dell’ordine del sistema . . . . . . . . . . . . . . . . . . . . . 107
5.1.6
Scelta dell’algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.1.7
Inizializzazione degli algoritmi ricorsivi . . . . . . . . . . . . . . . . . . . . . 110
5.1.8
Validazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.2
Magellan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
5.3
MIB30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
5.4
Canale GSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
6 Il problema della stima
6.1
124
Stimatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
6.1.1
Caratteristiche degli stimatori . . . . . . . . . . . . . . . . . . . . . . . . . . 124
G. Antonelli - IF (2008)
5
6.2
Osservatore di Luenberger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
6.3
Il filtro di Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
6.4
6.3.1
Aggiornamento temporale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.3.2
Equazioni del filtro di Kalman . . . . . . . . . . . . . . . . . . . . . . . . . 132
6.3.3
The Optimum Transient Observer . . . . . . . . . . . . . . . . . . . . . . . 139
6.3.4
Considerazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
6.3.5
Stabilità . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
6.3.6
Bianchezza del processo di innovazione . . . . . . . . . . . . . . . . . . . . . 142
6.3.7
Ortogonalità fra stima ed errore . . . . . . . . . . . . . . . . . . . . . . . . 143
6.3.8
Il Filtro di Wiener-Hopf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
6.3.9
Il Filtro di Kalman esteso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Dualità stima-controllo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
A
151
A.1 GNU Free Documentation License . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
A.2 Cenni storici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
A.3 La Z trasformata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
A.4 Segnali aleatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
A.5 Polinomi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
A.6 Matrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
A.7 Formula di Ackermann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
A.8 Simbologia
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
Bibliografia
169
Indice analitico
171
G. Antonelli - IF (2008)
rem tene, verba sequentur. Cicerone
6
Capitolo 1
Generalità
1.1
L’approccio sistemistico e l’identificazione dei modelli
Un sistema è un’oggetto in cui variabili di diversa natura interagiscono e producono segnali
osservabili. I segnali di interesse sono usualmente definiti uscite. Il sistema è generalmente
soggetto all’influenza di stimoli esterni. Quegli stimoli (variabili) gestibili dall’utente sono definiti
ingressi , quelli non influenzabili dall’utente ingressi non manipolabili o disturbi . Il concetto di
sistema è vasto e ci si è limitati ad una definzione semplice. Un sistema viene generalmente
schematizzato come in Figura (1.1).
v
y
u
Figura 1.1: Sistema con ingresso u, uscita y e disturbo v.
L’approccio sistemistico consiste nel gestire dei sistemi di natura differente con strumenti
metodologici unificati.
In termini generali, la conoscenza delle modalità con cui le variabili di un sistema interagiscono
fra di loro è il modello del sistema. Il modello fornisce gli aspetti salienti del comportamento del
sistema. È possibile fornire varie definizioni di modello di un sistema a diversi livelli di accuratezza
matematica. In questo contesto è sufficiente una definizione discorsiva. Questo ci porta a fare una
prima osservazione di validità generale nel campo della identificazione: l’accuratezza del modello
non è un valore assoluto ma funzionale all’utilizzo del modello stesso.
Il modello matematico di un sistema può essere utilizzato per obiettivi di
• Previsione. Si vuole stimare il valore futuro di alcune variabili di un sistema o se ne vuole
simulare il comportamento;
• Verifica. Si vuole verificare al calcolatore l’efficacia di un possibile intervento;
7
8
G. Antonelli - IF (2008)
• Intervento. La progettazione di un controllore per modificare il comportamento dinamico
del sistema.
L’obiettivo dell’identificazione è quello di determinare la struttura “ottimale” del modello
matematico e dei coefficienti (parametri) che compaiono nelle equazioni del modello a partire
dall’osservazione dei dati.
1.2
Identificazione in linea e fuori linea
Una prima importante classificazione concernente l’identificazione riguarda la sua eventuale implemenazione
in linea, ossia durante il funzionamento dell’impianto, o fuori linea. Nel caso di identificazione
in linea si vuole utilizzare l’informazione 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 (1.2) e (1.3) possiamo affermare
che l’identificazione fuori linea può essere stata utilizzata per tarare opportunamente le strategie
di controllo e filtraggio.
disturbo
riferimento
+
y
u
sistema
controllore
−
Figura 1.2: Schema generale di controllo.
disturbo (rumore)
segnale
+
+
y
filtro
Figura 1.3: Schema generale di filtraggio.
Nel caso riportato nelle figure (1.4) e (1.5) la strategia viene continuamente elaborata in maniera
tale da adattarsi a possibili cambiamenti nel sistema in esame.
Faremo riferimento a derive del modello lente (in un senso che verrà chiarito nel seguito).
1.3
Applicazioni
9
G. Antonelli - IF (2008)
strategia di
adattamento
riferimento
+
y
u
sistema
controllore
−
Figura 1.4: Schema generale di controllo adattativo.
strategia di
adattamento
segnale
y
filtro
Figura 1.5: Schema generale di filtraggio adattativo.
Esempi di possibili applicazioni:
• controllo adattativo di sistemi meccanici o elettromeccanici (motori, robot, veicoli autonomi,
ecc.);
• soppressione del disturbo;
• equalizzazione di un canale;
• cancellazione di interferenze (es., soppressione dell’eco in telefonate intercontinentali);
• soppressione delle vibrazioni;
• applicazioni di controllo in impianti industriali (colonna di distillazione, scambiatore di
calore, impianto di combustione, ecc.);
• campi non ingegneristici: economia, biologia, geofisica, sociologia, ecc.
Capitolo 2
Sistemi digitali
2.1
Sistemi lineari e stazionari a tempo discreto
I sistemi dinamici lineari e stazionari rappresentano la classe di sistemi maggiormente studiata in
letteratura. Essi sono una idealizzazione dei processi reali, nonostante questo le loro caratteristiche
ben rappresentano la maggior parte dei sistemi osservabili in natura.
Una classe di sistemi dinamici a tempo discreto è caratterizzata dall’avere la variabile tempo
intera piuttosto che reale come nei sistemi dinamici a tempo continuo. Questo tipo di modello
trova larga applicazione nei problemi di elaborazione e trasmissione dei segnali e nello studio
dei problemi di controllo digitale. In settori non ingegneristici trova applicazione nello studio di
fenomeni economici, sociologici, gestionali, ecc.
Considerando f una funzione generica è possibile rappresentare un sistema dinamico a tempo
discreto con la seguente simbologia:
y(k) = f (y(k − 1), y(k − 2), . . . , y(k − n), u(k), u(k − 1), . . . , u(k − m)).
(2.1)
Si noti come l’uscita dipenda da un numero finito di uscite ed ingressi passati.
Un sistema dinamico è lineare se y(k) dipende linearmente dall’ingresso e dai suoi valori passati.
È stazionario se la sua evoluzione può essere espressa in funzione del tempo trascorso ed è, quindi,
invariante rispetto a traslazioni nel dominio del tempo; ovvero se la sua evoluzione non dipende
dal tempo assoluto.
2.1.1
Equazioni lineari alle differenze
L’evoluzione nel tempo dei sistemi lineari e stazionari a tempo discreto è governata da un’equazione
alle differenze ordinaria a coefficienti costanti esprimibile nella forma:
n
X
i=0
ai y(k − i) =
m
X
i=0
bi u(k − i),
ossia, risolta rispetto all’uscita al tempo corrente y(k):
#
" n
m
X
X
1
y(k) =
bi u(k − i) .
ai y(k − i) +
−
a0
i=0
i=1
10
(2.2)
(2.3)
11
G. Antonelli - IF (2008)
L’eq. 2.2 è, analiticamente parlando, una equazione alle ricorrenze. Nell’ambito dei sistemi
digitali è comune definirla equazione alle differenze. Questa scelta verrà seguita in queste note.
La soluzione di questa equazione richiede quindi la conoscenza passata dell’uscita e il segnale
di ingresso.
In virtù della proprietà di linearità è applicabile il principio di sovapposizione degli effetti. Si
supponga che all’ingresso u1 (k) con storia passata dell’uscita
{y1 (k − 1), y1 (k − 2), . . . , y1 (k − n)}
corrisponda l’uscita y1 (k), e all’ingresso u2 (k) con storia passata dell’uscita
{y2 (k − 1), y2 (k − 2), . . . , y2 (k − n)}
corrisponda l’uscita y2 (k). Allora all’ingresso αu1 (k) + βu2 (k) con storia passata dell’uscita
α{y1 (k − 1), y1 (k − 2), . . . , y1 (k − n)} + β{y2 (k − 1), y2 (k − 2), . . . , y2 (k − n)}
corrisponde l’uscita αy1 (k) + βy2 (k) dove α e β sono due scalari qualsiasi.
Questà proprietà permette di studiare separatamente gli effetti dell’ingresso e delle condizioni
iniziali (intese come storia passata dell’uscita) sull’evoluzione di un sistema. L’uscita effettiva del
sistema si ottiene sommando i seguenti contributi
• Risposta in evoluzione libera, yl (k). Si ottiene considerando un ingresso nullo a partire da
condizioni iniziali assegnate.
• Risposta in evoluzione forzata, yf (k). Si ottiene considerando uno specifico ingresso partendo
da una situazione di quiete.
Considerando l’enunciato precedente del principio di sovrapposizione degli effetti significa prendere
α = 1, β = 1, u1 (i) = 0 ∀i e y2 (i) = 0 i = k − 1, . . . , k − n. Si ha quindi:
y(k) = yl (k) + yf (k).
2.2
(2.4)
Risposta in evoluzione libera
La risposta in evoluzione libera si ha considerando la soluzione all’equazione alle differenze
omogenea:
n
X
(2.5)
ai y(k − i) = 0,
i=0
che soddisfi le condizioni iniziali:
y(i) = yi
i = k − 1, . . . , k − n.
(2.6)
La soluzione generale della (2.5) può essere ricavata dalla combinazione lineare del sistema
fondamentale ottenuto considerando n soluzioni particolari indipendenti.
12
G. Antonelli - IF (2008)
Il sistema fondamentale della (2.5) si determina considerando le n radici dell’equazione polinomiale
n
X
ai λn−i = 0
(2.7)
i=0
definita equazione caratteristica associata alla (2.5).
La soluzione dell’equazione polinomiale in (2.7), che quindi è la generica soluzione particolare
dell’equazione alle differenze omogenea (2.5), assume la forma
k h λki
(2.8)
in cui h è un intero minore della molteplicità della radice λi . In caso di radice singola, quindi, la
generica soluzione particolare assume la forma λki .
Indicando con r il numero delle radici distinte dell’equazione caratteristica e con ni la molteplicità
della radice i esima, si ottiene:
r nX
i −1
X
(2.9)
ci,h k h λki
yl (k) =
i=1 h=0
L’equazione caratteristica (2.7) ha coefficienti reali, le sue radici, quindi, possono essere reali o
complesse coniugate (se esiste una radice complessa esiste anche la sua coniugata). Le soluzioni
particolari corrispondenti alle singole radici (reali o complesse coniugate) caratterizzano i modi
di evoluzione del sistema.
Come si vede dalla (2.7), le radici λi dipendono solo dai coefficienti ai cioè dalla struttura del
sistema e non dal forzamento.
La radice λi è un numero complesso, può quindi essere espressa come:
λi = αi + jωi = ρi ejνi .
(2.10)
I modi di evoluzione del sistema vengono classificati in base alla posizione della radice λi sul
piano complesso. In dettaglio, si distinguono:
• Modi aperiodici . Modi corrispondenti a λi reali positivi;
• Modi alternati . Modi corrispondenti a λi reali negativi;
• Modi pseudoperiodici . Modi corrispondenti a λi complessi coniugati.
Modi aperiodici
Ad una radice reale positiva di molteplicità ni corrispondono ni modi di evoluzione aperiodici
della forma:
(2.11)
k h αik per h = 0, . . . , ni − 1
con αi > 0.
Per h = 0 il modo è descritto dall’espressione
αik .
(2.12)
13
G. Antonelli - IF (2008)
È possibile osservare come un valore di αi > 1 corrisponda ad un modo divergente al divergere
del tempo. Per αi = 1 il modo è costante. Per αi < 1 il modo converge a zero al divergere
del tempo. Il numero di campioni necessari per convergere a zero è tanto minore quanto minore
è il valore di αi . In altre parole la velocità del modo dipende dalla posizione nella semiretta
reale positiva della radice: una radice “vicina” al punto (1, j0) (ma minore dell’unità in modulo)
corrisponde ad un modo lento, una radice vicina all’origine ad un modo veloce.
k
Figura 2.1: Posizione nel piano complesso (sinistra) e modo di evoluzione di due poli,
contrassegnati con i simboli x e * appartenenti alla semiretta reale positiva e con modulo
strettamente minore dell’unità (destra).
k
Figura 2.2: Posizione nel piano complesso (sinistra) e modo di evoluzione di due poli,
contrassegnati con i simboli x e * appartenenti alla semiretta reale positiva e con modulo
rispettivamente uguale e maggiore dell’unità (destra).
Modi alternati
Ad una radice reale negativa di molteplicità ni corrispondono ni modi di evoluzione alternati
della forma:
(2.13)
k h αik per h = 0, . . . , ni − 1
con αi < 0.
Rispetto al caso precedente è possibile fare le stesse osservazioni. L’unica differenza è che,
avendo ora la radice segno negativo, il segno del modo è alternato. I campioni che si succedono,
14
G. Antonelli - IF (2008)
cioè, hanno lo stesso modulo dei campioni del modo corrispondente a |αi | ma il loro segno si
alterna.
k
Figura 2.3: Posizione nel piano complesso (sinistra) e modo di evoluzione di due poli,
contrassegnati con i simboli x e * appartenenti alla semiretta reale negativa e con modulo
strettamente minore dell’unità (destra).
k
Figura 2.4: Posizione nel piano complesso (sinistra) e modo di evoluzione di due poli,
contrassegnati con i simboli x e * appartenenti alla semiretta reale positiva e con modulo
rispettivamente uguale e maggiore dell’unità (destra).
Modi pseudoperiodici
L’evoluzione libera deve essere una funzione reale di k. Le soluzioni particolari del tipo:
k h λki = k h ρki ejνi k = k h ρki (cos(νi k) + j sin(νi k))
(2.14)
devono quindi combinarsi con le corrispondenti soluzioni coniugate in maniera tale da fornire
un’evoluzione i cui campioni siano reali. Questo accade quando i corrispondenti coefficienti ci,h
sono anch’essi complessi coniugati. Si consideri quindi la combinazione lineare di una radice
complessa e della sua coniugata:
ci,h k h ρki ejνi k + c∗i,h k h ρki e−jνi k
(2.15)
equivalente al modo pseudoperiodico, a valori reali:
ĉi,h k h ρki sin(νi k + θ̂i,h )
(2.16)
15
G. Antonelli - IF (2008)
in cui i numeri reali ĉi,h e θ̂i,h dipendono dalle condizioni iniziali.
Ad una coppia di radici complesse coniugate di molteplicità ni corrispondono ni modi di
evoluzione pseudoperiodici della forma:
k h ρki sin(νi k).
(2.17)
Una coppia di radici di molteplicità singola evolve quindi secondo la
ρki sin(νi k),
(2.18)
dalla quale si vede come il modulo della radice influenzi la velocità di convergenza/divergenza del
modo in maniera simile ai modi visti in precedenza e νi influenzi le oscillazioni.
grafici. xxx
Caratteristiche di convergenza dei modi
Al crescere del tempo (per k → ∞) il sistema non forzato tende a raggiungere un equilibrio o a
divergere all’infinito. Lo studio dei modi fornisce delle indicazioni preziose sulle caratteristiche
del sistema. Si può affermare quindi che:
• se ρ < 1 il modo è convergente al valore nullo;
• se ρ = 1 con ni = 1 il modo è ad inviluppo costante e non diverge;
• negli altri casi il modo è divergente.
Condizione necessaria e sufficiente affinché la risposta in evoluzione libera di un sistema dinamico
stazionario tempo discreto converga a zero, indipendentemente dalle condizioni iniziali, è che i
modi di evoluzione del sistema abbiano tutti ρi < 1.
2.3
Risposta in evoluzione forzata
Considerando l’equazione alle differenze completa:
n
X
i=0
ai y(k − i) =
m
X
i=0
bi u(k − i),
(2.19)
la risposta in evoluzione forzata è ottenuta ricavandone la soluzione particolare con condizioni
iniziali tutte nulle. Si vede chiaramente come tale soluzione dipenderà sia dal forzamento che
dalle caratteristiche del sistema.
Risulta utile considerare quelle che comunemente sono definite risposte ad ingressi canonici ,
vale a dire risposte in evoluzione forzata a particolari tipi di ingressi che forniscono informazioni
sulla risposta in evoluzione forzata ad un ingresso generico. Due esempi di ingressi canonici sono
l’impulso ed il gradino.
16
G. Antonelli - IF (2008)
Risposta impulsiva
La risposta impulsiva è la risposta w(k) all’impulso discreto unitario δ(k) definito come:
1 k=0
.
δ(k) =
(2.20)
0 k 6= 0
Per le proprietà di causalità si ha w(k) = 0 k < 0.
grafico. xxx
Tramite la risposta impulsiva è possibile descrivere la risposta ad un segnale generico. Sia
infatti u(k) un generico ingresso (nullo per k < 0). Il segnale può essere riscritto come
∞
X
u(k) =
i=−∞
u(i)δ(k − i).
(2.21)
All’ingresso δ(k) corrisponde l’uscita w(k), per la sovrapposizione degli effetti all’ingresso αδ(k)
corrisponde αw(k). L’uscita y(k) del generico ingresso u(k) può essere quindi espressa come
somma di convoluzione
∞
X
(2.22)
y(k) =
u(i)w(k − i).
i=−∞
Considerando la causalità: w(k) = 0 per k < 0, e che u(k) = 0 per k < 0, possiamo restringere la
sommatoria all’intervallo [0, k] ottenendo:
y(k) =
k
X
i=0
u(i)w(k − i).
(2.23)
Risposta indiciale
La risposta indiciale è la risposta w−1 (k) al gradino discreto unitario δ−1(k) definito come:
0 k<0
(2.24)
δ−1 (k) =
.
1 k≥0
Per le proprietà di causalità si ha w−1 (k) = 0 per k < 0.
grafico. xxx
2.4
Corrispondenza fra le costanti di tempo continuo e discreto
È noto dalla teoria dei sistemi dinamici tempo continuo [8] che un modo aperiodico del primo
ordine è rappresentato dalla funzione
(2.25)
y(t) = e−λc t
in cui si è considerato per semplicità y(0) = 1. Tale funzione, per λc < 0, ha un andamento
rappresentato in Figura xxx. Si noti che la derivata alla funzione in t = 0 interseca l’asse delle
ascisse in −1/λc , definendo come
1
τ =−
(2.26)
λc
17
G. Antonelli - IF (2008)
t
0
0.69 τ
2.30 τ
3.00 τ
4.60 τ
6.90 τ
y(t)/y(0)
1
0.5
0.1
0.05
0.01
0.001
Tabella 2.1: Decadimento a zero di un modo naturale di evoluzione del primo grado con costante
di tempo τ .
la costante di tempo del modo si può osservare come la convergenza a zero del modo sia legata
a tale grandezza. La tabella 2.1 fornisce dei valori numerici di convergenza a zero del modo e
permette di notare come, dal punto di vista pratico, un modo possa considerarsi estinto dopo che
siano trascorsi 4 ÷ 5 intervalli di tempo τ .
Nel caso di modi pseudoperiodici del secondo ordine si noti come le stesse considerazioni possano
essere fatte sull’inviluppo del modo stesso e quindi sia possibile definire la costante di tempo come
τ =−
1
IR(λc )
(2.27)
in cui λc è un numero complesso.
Si consideri ora un modo aperiodico tempo discreto:
y(k) = λk
dove, ancora, si è posto y(0) = 1 e λ ∈]0, 1[. È possibile riscriverlo come
k
k
y(k) = λk = eln(λ) = ekln(λ) = e− τ
in cui
τ =−
1
ln(λ)
può essere interpretata come la costante di tempo discreta del modo associato a λ. Il transitorio
può considerarsi estinto dopo
5
τ =−
,
ln(λ)
in cui la variabile τ rappresenta dei campioni ed è, quindi, una variabile appartenente ai numeri
naturali; la variabile τ deve essere quindi approssimata al valore intero più vicino e va quindi
interpretata con cautela per piccoli valori di λ, si noti infatti come −5/ln(.01) = 1.09 e −5/ln(.1) =
2.17. (grafico di tau con approx all’intero xxx).
Date due costanti di tempo nel continuo τ1 = τc2 , seguendo le relazioni precedenti nel discreto
si ottiene:
τ1
ln(λ2 )
1
=
=
τ2
ln(λ1 )
c
che implica
λ1 = λc2 .
18
G. Antonelli - IF (2008)
2.5
Funzione di trasferimento
Un utile strumento di analisi dei sistemi dinamici lineari tempo discreto si ottiene Z-trasformando
la relazione
m
n
X
X
bi u(k − i),
ai y(k − i) =
(2.28)
i=0
i=0
sfruttando le proprietà di linearità e ritardo temporale si ottiene:
n
X
−i
ai z Y (z) =
m
X
bi z −i U (z).
(2.29)
i=0
i=0
La risposta in evoluzione forzata può quindi essere ottenuta come
Y (z) = W (z)U (z)
(2.30)
dove la funzione razionale fratta1
W (z) =
Pm
m−i
n−m Pi=0 bi z
z
n
n−i
i=0 ai z
(2.31)
è detta funzione di trasferimento (fdt). Questa è stata ottenuta dalla (2.29) mettendo in evidenza
rispettivamente z −m e z −n al numeratore e al denominatore.
Sapendo che la Z-trasformata dell’impulso è U (z) = 1, è immediato riconoscere come la fdt
sia la Z-trasformata della risposta impulsiva.
2.5.1
Forme di rappresentazione della funzione di trasferimento
Forma polinomiale
La forma polinomiale si ottiene direttamente dalla Z-trasformata dell’equazione alle differenze
moltiplicando numeratore e denominatore per z n :
W (z) =
b0 z n + b1 z n−1 + · · · + bm z n−m
.
a0 z n + a1 z n−1 + · · · + an
(2.32)
Osserviamo ora che
z
,
(2.33)
z→1
z→1
z−1
che, ricordando il teorema del valor finale per la Z-trasformata, ci permette di concludere che
W (1) rappresenta il rapporto fra il valore di regime della risposta indiciale (se non divergente) e
l’ampiezza del gradino applicato. W (1) è definito guadagno statico del sistema.
lim W (z) = lim (z − 1)W (z)
1
Una funzione razionale f (x) è una funzione polinomiale in x. Una funzione razionale fratta è il rapporto di
due funzioni razionali.
19
G. Antonelli - IF (2008)
Forma poli-zeri
Definendo come zeri le radici del numeratore e poli le radici del denominatore, la fdt può essere
facilmente scritta come:
Qm
′ Qi=1 (z − zi )
W (z) = k n
.
(2.34)
i=1 (z − pi )
k ′ non è il guadagno statico. Si osserva facilmente come i poli della fdt corrispondano alle radici
del polinomio caratteristico.
Rappresentazione canonica di una fdt
Una funzione di trasferimento W (z) è rappresentata in forma canonica se W (z) è rapporto di
polinomi monici, coprimi e di ugual grado; le radici del numeratore e del denominatore, inoltre
devono trovarsi all’interno del cerchio di raggio unitario.
2.6
Funzione di risposta armonica
Si vuole studiare la risposta a regime permanente ad ingressi del tipo
u(k) = U sin(νk),
(2.35)
in cui k è un intero e ν è espresso in radianti. Si faccia l’ipotesi che la fdt del sistema abbia tutti
poli a modulo strettamente inferiore dell’unità. Z-trasformando l’ingresso si ottiene:
U (z) =
z2
z sin(ν)
z sin(ν)
U=
U.
+ 2z cos(ν) + 1
(z − ejν )(z − e−jν )
(2.36)
La Z-trasformata dell’uscita può quindi essere scritta come:
Q
z sin(ν)
(z − zi )
U.
Y (z) = W (z)U (z) = k ′ Q
(z − pi ) (z − ejν )(z − e−jν )
(2.37)
r ni
c′i,h
Y (z) X X
r1
r2
=
+
+
z
(z − pi )ni +1−h (z − ejν ) (z − e−jν )
(2.38)
Si consideri lo sviluppo in fratti semplici:
i=1 h=1
in cui:
c′i,h
r1
r2
dh−1
1
ni Y (z) =
(z
−
p
)
i
(h − 1)! dz h−1
z z=pi
sin(ν)
Y (z) = W (ejν ) jν
= (z − ejν )
U
z z=e
e − e−jν
jν
sin(ν)
Y (z) = W (e−jν ) −jν
U
= (z − e−jν )
z
e
− ejν
−jν
(2.39)
z=e
La doppia sommatoria dello sviluppo corrisponde ai modi propri del sistema e ne caratterizza
il transitorio. Gli ultimi due termini corrispondono agli effetti del segnale di ingresso. Per
l’ipotesi sulla convergenza dei modi (poli tutti con modulo < 1), il transitorio, atteso un tempo
20
G. Antonelli - IF (2008)
sufficientemente lungo, si estingue e la risposta coincide con la risposta in regime permanente
yr (k). Antitrasformando si ha:
yr (k) = r1 ejνk + r2 e−jνk =
W (ejν )ejνk − W (e−jν )e−jνk
sin(ν)U
ejν − e−jν
che, ricordando
sin(ν) =
(2.40)
ejν − e−jν
2j
può essere riscritta come
yr (k) =
W (ejν )ejνk − W (e−jν )e−jνk
U.
2j
(2.41)
Il numero complesso W (ejν ) può essere scritto in termini di modulo e fase
jν
W (ejν ) = W (ejν ) ej∠W (e )
che conduce a scrivere l’uscita come:
che equivale a:
ej(νk+∠W (ejν )) − e−j(νk+∠W (ejν ))
yr (k) = W (ejν )
U,
2j
yr (k) = W (ejν ) U sin(νk + ∠W (ejν )).
(2.42)
(2.43)
Questo ci permette di affermare che la risposta a regime permanente di un sistema discreto ad
un ingresso sinusoidale
pulsazione ν dell’ingresso con il modulo
è ancora una sinusoide della stessa
jν
jν
amplificato di W (e ) e la fase ritardata di ∠W (e ) rispetto all’ingresso. Si può riconoscere
quindi come la funzione di risposta armonica sia la particolarizzazione della fdt al cerchio di raggio
unitario, ossia si ottiene dalla W (z) ponendo z = ejν .
Una seconda osservazione da fare riguarda le periodicità della funzione di risposta armonica.
In quanto funzione di ejν è periodica in ν di periodo 2π. Per questo motivo la si calcola in un
intervallo di pulsazioni limitato generalmente a ν ∈] − π, π] oppure ν ∈ [0, 2π[. Inoltre, poiché
W (e−jν ) = W ⋆ (ejν ), è sufficiente calcolare la funzione nell’intervallo ν ∈ [0, π].
2.6.1
Forme di rappresentazione della funzione di risposta armonica
Diagrammi di Bode
La W (ejν ) è graficamente rappresentata tramite una coppia di diagrammi che riportano rispettivamente
modulo e fase, espressi in dB e gradi, in funzione di ν. A differenza del caso dei diagrammi di
Bode per sistemi lineari tempo continui non esistono regole di tracciamento asintotico, non è
possibile, quindi, individuare una tecnica semplice per tracciare qualitativamente una bozza dei
diagrammi di Bode per una funzione di risposta armonica tempo disceto.
La Figura 2.5 riporta un esempio di tracciamento del diagramma di Bode per la funzione
1
W (z) = z 2 −1.1z+0.28
; si nota la periodicità di modulo e fase sull’intervallo 2π e la simmetria
−jν
⋆
jν
W (e ) = W (e ).
21
G. Antonelli - IF (2008)
6
5
[-]
4
3
2
1
0
−2π
−π
0
[rad]
π
2π
−π
0
[rad]
π
2π
0
[deg]
−100
−200
−300
−400
−2π
Figura 2.5: Esempio di tracciamento del diagramma di Bode della fdt: W (z) =
nell’intervallo [−2π, 2π].
1
z 2 −1.1z+0.28
22
G. Antonelli - IF (2008)
Diagrammi di Nyquist
La W (ejν ) è graficamente rappresentata sul piano complesso tramite una curva parametrizzata
in ν.
xxx esempio precedente
2.7
Stabilità
Si supponga di considerare un sistema nello stato di equilibrio descritto dalla coppia {û, ŷ}. A
partire da un istante k0 si perturba l’equilibrio tramite una variazione dell’ingresso di ampiezza
limitata e di durata finita:
0 < |∆u| < U ∀k ∈ [k0 , k0 + N ]
(2.44)
u = û + ∆u
∆u = 0
∀k > k0 + N
con riferimento allo scostamento dell’uscita la risposta presenta 3 tipi di comportamento:
• risposta divergente, si discosta illimitatamente dall’uscita di equilibrio al crescere del tempo:
∀Y > 0 ∃k ≥ k0 :
|∆y| > Y.
(2.45)
• risposta limitata, si discosta dall’uscita di equilibrio rimanendo in un intorno finito dello
stesso:
∃Y > 0 : ∀k ≥ k0 : |∆y| < Y.
(2.46)
• risposta convergente, la risposta è limitata, e si ha:
lim ∆y = 0.
k→∞
(2.47)
In relazione ai tre tipi di comportamento appena descritti il sistema viene definito rispettivamente
instabile, stabile, e asintoticamente stabile.
Per un sistema lineare l’equilibrio non dipende dal punto di equilibrio né dall’entità della
perturbazione. È possibile quindi fare riferimento, eventualmente tramite un cambiamento di
riferimento, alla coppia di equilibrio {û = 0, ŷ = 0}. Si vede quindi come, esaurita la perturbazione
∆u, il sistema si trovi ad evolvere in evoluzione libera con condizioni iniziali diverse da zero. Ci
si è quindi ricondotti allo studio dei modi di evoluzione (l’evoluzione libera, infatti è proprio la
somma dei modi del sistema), vale a dire alle radici dell’equazione caratteristica:
• stabilità asintotica. Tutte le radici dell’equazione caratteristica hanno modulo minore di 1.
• stabilità. Le radici dell’equazione caratteristica hanno modulo minore di 1, oppure hanno
modulo unitario con molteplicità unitaria.
• instabilità. Esiste almeno una radice dell’equazione caratteristica con modulo maggiore di
1, oppure con modulo unitario e molteplicità maggiore di 1.
Si è del resto mostrato come le radici dell’equazione caratteristica siano i poli della fdt, le
condizioni sulle radici stesse, quindi, si applicano ai poli della fdt. In particolare, siamo interessati
alla collocazione dei poli pi sul piano complesso.
23
G. Antonelli - IF (2008)
2.7.1
Criteri per la determinazione della stabilità di un sistema tempo discreto
La maniera concettualmente più semplice di determinare la stabilità di un sistema lineare e
stazionario a tempo discreto è quella di risolvere numericamente il polinomio caratteristico.
Individuate le radici è immediato verificare se il loro modulo sia inferiore all’unità. Sebbene
questa operazione, ricorrendo ad un programma di calcolo numerico, sia estremamente facile, la
soluzione sarebbe specifica del polinomio considerato e non sarebbe possibile trarre conclusioni
generali.
Esistono criteri per ottenere le stesse informazioni senza ricavare esplicitamente le radici dell’equazione
caratteristica. Questi criteri possono essere implementati rispetto ad un parametro (es., un
guadagno) e fornire quindi informazioni di natura più ampia rispetto alla sola stabilità di uno
specifico polinomio.
Si definisca
p(z) = a0 z n + a1 z n−1 + . . . + an ,
(2.48)
in cui, senza perdita di generalità, si assume a0 > 0.
Condizioni necessarie
Condizioni necessarie affinché l’equazione caratteristica abbia radici con modulo minore di 1 sono:
|an | < a0
p(1) > 0
p(−1)p(−1)n > 0
(2.49)
Criterio di Jury
Il criterio di Jury consiste nella costruzione della tabella:
1
2
3
4
..
.
a0
an
c0
cn−1
.
.
.
a1
an−1
c1
cn−2
..
.
...
...
...
...
..
.
an−1
a1
cn−1
c0
an
a0
(2.50)
in cui le righe di ordine pari riportano in ordine inverso gli elementi della riga che le precedono.
I coefficienti ai sono quelli del polinomio caratteristico mentre i coefficienti ci sono definiti come:
an
1 a0 an−i .
ci = ai − an−i =
(2.51)
ai a0
a0 an
La successiva riga dispari si ottiene applicando la stessa costruzione alla coppia di righe che la
precedono (utilizzando quindi i ci al posto degli ai ). Si ottengono 2(n + 1) righe complessive.
La condizione necessaria e sufficiente affinché le radici di p(z) siano tutte in modulo minore di
1 è che tutti gli elementi in prima colonna delle righe dispari siano positivi.
24
G. Antonelli - IF (2008)
Esempio : applicazione del criterio di Jury
Si consideri il polinomio caratteristico:
p(z) = z 2 − 0.1z − 0.12,
che soddisfa le condizioni necessarie essendo:
|−0.12|
p(1) = 0.78
p(−1) = 0.98 ⇒ 0.98 · 0.982
< 1
> 0
> 0
le prime due righe della tabella necessaria all’applicazione dei criterio di Jury sono:
−0.1 −0.12
1 1
1
2 −0.12 −0.1
che, applicando la (2.51), viene completata in:
1 1
−0.1
2 −0.12
−0.1
3 0.9856 −0.112
4 −0.112 0.9856
5 0.9729
6 0.9729
−0.12
1
i cui elementi in prima colonna di righe dispari sono positivi. Le radici sono quindi tutte minori di
1; nel caso in esame le radici sono in p1 = −0.3 + 0j e p2 = 0.4 + 0j.
♦
Criterio di Routh
Il criterio di Routh, anche detto criterio di Routh-Hurwitz, introdotto per sistemi lineari stazionari
a tempo continuo, può essere applicato ai sistemi a tempo discreto utilizzando la trasformazione
bilineare (si veda la Sezione 2.9.3).
Alla variabile z del polinomio caratteristico si esegue la trasformazione:
z=
1+s
1−s
(2.52)
e si applica il criterio di Routh al polinomio risultante p′ (s). Il criterio consiste nel costruire la
tabella di Routh dai coefficienti del polinomio caratteristico. Consiste in n + 1 righe:
1 a0 a2 a4 . . .
2 a1 a3 a5 . . .
.. . . . . . . . . . . . .
. c′0 c′1 c′2 . . .
(2.53)
′′
c0 c′′1 c′′2 . . .
c0 c1 c2 . . .
.
.. . .
.
.
.
.
La prima riga contiene i coefficienti di posto pari del polinomio caratteristico (considerando 0 come
indice del grado maggiore), la seconda riga contiene i coefficienti di posto dispari del polinomio
25
G. Antonelli - IF (2008)
caratteristico. Dalla terza riga in poi si utilizzano le due righe precedenti, secondo la seguente
formula:
c′0 c′′i+1
1 c′0 c′i+1 ′
ci = ci+1 −
(2.54)
= − ′′ ′′ ′′ .
c′′0
c0 c0 ci+1
Quando gli elementi per il calcolo di ci non sono definiti vanno considerati nulli. Se accade che
c′′0 = 0 allora la tabella di Routh non è ben definita.
Condizione necessaria e sufficiente affinché il sistema sia asintoticamente stabile è che gli
elementi della prima riga siano definiti e tutti dello stesso segno.
Il criterio di Routh trova anche applicazione nella tecnica di sintesi di controllori nota come
luogo delle radici per la quale si rimanda a testi di controllo.
Esempio : applicazione del criterio di Routh
Se si effettua la trasformazione bilineare al polinomio caratteristico dell’esempio precedente
p(z) = z 2 − 0.1z − 0.12,
si ottiene
p′ (s) =
1+s
1−s
2
− 0.1
1+s
0.98s2 + 2.24s + 0.78
− 0.12 =
,
1−s
(1 − s)2
da cui si costruisce banalmente la tabella di Routh di n + 1 = 3 righe:
1 0.98 0.78
2 2.24
0
3 0.78
che corrisponde ad un polinomio p(z) con tutte le radici all’interno del cerchio unitario.
♦
2.8
Sistemi a dati campionati
Il controllo ed il filtraggio sono operazioni effettuate tramite calcolatori, tramite, cioè delle
macchine tempo-discrete. Le variabili di interesse sono, nella maggior parte dei casi, delle
grandezze fisiche intrinsecamente tempo-continue. È quindi necessario interfacciare variabili
di diversa natura. In questo paragrafo verranno brevemente mostrate le conseguenze della
trasformazione continuo-discreto.
È utile sottolineare come operazioni quali l’identificazione di un modello matematico o l’implementazione
di un filtro di Kalman tempo-discreto richiedano inevitabilmente di valutare, magari implicitamente,
l’effetto di una conversione continuo-discreto. La scelta, ad esempio, della frequenza di acquisizione
dei dati, ha effetti determinanti interpretabili alla luce delle considerazioni fatte nel seguito.
2.8.1
Campionamento
Nel seguito si daranno per scontate conoscenze elementari della Trasformata di Laplace e dello
sviluppo in serie di Fourier.
26
G. Antonelli - IF (2008)
Il convertitore da analogico a digitale (A/D) preso in considerazione è il campionamento ad
impulsi che converte un segnale a tempo continuo in una sequenza di campioni prelevati ad
intervalli di tempo T (periodo di campionamento) come illustrato schematicamente in Figura (2.6).
r⋆ (t)
r(t)
r(k)
T
r(kT )
r(t)
r̂(k)
quant.
A/D
A
B
codifica
C
D
Figura 2.6: Rappresentazione di un convertitore analogico/digitale: A - segnale continuo, B segnale discreto, C - segnale digitale, D - parola macchina.
La rappresentazione matematica del campionatore si ottiene considerando il campionatore ad
impulsi che risponde alla esigenza di poter utilizzare la trasformata di Laplace (definita per segnali
continui) come strumento di analisi di un segnale discreto.
Dato un generico segnale r(t) il suo segnale campionato è definito come:
∞
X
r⋆ (t) =
k=−∞
r(t)δ(t − kT ).
(2.55)
L’impulso gode di proprietà di interesse in questo contesto:
• per ogni funzione f continua in a:
Z ∞
−∞
•
Z
•
f (t)δ(t − a)dt = f (a)
(2.56)
t
−∞
δ(τ )dτ = δ−1 (t)
L[δ(t − a)] =
Z
∞
δ(τ )e−sτ dτ = 1
(2.57)
(2.58)
−∞
Si calcoli ora la trasformata di Laplace del segnale r⋆ (t):
⋆
L[r (t)] =
Z
∞
−∞
⋆
−sτ
r (τ )e
dτ =
Z
∞
∞
X
−∞ k=−∞
r(τ )δ(τ − kT )e−sτ dτ.
(2.59)
Invertendo la sommatoria e l’integrale ed utilizzando la prima proprietà dell’impulso elencata si
ottiene:
∞
X
⋆
r(kT )e−skT
R (s) =
(2.60)
k=−∞
dove R⋆ (s) rappresenta la trasformata di Laplace del segnale campionato ad impulsi.
27
G. Antonelli - IF (2008)
2.8.2
Spettro di un segnale campionato e aliasing
Per comprendere gli effetti del campionamento sul segnale si operi su una diversa rappresentazione
della r⋆ (t). Il treno di impulsi è un segnale periodico di periodo T , suscettibile, quindi di
rappresentazione in serie di Fourier:
∞
X
k=−∞
δ(t − kT ) =
∞
X
ck ej(2πk/T )t .
(2.61)
k=−∞
dove i coefficienti di Fourier, ck , sono definiti come:
Z
Z
∞
1 T /2 X
1 T /2
1
−jk(2πt/T )
ck =
δ(t − iT )e
dt =
δ(t)e−jk(2πt/T ) dt = ,
T −T /2
T −T /2
T
(2.62)
i=−∞
in cui si è considerato che un solo impulso cade nel dominio dell’integrale e si è applicata la prima
delle proprietà elencate. Si ottiene infine:
∞
X
k=−∞
δ(t − kT ) =
∞
1 X j(2πk/T )t
e
.
T
(2.63)
k=−∞
Si definisca la pulsazione di campionamento:
ωs =
2π
,
T
(2.64)
si consideri la trasformata di Laplace del segnale campionato utilizzando la pulsazione di campionamento:
"
#
Z ∞
∞
∞ Z ∞
X
1
1 X
⋆
jkωs t
−st
r(t)
L[r (t)] =
(2.65)
r(t)ejkωs t e−st dt
e
e dt =
T
T
−∞
−∞
k=−∞
k=−∞
che, combinando gli esponenziali, diventa:
∞ Z ∞
1 X
r(t)e−(s−jkωs )t dt
R (s) =
T
−∞
⋆
(2.66)
k=−∞
che altri non è se non la sommatoria infinita della Trasformata di Laplace di r(t) traslata in s.
Si ottiene quindi:
∞
1 X
⋆
(2.67)
R(s − jkωs ).
R (s) =
T
k=−∞
La relazione in (2.67) è particolarmente significativa ed ha un’immediata interpretazione frequenziale.
Disegnando |R⋆ (jω)| e |R(jω)| si nota come R⋆ sia una replica infinta in frequenza di R le cui
repliche sono centrate nei multipli interi di ωs .
grafico. xxx
Il campionamento pone quindi il problema dell’aliasing. Quando il segnale ha un contenuto
informativo significativo oltre la frequenza ωs /2 la replica in frequenza causa una sovrapposizione
di queste bande con quelle a bassa frequenza causando cosı̀ la perdita di informazione del segnale
stesso. L’aliasing ha una chiara interpretazione nel dominio del tempo: due sinusoidi tempo
continuo campionate male sono indistinguibili a valle del campionamento. grafico. xxx
28
G. Antonelli - IF (2008)
Una conseguenza dell’aliasing è la seguente: se il segnale analogico ha delle componenti centrate
in kωs (multipli della pulsazione di campionamento) queste componenti, trovandosi tutte in
continua a valle del campionamento, vengono perse nel campionamento; non sono, cioè, visibili
dai dati digitali. Si parla quindi di oscillazioni nascoste.
La pulsazione ωN = ωs /2 è definita pulsazione di Nyquist.
Teorema del campionamento o di Shannon
Il segnale analogico può essere ricostruito dai suoi campioni se la pulsazione di campionamento
ωs è almeno pari al doppio della frequenza più alta del segnale.
nota Il teorema del campionamento richiede che la banda del segnale sia strettamente inferiore
la frequenza di Nyquist. Nessun segnale reale ha banda finita, il fenomeno dell’aliasing,
quindi, per quanto attenuato, è sempre presente. Un modo per ovviare in parte a questo
problema è quello di porre un pre-filtro analogico passabasso sul segnale prima che venga
campionato. La banda del pre-filtro è inferiore a ωN .
Dalla (2.60):
⋆
R (s) =
∞
X
r(kT )e−skT
(2.60)
k=−∞
si osserva un’importante corrispondenza fra i dati campionati ed il segnale campionato. La
relazione precedente, infatti, è riscrivibile come:
R⋆ (s) = R(z)|z=esT .
Ribadendo che il segnale campionato è ancora un segnale analogico si osserva una corrispondenza
formale fra la Z-trasformata della sequenza discreta r(k) e la Trasformata di Laplace del segnale
campionato. Questa corrispondenza si traduce nella posizione
z = esT .
(2.68)
Questa proprietà si estende in generale ai sistemi dinamici tempo-continuo e si può considerare
che regoli anche la mappatura dei poli nel piano complesso di un sistema dinamico caratterizzato
da una certa fdt. In altre parole, un sistema caratterizzato da un modo dominato dal polo p,
campionato con passo T , avrà un polo dominante in epT .
nota Dalla (2.68) si osserva una caratteristica dei sistemi sovracampionati. Si supponga di
campionare con un passo di campionamento T numericamente molto inferiore rispetto ai poli
del sistema pi . Il prodotto pi T ≈ 0, mappando i poli del sistema continuo tutti nell’intorno
del punto (1, j0), è infatti z = e≈0 ≈ 1, rende questi poli indistinguibili e pone problemi di
natura numerica.
29
G. Antonelli - IF (2008)
2.8.3
Quantizzazione
La quantizzazione è l’operazione di conversione di una grandezza a valori continui in una a valori
discreti. Precede la codifica del dato in parola macchina. Un intervallo di valori in ingresso
viene associato ad un solo livello di uscita, detto livello di quantizzazione. Il numero di livelli di
quantizzazione dipende dalla lunghezza della parola macchina, per una parola di n bit avremo 2n
livelli di quantizzazione.
grafico. xxx
A parità di escursione della variabile di ingresso la risoluzione del quantizzatore è tanto
maggiore quanto maggiore è il numero di livelli di quantizzazione (numero di bit) e minore risulta
l’errore di troncamento.
Senza entrare nei dettagli analitici, discussi, per es. in [9], la quantizzazione può essere ritenuta
trascurabile se sono verificate 3 ipotesi:
• il segnale varia rapidamente;
• il livello di quantizzazione è basso (alto numero di bit);
• il segnale è uniformemente distribuito all’interno del livello di quantizzazione.
2.8.4
Organo di tenuta
L’organo di tenuta è un componente del convertitore digitale/analogico schematicamente illustrato
in Figura (2.7).
Per organo di tenuta di intende quello strumento che ci consente di passare da un segnale
digitale ad un segnale analogico. L’ingresso, definito negli istanti kT , è mantenuto per tutto
l’intervallo di tempo [kT, (k + 1)T [ fino al campione successivo (Figura xxx). Si noti come questa
sia un’operazione di interpolazione del primo ordine da cui la definizione di Zero-Order Hold o
ZOH per l’organo di tenuta. Sono possibili interpolazioni di ordine maggiore che, utilizzando un
maggiore numero di campioni passati, interpolano con polinomi di ordine maggiore. Il blocco
tenuta dello schema (2.7) va inteso nel senso più generale di interpolatore.
r(k)
r(t)
r̂(k) = r(kT )
D/A
decodifica
A
B
r(t)
tenuta
C
Figura 2.7: Rappresentazione di un convertitore digitale/analogico: A - parola macchina, B segnale digitale, C - segnale continuo.
Con leggerezza matematica possiamo immaginare lo ZOH come un sistema in cui entra un
segnale digitale ed esce un segnale analogico. Ogni singolo campione in ingresso può essere
interpretato come un ingresso impulsivo. Essendo la fdt la Trasformata di Laplace della risposta
impulsiva è possibile calcolarla come:
G(s) = L[y(t)] = L[δ−1 (t) − δ−1 (t − T )] =
1 − e−sT
1 1 −sT
− e
=
.
s s
s
(2.69)
30
G. Antonelli - IF (2008)
La relazione precedente è stata individuata considerando la tenuta di un impulso unitario applicato
nell’origine come la differenza di due gradini di segno opposto e traslati nel tempo di T. Nel calcolo
della trasformata di Laplace, poi, si è utilizzata la proprietà della traslazione nel tempo.
Per comprendere l’effetto dello ZOH sul segnale se ne studiano le caratteristiche frequenziali
nel tempo continuo. Si ponga s = jω. La G(jω) può essere riscritta come:
G(jω) = e−jωT /2
ejωT /2 − e−jωT /2 2T
sin(ωT /2)
= T e−jωT /2
= T e−jωT /2 sinc(ωT /2).
jω
2T
ωT /2
(2.70)
Si valutino separatamente modulo e fase. Il modulo di questo segnale ha l’andamento descritto
in Figura xxx. Per ω = 0 vale T , si annulla per ω pari ai multipli interi di ωs . La fase vale
∠G(jω) = −ωT /2 + ∠sinc(ωT /2),
(2.71)
ha quindi un andamento a dente di sega (Figura xxx).
In Figura 2.8 è riportato un segnale sinusoidale campionato e interpolato tramite una tenuta
di ordine zero. Il segnale originale, tempo continuo, presenta una sola armonica, quello in uscita
allo ZOH presenta chiaramente un contenuto armonico maggiore. Queste armoniche, definite
impostori , sono un effetto indesiderato della interpolazione. Approfondire da [9].
1
[−]
0.5
0
−0.5
−1
0
0.05
0.1
0.15
0.2
0.25
t/T
Figura 2.8: Rappresentazione temporale del seno e del segnale campionato e interpolato tramite
ZOH.
Questa fdt altera palesemente il segnale in ingresso e non può essere trascurata. Per piccole
frequenze il modulo è prossimo a T . Se il segnale è stato ottenuto tramite un campionamento è
stato precedentemente amplificato per 1/T . Si usa quindi approssimare la fdt dello ZOH con
G(jω) = e−jωT /2
ω < ωs /8
(2.72)
che rappresenta un ritardo puro di T /2 nel dominio del tempo ed una distorsione massima del
3% del modulo.
Lo ZOH fa parte della classe più ampia degli interpolatori. Non è, ovviamente, l’unico
interpolatore ma è stato scelto per le caratteristiche di causalità e minimo ritardo rispetto ad altre
possibili tecniche di conversione discreto-continuo. Un possibile interpolatore è rappresentato da
un filtro passa-basso ideale con pulsazione di taglio ωs /2. Nel dominio del tempo tale filtro ha un
31
G. Antonelli - IF (2008)
variabile
T
servomeccanismo
velocità di flusso
pressione
livello
temperatura
distillazione
10 ms
1s
1s
10 s
10 s
100 s
Tabella 2.2: Ordine di grandezza del passo di campionamento per alcuni tipi di variabili.
risposta impulsiva del tipo sinc ω2s t che è anticausale. Applicando l’operazione di convoluzione
si osserva come la ricostruzione del segnale originario sia possibile solo avendo a disposizione il
segnale su tutto l’arco dei tempi. Non è quindi di interesse per applicazioni di controllo e di
identificazione/filtraggio in tempo reale.
In Figura (2.9) si riporta uno schema di collegamento di un calcolatore ad un sistema fisico
tempo-continuo.
sistema reale
z
}|
{
quant.
|
codifica
|
PC
tenuta
dec
{z
sistema digitale
{z
sistema discreto
}
}
Figura 2.9: Calcolatore connesso al dominio tempo-continuo.
La tabella 2.2 mostra gli ordini di grandezza per il passo di campionamento T per alcuni tipi
di variabili comuni.
2.9
Tecniche di discretizzazione per equivalenza
Una parte consistente della latteratura sul progetto di filtri e/o controllori è basata sul tempocontinuo. Si vuole quindi determinare quando una funzione di trasferimento C(z) ha un comportamento
equivalente ad una C(s), in altre parole, progettata la C(s) con tecniche di sintesi tempo-continuo,
si vuole determinare l’algoritmo da implementare al calcolatore per realizzare un comportamento
equivalente.
Data una fdt continua C(s) si vuole determinare il suo equivalente discreto C(z). L’equazione
alle differenze rappresentata da C(z) deve approssimare l’equazione differenziale rappresentata
da C(s). Il problema è ricondotto alla individuazione di regole di integrazione per la valutazione
del termine incrementale che lega il valore al passo k a quello al passo k − 1. In senso più
32
G. Antonelli - IF (2008)
ampio è un problema matematico di integrazione numerica di equazioni differenziali per la cui
soluzione esistono molte tecniche, anche analiticamente onerose. Nel seguito verranno trattate
alcune semplici tecniche a passo costante.
2.9.1
Metodo delle differenze all’avanti
Basato sulla cosiddetta regola di integrazione di Eulero. Data una funzione calcolata in kT , f (kT ),
il suo valore attuale, moltiplicato per l’ampiezza dell’intervallo, viene utilizzato per aggiornare il
valore dell’integrale i(·) all’istante (k + 1)T :
i((k + 1)T ) = i(kT ) + T f (kT ),
(2.73)
in cui si può riconoscere come si stia calcolando l’area della funzione f come somma dei rettangoli
ottenuti mantenendo costante il valore della funzione da kT a (k + 1)T (grafico xxx). Ztrasformando la relazione precedente si ottiene:
(z − 1)I(z) = T F (z)
⇒
I(z)
T
=
.
F (z)
z−1
(2.74)
Questa fdt discreta equivale alla fdt continua 1/s. Da cui:
s=
z−1
T
⇒
z = 1 + sT.
(2.75)
La fdt cercata, quindi, si ottiene ponendo:
C(z) = C(s)|s= z−1 .
T
(2.76)
Questa approssimazione può essere vista come una trasformazione che lega il piano s al piano
z. grafico xxx. Da questo può vedersi che, a meno, di una scalatura per T l’asse immaginario,
che rappresenta il limite di stabilità, si mappa in un asse parallelo a quello immaginario che passa
per (1, j0). fdt stabili in s possono dar luogo ad fdt instabili in z.
La trasformazione trovata può essere vista anche come un’approssimazione al primo ordine
del legame z = esT . Vale infatti esT ≈ 1 + sT . Il legame z = esT pone in relazione la Ztrasformata della sequenza f (k) e la trasformata di Laplace del segnale campionato tramite un
treno di impulsi. Il legame esatto non ha molta utilità perchè da luogo ad una fdt non razionale
fratta.
Dal punto di vista frequenziale l’equivalenza fra C(s) e C(z) si ottiene finchè C(jω) ≈ C(ejωT ).
Si può verificare, graficamente è immediato, che questa approssimazione è valida finchè ωT ≪ 1.
2.9.2
Metodo delle differenze all’indietro
Data una funzione calcolata in (k + 1)T , f ((k + 1)T ), il suo valore, moltiplicato per l’ampiezza
dell’intervallo, viene utilizzato per aggiornare il valore dell’integrale i(·) all’istante (k + 1)T :
i((k + 1)T ) = i(kT ) + T f ((k + 1)T ),
(2.77)
33
G. Antonelli - IF (2008)
in cui si può riconoscere come si stia calcolando l’area della funzione f come somma dei rettangoli
ottenuti mantenendo costante il valore assunto dalla funzione in (k +1)T da kT a (k +1)T (grafico
xxx). Z-trasformando la relazione precedente si ottiene:
(z − 1)I(z) = zT F (z)
I(z)
zT
=
.
F (z)
z−1
⇒
(2.78)
Questa fdt discreta equivale alla fdt continua 1/s. Da cui:
s=
z−1
zT
⇒
z=
La fdt cercata, quindi, si ottiene ponendo:
1
.
1 − sT
C(z) = C(s)|s= z−1 .
(2.79)
(2.80)
zT
Anche questa approssimazione può essere vista come una trasformazione che lega il piano s
al piano z. grafico xxx. Da questo può vedersi che, a meno, di una scalatura per T l’asse
immaginario, che rappresenta il limite di stabilità, si mappa in una circonferenza con centro in
(0.5, j0) e raggio pari a 0.5. fdt instabili in s possono dar luogo ad fdt stabili in z.
La trasformazione trovata può essere vista anche come un’approssimazione al primo ordine del
legame z1 = e−sT . Vale infatti e−sT ≈ 1 − sT . Dal punto di vista frequenziale l’equivalenza anche
in questo caso si può verificare che questa approssimazione è valida finchè ωT ≪ 1.
2.9.3
Metodo dei trapezi
Detto anche trasformazione bilineare o medoto di Tustin.
Il valore dell’integrale i(·) all’istante (k + 1)T viene calcolato tramite una combinazione lineare
dei valori della funzione f in kT e (k + 1)T :
i((k + 1)T ) = i(kT ) + T
f ((k + 1)T ) + f (kT )
,
2
(2.81)
in cui si può riconoscere come si stia calcolando l’area della funzione f come somma dei trapezi
ottenuti approssimando il valore assunto dalla funzione da kT a (k + 1)T con il segmento che
unisce f (kT ) a f ((k + 1)T )(grafico xxx). Z-trasformando la relazione precedente si ottiene:
(z − 1)I(z) = (z + 1)T /2F (z)
⇒
I(z)
T z+1
=
.
F (z)
2 z−1
(2.82)
Questa fdt discreta equivale alla fdt continua 1/s. Da cui:
s=
2 z−1
T z+1
⇒
z=
1 + sT /2
.
1 − sT /2
(2.83)
La fdt cercata, quindi, si ottiene ponendo:
C(z) = C(s)|s= 2 z−1 .
T z+1
(2.84)
Anche questa approssimazione può essere vista come una trasformazione che lega il piano s al
piano z. grafico xxx. Da questo può vedersi che, a meno, di una scalatura, l’asse immaginario si
mappa nella circonferenza di raggio unitario. Si preserva biunivocamente la stabilità.
34
G. Antonelli - IF (2008)
La trasformazione trovata può essere vista anche come un’approssimazione al primo ordine del
legame s = T1 ln(z). Vale infatti
s=
1
1
x3
ln(z) ≈ · 2(x +
+ . . .) con
T
T
3
x=
z−1
.
z+1
(2.85)
Dal punto di vista frequenziale si può verificare come l’asse immaginario in s venga trasformato
nella circonferenza di raggio unitario. Si deve fare un’osservazione, quando ω corre da −∞ a ∞
la circonferenza immaginaria viene descritta una sola volta. Eppure sappiamo che l’asse delle
pulsazioni discrete descrive infinite volte la circonferenza di raggio unitario. C’è quindi una
distorsione in frequenza. Tale distorsione può ritenersi trascurabile quando ω < ωs /8, vale infatti:
ωT
2 ejωT − 1
2
jω =
= j tan
,
(2.86)
T ejωT + 1
T
2
che, nell’intervallo di frequenza visto, non supera il 5%.
Poichè la distorsione, per una specifica frequenza, è calcolabile, è possibile operare un’operazione,
detta prewarp., per annullare, nel discreto, la distorsione alla frequenza desiderata (dettagli in
[9]).
2.9.4
Metodo della corrispondenza poli-zeri
Si costruisce la fdt C(z) equivalente alla fdt C(s) mediante regole euristiche per allocare poli,
zeri e fissare il guadagno. Il metodo è basato sulla corrispondenza formale individuata tramite la
relazione
z = esT
(2.87)
che lega la Z-trasformata del segnale campionato e la trasformata di Laplace di quello originario.
Non si possono fare ipotesi sulla allocazione degli zeri. Il metodo presuppone che gli zeri si
mappino secondo la stessa regola.
Si procede secondo i punti seguenti:
1 I poli di C(s), p¯i vengono trasfomati in poli di C(z) tramite la relazione pi = ep¯i T ;
2 Gli zeri al finito di C(s), z¯i vengono trasfomati in zeri di C(z) tramite la relazione zi = ez¯i T ;
3 Gli zeri all’infinito di C(s), tranne uno, vengono trasformati in zeri di C(z) in −1;
4 Si eguagliano i guadagni:
C(z)|z=1 = C(s)|s=0
La scelta di uno zero di C(z) all’infinito rende l’eccesso poli-zeri unitario, vale a dire un ritardo
ingresso-uscita unitario. Questa semplifica la realizzazione equivalente della C(z).
La trasformazione degli zeri all’infinito nel continuo in zeri in −1 nel discreto può essere
interpretata come la corrispondenza fra la più alta frequenza continua ω → ∞ e la più alta
frequenza discreta ωT = π ⇒ ejπ = −1.
35
G. Antonelli - IF (2008)
2.9.5
Equivalenza ai campioni della risposta impulsiva
Si costruisce C(z) in modo tale che la sua risposta impulsiva coincida con la sequenza dei campioni
della risposta impulsiva di C(s). Ossia
Z −1 [C(z)] = c(kT )
con c(t) = L−1 [C(s)]
(2.88)
che equivale a dire che:
C(z) = Z[c(kT )].
(2.89)
Nel caso di una C(s) di struttura complessa si ricorre alla scomposizione in fratti semplici ed
alla trasformazione dei termini elementari ottenuti. Questo comporta una C(z) con gli stessi poli
del metodo basato sull’equivalenza poli-zeri ma diversi zeri.
Con questa tecnica si conservano le proprietà di stabilità ma si introduce una distorsione della
risposta armonica.
2.9.6
Equivalenza ai campioni della risposta indiciale
Si costruisce C(z) in modo tale che la sua risposta indiciale coincida con la sequenza dei campioni
della risposta indiciale di C(s). Ossia
z
C(s)
(2.90)
Z −1 C(z)
= c−1 (kT ) con c−1 (t) = L−1
z−1
s
che equivale a dire che:
C(z) =
z−1
Z [c−1 (kT )] .
z
(2.91)
Osservando che (z − 1)/z = 1 − z −1 è possibile riscrivere la fdt come:
C(z) = (1 − z −1 )Z [c−1 (kT )] = Z [c−1 (kT ) − c−1 ((k − 1)T )] = Z [ĉ−1 (kT )] ,
in cui
−1
ĉ−1 (kT ) = L
−sT C(s)
(1 − e
)
.
s
(2.92)
(2.93)
L’espressione trovata mostra che la trasformazione considerata fornisce un’equivalenza alla
tenuta di ordine zero, vale a dire che, con questa tecnica, si individua il modello equivalente in z
del modello complessivo ZOH-C(s)-campionamento (in Figura 2.10).
C(z)
⇐⇒
ZOH
C(s)
Figura 2.10: L’equivalenza ai campioni della risposta indiciale fornisce direttamente la C(z) della
sequenza tenuta-C(s)-campionamento.
Viene quindi utilizzata nella sintesi di schemi di controllo basata su tecniche discrete. In
parole, si individua l’equivalente discreto della parte analogica dello schema di controllo digitale
e si lavora con tecniche discrete (luogo delle radici, ecc.).
Questa tecnica conserva la stabilità della C(s), ma non la sua risposta impulsiva né la sua
risposta armonica.
36
G. Antonelli - IF (2008)
2.9.7
Confronto fra le tecniche
La determinazione di una fdt tempo discreto (controllore o filtro) C(z) che presenti caratteristiche
equivalenti ad una C(s) non è univoca.
L’unico metodo che, da una C(s) stabile possa ottenere una C(z) instabile è l’integrazione in
avanti.
Tutti i metodi presentano una distorsione della C(z) rispetto alla C(s). Tale distorsione è
accettabile per ωs ≥ 10ωB .
Volendo estrarre una tecnica migliore, le prestazioni più efficaci si hanno con la trasformazione
bilineare e l’equivalenza poli-zeri.
Il metodo di equivalenza della risposta indiciale è usato per costruire un equivalente discreto
della parte analogica di un sistema di controllo digitale (processo+ZOH+campionatore).
passi per il progetto di un filtro numerico utilizzando le tecniche tempo-continue. xxx
2.9.8
Discretizzazione dei modelli con ritardo
xxx
2.10
Discretizzazione di sistemi dinamici tempo continuo: un
esempio
Si consideri un circuito RLC di parametri:
R = 1.3
L = 100
C = 10
kOhm
mH
nF.
Si consideri la tensione in ingresso al circuito come ingresso u, la tensione ai capi del condensatore
come uscita y, la corrente nell’induttore come stato x1 , y è anche lo stato x2 . La rappresentazione
i − s − u tempo continuo è data dal sistema:
ẋ = Ax + bu
y = cx + du
che, nel caso in esame, assumono i valori:
−1.3 · 104
A =
108
10
b =
0
−10
0
c = [0 1]
d = 0.
La funzione di trasferimento H(S) è:
H(S) =
109
s2 + 1.3 · 104 s + 109
37
G. Antonelli - IF (2008)
Si vuole ricavare il corrispondente discreto con campionamento T = 4 · 10−7 s e T = 4 · 10−5 s
prendendo in esame i metodi:
a) Metodo del rapporto incrementale in avanti
b) Metodo del rapporto incrementale all’indietro
c) Metodo della trasformazione bilineare (Tustin)
d) Metodo della mappatura poli-zeri
e) Metodo dell’equivalenza della risposta indiciale
2.10.1
a) Metodo del rapporto incrementale in avanti
Considerando la trasformazione di Laplace del sistema dinamico tempo continuo ed applicando
la trasformazione del metodo del rapporto incrementale in avanti
s=
z−1
T
si perviene alla Z-trasformata del corrispondente sistema dinamico tempo discreto che, antitrasformato,
fornisce:
w(k + 1) = F w(k) + ge(k)
y(k) = hw(k) + qe(k)
in cui, considerando il campionamento a frequenza maggiore, si ottiene:
0.9948 −4 · 10−6
F =
40
1
4 · 10−6
g =
0
h = [0 1]
q = 0.
Questa è l’unica delle trasformazioni per cui w(k) = x(k). Passando dalla rappresentazione
i − s − u alla f.d.t si ottiene:
H(z) =
1.59 · 10−4
z 2 − 1.9948z + 0.99496
si noti l’assenza di zeri, si ha H(z)|z=1 = 1. Il diagramma di Bode e la risposta al gradino
tempo-continuo e tempo-discreto sono riportati in Figura 2.11.
Abbassando la frequenza di campionamento l’efficacia dell’algoritmo si perde e la fdt discreta
risulta addirittura instabile. Senza riportare i conti, la Figura 2.12 mostra i risultati.
38
G. Antonelli - IF (2008)
a
20
0
[db]
−20
−40
−60
−80
0
10
5
10
[rad/s]
Step Response
a
From: U(1)
50
2
0
Amplitude
[deg]
−100
−150
To: Y(1)
1.5
−50
1
0.5
−200
−250
0
0
0
5
10
10
1.5
3
4.5
6
7.5
9
−4
Time (sec.)
[rad/s]
Figura 2.11: label
x 10
39
G. Antonelli - IF (2008)
a
20
0
[db]
−20
−40
−60
−80
0
10
5
10
[rad/s]
Step Response
a
From: U(1)
50
3000
0
2500
Amplitude
[deg]
−100
−150
To: Y(1)
2000
−50
1500
1000
500
0
−200
−500
−250
−1000
0
5
10
10
0
1.5
3
4.5
Figura 2.12: label
7.5
9
−4
Time (sec.)
[rad/s]
6
x 10
40
G. Antonelli - IF (2008)
2.10.2
b) Metodo del rapporto incrementale all’indietro
Applicando la trasformazione del metodo del rapporto incrementale all’indietro
z−1
s=
Tz
considerando la stessa struttura per il sistema dinamico tempo discreto e lo stesso campionamento,
si ottengono le seguenti matrici:
0.9946 −3.9786 · 10−6
F =
39.7867
0.9998
−6
−3.9786 · 10
g =
1.5914 · 10−4
h = [ 39.7867
0.9998 ]
q = 1.5914 · 10−4 .
Si può osservare come, per esprimere il sistema nella forma canonica, si sia reso necessario un
cambio nelle variabili di stato. La corrispondente f.d.t è:
H(z) =
si ha H(z)|z=1 = 1.
1.5914 · 10−4 z 2
z 2 − 1.99450z + 0.99466
Anche in questo caso, la fdt ottenuta con un alta frequenza di campionamento (Fig. 2.13)
fornisce una buona approssimazione mentre a frequenza inferiore (Fig. 2.14), sebbene la fdt sia
ora stabile, la risposta indiciale mostra errore eccessivo rispetto al corrispondente tempo-continuo.
2.10.3
c) Metodo della trasformazione bilineare (Tustin)
Applicando la trasformazione di Tustin
2 z−1
T z+1
con lo stesso campionamento e struttura del modello tempo discreto si perviene alle matrici:
0.9947 −3.9894 · 10−6
F =
39.8946
0.9999
0.006307
g =
0.1261
s=
h = [ 0.01261
6.3243 · 10−4 ]
q = −3.9894 · 10−5 .
La corrispondente f.d.t è:
H(z) =
si ha H(z)|z=1 = 1.
3.9894 · 10−5 z 2 + 7.9789 · 10−5 z + 3.9894 · 10−5
z 2 − 1.99465z + 0.99481
Ad entrambe le frequenze di campionamento la fdt discreta risultante fornisce una buona
approssimazine (Fig. 2.15 e 2.16).
41
G. Antonelli - IF (2008)
b
20
0
[db]
−20
−40
−60
−80
0
10
5
10
[rad/s]
Step Response
b
From: U(1)
50
2
0
Amplitude
[deg]
−100
−150
To: Y(1)
1.5
−50
1
0.5
−200
−250
0
0
0
5
10
10
1.5
3
4.5
6
7.5
9
−4
Time (sec.)
[rad/s]
Figura 2.13: label
x 10
42
G. Antonelli - IF (2008)
b
20
0
[db]
−20
−40
−60
−80
0
10
5
10
[rad/s]
Step Response
b
From: U(1)
50
2
0
Amplitude
[deg]
−100
−150
To: Y(1)
1.5
−50
1
0.5
−200
−250
0
0
5
10
10
0
1.5
3
4.5
Figura 2.14: label
7.5
9
−4
Time (sec.)
[rad/s]
6
x 10
43
G. Antonelli - IF (2008)
c
20
0
[db]
−20
−40
−60
−80
0
10
5
10
[rad/s]
Step Response
c
From: U(1)
50
2
0
Amplitude
[deg]
−100
−150
To: Y(1)
1.5
−50
1
0.5
−200
−250
0
0
0
5
10
10
1.5
3
4.5
6
7.5
9
−4
Time (sec.)
[rad/s]
Figura 2.15: label
x 10
44
G. Antonelli - IF (2008)
c
20
0
[db]
−20
−40
−60
−80
0
10
5
10
[rad/s]
Step Response
c
From: U(1)
50
2
0
Amplitude
[deg]
−100
−150
To: Y(1)
1.5
−50
1
0.5
−200
−250
0
0
5
10
10
0
0.2
0.4
0.6
Figura 2.16: label
1
1.2
−3
Time (sec.)
[rad/s]
0.8
x 10
45
G. Antonelli - IF (2008)
2.10.4
d) Metodo della mappatura poli-zeri
La funzione di trasferimento H(s) ha due poli in p1,2 = −6.5 · 103 ± 3.0947 · 104 j. La f.d.t. H(z)
avrà quindi due poli in z = epi T = 0.99732 ± 0.12346j. Non ci sono zeri al finito in H(s), occorre
quindi inserire semplicemente uno zero in z = −1. Bisogna infine calcolare il guadagno in maniera
tale che
H(s)|s=0 = H(z)|z=1 .
Poichè H(0) = 1 si deve scegliere
H(z) = 7.9791 · 10−5
z2
z+1
− 1.99465z + 0.99481
da cui è possibile, se necessario, risalire ad una forma i − s − u.
Ad entrambe le frequenze di campionamento la fdt discreta risultante fornisce una buona
approssimazine (Fig. 2.17 e 2.18).
d
20
0
[db]
−20
−40
−60
−80
0
10
5
10
[rad/s]
Step Response
d
From: U(1)
50
2
0
Amplitude
[deg]
−100
−150
To: Y(1)
1.5
−50
1
0.5
−200
−250
0
0
0
5
10
10
1.5
3
6
7.5
9
−4
Time (sec.)
[rad/s]
Figura 2.17: label
2.10.5
4.5
e) Metodo dell’equivalenza della risposta indiciale
x 10
46
G. Antonelli - IF (2008)
d
20
0
[db]
−20
−40
−60
−80
0
10
5
10
[rad/s]
Step Response
d
From: U(1)
50
2
0
Amplitude
[deg]
−100
−150
To: Y(1)
1.5
−50
1
0.5
−200
−250
0
0
5
10
10
0
1.5
3
4.5
Figura 2.18: label
7.5
9
−4
Time (sec.)
[rad/s]
6
x 10
47
G. Antonelli - IF (2008)
Si vuole costruire H(z) in maniera che la sua risposta indiciale coincida con i campioni della
risposta indiciale di H(s). Si consideri dapprima la funzione:
109
H(S)
=
.
s
s(s2 + 1.3 · 104 s + 109 )
Q(s) =
Questa espressione è facilmente trasformabile in Z consultando la tabelle:
a2 + b2
s((s + a)2 + b2 )
⇔
e fornisce:
Q(z) =
z(Az + B)
con
(z − 1)(z 2 − 2e−aT (cos bT )z + e−2aT )
a
A = 1 − e−aT cos bT − e−aT sin bT
b
a −aT
−2aT
sin bT − e−aT cos bT
B=e
+ e
b
z(7.986 · 10−5 z + 7.9722 · 10−5 )
.
(z − 1)(z 2 − 1.99465z + 0.99481)
La funzione di trasferimento cercata è quindi:
H(z) =
z − 1 z(7.986 · 10−5 z + 7.9722 · 10−5 )
7.986 · 10−5 z + 7.9722 · 10−5
=
,
z (z − 1)(z 2 − 1.99465z + 0.99481)
z 2 − 1.99465z + 0.99481
anche in questo caso si ha H(z)|z=1 = 1.
Per questo metodo si riporta la Figura alla frequenza maggiore (Fig. 2.19).
(2.94)
48
G. Antonelli - IF (2008)
e
20
0
[db]
−20
−40
−60
−80
0
10
5
10
[rad/s]
Step Response
e
From: U(1)
50
2
0
Amplitude
[deg]
−100
−150
To: Y(1)
1.5
−50
1
0.5
−200
−250
0
0
0
5
10
10
1.5
3
4.5
6
7.5
9
−4
Time (sec.)
[rad/s]
Figura 2.19: label
x 10
Capitolo 3
Sistemi in Retroazione
In questo capitolo vengono illustrate brevemente le caratteristiche principali dei sistemi dinamici
tempo-discreto chiusi in retroazione.
Nel seguito, con C(z) si indicherà la fdt di un controllore (filtro), con P (z) la fdt del sistema
da retroazionare, con H il trasduttore. Per motivi che non vengono approfonditi in queste note,
si considera H algebrico, è quindi un semplice guadagno.
Lo schema di riferimento è riportato in Figura (3.1) in cui r è il riferimento, u l’ingresso
manipolabile, d il disturbo (ingresso non manipolabile) e y l’uscita.
d
r
+
y
u
+
C(z)
P (z)
−
H
Figura 3.1: Schema generale di controllo.
Spesso controllore-processo sono considerate con una sola fdt detta della catena d’andata
G(z) = C(z)P (z) ottenendo lo schema in Figura (3.2).
r
y
+
G(z)
−
H
Figura 3.2: Schema generale di sistema in retroazione.
49
50
G. Antonelli - IF (2008)
Il comportamento ingresso-uscita del sistema retroazionato, considerando come ingresso r e
come uscita y è dato da:
Y (z) = P (z)C(z) [R(z) − HY (z)]
(3.1)
esplicitando la Y (z);
W (z) =
C(z)P (z)
,
1 + C(z)P (z)H
(3.2)
esprimibile con la fdt W (z):
Y (z) = W (z)R(z).
3.1
(3.3)
Sensibilità alle variazioni parametriche del ciclo aperto e del
ciclo chiuso
Il progetto di un controllore si basa sul modello matematico del processo. Tale modello è
intrinsecamente inaccurato. I sistemi fisici, inoltre, sono soggetti a fenomeni di deriva dei parametri
nel tempo, si pensi, ad es., all’usura di componenti meccanici che provoca cambiamenti delle
proprietà fisiche quali l’attrito con conseguente cambiamento dei parametri (coefficienti) del
modello matematico. È di interesse, quindi, valutare l’effetto di un’errata modellazione nei
confronti dell’uscita o della fdt a ciclo chiuso.
Si consideri lo schema a ciclo aperto in Figura (3.3).
y
x
G(z)
Figura 3.3: Controllo in ciclo aperto.
Detto α un parametro generico, e α̂ il corrispondente valore nominale, si può scrivere:
∂G G(z) = G(z, α) = G(z, α̂) +
dα = Ĝ(z) + △G(z)
∂α α=α̂
(3.4)
in cui Ĝ(z) assume il significato di fdt nominale, calcolata in corrispondenza delle condizioni di
lavoro nominali. Il termine △G(z) rappresenta l’errore di approssimazione. L’uscita può essere
scritta come:
(3.5)
Y (z) = G(z)X(z) = Ĝ(z)X(z) + △G(z)X(z)
{z
}
|
△Y (z)
ossia
△G(z)X(z)
△G(z)
△Y (z)
=
=
.
Y (z)
G(z)X(z)
G(z)
(3.6)
L’errore di modello si ripercuote in maniera percentualmente identica sull’uscita. La conseguenza
è che sia il transitorio che il regime sono affetti da questo errore ed il comportamento dinamico
complessivo è scadente. In altri termini, se la fdt G(z) è la cascata fra un controllore(filtro) ed
un processo difficilmente l’uscita soddisfa specifiche stringenti.
51
G. Antonelli - IF (2008)
Consideriamo ora la stessa G(z) chiusa in controreazione (Fig. (3.2)); il ciclo chiuso sarà
caratterizzato da un fdt:
G(z)
(3.7)
W (z) =
.
1 + G(z)H
Si definisca △WG come le variazioni rispetto a G:
2
∂W ∂G
1
G
∂W
W △G
△WG =
△G =
dα =
△G =
∂G ∂α
∂G
1 + GH
G
(1 + GH) G
che implica
△G
1
△WG
=
.
W
1 + GH G
(3.8)
(3.9)
Le variazioni percentuali di G, quindi, si ripercuotono sulla fdt a ciclo chiuso a meno di un
fattore 1/(1 + GH).
Si tracci il diagramma di Bode della funzione GH (Fig. 3.4), l’andamento dei sistemi reali
è di tipo passabasso, oltre una certa frequenza, quindi, il modulo della fdt è decrescente. Per
diminuire l’effetto delle variazioni parametriche della G sulla fdt a ciclo chiuso si deve cercare di
ottenere un alto modulo di GH nel maggior intervallo di frequenze possibile.
40
GH [dB]
20
0
−20
−40
0
1
2
3
th [rad]
2
+0.7z)
Figura 3.4: Diagramma di Bode della funzione GH = 10(z
. Convenzionalmente, i moduli
z 2 −z+0.5
superiori a 20 dB (20 dB= 10) sono considerati alti e i moduli inferiori a −20 dB (−20 dB= 0.1)
sono considerati bassi.
Si calcoli ora la variazione della fdt a ciclo chiuso rispetto alle variazioni di H:
△WH =
che implica
W GH△H
∂W ∂H
∂W
G2
dα =
△H = −
2 △H = − (1 + GH) H
∂H ∂α
∂H
(1 + GH)
GH △H
△WH
=−
.
W
1 + GH H
(3.10)
(3.11)
Le variazioni di H, quindi, nell’intervallo di frequenze in cui |GH| ≫ 1, si ripercuotono
identicamente sulla fdt a ciclo chiuso. Il blocco H è il trasduttore, ossia lo strumento di misura
della variabile di uscita. Questa relazione formalizza una considerazione intuitivamente ovvia:
non si possono tollerare errori o variazioni parametriche sullo strumento di misura.
52
G. Antonelli - IF (2008)
3.2
Reiezioni ai disturbi
Si consideri lo schema in Figura 3.1, si vuole determinare la sensibilità dei sistemi chiusi in
retroazione rispetto alla presenza di un disturbo, ossia un ingresso non manipolabile, di tipo
additivo fra il controllore e il processo. Si pone il riferimento nullo e si valuta la fdt ingresso-uscita:
P (z)
D(z)
1 + P (z)C(z)H
Yz (z) =
(3.12)
dove D(z) è la Z-trasformata del disturbo. Poniamo |P CH| ≫ 1 (|GH| ≫ 1):
Yz ≈
D
.
CH
(3.13)
Richiedere che il disturbo abbia poco effetto sull’uscita significa imporre Yz ≈ 0. Si impone quindi
|CH| ≫ 1. Pochè H non è generalmente un grado di libertà significa che si deve progettare il
controllore con alti guadagni.
Si calcoli la grandezza in uscita al controllore, definiamo questa variabile q:
Q(z) =
quando |P CH| ≫ 1 otteniamo
−C(z)P (z)H
D(z),
1 + C(z)P (z)H
(3.14)
Q(z) ≈ −D(z).
(3.15)
Con guadagno elevato e C opportuno il controllore ricostruisce il disturbo, reiettandolo. In alta
frequenza, dove si può avere |P CH| ≪ 1, si ha
Yz (z) ≈ P (z)D(z),
(3.16)
poichè P (z) è passabasso il disturbo viene naturalmente filtrato.
3.3
Disturbi non reiettabili
Si consideri la presenza dei disturbi riportati in Figura (3.5).
d5
d1
r
+
+
u
+
C(z)
P (z)
−
H
d2
d3
+
+y
+
d4
Figura 3.5: Possibili disturbi in un sistema chiuso in retroazione.
53
G. Antonelli - IF (2008)
Il disturbo d2 è legato all’uscita tramite la seguente fdt:
Yz2 (z) =
1
D2 (z)
1 + C(z)P (z)H
(3.17)
per cui è possibile ripetere le stesse considerazioni fatte per un disturbo in d1 . Tale disturbo è
quindi reiettato dalla controreazione.
Il disturbo d3 non entra nel ciclo, non è, quindi, reiettato.
Il disturbo d4 è legato all’uscita tramite la seguente fdt:
Yz4 (z) = −
C(z)P (z)H
D4 (z)
1 + C(z)P (z)H
(3.18)
da cui si osserva come l’uscita sia fortemente influenzata dal disturbo. Dal punto di vista fisico,
essendo H uno strumento di misurra, questo significa che non sono in gado di dire se l’uscita del
trasduttore è il segnale di interesse o il disturbo.
Il disturbo d5 si confonde con il riferimento. Non si può reiettare a meno di non sapere che
il contenuto frequenziale del riferimento e del disturbo siano molto differenti fra loro. In questo
caso un normale filtraggio in frequenza potrebbe attenuare l’effetto del disturbo.
In definitiva è possibile reiettare i disturbi d1 e d2 .
3.4
Allargamento della banda
Si vuole mettere in relazione la banda della fdt a ciclo aperto GH con la banda della fdt a ciclo
chiuso W . In Figura 3.6 è riportato il diagramma di Bode di una generica fdt a ciclo aperto
priva di poli nel punto (1, j0). La figura evidenzia la banda a 3 dB definita come l’angolo in
cui il modulo della fdt assume un valore 3 dB inferiore al valore di regime (angolo nullo). Sono
evidenziate anche 3 regioni, nella prima, il modulo della fdt a ciclo aperto è grande (20 dB = 10),
nella terza è piccolo (−20 dB = .1), la seconda regione è il complemento dell’intervallo [0, π].
Sapendo che la fdt a ciclo chiuso vale:
W =
G
1 + GH
(3.19)
è possibile fare delle osservazioni sulla banda di W nelle tre regioni individuate. Poniamo per
semplicità H = 1, nella prima regione si ottiene:
W ≈
1
≈1
H
(0 dB).
(3.20)
Nella terza regione vale
W ≈ G,
(3.21)
quindi W ha un andamento passabasso. Nella seconda regione |GH| è confrontabile con 1, non è
quindi possibile estrarre informazioni generali. La conclusione è che a ciclo aperto la banda era
all’interno della prima regione, chiudendo la retroazione la banda a 3 dB si trova nella seconda
regione, c’è stato quindi un allargamento della banda passante del sistema. Questo effetto è tanto
maggiore quanto è maggiore l’intervallo di frequenze in cui |GH| ≫ 1.
54
G. Antonelli - IF (2008)
40
GH [dB]
20
0
−20
w3
1
−40
0
2
1
3
2
3
th [rad]
Figura 3.6: Diagramma di Bode di una generica fdt ad anello aperto. Le tre regioni corrispondono
alle situazioni in cui |GH| ≫ 1 (regione 1), |GH| ≪ 1 (regione 3) e la regione complementare
(regione 2).
La Figura 3.7 mostra, con la lina doppia, la fdt a ciclo chiuso nella prima e terza regione. Si
nota come la nuova banda passante, appartenente alla seconda regione, sia maggiore di quella
precedente.
La conseguenza di un allargamento della banda è in una risposta più pronta come mostrato
in Figura 3.7 per una risposta indiciale. Il limite pratico all’allargamento della banda è, nella
maggior parte dei casi, di natura energetica: un forzamento eccessivo può portare, per es., a
saturazioni dei componenti. Nel caso di sistemi dinamici tempo-discreto chiusi in retroazione il
guadagno non può essere aumentato indefinitamente causa l’instabilità del sistema.
3.5
Linearizzazione
Si consideri una generica relazione non-lineare chiusa in retroazione con un grosso guadagno:
Si vuole trovare un nuovo ingresso proporzionale all’uscita in modo tale da ottenere una
linearizzazione del legame non-lineare. Con elevato guadagno l’ingresso del controllore (filtro)
è numericamente piccolo: a ≈ 0. Questo implica:
a ≈ r − Hy ≈ 0
⇒
r ≈ Hy
⇒
y=
r
H
(3.22)
quindi, nelle ipotesi che H sia costante, esiste un legame proporzionale fra r e y.
3.6
Precisione dei sistemi in controreazione
Si vuole imporre un legame proporzionale fra l’uscita e il riferimento
yd (k) = kd r(k)
(3.23)
55
G. Antonelli - IF (2008)
40
GH, W [dB]
20
w3
0
−20
−40
0
1
2
3
th [rad]
Figura 3.7: Diagramma di Bode di una generica fdt ad anello aperto e corrispondente fdt a ciclo
chiuso (linea doppia) con H ≈ 1 nella prima e W ≈ G terza regione. Si nota come la nuova banda
passante, appartenente alla seconda regione, sia maggiore di quella precedente.
in cui kd è una costante dimensionale. L’uscita reale y(k) non sarà mai identicamente uguale a
quella desiderata proprio per la natura dinamica del sistema. Ci interessa calcolarne l’errore:
e(k) = yd (k) − y(k) = kd r(k) − y(k)
ossia, passando alla Z-Trasformata:
C(z)P (z)
E(z) = kd R(z) − Y (z) = kd R(z) − W (z)R(z) = kd −
R(z).
1 + C(z)P (z)H
(3.24)
(3.25)
Si considerino 3 ingressi canonici e si calcoli l’errore a regime, assumendo il sistema stabile per
ipotesi, rispetto agli ingressi:
gradino R(z) =
rampa R(z) =
parabola R(z) =
z
z−1
Tz
(z − 1)2
T 2 z(z + 1)
,
2(z − 1)3
applicando il teorema del valor finale:
C(z)P (z)
ek→∞ (k) = lim (z − 1)E(z) = lim kd −
(z − 1)R(z)
z→1
z→1
1 + C(z)P
(z)H
kd + kd C(z)P (z)H − C(z)P (z)
(z − 1)R(z)
= lim
z→1
1 + C(z)P (z)H
(3.26)
scegliendo H = 1/kd :
kd
(z − 1)R(z).
ek→∞ (k) = lim
z→1 1 + C(z)P (z)/kd
(3.27)
56
G. Antonelli - IF (2008)
1
W
0.8
G
y
0.6
0.4
0.2
0
0
10
20
campioni
30
40
Figura 3.8: Risposta indiciale normalizzata di una fdt del primo ordine a ciclo aperto G e della
corrispondente fdt chiusa in retroazione W .
r
y
x
+ a
NL
k
−
H
Figura 3.9: Relazione non-lineare chiusa in retroazione.
Si consideri ora un riferimento a gradino, l’errore a regime vale:
kd
z,
ek→∞ (k) = lim
z→1 1 + C(z)P (z)/kd
(3.28)
che vale
kd2
kd + kp
e(∞) = 0
e(∞) =
se
se
lim C(z)P (z) = kp
z→1
lim C(z)P (z) = ∞.
z→1
(3.29)
Se la fdt G(z) = C(z)P (z) ha almeno un polo in (1, j0) allora si riesce ad ottenere un errore a
regime nullo per un riferimento a gradino. Negli altri casi l’errore a regime, finito, può essere
diminuito aumentando il guadagno della fdt di andata G(z). Si noti come kd leghi la diversa
natura del riferimento e dell’uscita e non è, in genere, un grado di libertà. Si consideri ora un
ingresso a rampa:
kd
Tz
ek→∞ (k) = lim
(3.30)
,
z→1 1 + G(z)/kd z − 1
che vale
e(∞) = ∞ se
lim G(z) = kp
z→1
57
G. Antonelli - IF (2008)
T kd2
se lim (z − 1)G(z) = kv
z→1
kv
e(∞) = 0 se lim (z − 1)G(z) = ∞.
e(∞) =
z→1
(3.31)
Definendo come tipo di un sistema chiuso in controreazione come il numero di poli in (1, j0) della
fdt di andata G(z), si può quindi costruire una tabella riferita al tipo di un sistema e all’ingresso
canonico scelto:
gradino
rampa
parabola
tipo 0
kd2
kd + kp
∞
tipo 1
0
T kd2
kv
∞
tipo 2
0
0
∞
T 2 kd2
ka
♦
Un alto guadagno, quindi, serve per:
• Rendere la fdt a ciclo chiuso W insensibile alle variazioni parametriche;
• Reiettare i disturbi;
• Allargare la banda;
• Linearizzare un legame non-lineare;
• Aumentare la precisione a regime.
L’aspetto negativo dell’innalzamento del guadagno è legato alla stabilità del sistema come verrà
affrontato in seguito.
3.7
Errore per ingressi non manipolabili
Si consideri un disturbo a gradino e se ne calcoli l’errore a regime:
Ez (z) = −
P (z)
z
,
1 + C(z)P (z)H z − 1
(3.32)
ripetendo i conti appena fatti si ottiene che, a regime, l’errore è nullo se C(z) ha un polo in (1, j0).
In questo caso il sistema si definisce astatico.
3.8
Criterio di Nyquist
la fdt a ciclo chiuso W , conoscendo la fdt d’andata G e quella di ritorno H, è data da:
W =
G
,
1 + GH
(3.33)
58
G. Antonelli - IF (2008)
il criterio di Nyquist è uno strumento per calcolare la stabilità a ciclo chiuso avendo informazioni
sulle fdt a ciclo aperto. Definendo
F = GH
(3.34)
otteniamo
1+F =1+
DenF + N umF
N umF
=
.
DenF
DenF
(3.35)
Si consideri ora un generico polinomio:
p(z) =
Y
(z − λi )
(3.36)
i
se ne vuole determinare la variazione di fase per z = ejθ al variare di θ ∈ [0, 2π[. Il punto z
varia quindi sulla circonferenza di raggio unitario come in Figura 3.10. In caso di sistema a dati
campionati gli stessi risultati sono validi per θ = ωT con ω ∈ [0, ωs [.
θ=0
θ = 2π
Figura 3.10: Percorso di z al variare di θ.
Si consideri il contributo di fase di due generiche radici, rispettivamente con modulo inferiore e
superiore all’unità. Per queste radici si traccino i vettori z − λi per due valori generici di z = ejθ
(Figura 3.11); tali vettori sono centrati in λi con termine in z = ejθ . Quando θ passa da 0 a 2π la
variazione di fase della radice a modulo inferiore dell’unità, |λi | < 1, è di 2π. La variazione della
radice con modulo maggiore dell’unità è nulla.
Figura 3.11: Vettore z − λi per due generiche coppie di radici-frequenze.
La variazione complessiva di p(z) è data dal contributo additivo delle singole variazioni di fase.
Definendo con n il numero di radici e con np il numero di radici con modulo maggiore dell’unità
59
G. Antonelli - IF (2008)
si ottiene la relazione seguente:
←−
∆∠p(z) = (n − np )2π
θ0→2π
(3.37)
in cui le frecce servono per indicare che si è fatta la convenzione di considerare positiva una
variazione di fase corrispondente al verso antiorario.
Applicando questo risultato ad F (z) = F (ejθ ) si ottiene:
←−
∆∠1 + F (ejθ ) = ∆∠(N umf + DenF ) − ∆∠DenF = 2π [n − nW − (n − nF )] = 2π(nF − nW )
θ0→2π
(3.38)
in cui nW è il numero di poli a modulo maggiore di uno di W e nF è il numero di poli a modulo
maggiore di uno di F . Si noti che F e W hanno, per costruzione, lo stesso numero di poli.
L’applicazione di questo risultato diventa agevole nella sua interpretazione grafica. Si disegni
il diagramma di Nyquist di una F generica (Figura 3.12). Il vettore 1 + F (ejθ ), a meno di una
traslazione nel punto (−1, j0) è proprio il vettore indicato in figura per una generica pulsazione.
La sua fase è quindi l’angolo che forma con il verso positivo dell’asse delle ascisse. La relazione
(3.38) indica che la variazione di fase del primo membro è un multiplo intero di 2π, interpretando
ogni variazione di 2π come un giro attorno al punto (−1, j0) del vettore 1 + F in figura, quindi,
è possibile riscrivere la (3.38) come
←−
= nF − nW
N1+F
(3.39)
che implica, dal punto di vista implementativo, semplicemente di diagrammare la F (ejθ ).
La condizione necessario e sufficiente affinché la fdt d’anello F (z), chiusa in retroazione, sia
asintoticamente stabile è che
←−
(3.40)
= nF .
N1+F
La fdt d’anello dell’esempio nelle figure precedenti è:
F (z) =
z + 0.3
(z − 0.5)(z − 0.2)
(3.41)
per la quale vale: nF = 0. Dal diagramma di Nyquist della F si nota come il vettore 1 + F (ejθ ), al
variare di θ, non percorra alcun giro attorno al punto (−1, j0). È quindi soddisfatta la relazione
(3.40) e il sistema a ciclo chiuso è asintoticamente stabile. Si può infatti verificare che
W (z) =
z + 0.3
z 2 + 0.3z + .4
(3.42)
che ha due poli complesso coniugati in (−0.15 ± 0.61j).
3.8.1
Effetto delle variazioni del guadagno
Le considerazione sull’errore a regime e sulla reiezione dei disturbi hanno messo in evidenza come
un alto guadagno nella catena di andata abbia, in generale, effetti benefici. Il criterio di Nyquist
60
G. Antonelli - IF (2008)
(−1, j0)
θ=π
θ=0
Figura 3.12: Diagramma di Nyquist della fdt F (z) =
1 + F centrato in (−1, j0) per una specifica frequenza.
z+0.3
(z−0.5)(z−0.2)
e tracciamento del vettore
ci permette di osservare anche un effetto destabilizzante dell’aumento del guadagno. Si consideri
una diminuzione del guadagno del controllore, possiamo quindi diagrammare una fdt kF (z) con
k ∈]0, 1[ come mostrato in Figura 3.13. Il diagramma si ottiene da quello della F a meno di
moltiplicare ogni vettore F (ejθ ) per k; non c’è, quindi, alterazione di fase.
Si osserva come anche per il punto F (ejπ ) vale questa amplificazione/attenuazione. Nel caso in
esame F (ejπ ) = 0.39, aumentando il guadagno di un fattore > 2.56, quindi, il primo membro della
(3.40) diventa pari a −1 (contiamo un giro in senso orario quindi convenzionalmente negativo),
mentre non sono cambiati i poli a modulo maggiore di 1 della F .
3.8.2
Effetto della retroazione positiva
La fdt a ciclo chiuso associata ad una retroazione positiva è:
W (z) =
G(z)
1 − F (z)
(3.43)
che equivale ad applicare il criterio di Nyquist ad una retroazione negativa per una fdt pari a
−F (z). In Figura 3.14 si nota come questo richiederebbe di diminuire il guadagno statico della
F per valori inferiori all’unità. Questa richiesta è in contrasto con l’effetto generalmente positivo
di un alto guadagno. la retroazione positiva, quindi, si utilizza solo per specifiche applicazioni.
3.8.3
Effetto del ritardo temporale
Si consideri la Z-Trasformata di una fdt con un ritardo temporale secco di n campioni. Definiamo
la fdt priva di ritardo come F (z), si avrà una fdt equivalente z −n F (z). In ω:
e−jnθ F (ejθ ).
(3.44)
G. Antonelli - IF (2008)
61
Figura 3.13: Diagramma di Nyquist della fdt F (z) (linea continua) e di kF (z) con k ∈]0, 1[ (linea
tratteggiata).
Il diagramma di Nyquist di questa fdt si ottiene da quello della F ruotando (sfasando) ogni
punto di −nθ, senza, quindi, variarne il modulo (Figura 3.15). Si noti come questo ritardo cresca
linearmente con θ.
Data la struttura passabasso della F questo implica che punti con un modulo alto (> 1) si
avvicinino al punto (−1, j0) creando una situazione simile a quella vista nel caso di amplificazione
della fdt. Il numero di giri varia mentre non cambiano il numero dei poli a modulo > 1 della F e
il sistema, se stabile prima del ritardo, viene quindi portato verso l’instabilità.
3.8.4
Presenza di poli sulla circonferenza unitaria
Nel caso in cui la F (z) presenti uno o più poli sulla circonferenza unitaria il procedimento appena
descritto necessità di alcuni commenti. Il calcolo della variazione di fase di (z − λi ) per |λi | = 1
subisce una discontinuità e non è possibile, quindi, calcolarlo semplicemente come fatto per radici
con modulo non unitario (si veda fig. xxx).
Per semplicità si consideri che ci sia una sola radice a modulo unitario in (−1, j0). Si immagini
di alterare localmente la circonferenza unitaria in maniera tale da far si che il punto (−1, j0)
sia interno alla circonferenza stessa. In questo caso il calcolo della variazione di fase può essere
fatto in maniera analoga a quanto fatto per i |λi | < 1 ed il risultato è che la radice fornisce un
contributo alla variazione di fase di 2π senza modificare il numero np di radici a modulo maggiore
dell’unità. Il criterio si applica quindi semplicemente considerando i poli sulla circonferenza come
se fossero interni alla stessa. xxx chisura del diagramma...
Lo stesso risultato si deve raggiungere se, alterando localmente la circonferenza unitaria, la
radice ma modulo unitario venisse spostata all’esterno della circonferenza unitaria. Il contributo
alla variazione di fase fornito dalla radice sarebbe ora nullo ma cambierebbe anche np , il numero
delle radici instabili, con il risultato complessivo che la risposta fornita sarebbe coerente con
62
G. Antonelli - IF (2008)
Figura 3.14: Diagramma di Nyquist della fdt F (ejωT ) (linea continua) e di −F (ejωT ) (linea
tratteggiata), il punto (−1, j0) è indicato con il simbolo x.
quella che si sarebbe avuta spostando la radice unitaria all’interno della circonferenza.
Sebbene da un punto di vista pratico sia improbabile che un modello matematico fornisca
una funzione di trasferimento con uno o più poli sulla circonferenza è bene notare come il polo
nel punto (−1, j0) corrisponda ad una delle operazioni di integrazione nel tempo discreto e sia,
quindi, tutt’altro che improbabile.
3.9
Un esempio di azione di controllo
Nel 1922 Nicholas Minorsky presentò una legge di controllo basata su tre azioni elementari [1].
Al momento della pubblicazione la teoria del controllo era ancora immatura, in particolare, molti
strumenti matematici attualmente in uso per la comprensione della retroazione non erano ancora
stati individuati, le conclusioni di Minorsky, quindi, erano basate su considerazioni euristiche.
Quel controllo, noto come azione PID, è oggi uno dei controlli più utilizzati nella realtà industriale
e la sua efficacia è stata ampiamente dimostrata in letteratura.
Minorsky realizzò il controllo PID semplicemente osservando le azioni dei timonieri di un’imbarcazione.
In questo paragrafo, l’azione PID verrà brevemente illustrata per il controllo di rotta di una nave.
Si definisca δ come l’angolo del timone rispetto alla direzione poppa-prua dell’imbarcazione,
l’imbardata (yaw, angolo della direzione poppa-prua rispetto ad un riferimento inerziale) del
veicolo con il simbolo ψ. Si faccia l’ipotesi di avanzamento del veicolo a velocità costante. Fra la
posizione del timone e l’imbardata del veicolo esiste un legame dinamico non-lineare ψ = f (δ),
supponendo di campionare e linearizzare il legame è possibile scrivere:
ψ = P (z)δ
che comporta uno schema in retroazione del tipo in Figura 3.16.
(3.45)
63
G. Antonelli - IF (2008)
Figura 3.15: Diagramma di Nyquist della fdt F (ejθ ) (linea continua) e di e−jθ F (ejθ ) (linea
tratteggiata), il punto (−1, j0) è indicato con il simbolo x. I due vettori corrispondono allo stesso
angolo θ̄.
d
r
+
y
δ
+
P (z)
timoniere
−
bussola
Figura 3.16: Schema generale di controllo PID per il mantenimento di rotta.
Il termine PID è un acronimo che indica le tre azioni elementari: Proporzionale, Integrale e
Derivativa.
Per le osservazioni fatte sull’errore a regime la variabile in ingresso al controllore può essere
considerata proporzionale all’errore e(k), l’azione proporzionale è del tipo Kp e(k) e rappresenta
un’azione di richiamo verso il valore e = 0. Può essere interpretata come la forza di una molla
tanto maggiore quanto maggiore è la distanza dal valore di riposo (e = 0).
, rappresenta un’azione anticipatrice, volta a diminuire
L’azione derivativa, del tipo Kv e(k)−e(k−1)
T
l’azione di controllo quando la derivata dell’errore è diretta verso il valore e = 0. Intuitivamente
può essere interpretata come la necessità di annullare l’azione prima di giungere al valore desiderato.
Con la sola azione proporzionale, infatti, il timoniere tenderebbe a pendolare intorno al valore
desiderato. In z, l’azione di tipo derivativo, espressa da uno zero in (1, j0) non è fisicamente
realizzabile, è sufficiente allora considerare un polo in alta frequenza che non alteri il guadagno
Kv .
64
G. Antonelli - IF (2008)
L’azione integrale, del tipo Ki (i(k) + T e(k)), con i(k) valore dell’integrale al campione k, serve
per compensare l’effetto dei disturbi persistenti e per avere errore nullo per un riferimento a
gradino. In presenza di corrente, infatti, le sole azioni P e D, portano il sistema a regime ad un
valore differente da quello desiderato. L’azione integrale si carica con un valore dell’errore diverso
da zero portando l’errore verso valori decrescenti. Alla luce dei risultati sull’errore a regime si
nota come l’azione integrale metta un polo nel punto (1, j0) facendo diventare quindi il sistema
di tipo 1 e garantendo errore nullo per riferimento a gradino e disturbo a gradino (rotta costante
con corrente marina costante).
In definitiva, l’azione PID, può essere ottenuta tramite la fdt:
Kp + Kv
z−1
Ki
+
(1/(1 − p))(z − p) z − 1
(3.46)
in cui T è stata assorbita nelle costanti e p è un polo in alta rispetto alla dinamica del sistema
retroazionato.
Esercizio
Per la seguente fdt:
P (z) =
z − .2
(z − 0.6)(z − 0.5)
si simuli un controllo PID in retroazione con H = 1 rispetto ad un riferimento a gradino di
ampiezza unitaria. Sulla base delle osservazioni fatte, partendo da valori dei guadagni il cui
ordine di grandezza è 0.1 si proceda a tarare il controllore tramite trial and error . A valle della
simulazione si traccino i segnali di uscita e l’ingresso alla P (z) (forzamento).
Si solleciti la P (z) a ciclo aperto con un gradino di ampiezza pari al regime dell’attuazione della
simulazione precedente. Si confrontino le due uscite (ciclo aperto - ciclo chiuso). Si diagrammi
Bode per P (z) e W (z) e si calcolino le due bande passanti.
Si consideri un disturbo a gradino di ampiezza 0.5 con istante di applicazione successivo al
transitorio della fdt riferimento-uscita. A valle della simulazione si traccino i segnali in ingresso a
P (z) ed in uscita a C(z).
In assenza di disturbo si modifichi il riferimento a gradino con una rampa lineare. Si valuti
numericamente l’errore a regime.
Si calcoli, eseguendo diverse simulazioni, il valore del guadagno per cui il sistema diventa instabile.
Capitolo 4
Identificazione parametrica
4.1
Introduzione e definizione del problema della individuazione
dei parametri di un modello dinamico
Il problema dell’identificazione si può ricondurre alla costruzione di modelli matematici di sistemi
dinamici sulla base di dati estratti dal sistema stesso.
Un modello matematico ricavato sulla base delle equazioni che regolano la fisica del sistema
si rileva spesso troppo complesso per poter avere un’applicazione 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).
L’identificazione è 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 è ovviamente legato anche all’uso che si vuole fare di tale modello. Si vuole quindi
individuare il membro M(θ̂) di una famiglia di modelli M caratterizzato da un vettore di parametri
θ appartenente ad un insieme di valori ammissibili.
Si farà riferimento a modelli lineari e stazionari tempo discreto.
In alcuni casi, l’ingresso (o variabile esogena) non è presente, si farà riferimento in questo caso
ad identificazione di serie temporali .
In generale, il procedimento di identificazione può essere scomposto in diverse fasi. Ogni fase
è critica per la buona riuscita dell’identificazione; è spesso vincente un approccio ingegneristico
al problema più che puramente matematico. Di seguito vengono fatti dei commenti generali, casi
pratici di identificazione vengono riportati nel Capitolo 5:
Raccolta dati. In questa fase l’utente 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 è possibile impostare un
esperimento, oppure la serie storica desiderata non è compatibile con i limiti fisici del sistema
stesso e si deve ricorrere a dati acquisiti durante il normale funzionamento dell’impianto (o
durante l’osservazione del fenomeno).
Scelta del modello. È difficile pensare ad un’identificazione in cui del fenomeno da
identificare non si abbiano informazioni di alcun tipo, anche solo dalla osservazione delle
strisciate di dati si può cominciare a trarre informazioni utili che condizionano la scelta del
65
66
G. Antonelli - IF (2008)
modello da utilizzare. Scelte più 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 è l’uso 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à
dell’identificazione. In caso di mancata validazione il procedimento va rianalizzato in toto
per capire il motivo del fallimento dell’identificazione stessa.
In un procedimento di identificazione è sempre consigliabile utilizzare tutta la conoscenza apriori che si ha del modello da identificare.
4.2
Modelli per l’identificazione dei sistemi dinamici e delle serie
temporali
Si vuole modellare una componente di incertezza e/o errore considerando dei modelli stocastici di
sistemi dinamici, in cui la componente stocastica rappresenta un’incertezza legata alla misurazione
o alla descrizione del fenomeno stesso. L’uscita sarà quindi stocastica. Lo stato sarà stocastico
se influenzato dalla componente stocastica del sistema. È utile rimarcare come la componente
stocastica non individui solamente un rumore additivo fisicamente presente nell’ingresso e/o nella
misurazione dell’uscita ma anche l’incertezza del modello matematico stesso.
Si definisca u(k) l’ingresso deterministico del sistema, y(k) l’uscita, ζ(k) il rumore bianco e
G(z) la f.d.t. ingresso-uscita.
4.2.1
Modelli a errore d’uscita
Tale modello, anche definito modello a rumore d’uscita, presuppone che all’uscita del modello
dinamico si sovrapponga del rumore:
y(k) = G(z)u(k − 1) + ζ(k)
(4.1)
supponendo quindi che l’unica causa di errore sia la misura dell’uscita.
4.2.2
Modelli a errore d’ingresso
Tale modello, anche definito modello a rumore d’ingresso, presuppone che all’ingresso del modello
dinamico si sovrapponga del rumore bianco:
y(k) = G(z) (u(k − 1) + ζ(k))
supponendo quindi che l’unica causa di errore sia la misura dell’ingresso.
(4.2)
67
G. Antonelli - IF (2008)
4.2.3
Modelli a errore d’equazione
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 è 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
−1
C(z
−1
) = b1 + b 2 z
) = 1 + c1 z
−1
−1
+ . . . + bnb z
+ c2 z
−2
−nb+1
+ . . . + cnc z
−nc
,
(4.3)
(4.4)
(4.5)
si può scrivere il modello dinamico come:
A(z −1 )y(k) = z −d B(z −1 )u(k) + C(z −1 )ζ(k),
(4.6)
oppure, in forma di f.d.t,
y(k) = z −d
C(z −1 )
B(z −1 )
u(k)
+
ζ(k).
A(z −1 )
A(z −1 )
(4.7)
Si noti
• Non è una limitazione considerare lo stesso denominatore per la f.d.t. dell’ingresso e del
rumore, ciò è evidente riscrivendo l’equazione precedente come:
y(k) = z −d
B1
C2
C2 A1
B1 A2
u(k) +
ζ(k) = z −d
u(k) +
ζ(k);
A1
A2
A1 A2
A1 A2
(4.8)
• z −1 è l’operatore di ritardo unitario. L’influenza dell’ingresso sull’uscita, per sistemi causali,
ha effetto con almeno un campione di ritardo. Ha quindi senso mettere in evidenza il termine
z −d per tenere in conto ritardi ingresso-uscita;
• na, nb e nc rappresentano proprio il numero di coefficienti da individuare per caratterizzare
pienamente il modello. Nel caso generale si può porre d = 1, il ritardo effettivo d è poi
implicitamente identificato una volta noti i coefficienti bi ;
• I polinomi sono scritti in funzione della variabile ritardo unitario z −1 . A meno di una
traslazione temporale, ininfluente per sistemi stazionari, questo è equivalente a scrivere i
polinomi per potenze positive della variabile z;
• Alcuni processi vengono modellati considerando la presenza additiva di un rumore colorato,
questo è proprio ciò che si ottiene filtrando un rumore bianco per C(z −1 ).
68
G. Antonelli - IF (2008)
ARMAX
Il modello descritto dall’equazione (4.7) è definito ARMAX. Il nome è 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 d’equazione, è ora un
rumore colorato.
ARX
Il modello privo della componente Moving Average prende il nome di ARX. È un caso particolare
di ARMAX in cui C(z −1 ) = 1:
B(z −1 )
1 ζ(k),
u(k) +
A(z −1 )
A(z −1 )
(4.9)
A(z −1 )y(k) = z −d B(z −1 )u(k) + ζ(k).
(4.10)
y(k) = z −d
o equivalentemente
Si può osservare come il modello ARX abbia una debole interpretazione fisica, dalla eq. (4.9) si
nota infatti come, per ipotesi, il rumore influenzi l’uscita con la stessa dinamica del processo.
Nonostante questa ipotesi sia molto restrittiva, l’importanza di questo modello risiede nella
possibilità di scriverlo in forma di regressione lineare, come verrà mostrato più avanti.
AR
L’assenza anche della componente esogena da luogo al modello AR
1 ζ(k),
A(z −1 )
(4.11)
A(z −1 )y(k) = ζ(k).
(4.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 )
(4.13)
69
G. Antonelli - IF (2008)
o equivalentemente
A(z −1 )y(k) = C(z −1 )ζ(k).
(4.14)
ARIMA
Un caso particolare del modello ARMA si ottiene considerando A = (1 − z −1 )A′ , cioè
y(k) =
C(z −1 )
ζ(k),
(1 − z −1 )A′ (z −1 )
(4.15)
il cui acronimo prende in considerazione esplicitamente il fatto che questo modello rappresenta
l’integrazione di rumore colorato: AutoRegressive Integrated Moving Average. Nel tempo infatti
si ha:
C(z −1 )
y(k) = y(k − 1) + ′ −1 ζ(k).
(4.16)
A (z )
Se il rumore non è colorato (A′ = C = 1), il modello diviene:
y(k) = y(k − 1) + ζ(k),
(4.17)
vale a dire integrale di rumore bianco, noto come moto browniano o passeggiata casuale (random
walking). L’equivalente tempo-continuo, vale a dire l’integrale di rumore bianco, è noto anche
come processo di Wiener [19].
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 dell’uscita 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 − 1)] + 2E[y(k − 1)ζ(k)] + E[ζ 2 (k)]
= E[y 2 (k − 1)] + σζ
= E[y 2 (k − 2)] + 2σζ
= ...
= kσζ
(4.18)
per quanto concerne la varianza. In parole, la varianza dell’integrale di rumore bianco ha un
valore che cresce linearmente con il tempo trascorso.
70
G. Antonelli - IF (2008)
OE
Quando C(z −1 ) = A(z −1 ) il modello a rumore di processo coincide con il modello a rumore di
uscita e prende il nome di Output Error. È quindi un caso particolare di ARMAX rappresentato
dalle equazioni:
y(k) = z −d
B(z −1 )
u(k) + ζ(k),
A(z −1 )
(4.19)
o equivalentemente
A(z −1 )y(k) = z −d B(z −1 )u(k) + A(z −1 )ζ(k).
(4.20)
♦
Si noti come l’estensione al caso multivariabile sia semplice e non modifichi la struttura delle
equazioni.
Per le serie temporali i modelli idonei alla loro descrizione sono ovviamente l’AR, e l’ARMA. Per
i sistemi dinamici con caratterizzazione ingresso-uscita i rimanenti modelli ARX, OE, ARMAX.
Esistono altri modelli matematici che non verranno trattati in questa sede, es., l’ARIMAX,
l’ARXARX, il Box-Jenkins [16].
La Figura 4.1 rappresenta lo schema generale. La tabella 4.1 permette di discernere fra i
differenti modelli presentati.
ζ(k)
W(z)
u(k)
G(z)
+
y(k)
+
Figura 4.1: Schema generale dei modelli presentati (si veda la Tabella 4.1).
4.3
Forma predittiva dei modelli per l’identificazione
Data una famiglia di modelli M = M(θ̂), il procedimento di identificazione vuole individuare
il vettore dei parametri che meglio rappresenta il fenomeno in esame. Nel caso di un modello
AR, per esempio, l’identificazione consiste nel trovare i coefficenti ai ottimali . Forniti degli ai
di tentativo deve essere possibile confrontare il modello individuato con i dati e validare o meno
la bontà dei coefficienti stessi. Si rende quindi necessario introdurre una misura di errore legata
alla misura dei dati a disposizione, una delle possibilità è quella di mettere il modello in forma
predittiva. In parole, utilizzando i dati a disposizione (tipicamente ingressi e/o uscite misurate),
71
G. Antonelli - IF (2008)
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
Tabella 4.1: Famiglie di modelli (si veda la Figura 4.1).
si vuole generare una predizione per il passo successivo e verificare quanto questa predizione sia
numericamente vicina al valore misurato. Si definisce come predizione al passo k usando i dati
fino al passo k − 1 la variabile:
(4.21)
ŷ(k|k − 1)
o, più semplicemente ŷ(k), l’errore di predizione cercato (ad un passo) è allora dato da:
ε(k) = y(k) − ŷ(k|k − 1).
(4.22)
In maniera analoga può essere definito l’errore a n passi.
Un modello “ottimo” è quindi il modello che, su una serie di dati, minimizza una cifra di
merito. Nel seguito si considererà come cifra di merito l’errore quadratico medio:
JN (θ) =
1
N
x+N
X−1
ε2 (k).
(4.23)
k=x
Verrà 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.
A questo punto è necessario individuare il predittore M̂(θ), cioè un meccanismo, un algoritmo,
che associ al modello scelto e ai dati passati una predizione per l’uscita.
Si riscriva l’equazione del modello ARMAX:
y(k) = z −d
C(z −1 )
B(z −1 )
u(k)
+
ζ(k)
A(z −1 )
A(z −1 )
(4.24)
)
e si faccia l’ipotesi che W (z) = C(z
sia rappresentato in forma canonica. Si dividano entrambi
A(z −1 )
i membri per W (z) e si sommi e sottragga y(k):
−1
A(z −1 )
−d B(z )
(4.25)
u(k) + ζ(k)
y(k) = 1 −
y(k)
+
z
C(z −1 )
C(z −1 )
−1
poichè A(z) e C(z) sono monici
e di egual
i grado, effettuando la lunga divisione otteniamo che il
h
A(z −1 )
termine in parentesi quadre 1 − C(z −1 ) ha la potenza maggiore di grado −1 al massimo. Questo
72
G. Antonelli - IF (2008)
significa che, al secondo membro, non c’è dipendenza dai dati al passo k ma solo dai dati passati.
Si noti infatti come ζ(k) sia un rumore bianco. La cosa più sensata da fare, quindi, è sostituirlo
con la sua media supposta nulla per ipotesi. Il predittore del modello ARMAX quindi è:
−1
A(z −1 )
−d B(z ) u(k)
y(k)
+
z
ŷ(k) = 1 −
C(z −1 )
C(z −1 )
(4.26)
ARMAX
Il predittore per un modello ARMAX è proprio dato dall’eq. (4.26). Nel seguito con la notazione
ARMAX(na,nb,d,nc) si caratterizzerà la struttura del modello. Si supponga un modello particolarmente
semplice ARMAX(1,1,1,1):
A(z −1 ) = 1 − a1 z −1
B(z −1 ) = b1
C(z −1 ) = 1 + c1 z −1 ,
scrivendo esplicitamente il predittore si ottiene:
ŷ(k) = (a1 + c1 )y(k − 1) − c1 (a1 + c1 )y(k − 2) + . . . + b1 u(k − 1) − c1 b1 u(k − 2) + . . .
(4.27)
la dipendenza dai parametri dell’uscita stimata, quindi, è abbastanza complessa anche per un
modello estremamente semplice, ed è, evidentemente, nonlineare.
Si faccia attenzione alla necessità di rappresentare C(z −1 ) in forma canonica, è facile verificare,
infatti, come la stabilità di C(z −1 ) (zeri all’interno del cerchio del raggio unitario) sia indispensabile
per non far divergere la predizione. Il predittore infatti dipende dai valori passati di ŷ a meno di
C(z −1 ).
ARX
Sostituendo C(z) = 1 nella forma generale (4.26) si ottiene il predittore per il modello ARX:
ŷ(k) = 1 − A(z −1 ) y(k) + z −d B(z −1 )u(k)
(4.28)
che, scritto in forma esplicita, assume una forma particolarmente attraente in quanto lineare
nei parametri da identificare:
ŷ(k) = a1 y(k − 1) + a2 y(k − 2) + . . . + b1 u(k − d) + b2 u(k − d − 1) + . . .
(4.29)
esso, inoltre, è stabile in quanto non dipende dai valori passati di ŷ ma dalle sole misure y.
73
G. Antonelli - IF (2008)
AR
Il modello AR, utilizzato per le serie storiche si ottiene facilmente come:
ŷ(k) = 1 − A(z −1 ) y(k)
(4.30)
ŷ(k) = a1 y(k − 1) + a2 y(k − 2) + . . .
(4.31)
ossia, scritto in forma esplicita:
ARMA
Il modello ARMA, utilizzato per le serie storiche si ottiene facilmente come:
A(z −1 )
y(k)
ŷ(k) = 1 −
C(z −1 )
(4.32)
anche in questo caso, la dipendenza dai parametri è non lineare.
OE
Il modello OE è un caso particolare di ARMAX con A(z) = C(z): Il suo predittore è quindi dato
da:
ŷ(k) = z −d
B(z −1 )
u(k)
A(z −1 )
(4.33)
anche in questo caso, la dipendenza dai parametri è non lineare.
Esercizio
Si derivi il predittore per il moto browniano.
4.4
Minimizzazione dell’errore di predizione
I modelli, scritti in forma predittiva, permettono di valutare la bontà dell’identificazione secondo
la (4.23). Ci si chiede se la minimizzazione di questo indice sia un criterio efficiente nella scelta
dei parametri di un modello. In particolare, si vuole mettere in relazione il risultato al numero
di campioni N dei dati.
74
G. Antonelli - IF (2008)
Si supponga di aver generato la serie di dati ingresso-uscita al calcolatore secondo il modello
ARMAX caratterizzato da un vettore dei parametri θ ◦ = [ a1 . . . ana b1 . . . bnb c1 . . . cnc ].
In questo caso è possibile dimostrare che, al crescere di N , la stima θ̂ ottenuta minimizzando
l’indice (4.23) per un modello ARMAX in forma predittiva converge proprio al valore vero dei
parametri (o ad un insieme equivalente, si veda [2] per dettagli).
I modelli matematici sono astrazioni mentali e nessun dato reale è generato da un modello
ARMAX (e affini). Non esiste nessun vettore dei parametri vero e i dati non sono rappresentabili
con un sistema dinamico linerare tempo-invariante. In parole, la famiglia di modelli all’interno
della quale cerchiamo la soluzione non contiene il meccanismo di generazione dei dati. Sebbene
molti algoritmi di identificazione dei parametri si basino sulla minimizzazione dell’errore quadratico
medio, quindi, questo indice non è sufficiente a validare, da solo, la bontà del modello. Si dovranno
cercare altri indicatori e valutare opportunamente i risultati ottenuti.
Una possibile soluzione alla limitatezza della famiglia dei modelli è quella di espanderla. Questo
conduce a considerare delle famiglie di funzioni, dette approssimatori universali (es. reti neurali),
che, cosı̀ come l’espansione in serie di Fourier approssima il valore di una funzione periodica,
approssimano una generica funzione nonlineare.
4.5
Regressore
I modelli ARX e AR possono essere riscritti in termini di regressore. Scrivendo esplicitamente
l’equazione alle differenze otteniamo:
y(k) = a1 y(k − 1) + a2 y(k − 2) + . . . + ana y(k − na )+
+b1 u(k − d) + b2 u(k − d − 1) + . . . + bnb u(k − d − nb + 1) + ζ(k)
(4.34)
che può essere riscritta come operazione matriciale:

a1
 ... 


 ana 
 + ζ(k)

u(k − d − nb + 1) ] 

b
1


 ... 

y(k) = [ y(k − 1)
. . . y(k − na ) u(k − d) . . .
(4.35)
bnb
ossia
y(k) = H(k)θ + ζ(k)
(4.36)
in cui H(k) è il regressore ed il vettore θ il vettore dei parametri da identificare.
Nel seguito, si considera il caso di sistema MIMO (Multi-Input-Multi-Output) con m uscite
y(k). Si considera inoltre che il vettore dei parametri θ abbia dimensione n, funzione del numero di
ingressi e dell’ordine del modello scelto. Di conseguenza il regressore è una matrice H(k) ∈ IRm×n
ed il rumore un vettore delle dimensioni dell’uscita di covarianza Rv . La relazione precedente,
quindi, assume la forma:
(4.37)
y(k) = H(k)θ + ζ(k)
Si noti come in molti testi il regressore sia presentato come un vettore, colonna per definizione,
e nella (4.36) compaia quindi trasposto.
75
G. Antonelli - IF (2008)
Il predittore assume quindi la semplice forma:
ŷ(k) = H(k)θ̂
(4.38)
ε(k) = y(k) − ŷ(k) = y(k) − H(k)θ̂
(4.39)
e l’errore di predizione:
4.6
Algoritmo a minimi quadrati
La relazione (4.38) non è, in generale, direttamente utilizzabile per stimare θ̂; poichè m < n,
infatti, il regressore è una matrice rettangolare bassa. Esistono infiniti vettori dei parametri che
forniscono una determinata uscita per un determinato regressore.
Si può osservare, però, 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) ∈ IRm·l ottenuto impilando i vettori y(·):


y(k − l)
 y(k − l + 1) 
.
y(k) = 
(4.40)
..


.
y(k)
In maniera analoga si può definire il vettore v(k) ottenuto impilando i corrispondenti istanti
di tempo di ζ(·). Si definisca inoltre la matrice H(k) come


H(k − l)
 H(k − l + 1) 
.
(4.41)
H(k) = 
..


.
H(k)
La relazione (4.37), calcolata su più istanti di tempo, può essere quindi riscritta come:
y(k) = H(k)θ + v(k);
(4.42)
si noti che, essendo la matrice H(k) ottenuta impilando in colonna le matrici H(k), il vettore θ è
lo stesso di (4.37). L’eq. (4.42) differisce dall’eq. (4.37) solo per il numero di righe della matrice
H(k) e dei vettori y(k) e v(k). Affinchè il problema sia correttamente definito è necessario che
la matrice H(k) sia rettangolare alta, cioè che m · l > n.
È immediato scrivere un vettore impilato di errori di predizione:
e(k) = y(k) − ŷ(k) = y(k) − H(k)θ̂.
(4.43)
L’indice, scalare, rispetto al quale si calcola la soluzione ottima è la somma del quadrato degli
errori di predizione:
J = e(k)T e(k).
(4.44)
L‘equazione (4.44) può essere riscritta come:
J
= [y(k) − H(k)θ]T [y(k) − H(k)θ]
76
G. Antonelli - IF (2008)
= yT (k)y(k) − yT (k)H(k)θ − θ T HT (k)y(k) + θ T HT (k)H(k)θ.
(4.45)
Condizione necessaria affinchè J abbia un estremo relativo (punto stazionario) è che le derivate
parziali rispetto a θ siano nulle. Imponendo questa condizione otteniamo la cosiddetta equazione
normale:
∂J
(4.46)
= 0 ⇒ −2yT (k)H(k) + 2θ T HT (k)H(k) = 0.
∂θ
Supponendo invertibili le matrici interessate si ottiene la soluzione ai minimi quadrati (LS, Least
Squares):
−1 T
θ̂ = HT (k)H(k)
H (k)y(k).
(4.47)
La matrice che lega i dati alla stima ha dimensione (n × l · m) ed è la pseudoinversa della
matrice H. Si definisce:
−1 T
H† = HT (k)H(k)
H (k).
(4.48)
Si noti che l’indice di merito è funzione del vettore n-dimensionale θ, la sua derivata parziale,
quindi, ha dimensione n. La soluzione trovata non è solo un estremo relativo ma un minimo della
funzione come si può facilmente dimostrare calcolando la matrice (n × n) delle derivate seconde
di J rispetto a θ:
∂J ∂J
= 2HT (k)H(k)
(4.49)
∂θ ∂θ
che è definita positiva per costruzione.
Esempio : retta interpolante
Una semplice applicazione della formula dei minimi quadrati è fornita dalla interpolazione di dati
ottenuti tramite una misura corrotta da rumore. Si supponga di voler interpolare dei dati con una
retta:
y = αx + y0
in un insieme di l punti,
x = [ x1
...
T
xl ]
ottenendo un corrispondente insieme di l misure
y mis = [ ymis,1
...
T
ymis,l ]
che, impilando le misure ed aggiungendo il rumore di misura, gaussiano bianco per ipotesi, permette
di scrivere la seguente relazione:


     
ymis,1
ζ1
y0
x1
 .. 
..   ..   .. 

 . =α . + . + .
xl
ζl
y0
ymis,l
in cui, esplicitando la linearità nei parametri:
 


ymis,1
x1 1
 ..   .. .. 
 .  = . . [α
ymis,l
xl
1

ζ1
.
y0 ] +  ..  = Hθ + ζ

ζl
77
G. Antonelli - IF (2008)
da cui è immediato ricavare una stima utilizzando la formula dei minimi quadrati:
θ̂ = H† y mis .
Considerando il problema in esame di 2 incognite si consideri l = 10. Si abbia:
x = [1
2 3
4 5
6 7
T
8 9 10 ]
e si supponga di avere generato i dati realmente tramite una retta in cui:
α
y0
= 1
= −2
e il rumore ha varianza σ = 1, cui corrisponde un vettore delle misure:
y mis = [ −1.43
−1.66
1.12
2.28
1.85
5.19
6.18
5.96
7.32
T
8.17 ]
e i parametri stimati:
α̂
ŷ0
= 1.14
= −2.78.
In figura 4.2 è rappresentata la retta interpolante (linea sottile), quella che ha generato i dati (linea
spessa) e i punti di misura.
Figura 4.2: Retta originaria (linea spessa), dati misurati (punti) e retta interpolante (linea sottile).
È utile osservare come si possa diminuire l’errore sulla stima dei parametri incrementando il numero
di misure. Asintoticamente, inoltre, tale errore può convergere al valore nullo perchè il modello
utilizzato per la stima è uguale al meccanismo di generazione dei dati.
♦
Esercizio : polinomio interpolante
Si generalizzi l’esempio precedente considerando di interpolare i dati tramite un polinomio di grado
n.
78
G. Antonelli - IF (2008)
4.6.1
Algoritmo a minimi quadrati pesati
Modificando la cifra di merito da minimizzare si ottiene una differente soluzione, definita Minimi
Quadrati Pesata (WLS, Wighted Least Square). L’indice è ora la somma pesata del quadrato
degli errori di stima:
(4.50)
J = e(k)T W(k)e(k)
in cui la matrice di peso W(k) è scelta impilando l matrici W definite positive come già fatto per
H. W è definita positiva per costruzione. Se si pone W = R−1
v si ottiene la stima Markoviana.
Ripetendo i passaggi della Sezione precedente, l’equazione (4.50) può essere riscritta come:
J
= [y(k) − H(k)θ]T W(k) [y(k) − H(k)θ]
= yT (k)W(k)y(k) − yT (k)W(k)H(k)θ − θ T HT (k)W(k)y(k)+
+θ T HT (k)W(k)H(k)θ.
(4.51)
La corrispondente equazione normale assume la forma:
∂J
=0
∂θ
⇒
−2yT (k)W(k)H(k) + 2θ T HT (k)W(k)H(k) = 0.
(4.52)
Supponendo invertibili le matrici interessate si ottiene la soluzione ai minimi quadrati pesata:
−1 T
θ̂ = HT (k)W(k)H(k)
H (k)W(k)y(k).
Derivando ancora
∂J
∂θ
∂J
∂θ
= 2HT (k)W(k)H(k)
(4.53)
(4.54)
che è definita positiva per costruzione e conferma i risultati della soluzione ai minimi quadrati
come caso particolare dei minimi quadrati pesati con W = I.
Esercizio : Minimi Quadrati regolarizzati
Come alternativa all’indice (4.50), si consideri
J = (θ − θ 0 )T Π −1 (θ − θ 0 ) + e(k)T W(k)e(k)
in cui la matrice Π ∈ IRn×n è definita positiva e θ 0 ∈ IRn è un vettore noto. Il vantaggio di
questo indice è che permette di ottenere una soluzione anche nel caso in cui la matrice H non
abbia rango pieno. Nel caso di matrice H malcondizionata, inoltre, questo indice consente di avere
un problema meglio condizionato numericamente.
Si dimostri che:
−1 T
θ̂ = θ 0 + Π −1 + HT (k)W(k)H(k)
H (k)W(k) [y(k) − H(k)θ 0 ] .
79
G. Antonelli - IF (2008)
4.6.2
Media e Covarianza dell’errore di stima
Supponendo di aver generato i dati con il modello ARX o AR è possibile valutare le proprietà
stocastiche della stima ottenuta con i minimi quadrati. Si fa riferimento al caso pesato con ovvia
particolarizzazione al caso non pesato.
L’errore di stima al passo k è fornito da:
−1 T
θ̃ = θ − θ̂ = θ − HT (k)W(k)H(k)
H (k)W(k)y(k)
−1 T
T
= − H (k)W(k)H(k)
H (k)W(k)v(k)
(4.55)
da cui, calcolando il valor atteso e portando i valori deterministici fuori dell’operatore:
−1 T
E[θ̃] = HT (k)W(k)H(k)
H (k)W(k)E[v(k)].
(4.56)
Affinché il valore atteso dell’errore di stima sia nullo è quindi necessario che la matrice da invertire
abbia rango pieno (si veda sezione 4.6.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 è possibile vedere come
il valore atteso dell’errore non sia nullo.
La covarianza dell’errore, supponendo E[ζ(k)ζ(k)T ] = Rv , è fornita da:
−1 T
−T
T
E[θ̃ θ̃ ] = HT (k)W(k)H(k)
H (k)W(k)E[v(k)v(k)T ]WT (k)H(k) HT (k)W(k)H(k)
.
(4.57)
L’espressione (4.57) può essere minimizzata in funzione del peso. Si ottiene la cosiddetta stima
Markoviana, in cui W = R−1
v :
−1
T
E[θ̃ θ̃ ] = HT (k)W(k)H(k)
(4.58)
dove si sono usate le proprietà 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 si ottiene
−1
T
E[θ̃ θ̃ ] = σ 2 HT (k)H(k)
.
(4.59)
Si noti che la covarianza dell’errore di stima è proporzionalmente legata, a meno della matrice
H, alla covarianza del rumore di misura.
4.6.3
Disuguaglianza di Cramér-Rao
La sezione 4.6.2 mostra una relazione importante per l’operazione dei Minimi Quadrati. La
covarianza dell’errore è legata alla covarianza del rumore. È di interesse fornire un risultato
generale dato dalla disuguaglianza di Cramér-Rao: Sia θ̂ una possibile stima di θ tale che la
media dell’errore sia nulla. Il vettore θ̂ è funzione dei dati y(k) ∈ IRm·l : θ̂ = θ̂(y) con una
funzione densità di probabilità fy (θ, y). Si ha
T
E[θ̃ θ̃ ] ≥ M −1
(4.60)
80
G. Antonelli - IF (2008)
in cui la matrice M ∈ IRn×n definita matrice di informazione di Fisher è definita come:
"
2
T #
∂
∂
∂
M =E
(4.61)
= −E
log fy (θ, y) .
log fy (θ, y)
log fy (θ, y)
∂θ
∂θ
∂θ 2
Si noti come la valutazione della matrice M richieda la conoscenza del valore esatto dei
parametri θ da individuare che non è, ovviamente, disponibile all’utente. La dimostrazione può
essere trovata, per es., in [16].
4.6.4
Persistente eccitazione
Si consideri un caso banale in cui l’ingresso di un modello ingresso-uscita sia costantemente
nullo durante l’acquisizione dati. È facile immaginare come in questo caso, qualunque valore si
dia ai coefficienti bi , non sia possibile individuarne l’eventuale correttezza della stima; durante
l’intervallo di interesse, infatti, l’uscita predetta sarà indipendente dai valori di bi (si osserva, per
condizioni iniziali diverse da zero, la sola evoluzione libera). Il regressore impilato di un modello,
per es., ARX(2,2) sarà caratterizzato dall’avere due colonne nulle e di essere, quindi, di rango non
pieno. Le formule per risalire alla stima dei parametri, quindi, non possono essere implementate.
La persistente eccitazione può essere definita, a parole, come la richiesta che l’ingresso vari
sempre abbastanza da provocare, eccitare tutte le dinamiche del sistema. In formule si richiede
che la la matrice HT (k)H(k) (o la matrice HT (k)W(k)H(k)) sia di rango pieno.
Si consideri il caso:
con regressore impilato
y(k) = b1 u(k − 1) + b2 u(k − 2) + ζ(k),

u(2)
 u(3)
H=
 ...
u(N )
la matrice
HT (k)H(k)
u(1)
u(2)
..
.
u(N − 1)


,

assume la forma:


u(2)
u(1)
P 2
P
u(2) 
 u(3)
u (i)
u(i)u(i − 1)
u(2) u(3) . . .
u(N )
T


P
P
,
H H=
..
=
u(i − 1)u(i)
u2 (i − 1)
u(1) u(2) . . . u(N − 1)  ...
.
u(N ) u(N − 1)
ci si chiede se tali sommatorie possano divergere. Al crescere di N , e sotto ipotesi di stazionarietà,
si ottiene:
ru (0) ru (1)
T
H H=N
.
ru (1) ru (0)
La matrice HT (k)H(k) è simmetrica, e i suoi elementi rappresentano la stima numerica della
correlazione degli elementi sugli N dati disponibili. Si consideri un caso limite di ingresso costante
u(k) = 1 ∀k. La matrice in questione sarebbe una matrice quadrata di 1 (con dimensioni pari
al numero dei parametri da identificare) chiaramente singolare, quindi non invertibile.
Se il segnale d’ingresso fosse rumore bianco la matrice (4.6.4) sarebbe la matrice identità
moltiplicata per la varianza del rumore. Il rumore bianco, a meno di problemi legati alla fisica
realizzabilità, è quindi un segnale idoneo per l’identificazione.
81
G. Antonelli - IF (2008)
Un’osservazione da fare riguarda il numero dei parametri, un possibile metodo per rendere
questa matrice non-singolare potrebbe essere quello di ridurre il numero dei parametri fino a
rendere la matrice piena (un parametro, in questo caso). Invertendo il ragionamento possiamo
affermare che un problema malcondizionato può essere causato da un eccessivo numero di parametri,
da un modello, cioè, sovraparametrizzato.
In pratica il rumore di misura rende sempre la matrice HT (k)H(k) (o la matrice HT (k)W(k)H(k))
di rango pieno, dall’osservazione circa la covarianza dell’errore di stima è facile osservare come
il pieno rango non sia sufficiente per una buona identificazione. È necessario anche che il suo
numero di condizione sia basso, vale infatti [18]:
θ̃ kvk
(4.62)
≤ cond(H)
kθk
kyk
inoltre, ricordando l’espressione della covarianza dell’errore di stima, supponendo cond(H) = 1,
e definendo come λ1 (H) il valor singolare del regressore, si ha:
σ
E[θ̃ θ̃ ] =
λ1 (H)
T
2
I
(4.63)
in cui I è la matrice identità di dimensioni opportune. Dal punto di vista teorico, una matrice è
singolare quando una o più colonne posso essere espresse in combinazione lineare delle altre oppure
quando almeno una colonna è nulla. Dal punto di vista pratico il rumore di misura garantisce che
questa condizione non sia mai verificata. Le relazione precedenti, però, ci impongono di verificare
che il regressore, per quanto sempre di rango pieno, sia numericamente ben bilanciato.
Osservando la relazione (4.59) è possibile notare come il regressore, oltre ad essere numericamente
bilanciato, debba anche essere, in modulo, grande rispetto alla varianza del rumore.
Si parla di identificabilità strutturale per ciò che concerne i modelli, sperimentale per ciò che
riguarda i dati.
♦
Un’ulteriore considerazione è necessaria per comprendere la relazione che intercorre fra l’errore
e la natura dell’ingresso. 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)
(4.64)
cui corrisponde un predittore del tipo
ed un errore di predizione:
h
i
ŷ(k) = 1 − Â(z) y(k) + B̂(z)u(k)
(4.65)
h
i B(z)
B(z)
u(k) − 1 − Â(z)
u(k) − B̂(z)u(k)
A(z)
A(z)
(4.66)
ε(k) = B(z)u(k) − B(z)u(k) + Â(z)B(z)u(k) − A(z)B̂(z)u(k) = 0.
(4.67)
ε(k) = y(k) − ŷ(k) =
che si suppone nullo: ε(k) = 0:
82
G. Antonelli - IF (2008)
Dobbiamo quindi verificare se la seguente equazione possa essere soddisfatta per stime dei parametri
diverse da quelle vere:
(4.68)
Â(z)B(z) − A(z)B̂(z) u(k) = 0.
Concentriamo l’attenzione sul caso na = 1, nb = 1, d = 1:
A(z) = 1 − a1 z −1
B(z) = b1 z −1
che permette di particolarizzare la (4.68) in:
h
i
(1 − â1 z −1 )b1 z −1 − (1 − a1 z −1 )b̂1 z −1 u(k) =
h
i
(b1 − b̂1 )z −1 + (a1 b̂1 − â1 b1 )z −2 u(k) = 0.
(4.69)
Si supponga di sollecitare il sistema con un ingresso u(k) = cost., riscrivendo la (4.69) nel tempo
osserviamo:
h
i
(b1 − b̂1 )u(k − 1) + (a1 b̂1 − â1 b1 )u(k − 2) = (b1 − b̂1 ) + (a1 b̂1 − â1 b1 ) cost. = 0,
(4.70)
relazione soddisfatta anche per
equivalente a
(b1 − b̂1 ) + (a1 b̂1 − â1 b1 ) = 0
(4.71)
b1
b̂1
(4.72)
=
1 − a1
1 − â1
che permette di trarre un prima conclusione. Sollecitando il sistema in esame con un ingresso
costante è possibile ottenere un errore di predizione nullo che non implica l’identificazione dei
parametri corretti. Nel caso specifico di ingresso costante ciò che si osserva è 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. L’equazione (4.69) è un’equazione
alle differenze la cui soluzione, a meno di una traslazione temporale, è data da:
!k
α1 k
a1 b̂1 − â1 b1
k
(4.73)
u(k) = λ = −
= −
.
α0
b1 − b̂1
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 (4.69), del
tipo u(k) = sin(θk), si ottiene che l’errore di predizione è nullo se e solo se
(b1 − b̂1 ) = (a1 b̂1 − â1 b1 ) = 0
(4.74)
che implica l’esattezza dei parametri identificati. Per questo caso semplice, sapendo che n =
na + nb = 2, si è ottenuto che, ad ingresso sinusoidale ed errore di predizione nullo corrisponde
la possibilità di identificare due parametri. Nel caso generale è possibile dimostrare ([14]) che un
segnale sinusoidale che contenga un numero di componenti maggiore della metà dei parametri da
identificare, associato ad un errore di predizione nullo, è sufficiente per la corretta identificazione
dei parametri.
Questo risultato, ottenuto supponendo che i dati siano stati generati tramite la (4.64) e che
il numero delle incognite sia noto, va generalizzato in un contesto di identificazione pratica
osservando che l’indicazione che fornisce è coerente con la condizione di persistente eccitazione:
lo spettro del segnale di ingresso deve essere sufficientemente ricco di armoniche.
83
G. Antonelli - IF (2008)
4.6.5
Legame fra l’errore e i dati
Si consideri la soluzione ai minimi quadrati (4.47)
−1 T
θ̂ = HT (k)H(k)
H (k)y(k)
la definizione dell’errore in (4.43):
e(k) = y(k) − ŷ(k) = y(k) − H(k)θ̂.
moltiplicando primo e secondo membro per HT si ottiene facilmente:
−1 T
H (k)y(k) = 0.
HT (k)e(k) = HT y(k) − HT H(k) HT (k)H(k)
(4.75)
L’interpretazione geometrica di questo risultato è immediata, la proiezione dell’errore di predizione
nel range della matrice H(k) è nulla. Oppure, dalla definizione stessa dell’errore, significa dire
che la soluzione ai minimi quadrati individua come valore ottimo di θ̂ la proiezione di y(k) lungo
il range di H(k).
La matrice H(k) è composta dalle misure degli ingressi e delle uscite, la relazione (4.75) esprime
un’ortogonalità fra errore e misure, grossolanamente, l’errore è composto da quelle componenti
non contenute nei dati. Sotto l’ipotesi di ergodicità, è possibile giungere alla conclusione che:
E[HT (k)e(k)] = 0,
(4.76)
ossia, dalla definizione delle variabili coinvolte:
E[y(k − i)ε(i)] = 0 per i = 1, . . . , na
E[u(k − i)ε(i)] = 0 per i = d, . . . , d + nb − 1
l’errore di predizione, quindi, è quella quantità incorrelata agli ingressi ed alle uscite precedenti.
La rappresentazione geometrica in uno spazio euclideo con θ ∈ IR2 e y ∈ IR3 è data dalla
Figura 4.3. Alla luce di questa nuova interpretazione acquista anche più chiarezza il bisogno di
generare degli ingressi eccitanti.
y
R(H)
y − ŷ
ŷ = Hθ̂
Figura 4.3: Interpretazione geometrica del legame fra errore e dati per y ∈ IR3 e θ ∈ IR2 .
84
G. Antonelli - IF (2008)
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 = 10−3 ed ingressi:
• Gradino di ampiezza unitaria applicato in k = 5;
• Successione di gradini di ampiezza unitaria di durata k = 40 (20 campioni alti e 20 nulli);
• Rumore bianco con varianza σ 2 = 10−1 .
Per ogni simulazione di salvi in un file .mat usando il comando save dal prompt del Matlab.
Si realizzi un funzione Matlab per l’identificazione ai Minimi Quadrati con in ingresso le serie
storiche ingresso-uscita e l’ordine del modello ARX ed in uscita il vettore dei parametri identificato
ed il numero di condizione del regressore impilato. Utilizzando questa funzione, e lo stesso insieme
di dati generato, si faccia l’identificazione 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à della stima
non è più 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 dell’errore di predizione tramite, ad es., il test di Anderson, e si simuli l’uscita rispetto
ad un ingresso canonico, ad es., un gradino, confrontando graficamente l’uscita simulata con quella
misurata1 . Per una più facile interpretazione dei dati si riportino i risultati in una tabella.
L’esercitazione è 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à dello
stesso;
• in caso di dubbio sul ritardo d ingresso-uscita, è 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à di dati, un modello sovraparametrizzato comporta un problema numericamente
malcondizionato;
• è possibile ottenere una matrice HT H malcondizionata sia per una sovraparametrizzazione
del modello che per una scelta poco eccitante dell’ingresso;
1
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 4.12.1)
85
G. Antonelli - IF (2008)
4.7
Algoritmo a Massima Verosimiglianza
La derivazione dei Minimi Quadrati è stata possibile senza introdurre concetti di tipo probabilistico.
In questa Sezione verrà 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à di probabilità:
fy (θ, x)
(4.77)
funzione di un vettore di parametri, θ ∈ IRn , da identificare, e della variabile N -dimensionale x.
Con lo scopo di identificare θ partendo dall’osservazione dei dati y si considera uno stimatore del
tipo:
θ̂(y)
(4.78)
che è una funzione da IRN a IRn . Se il valore osservato di y è y ⋆ allora la stima è fornita da:
⋆
θ̂ = θ̂(y ⋆ ).
(4.79)
Un possibile stimatore è stato introdotto da Fisher nel 1912, e può essere descritto nel modo
seguente: la pdf congiunta del vettore casuale dei dati da osservare è dato dalla (4.77), la
probabilità che la osservazione assuma proprio il valore vettoriale y ⋆ è quindi proporzionale a:
fy (θ, y ⋆ ).
(4.80)
Fornito il valore numerico delle osservazioni y ⋆ questa funzione è una funzione numerica di θ,
chiamata funzione di verosimiglianza; rappresenta la verosimiglianza che quei dati abbiano luogo.
Un possibile stimatore è quello che massimizza la verosimiglianza dei dati:
θ̂ M L = max fy (θ, y ⋆ )
θ
(4.81)
e prende appunto il nome di MLE (Maximum Likelihood Estimator).
Esempio
Si considerino N variabili casuali indipendenti con pdf gaussiana a media θ ignota, costante per
le N variabili e varianza nota λi . Un possibile stimatore della media è fornito da
θ̂ =
N
1 X ⋆
y .
N i=1 i
(4.82)
Per calcolare lo stimatore MLE si deve ricavare la pdf congiunta del vettore y delle osservazioni.
Per ogni elemento yi si ha:
(xi − θ)2
1
exp −
fyi (θ, xi ) = √
2λi
2πλi
data l’indipendenza delle variabili si ottiene:
fy (θ, x) =
N
Y
i=1
√
(xi − θ)2
1
.
exp −
2λi
2πλi
86
G. Antonelli - IF (2008)
La funzione di verosimiglianza si ottiene quindi sostituendo y a x. Poichè la funzione logaritmo è
monotona crescente la massimizzazione può essere fatta sul logaritmo della fy :
θ̂M L
=
=
max log (fy (θ, y ⋆ ))
θ (
)
N
N
2
X
N
1 X (yi − θ)
1
max − log(2π) −
log(λi ) −
θ
2
2
2 i=1
λi
i=1
da cui si ricava
θ̂M L = PN
1
N
X
y⋆
i
i=1 (1/λi )
i=1
λi
.
La differenza rispetto alla stima (4.82), ottenuta assumendo di non avere informazioni sulla
caratterizzazione probabilistica dei dati, è data dal fatto che ogni osservazione viene ora pesata
per l’inverso della varianza. Lo stimatore MLE pesa in maniera maggiore i valori ottenuti dalle
variabili a varianza minore.
♦
Si ricaverà 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
C(z −1 )
B(z −1 )
u(k)
+
ζ(k)
A(z −1 )
A(z −1 )
Il modello in forma di predizione è dato da:
−1
A(z −1 )
−d B(z )
ŷ(k) = 1 −
u(k)
y(k)
+
z
C(z −1 )
C(z −1 )
(4.83)
(4.84)
e l’errore di predizione
ε(k) = y(k) − ŷ(k|k − 1)
(4.85)
in cui si è 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 (4.85) si ottiene:
−1
A(z −1 )
−d B(z )
u(k) + ε(k)
y(k)
+
z
(4.86)
y(k) = 1 −
C(z −1 )
C(z −1 )
che ha pdf congiunta:
fy (k, y|u, θ) =
N
Y
i=k
fe (k, y(k) − ŷ(k), θ)
(4.87)
di cui si cerca il massimo. Il massimo di fy è anche il massimo di
N
1
1 X
log fe (ε(k), θ, k),
log fy (k, y, θ) =
N
N
(4.88)
k=1
in cui si sfrutta la proprietà che il logaritmo del prodotto è pari alla somma dei logaritmi; definendo
l(k, ε(k), θ) = − log fe (k, ε(k), θ)
(4.89)
87
G. Antonelli - IF (2008)
si ottiene
N
1 X
θ̂ M L (y) = min
l(k, ε(k), θ)
θ N
(4.90)
k=1
che ha un’analogia formale immediata con l’indice utilizzato per ricavare i Minimi Quadrati pesati.
Se la pdf fe è Gaussiana si ottiene:
l(k, ε, θ) = − log fe =
1
1
1 ε2
log 2π + log λ +
2
2
2λ
(4.91)
in cui, se λ è nota, otteniamo proprio il criterio dei minimi quadrati con minimizzazione dell’errore
quadratico. Si noti, infatti, che si deve minimizzare il solo termine in ε2 essendo l la somma di
tutti termini definiti positivi.
4.8
Algoritmo di Gauss-Newton
xxx
Esempio
xxx
♦
4.9
Algoritmo a Minimi Quadrati ricorsivo
La soluzione ai minimi quadrati in (4.53) 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 un’identificazione fuori linea, è
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 (4.53), 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).
(4.92)
Si definisca P (k) ∈ IRn×n come
−1
P (k) = HT (k)W(k)H(k)
.
(4.93)
88
G. Antonelli - IF (2008)
Si noti come, per la stima Markoviana, la matrice P (k) sia proprio la covarianza dell’errore
di stima. Nel caso dei minimi quadrati è proporzionale alla matrice di covarianza a meno
della covarianza del rumore (costante). Anche nel caso generico la matrice P (k) è strettamente
legata alla covarianza tanto che, nel seguito, parleremo di P (k) correntemente come covarianza
dell’errore di stima.
In virtù di (4.92), P (k) può essere riscritta come:
−1
P (k) = P −1 (k − 1) + H(k)T W H(k)
,
(4.94)
sfruttando il lemma riportato in appendice si ottiene
−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)
(4.95)
Si passi poi alla scomposizione del secondo termine della (4.53) ottenendo:
HT (k)W(k)y(k) = HT (k − 1)W(k − 1)y(k − 1) + H T (k)W y(k).
(4.96)
È possibile riscrivere la (4.53) secondo le due scomposizioni (4.95) e (4.96) ottenendo:
n
o
−1
θ̂(k) =
P (k − 1) − P (k − 1)H T (k) W −1 + H(k)P (k − 1)H T (k)
H(k)P (k − 1) ∗
T
(4.97)
H (k − 1)W(k − 1)y(k − 1) + H T (k)W y(k) ,
il prodotto dei primi termini delle due parentesi è proprio la (4.53) all’istante k − 1: θ̂(k − 1). È
possibile quindi riscrivere l’equazione precedente:
θ̂(k) = θ̂(k − 1) + P (k − 1)H T (k)W y(k)+
−1
H(k)θ̂(k − 1)+
−P (k − 1)H T (k) W −1 + H(k)P (k − 1)H T (k)
−1
−1
T
T
−P (k − 1)H (k) W + H(k)P (k − 1)H (k)
H(k)P (k − 1)H T (k)W y(k)
si definisca ora la matrice dei guadagni L(k) ∈ IRm×n :
−1
L(k) = P (k − 1)H T (k) W −1 + H(k)P (k − 1)H T (k)
,
(4.98)
che permette di riscrivere l’equazione come:
θ̂(k) = θ̂(k − 1) + P (k − 1)H T (k)W y(k)+
−L(k)H(k)θ̂(k − 1) − L(k)H(k)P (k − 1)H T (k)W y(k),
(4.99)
per far comparire come moltiplicatore comune L(k) fra il secondo e terzo prodotto del secondo
termine si aggiunga la seguente identità:
−1
−1 −1
W + H(k)P (k − 1)H T (k)
W + H(k)P (k − 1)H T (k)
questo permette di riarrangiare i termini secondo:
θ̂(k) = θ̂(k − 1)+
(4.100)
89
G. Antonelli - IF (2008)
h
i
+L(k) y(k) + H(k)P (k − 1)H T (k)W y(k) − H(k)θ̂(k − 1) − H(k)P (k − 1)H T (k)W y(k)
che fornisce la relazione cercata nota come ai Minimi Quadrati Pesata Ricorsiva (WRLS, Weighted
Recursive Least Square):
h
i
θ̂(k) = θ̂(k − 1) + L(k) y(k) − H(k)θ̂(k − 1) .
(4.101)
Ovviamente i conti fatti riconducono ai Minimi Quadrati Ricorsivi (RLS, Recursive Least
Square) per W = I.
y(k)
θ̂(k)
+
+
L(k)
−
+
θ̂(k − 1)
H(k)
z −1
Figura 4.4: Rappresentazione a blocchi dei Minimi Quadrati Ricorsivi.
Esistono molte versioni di minimi quadrati ricorsivi più o meno onerose dal punto di vista
computazionale. In particolare, nel caso di uscita scalare, è possibile aggiornare la stima senza
ricorrere ad inversioni matriciali.
4.9.1
Algoritmo a minimi quadrati esteso e massima verosimiglianza approssimata
Gli algoritmi presentati, LS, WLS, RLS, WRLS, ben si adattano ai modelli AR e ARX che
presentano l’importante proprietà di linearità 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 [20].
Una prima osservazione da fare riguarda l’operazione che è stata fatta per ricavare la stima:
impostata una funzione obiettivo (o cifra di merito) si è cercato il minimo assoluto. Questa
operazione può essere ripetuta anche per modelli nonlineari nei parametri usando specifiche
tecniche di ricerca del minimo. In caso di funzioni scalari di n variabili è noto che sussiste il
problema della possibilità di imbattersi in un minimo locale. Le tecniche utilizzate allora saranno
algoritmicamente più onerose ma concettualmente identiche al LS. Spesso, inoltre, si tratta di
tecniche ricorsive basate sul gradiente della funzione stessa.
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à di notazione, si consideri il caso ad una uscita del modello ARMA. Scrivendo
esplicitamente l’equazione alle differenze otteniamo:
y(k) = a1 y(k − 1) + a2 y(k − 2) + . . . + ana y(k − na )+
90
G. Antonelli - IF (2008)
+c1 ζ(k − 1) + c2 ζ(k − 2) + . . . + cnc ζ(k − nc ) + ζ(k)
(4.102)
che può essere riscritta come operazione matriciale:

a1
 ... 


 ana 
 + ζ(k)

ζ(k − nc ) ] 

 c1 
 ... 
cnc

y(k) = [ y(k − 1)
. . . y(k − na ) ζ(k − 1) . . .
ossia
(4.103)
(4.104)
y(k) = H(k)θ + ζ(k)
Si noti come i valori passati di ζ non siano accessibili per definizione. Non è 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 dell’errore di predizione ε(k) = y(k) − H(k)θ(k − 1) ottenendo:


a1
 ... 


 ana 

y(k) = [ y(k − 1) . . . y(k − na ) ε(k − 1) . . . ε(k − nc ) ] 
(4.105)
 c1  + ζ(k)


 ... 
cnc
su cui è possibile lavorare con i risultati del RLS. Questa tecnica è nota come Minimi Quadrati
Ricorsivi Estesi (RELS, Recursive Extended Least Square). Il motivo per cui si pensa di sostituire
ζ con ε è dato dall’osservazione che, a regime, sotto ipotesi di aver fatto una buona osservazione,
l’errore 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].
L’errore di predizione è anche definito errore a priori poichè è calcolato utilizzando i dati
correnti e la stima dei parametri precedente. Nella matrice regressore si potrebbe pensare di
utilizzare una stima più raffinata dell’errore di predizione, definita errore di predizione a posteriori
η(k) = y(k) − H(k)θ(k) calcolata al passo precedente. Questa tecnica è nota come Massima
Verosimiglianza Approssimata (AML, Approximate Maximum Likelihood). Per dettagli [2, 20].
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:
1. calcolo di H(k). per ERLS utilizzando i valori passati dell’errore di predizione a priori ε(k),
per AML dell’errore a posteriori η(k);
2. calcolo di ε(k) = y(k) − H(k)θ(k − 1);
91
G. Antonelli - IF (2008)
3. calcolo del guadagno L(k) secondo la (4.98):
−1
L(k) = P (k − 1)H T (k) W −1 + H(k)P (k − 1)H T (k)
;
4. calcolo della matrice di covarianza P (k):
P (k) = P (k − 1) − L(k)H(k)P (k − 1);
5. aggiornamento della stima θ̂(k) = θ̂(k − 1) + L(k)ε(k);
6. nel caso dell’AML calcolo di η(k) = y(k) − H(k)θ(k).
Per l’algoritmo ricorsivo si pone il problema della inizializzazione della stima θ(0) e della
covarianza P (0).
4.9.2
Inizializzazione degli algoritmi ricorsivi
Si è visto come, per tutti gli algoritmi ricorsivi, siano necessarie delle informazioni relative al passo
precedente. È quindi necessario, in qualche modo, fornire delle informazioni relative a k = 0, vale
a dire inizializzare l’algoritmo.
La prima osservazione da fare riguarda la costruzione del regressore, è evidente che, prima di
poter fornire una stima dell’uscita, è necessario avere na campioni dell’uscita e nb +d dell’ingresso.
Il massimo fra questi valori +1 determina l’istante k nel quale il predittore fornisce una prima
stima ŷ(k) (in formule, k = max (na , nb + d − 1) + 1).
Il calcolo dell’errore 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 dell’errore. Un
modo per ottenere queste due stime è 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 4.5). Questa tecnica, valida, ovviamente, solo per le tecniche con un corrispondente
a lotti, garantisce l’aderenza esatta dei risultati fra i minimi quadrati a lotti e ricorsivi a meno
di derive di natura numerica. In realtà, se la stima è fatta durante un applicazione in linea
l’ingresso è deciso per scopi non legati all’identificazione e, con buona propabilità, non è adatto
per un primo lotto ben condizionato numericamente.
La stima θ̂ può anche essere inizializzata ad un valore fornito da una conoscenza della fisica
del sistema in esame.
Per P (0) si consideri la possibilità di prendere una matrice identità moltiplicata per un
guadagno scalare. Un alto valore implica incertezza nella stima di θ̂, di conseguenza il guadagno
dell’algoritmo è alto e ci si possono attendere forti variazioni nel valore numerico dei parametri nel
corso delle iterazioni. L’opposto per un valore piccolo della covarianza. Una conoscenza accurata
dei parametri, inoltre, potrebbe anche permettere l’evoluzione con guadagni differenti per le
diverse componenti di θ̂ semplicemente scegliendo una matrice diagonale e tarando opportunamente
i valori sulla diagonale.
4.9.3
Persistente eccitazione per gli algoritmi ricorsivi
La scelta di un ingresso eccitante è stata giustificata per l’algoritmo a Minimi Quadrati a lotti.
Anche nella versione ricorsiva l’ingresso deve eccitare tutti i modi del sistema; a differenza della
92
G. Antonelli - IF (2008)
k
|
{z
lotto per stima iniziale
}
inizio algoritmo ricorsivo
Figura 4.5: Possibile inizializzazione di un algoritmo ricorsivo, il primo lotto di dati viene
utilizzato per una stima iniziale.
versione a lotti, però, il problema che si incontra non riguarda l’invertibilità di matrici, sia P (k)
che L(k), infatti, sono sempre definite per costruzione, ma la possibilità di causare un’instabilità
algoritmica. Localmente, vale a dire per un numero limitato di campioni, nessun ingresso può
considerarsi eccitante; se però la presenza di un ingresso non eccitante viene prolungata per un
intervallo di campioni sufficiente ampio allora si può incorrere in instabilità algoritmica.
Alcuni segnali utilizzati per l’identificazione tramite algoritmi ricorsivi sono:
Onda quadra Permette di scegliere l’ampiezza dell’ingresso evitando quindi la eventuale sollecitazione
di dinamiche non-lineari non modellate. La frequenza dell’onda 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 nell’intervallo della singola onda. Una regola
euristica consiste nel prendere un’onda quadra di durata pari a circa 6 volte la costante di
tempo del sistema.
Rumore binario pseudo-casuale Conserva la limitatezza dell’ingresso dell’onda quadra ma
sollecita uno spettro più ampio. Euristicamente si sceglie la frequenza di clock pari alla
banda del processo.
Rumore a fdp uniformemente distribuita Conserva la limitatezza dell’ingresso ma, a differenza
dei due segnali precedenti, assume tutti i valori di un determinato intervallo. In sistemi con
non-linearità di tipo dead-zone questo ingresso non è appropriato.
Rumore a fdp Gaussiana È l’unico segnale che non limita con certezza l’ampiezza dell’ingresso,
questo può 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à di tipo dead-zone.
4.9.4
Gestione della covarianza
Gli algoritmi ricorsivi presentati hanno una forte limitazione. La matrice di covarianza P (k)
tende ad annullarsi per k ⇒ ∞.
Questo può essere visto in maniera intuitiva, se l’identificazione procede correttamente è
auspicabile che la covarianza dell’errore di stima decresca monotonamente. La conseguenza è
che l’algoritmo smette semplicemente di aggiornare la stima dei parametri indipendentemente
dall’errore 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, l’algoritmo non è in grado di reagire ed aggiornare correttamente
il valore della stima.
93
G. Antonelli - IF (2008)
Un altro modo per verificare semplicemente la decrescenza della covarianza si ha considerando
la formula (4.94) in cui il termine H T (k)W H(k) è definito positivo per costruzione.
Si devono quindi introdurre degli artifici che tengano il guadagno dell’algoritmo alto.
Passeggiata casuale
Se è 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 all’algoritmo la capacità 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
(4.106)
dove R è 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.
L’interpretazione qualitativa della (4.106) è semplice, si lascia decrescere il guadagno a zero e
lo si resetta ad un valore diverso da zero per quei parametri per cui è avvenuto un cambiamento.
Il modello passeggiata casuale (Random Walk) anche detto moto Browniano, è un l’integrale
di un rumore bianco:
p(k) = p(k − 1) + ζ(k).
È possibile dimostrare che se la deriva dei parametri è descritta dall’integrale un rumore bianco
di covarianza R allora la (4.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 [20]).
Fattore di oblio
Il modo più popolare per ovviare all’annullamento del guadagno è l’introduzione del fattore di
oblio. Si sfruttano i risultati dell’algoritmo RWLS definendo opportunamente il peso. Si consideri
la cifra di merito:
J = e(k)T W(k)e(k)
in cui W è ottenuta, come noto, impilando le matrici W . Si supponga di considerare W tempovariante e di legarlo alla differenza fra il tempo corrente e l’istante in cui si calcola l’errore:
W(k) = diag{. . . , µ2 I, µ1 I, I}.
con µ < 1. Valori tipici per µ sono µ ∈ [0.95, 1[. L’indice J, riscritto in termini di sommatoria,
potrebbe essere scelto come:
k
X
µk−i εT (i)ε(i),
J=
i=k0
il cui peso è mostrato in Figura 4.6. Dalla definizione di P (k) in (4.93) e dalla definizione di
W(k) si ottiene la (4.94) che, particolarizzata per questo specifico peso, può 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) =
94
G. Antonelli - IF (2008)
applicando ancora il lemma di inversione matriciale si ottiene
P (k) =
−1
1
1
P (k − 1) − P (k − 1)H T (k) µI + H(k)P (k − 1)H T (k)
H(k)P (k − 1). (4.107)
µ
µ
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)
,
(4.108)
e dell’equazione di aggiornamento della stima dei parametri formalmente analoga alla (4.101).
L’introduzione 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 è
troppo alta) o la presenza di intervalli di tempo in assenza di ingressi eccitanti può avere effetti
destabilizzanti sulla dinamica del guadagno. Questo fenomeno è noto come wind-up della matrice
di covarianza.
1
µ = 0.97
µ = 0.9
k = −100
k=0
Figura 4.6: Variazione del peso dei dati per due valori di µ nei 100 campioni passati.
Algoritmi a traccia costante
Una tecnica per ovviare al problema precedente è quella di forzare la matrice in (4.106) ad
avere una traccia costante scegliendo una opportuna R(k). Applicando l’operatore di traccia, ed
imponendo costante la traccia di P (k), otteniamo la condizione:
tr[R(k)] = tr [L(k)H(k)P (k − 1)]
(4.109)
soddisfatta scegliendo una matrice
R(k) =
tr[R(k)]I
.
tr[I]
(4.110)
Si noti come la matrice identità delle ultime due equazioni va scelta di dimensioni opportune,
pari al numero delle uscite nel primo caso, pari al numero dei parametri da identificare, nel
secondo.
95
G. Antonelli - IF (2008)
Operativamente, quindi, si stima prima la traccia della matrice R(k) al passo k, poi si costruisce
la matrice stessa e si somma all’aggiornamento della covarianza cosı̀ come fatto per la passeggiata
casuale.
Si noti come permane il problema di ingresso non eccitante per un intervallo, in questo caso la
matrice R(k) tende ad annullarsi vanificando il suo contributo. Una possibile soluzione è quella
di limitare inferiormente la matrice R(k).
Fattore di oblio direzionale
Una seconda tecnica per ovviare al wind-up della matrice di covarianza è quella di utilizzare un
fattore di oblio variabile solo nelle direzioni dello spazio dei parametri in cui le informazioni sono
significative.
In pratica il fattore di oblio µ non è costante ma tempo variante e legato al contenuto
informativo dei nuovi dati.
Esempio
Al calcolatore si è generata una serie ingressi-uscite del modello ARX:
A(z −1 )
B(z
−1
)
= 1 − 1.6z −1 + 0.66z −2
(4.111)
= 2z −2 ,
in cui, quindi, na = 2, d = 2 e nb = 1. La fdt ingresso-uscita, a meno di una traslazione temporale,
può essere scritta in potenze positive di z come:
G(z) =
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 l’identificazione (figure 4.7 e 4.8).
Il rumore di modello è stato simulato tramite la generazione di un numero casuale con funzione
densità di probabilità gaussiana a media nulla e varianza 10−3 .
L’identificazione a lotti, ponendo d = 2 ha fornito come risultato:
θ LS = [ −1.6015
0.66129
T
1.9977 ] ,
con cifra di merito calcolata sulla traiettoria di validazione
JLS = 1.0243 · 10−3 ,
il test di Anderson risulta soddisfatto e la simulazione, effettuata sulla traiettoria di validazione,
mostra una buona aderenza fra l’uscita misurata e quella simulata (figura 4.9). Si noti come, in
caso di mancata conoscenza del parametro d, si sarebbe potuto procedere identificando nb = 2, il
termine in k − 1 identificato sarebbe stato numericamente prossimo allo zero. Questi risultati sono
ovvi, il modello usato per identificare i dati è uguale al meccanismo di generazione dei dati e la
traiettoria è eccitante. Cerchiamo ora di mettere in evidenza le proprietà dinamiche dell’algoritmo
ricorsivo indipendenti dalla natura dei dati.
96
G. Antonelli - IF (2008)
1
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
Figura 4.7: Ingresso e uscita di identificazione.
Si esegue ora lo stesso algoritmo in forma ricorsiva con W = I con condizioni iniziali:
θ RLS (0) = [ 0
T
0 0] ,
e
P RLS (0) = 103 I.
I risultati ottenuti sono simili ai precenti:
θ RLS = [ −1.6015
0.66132
T
1.9975 ] ,
con cifra di merito calcolata sulla traiettoria di validazione
JLS = 1.0241 · 10−3 ,
test di Anderson soddisfatto e simulazione analoga al caso precedente. L’aspetto negativo dell’implementazione
dei minimi quadrati ricorsivi senza nessun meccanismo di gestione della covarianza si può facilmente
verificare dalla figura 4.10 in cui è riportata la traccia della matrice. Si nota chiaramente come,
dopo pochi campioni, la traccia converga a zero vanificando cosı̀ il meccanismo di retroazione
sull’errore (il guadagno, infatti, è proporzionale alla covarianza).
97
G. Antonelli - IF (2008)
1
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
Figura 4.8: Ingresso e uscita di validazione.
A causa delle condizioni ideali di questa identificazione la stima del vettore dei parametri converge
al valore vero dopo pochi passi. Anche ripetendo l’identificazione con un diverso valore iniziale,
quindi, si giunge rapidamente al valore vero e non si risente dell’assenza del guadagno. Per mostrare
come la convergenza a zero della covarianza sia un problema si ripete l’identificazione partendo
dai valori iniziali:
T
θ RLS (0) = [ −1.2 0.3 1.3 ] .
La figura 4.11 mostra l’andamento nel tempo della stima del vettore identificato partendo dalle
due matrici di covarianza:
P RLS (0) = 1I
e
P RLS (0) = 103 I.
Si può notare come, nel caso di bassa covarianza, l’algoritmo smetta di identificare prima di
aver raggiunto il valore corretto dei dati nonostante la traiettoria sia sostanzialmente eccitante e
periodica. Un altro aspetto negativo è evidenziato nel caso in cui il modello sia soggetto a parametri
lentamente variabili nel tempo. Con covarianza, e quindi guadagno, nullo, infatti, nessuno degli
algoritmi iterativi è in grado di adattarsi a questo cambiamento.
98
G. Antonelli - IF (2008)
uscita misurata (−) e simulata (−x−)
LS
40
30
20
10
0
0
50
100
150
campioni
Figura 4.9: uscita misurata e simulata per l’identificazione a lotti.
Per ovviare a questo inconveniente si può ricorrere ad una delle tecniche mostrate. Nel dettaglio,
la tecnica dell’identificazione a traccia costante fornisce:
θ RLS = [ −1.5915
0.65237
T
2.022 ] ,
con cifra di merito calcolata sulla traiettoria di validazione
JLS = 1.1337 · 10−3 .
La tecnica del random walking e del forgetting factor danno risultati scadenti. Il motivo è da
ricercare nella tipologia di ingresso scelta, vale a dire una successione di gradini, questi ingressi
hanno lunghi intervalli in cui non sono eccitanti e possono provocare effetti destabilizzanti in questi
due algoritmi.
♦
4.10
Cenni sulla identificazione non parametrica
Quando il modello matematico identificato non è riconducibile ad una delle strutture presentate
od è, 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.
4.10.1
Analisi della risposta impulsiva
Si consideri un modello SISO:
y(k) = G(z)u(k) + ζ(k)
(4.112)
u(k) = αδ(k),
(4.113)
sollecitato da un ingresso impulsivo
la corrispondente uscita sarà il segnale αw(k) che caratterizza completamente il comportamento
ingresso-uscita del sistema.
In sistemi reali l’ingresso impulsivo spesso non è applicabile per ovvi motivi e diversi ingressi,
per es., a gradino, possono essere utilizzati.
99
G. Antonelli - IF (2008)
ARX RLS
2500
traccia P
2000
1500
1000
500
0
0
20
40
60
campioni
80
100
Figura 4.10: Andamento temporale della traccia della matrice di covarianza per l’identificazione
ricorsiva senza gestione della covarianza.
4.10.2
Analisi della correlazione
Si riscriva l’uscita di un modello SISO tramite somma di convoluzione
y(k) =
k
X
i=0
(4.114)
w(i)u(k − i) + ζ(k)
in cui w(k) è la risposta impulsiva. Si consideri un ingresso con funzione di autocorrelazione:
ru (τ ) = E [u(k)u(k − τ )]
scorrelata dal rumore: ruζ = 0. Vale:
"
E [y(k)u(k − τ )] = ryu (τ ) = E
k
X
i=0
!
(4.115)
#
w(i)u(k − i) + ζ(k) u(k − τ ) =
k
X
i=0
w(i)ru (i − τ ).
(4.116)
Se fosse possibile scegliere un ingresso bianco, tale quindi che ru = αδ(τ ) si avrebbe:
ryu (τ ) = αw(τ )
(4.117)
in cui il primo membro può facilmente essere stimato dai dati tramite la:
N
1 X
y(i)u(i + τ )
r̂yu (τ ) =
N
(4.118)
i=1
ottenendo quindi la risposta impulsiva w(k).
Nel caso di ingresso generico si deve stimare la correlazione dell’ingresso tramite la:
N
1 X
r̂u (τ ) =
u(i)u(i + τ )
N
i=1
(4.119)
100
G. Antonelli - IF (2008)
3
parametri
2
1
0
−1
−2
0
20
40
60
campioni
80
100
Figura 4.11: Andamento temporale della stima dei 3 parametri per due diversi valori della
covarianza iniziale.
che fornisce la relazione
r̂yu (τ ) =
k
X
i=0
w(i)r̂u (i − τ )
(4.120)
che, risolta numericamente, fornisce ancora la risposta impulsiva. Si noti infatti che questa
relazione lega linearmente le incognite; riscrivendola per diversi valori di τ è possibile giungere
ad un sistema di equazioni lineare ben definito.
Spesso un’analisi della correlazione dei dati può rappresentare un primo passo per stimare il
ritardo ingresso-uscita in un processo di identificazione parametrica.
4.10.3
Analisi della risposta in frequenza
Un metodo molto semplice per aver informazioni sulla funzione di risposta armonica di un processo
è dato dalla sollecitazione del sistema con segnali sinusoidali del tipo:
u(k) = U sin(νk),
cui corrisponde, per sistemi asintoticamente stabili, un’uscita misurata a regime
yr (k) = G(ejν ) U sin(νk + ∠G(ejν )) + ζ(k).
(4.121)
(4.122)
È sufficiente quindi cambiare l’ingresso per diverse frequenze in un intervallo di interesse, per
ognuna delle quali si misura l’uscita a valle dell’estinzione del transitorio, e costruire per punti la
funzione di risposta armonica.
Esercizio : identificazione non parametrica della risposta in frequenza
Si costruisca per punti il diagramma di Bode del modello
A(z −1 )
B(z −1 )
= 1 − 1.6z −1 + 0.66z −2
= 2z −2 ,
simulando l’uscita ad ingressi sinusoidali in Simulink.
101
G. Antonelli - IF (2008)
4.11
Scelta della complessità del modello
Si è ripetuto più volte come la minimizzazione dell’indice J porti ad inviduare il vettore θ̂ ottimo
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à 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 l’ordine del sistema da utilizzare. In questa sezione verrano brevemente illustrati alcuni
metodi.
4.11.1
Errore di predizione finale
Il metodo basato sull’errore di predizione finale (FPE, dall’inglese Final Prediction Error) si basa
sulla considerazione che la complessità ideale è quella che minimizza la formula:
FPE =
N +n
J(θ̂)
N −n
(4.123)
relativa al caso ARX. Si rimanda al testo di Bittanti [2] per dettagli e per la dimostrazione.
L’interpretazione della (4.123) permette di vedere la presenza di due termini, l’indice di merito J,
che ci aspettiamo decrescente rispetto all’ordine n del modello ARX ed il rapporto (N +n)/(N −n)
che tende all’infinito quando n tende ad N . È immediato osservare come F P E → ∞, per
n → N . Poichè, per piccoli valori di n, ci si può aspettare una diminuzione di J maggiore
rispetto all’incremento del rapporto, il minimo di questa funzione viene assunto per valori finiti
di n. Si è fatta l’ipotesi che l’indice di merito, per l’inevitabile presenza di rumore, non si annulli
mai. Un caso numerico è sviluppato nel Capitolo 5.
La formula (4.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 .
4.11.2
Criterio dell’informazione di Akaike
Questo criterio, il cui acronimo è AIC, Akaike Information Criterion, è basato su considerazioni
di tipo statistico che portano alla formula:
AIC = 2
n
+ ln J(θ̂).
N
(4.124)
Ci sono, quindi, due termini additivi. Al logaritmo naturale dell’indice, ancora decrescente al
crescere di n, si somma un retta in n con pendenza positiva, quindi crescente al crescere di n.
La pendenza di questa retta è inversamente proporzionale alla lunghezza N dei dati, ciò 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, l’indice J si mantiene positivo, seppur prossimo
allo zero, e quindi il suo ln negativo finito, e l’andamento divergente della funzione è determinato
dalla componente proporzionale a n.
102
G. Antonelli - IF (2008)
4.11.3
Criterio sulla descrizione a lunghezza minima
Il criterio sulla lunghezza minima (MDL, Minimum Description Length) fonda le sue basi sulla
teoria dei codici. Si perviene alla formula:
M DL = ln N
n
+ ln J(θ̂)
N
(4.125)
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.
4.12
Validazione dell’identificazione
Come più volte detto, l’identificazione è un procedimento che prevede un certo numero di tentativi.
Decidere quale modello sia il modello ottimale rispetto ad un insieme di possibili modelli è
un’operazione delicata, in cui considerazioni ingegneristiche sono spesso più 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 è opportuno prendere in considerazione:
Cross-validazione. La validazione deve essere effettuata usando un insieme di dati diverso
rispetto a quello utilizzato per l’identificazione. I due insiemi devono però 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 è stata minimizzata per il modello
in esame e con i dati di identificazione, a meno di errori grossolani, quindi, ci si aspetta
un errore basso di tale indice e spesso è cosı̀Ṙiportare numericamente il suo valore, però,
permette proprio di evidenziare la presenza di palesi errori di modello, non-linearità, ordine
troppo basso, ecc.
Bianchezza dell’errore. L’errore calcolato sulla predizione va quindi sottoposto al test
di Anderson per verificarne la bianchezza. La presenza di correlazione sui residui può
significare un errore di identificazione. Quando si lavora con dati reali non bisogna attenersi
strettamente agli indicatori e pochi campioni fuori soglia nel test di Anderson possono
corrispondere egualmente con un buon modello.
Simulazione. Nel paragrafo 4.12.1 vengono evidenziate le differenze fra la simulazione
e la predizione. Ogni validazione deve sempre passare attraverso una simulazione in cui
l’ingresso, per esempio, è scelto a gradino per evidenziare le caratteristiche dei modi di
evoluzione del sistema.
4.12.1
Differenza fra simulazione e predizione
L’operazione di identificazione si basa sulla minimizzazione di una cifra di merito. Ci sono
molteplici motivi che possono portare a sbagliare un’identificazione pur ottenendo un valore basso
103
G. Antonelli - IF (2008)
della cifra di merito. Per questo è 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
−1
A(z −1 )
−d B(z )
ŷ(k) = 1 −
y(k)
+
z
u(k)
(4.26)
C(z −1 )
C(z −1 )
si noti come, in ogni istante k, solo il campione dell’uscita all’istante k stesso è una stima mentre
i campioni precedenti sono ottenuti tramite delle misure.
Nella simulazione, al contrario, non si utilizzano misure dell’uscita ma solo le stime dei campioni
precedenti. Riferendosi alla equazione (4.26) si può affermare che la simulazione è equivalente ad
una formula del tipo:
−1
A(z −1 )
−d B(z )
ŷ(k)
+
z
ŷ(k) = 1 −
u(k),
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ù 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ò dare
la sensazione di rappresentare meglio il sistema identificato rispetto ad una simulazione anche
quando la situazione è esattamente opposta.
La figura 4.12 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
b̂1 = 0.3
â1 = 0.7
e la simulazione (simbolo x) di una identificazione che ha fornito come risultato
b̂1 = 0.45
â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.
104
y
G. Antonelli - IF (2008)
campioni
Figura 4.12: 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 5
Identificazione in pratica
In questo capito verrano fornite delle linee metodologiche generali per effettuare un’identificazione
in pratica. Alcuni casi pratici verrano quindi presentati.
5.1
Aspetti pratici per l’identificazione
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
l’identificazione in un caso reale.
Come precisato nel Capitolo precedente in un procedimento di identificazione è sempre consigliabile
utilizzare tutta la conoscenza a-priori che si ha del modello da identificare.
5.1.1
Eliminazione delle componenti continue, delle derive o delle componenti
stagionali
Una delle ipotesi utilizzate nel ricavare i risultati dell’identificazione è la stazionarietà dei processi.
Questo implica un primo trattamento dei dati per verificare, e quindi eliminare un’eventuale
presenza di stagionalità. Per quanto concerne il valor medio è sufficiente depolarizzare ingresso e
uscita e lavorare quindi con segnali a valor medio nullo:
y ′ (k) = y(k) −
N
1 X
y(i)
N
i=1
N
1 X
u (k) = u(k) −
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
la sua derivata prima non abbia media nulla. Anche in questo caso, è buona norma eliminare
105
106
G. Antonelli - IF (2008)
questa deriva dai dati applicando ai dati stessi un filtro derivatore:
y ′ (k) = µy ′ (k − 1) + y(k) − y(k − 1)
u′ (k) = µu′ (k − 1) + u(k) − u(k − 1),
in cui il parametro µ, costante del filtro, deve essere scelto con molta attenzione. Valori tipici di
µ sono µ ∈]0, 0.5]. Diversi filtri possono ovviamente essere usati allo scopo.
5.1.2
Scalatura degli ingressi e delle uscite
Nella Sezione 4.5 è stato ricavato il regressore per un modello ARX o AR. È immediato osservare
come il regressore contenga elementi dipendenti dall’ingresso ed elementi dipendenti dall’uscita,
questi formano delle colonne, rispettivamente dipendenti dall’ingresso e dall’uscita, per il regressore
impilato. Nei casi pratici di identificazione all’ingresso e all’uscita corrispondono delle variabili
fisiche, misurate tramite sensori e quindi dotate di una loro unità di misura. Può accadere,
quindi, che, benchè il problema sia stato correttamente impostato, ingressi e uscite abbiano
valori numerici molto diversi fra di loro. La conseguenza è un malcondizionamento mumerico
del regressore. È possibile in questo caso scalare una delle due grandezze moltiplicandola o
dividendola per una costante e rendere cosı̀ il problema meglio condizionato numericamente.
Questa operazione modifica il valore del guadagno del modello identificato per cui è poi
necessario scalare corrispondentemente i coefficienti identificati âi (b̂i ).
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.
5.1.3
Scelta del modello
Utilizzare le informazioni a-priori permette di ridurre la complessità del modello da identificare. In
alcuni casi è possibile scrivere le equazioni dinamiche del sistema e quindi conoscere esattamente
le equazioni alle differenze che lo descrivono. In altri casi è noto un ordine minimo del sistema o
la presenza di rumore colorato. Nella descrizione dei modelli lineari stazionari stocastici si è visto
come il modello ARMAX comprenda come casi particolari molti dei modelli presentati, è altresı̀
evidente come un modello ARX possa beneficiare di algoritmi di identificazione che sfruttano la
sua proprietà di linearità nei parametri; è quindi preferibile, laddove sia noto, limitare la scelta
del modello al meno complesso possibile.
Presenza di un integratore puro
Nel caso in cui il sistema da identificare presenti un integratore è bene utilizzare questa conoscenza
del modello. Per questo motivo può essere utile imporre la struttura del modello ad essere un
ARIMA invece di un ARMA che, come noto, contiene l’ARIMA come caso particolare. Questa
situazione può verificarsi quando si scrivono le equaizoni alle differenze rispetto ad una variabile,
ad esempio un’accelerazione, e si misura la sua integrata, la velocità; questo legame fisico può
essere preso in considerazione imponendo la presenza dell’integratore piuttosto che lasciandone
identificare la sua presenza all’algoritmo.
107
G. Antonelli - IF (2008)
5.1.4
Determinazione del ritardo ingresso-uscita
Nel caso in cui non si abbia conoscenza a-priori del ritardo ingresso-uscita la scelta più ovvia è
di porre il ritardo d = 0. Se, per ipotesi, fosse stato d > 0, si sarebbe identificato un valore di b̂1
piccolo rispetto a b̂2 dove si può convenzionalmente intendere piccolo come:
b̂1 < 0.15 b̂2 a questo punto si potrebbe ripete l’identificazione ponendo d = 1 e procedendo iterativamente
fino ad individuare il ritardo effettivo d.
Un altro metodo per individuare il ritardo ingresso-uscita consiste nell’analizzare la stima
numerica della sua risposta impulsiva (si veda la Sezione 4.10.1 e succ.) ed analizzarne i coefficienti
w(k). Anche in questo caso, se:
|w(i)| < 0.15 |w(j)|
∀i < j
si può 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
segnale e situazioni ambigue possano presentarsi con estrema facilità.
5.1.5
Determinazione dell’ordine del sistema
Le indicazioni fornite nel Capitolo precedente sulle formule per determinare l’ordine del sistema
vanno interpretate alla luce della inevitabile presenza di rumore di misura. È infatti possibile,
se non frequente, che le formule FPE, AIC e MDL non forniscano un minimo in corrispondenza
dello stesso sistema. La stessa formula, inoltre, può dare minimi multipli o cambiare il minimo
al variare del numero di punti N . Vale la pena di ribadire che le analisi sull’ordine del sistema
possono essere inficiate anche da errori grossolani quali, ad esempio, la scelta di un ingresso non
eccitante.
L’identificazione si conferma come un procedimento fatto di tentativi che portano, con l’ausilio
di opportuni strumenti matematici, ad inviduare un modello spesso frutto di diversi compromessi.
Esempio : caso numerico per la scelta dell’ordine 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ò 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.
108
G. Antonelli - IF (2008)
Si eseguono 25 identificazioni con l’algoritmo 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.
L’indice J ottenuto è:
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 è 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ò quindi
ipotizzare che il sistema abbia almeno un campione di ritardo fra ingresso e uscita. Un’altro modello
sensibilmente diverso rispetto agli altri identificati è 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
l’ARX(5,5,0). Se facessimo affidamento solo sull’indice per determinare l’ordine, quindi, dovremmo
concludere che è 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, è numericamente molto vicino a
J. La formula, però, 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:
Â(z −1 )
B̂(z −1 )
=
=
1 − 0.8z −1 + 0.07z −2
10−16 + 1z −1 + 0.3z −2 ≈ z −1 + 0.3z −2 .
quindi numericamente eccellenti.
Se si fosse utilizzata la formula AIC si avrebbe avuto:
na \nb 1
2
3
4
5
1
0.0232 0.0187 0.0066 0.0075 0.0090
2
0.0347 0.0106 0.0075 0.0090 0.0105
3
0.0464 0.0084 0.0090 0.0105 0.0120
4
0.0579 0.0091 0.0105 0.0121 0.0136
5
0.0695 0.0106 0.0120 0.0135 0.0150
in cui il minimo viene raggiunto per ARX(1,3,0). La formula MDL in questo caso fornisce lo stesso
minimo, si ha infatti:
na \nb 1
2
3
4
5
1
0.0800 0.0645 0.0229 0.0261 0.0312
2
0.1200 0.0365 0.0260 0.0312 0.0364
3
0.1601 0.0289 0.0312 0.0364 0.0416
4
0.2001 0.0313 0.0364 0.0416 0.0469
5
0.2401 0.0366 0.0416 0.0467 0.0518
ed i valori identificati sarebbero:
Â(z −1 )
B̂(z −1 )
=
=
1 − 0.71908z −1
7 · 10−4 + 1.0005z −1 + 0.38153z −2 ≈ 1.0005z −1 + 0.38153z −2 .
109
G. Antonelli - IF (2008)
La differenza è significa sia rispetto al modello scelto con la formula FPE che con il modello che
ha generato i dati, in questo caso, infatti, l’ordine del sistema è 1, si ha cioè 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 5.1, si può 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
1
2
3
4
nb
5
Figura 5.1: Formula MDL al variare dell’ordine na e nb , il minimo è evidenziato.
Si cerca ora di valutare l’effettiva differenza fra i modelli paragonando graficamente le risposte
indiciali. La Figura 5.2 mostra la risposta indiciale simulata.
5
4
y
3
2
1
0
−1
0
10
20
30
40
50
k
Figura 5.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ò fare riguarda il modello scelto come modello generatore dei dati, la sua
dinamica dominante, infatti, è 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
110
G. Antonelli - IF (2008)
individuare un modello più semplice rispetto alla formula FPE, ed ancora più semplice rispetto al
solo indice J, ma che ha identificato le caratteristiche principali dei dati.
♦
5.1.6
Scelta dell’algoritmo
La scelta dell’algoritmo da utilizzare è strettamente legata al modello scelto. È evidente che
per i modelli che mostrano un legame lineare fra errore e parametri, l’AR e l’ARX, l’utilizzo
dei Minimi Quadrati, pesati o meno, sia la scelta più 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à dei dati. Quando si lavora con modelli quali l’ARMA,
l’ARMAX o l’OE è evidente che il problema di minimizzare l’errore quadratico medio diventi un
problema di minimizzazione multivariabile non-lineare. Richiede, quindi, algoritmi appositi quali,
ad esempio, l’algoritmo 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.
5.1.7
Inizializzazione degli algoritmi ricorsivi
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, l’errore quadratico medio. Questo
implica che il risultato finale, a parità di dati e di guadagni algoritmici, è in genere funzione
delle condizioni iniziali per i coefficienti âi , b̂i e ĉi . L’assenza 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 è 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 è posizionato in un intorno del punto (−0.7, j0). La mappatura (2.68)
z = esT
permette di concludere che il polo dominante, nel piano complesso tempo-discreto, è 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.
5.1.8
5.2
Validazione
Magellan
111
G. Antonelli - IF (2008)
Magellan, mostrato in Figura 5.3, è un robot mobile di tipo uniciclo commercializzato dalla iRobot
(www.rwii.com). È anolonomo, e può essere controllato assegnando due grandezze desiderate al
controllo di basso livello: la velocità di avanzamento e la velocità angolare. È compito dell’utente,
usando la sensoristica del robot, chiudere un ulteriore anello di controllo per gestire al meglio la
sua mobilità.
Figura 5.3: Magellan.
Dai primi esperimenti compiuti sul robot si è evidenziato un comportamento dinamico poco
efficace. In particolare, fornendo come ingresso al sistema la velocità lineare desiderata vd , l’uscita
misurata v assume i valori schematizzati nella Figura 5.4. È evidente una sovraelongazione
eccessiva che inficia il comportamento globale del robot in termini di aderenza al percorso
assegnato. Una descrizione accurata della relazione ingresso-uscita potrebbe essere possibile,
siamo in presenza di equazioni meccaniche apparentemene semplici. In realtà questa strada non
è percorribile, sia per la presenza dell’attrito, sia per la presenza di parametri soggetti a forti
variazioni nel tempo (es., la pressione delle ruote), sia per l’impossibilità di accedere ai guadagni
del controllo d’asse del costruttore.
Scopo di questa Sezione è quello di mostrare, passo per passo, le operazioni da fare per
l’identificazione di un sistema reale.
Determinazione ingresso-uscita
In questo caso la determinazione è semplice, l’ingresso è vd e l’uscita v. Potremmo anche pensare
ad un modello accoppiato in cui individuare due ingressi vd , ωd e due uscite v, ω. Sulla base di
esperimenti opportuni si è verificato un sostanziale disaccoppiamento fra i due moti. Si decide
quindi di procedere con il modello SISO (Single-Input Single-Output).
112
G. Antonelli - IF (2008)
dati misurati
0.6
m/s
0.5
0.4
0.3
0.2
0.1
0
0
50
100
150
campioni
200
Figura 5.4: Ingresso di velocità lineare a gradino e corrispondente uscita per Magellan.
Vincoli di attuazione per esperimenti
È noto come la forma d’onda dell’ingresso sia decisiva per il successo dell’identificazione. In questo
caso, nel progettare l’esperimento, si deve tener conto della presenza di ostacoli, della saturazione
degli attuatori, dei fenomeni di attrito a basse velocità, ecc.
Si decide quindi di sollecitare il sistema con un gradino e di valutarne qualitativamente la
risposta. Il nostro desiderio sarebbe di poter visualizzare la risposta al gradino nel tempo continuo
per poi decidere come campionare i dati. Poichè è possibile acquisire dati solo tramite PC si ha a
disposizione dei dati tempo discreto. Si effettuano quindi degli esperimenti alla massima frequenza
tollerabile dall’hardware disponibile: 50 Hz, decidendo di campionare successivamente. Si fanno
diversi esprimenti per diversi livelli di ingresso. La risposta mostra un comportamento lineare
del sistema; in caso negativo l’identificazione, con queste tecniche, non poteva essere effettuata.
Cicli limite
In realtà, si può osservare come, estinto il transitorio, il sistema sia soggetto a cicli limite (in
particolar modo sulla velocità angolare). Questo comportamento, probabilmente causato da
fenomeni di attrito, inficerà il procedimento di identificazione.
Correzione manuale dei dati
È ovviamente un’operazione estremamente delicata. In alcuni casi, è possibile modificare a
mano i dati se sussiste il fondato motivo che uno o più dati siano soggetti ad errori in fase
di acquisizione. Nel nostro caso possiamo osservare un comportamento strano; il primo gradino
provoca una sovraelongazione del 50%, il secondo, che riporta a zero la vd non ha prasticamente
sovraelongazione. Il motivo risiede nel fatto che il controllo di basso livello attiva i freni meccanici
quando riceve in ingresso riferimenti nulli. Per non corrompere l’identificazione la parte finale dei
dati va eliminata.
113
G. Antonelli - IF (2008)
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ò presentarsi il caso che il loro valore
numerico sia notevolmente differente fra loro a causa della scelta delle unità di misura. Questo
porta ad un regressore numericamente sbilanciato con conseguenti errori numerici di stima dei
parametri. Può 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 è necessaria.
Conoscendo la banda del sistema è 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ò 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 all’inevitabile ritardo introdotto da filtri passa-basso utilizzando dei
filtri anticausali (es., il comando filtfilt del Matlab) In Figura 5.5, si può osservare il segnale
filtrato.
dati filtrati
0.6
m/s
0.5
0.4
0.3
0.2
0.1
0
0
50
100
150
campioni
200
Figura 5.5: Ingresso di velocità lineare a gradino e corrispondente uscita per Magellan, dati
filtrati.
In teoria, un sovracampionamento non dovrebbe avere problemi se non quello di addensare i
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 nell’implementazione degli algoritmi
di identificazione e nella successiva simulazione del sistema. Un sottocampionamento, d’altra
parte, porterebbe a perdere la dinamica del sistema. Non esiste una regola precisa nella scelta
114
G. Antonelli - IF (2008)
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 all’origine o al punto (1, 0j). Nel caso in esame, si è scelto di
campionare con passo 4, la nuova frequenza di campionamento è quindi di 12.5 Hz.
Un’ultima modifica da fare ai dati riguarda l’ingresso; 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 5.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 5.6: Ingresso di velocità lineare a gradino e corrispondente uscita per Magellan, dati
post-trattamento.
In questo caso è risultata agevole la stima della banda del sistema grazie alla forma particolare
dell’ingresso. Nei casi in cui, dalla semplice osservazione della serie storica, non è possibile questa
stima si può 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 è 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 [14] vengono forniti dei valori tipici di na per differenti sistemi fisici. Il valore di nb è
solitamente scelto ≥ 2 per prendere in considerazione anche i ritardi frazionali.
Inizializzazione degli algoritmi
Si decide di utilizzare una procedura ricorsiva, è quindi necessario inizializzare la stima iniziale
dei parametri e la matrice di covarianza. Sarebbe possibile assegnare un valore casuale a θ 0 , in
115
G. Antonelli - IF (2008)
realtà, poichè abbiamosi hanno informazioni macroscopiche sulla banda e sulla sovraelongazione
del sistema sarebbe più utile inizializzare l’algoritmo con un valore ragionevole dei parametri. Si
decide quindi di posizionare i poli nel punto (0.5 ± 0.5j), cui corrispondono i valori
a1 = −1
a2 = 0.5
e di prendere bi nulli.
Il valore di V0 è influenzato da molti fattori. Una scelta rigorosa potrebbe essere quella di
legarlo al regressore. Spesso però questo può portare ad una sottostima del suo valore, o meglio,
l’algoritmo potrebbe beneficiare di un valore più alto e convergere più velocemente. A questo
si aggiunga che la traiettoria usata per l’identificazione non è eccitante e, esaurito il transitorio
inziale, non c’è modo di aggiornare i parametri. Dopo alcuni tentativi si fissa V0 = 500I.
Prima identificazione
Si è deciso per un algoritmo WRLS con fattore di oblio µ = 0.99. A valle della identificazione è
bene verificare il valore del guadagno (della sua norma, in questo caso) nel corso dell’identificazione,
un valore troppo alto di µ, infatti, o una traiettoria poco eccitante, farebbero decrescere il valore
del guadagno a zero terminando, di fatto, l’aggiornamento della stima dei paramtri.
Si sono identificati i valori:
a1 = −1.4179 a2 = 0.66693 b1 = 0.10068 b2 = 0.10068 b3 = 0.049341
È ora necessario validare questi valori o ripetere il procedimento.
Validazione
Il problema di identificazione dei parametri è stato ricondotto ad un problema di ottimizzazione.
La cifra di merito, l’errore quadratico medio, calcolata su diversi dati campionati alla stessa
frequenza, ma non filtrati, ha dato come risultato:
J = 0.00037
Apparentemente quindi, l’identificazione è andata a buon fine, come può essere verificato dal
grafico della predizione in Figura 5.7.
Anche la stima della varianza della stima dei parametri ha un valore numerico basso, in norma:
ˆ
kV ar[θ̂]k = 0.013. In realtà 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 5.8, mostra che sia la dinamica sia la sovraelongazione
sono sottostimate. Infine, il test di Anderson non è soddisfatto e questo comporta un errore
colorato indicativo della presenza di dinamica non identificata nel modello. La figura 5.9 mostra
l’autocorrelazione dell’errore e conferma questi commenti.
Seconda identificazione
116
G. Antonelli - IF (2008)
uscita misurata (x) e predetta (o)
0.6
m/s
0.5
0.4
0.3
0.2
0.1
0
0
20
40
60
campioni
Figura 5.7: Velocità misurata e predetta su traiettoria differente da quella di identificazione,
modello ARX(2,3).
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, l’autocorrelazione dell’errore di predizione mostra un residuo sostanzialmente
bianco (figura xx), il test di Anderson è soddisfatto e la simulazione mostra una riproduzione
fedele della risposta al gradino del sistema (figura 5.10). La stima della varianza della stima dei
ˆ
parametri ha un valore numerico, in norma: kV ar[θ̂]k = 0.056.
La f.d.t. identificata ha quindi poli in poli in
p1 = 0.79 − 0.41j
p2 = 0.79 + 0.41j
p3 = −0.55.
Si noti come il procedimento di identificazione può richiedere molte iterazioni. In molti casi non
è evidente quando fermarsi nel progressivo aumento della complessità del modello. L’indicazione
fornita dalla cifra di merito è solo indicativa e non deve essere intepretata come l’unico elemento
di scelta. In [2, 14, 16] vengono proposti dei possibili criteri, con forti connotazioni euristiche,
per determinare un criterio di scelta del modello.
5.3
MIB30
Il MIB30 è una media pesata del prezzo dei primi 30 titoli per capitalizzazione quotati alla
Borsa di Milano. Il suo andamento nel tempo fornisce un’indicazione sull’andamento medio
dei prezzi e quindi, banalizzando, sullo stato della Borsa italiana. Non è l’unico indicatore,
lo stesso prezzo ufficiale di un titolo, in quanto media degli ultimi n contratti è una sorta di
117
G. Antonelli - IF (2008)
uscita misurata (x) e simulata (o)
0.6
m/s
0.5
0.4
0.3
0.2
0.1
0
0
20
40
60
campioni
Figura 5.8: Velocità misurata e simulata su traiettoria differente da quella di identificazione,
modello ARX(2,3).
indicatore. Una corrente dell’economia finanziaria, nota come Analisi Tecnica [17], propone di
studiare l’andamento di un titolo osservandone il grafico. Esistono molte tecniche differenti, le
candele giapponesi, gli istogrammi, i grafici punto-croce, tutti hanno in comune l’osservazione
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 l’opportunità di identificare la f.d.t. che lega dei possibili ingressi, ad
un’uscita 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 5.11 è riportato l’andamento del MIB30. In Figura 5.12, le sue variazioni giornaliere.
Analizziamo innanzitutto questa serie storica, la sua media, nell’intervallo considerato è di −66
punti, cioè circa il 3% della variazione massima e lo 0.16% del prezzo medio. Valutiamone la
covarianza, riportata in Figura 5.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 è 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 è stato ottenuto con una serie storica di due mesi sui titoli
Fiat e Seat Pagine Gialle nonché su una serie di 2 anni del titolo Compaq quotato alla borsa di
New York. Il lettore può esercitarsi a identificare le possibili combinazioni di dati e costruire il
corrispondente preditorre. Probabilmente otterrà un valore della cifra di merito molto bassa, ma
la stima del prezzo risulterà sempre in ritardo di un giorno rispetto al prezzo corrente rendendo
di fatto inutili i risultati ottenuti.
118
G. Antonelli - IF (2008)
1
0.5
0
−0.5
−1
0
50
100
Figura 5.9: Autocorrelazione dell’errore di predizione, modello ARX(2,3).
Il fatto che un’identificazione sia fallita non significa, ovviamente, che il sistema non sia
identificabile. Probabilmente esistono delle deboli dinamiche su specifici intervalli temporali.
In particolare, per intervalli molto lunghi (molti anni) è difficile pensare di poter identificare una
dinamica attendibile a causa delle profonde trasformazioni al contorno del sistema Borsa: mezzi
di produzione e comunicazione, cultura, guerre, ecc.
In letteratura esiste una teoria dei prezzi nota come Random Walk Theory che giunge ad
un conclusione simile alla nostra, il prezzo di un titolo è fondamentalmente l’integrale di un
rumore, ricorrendo solo a concetti di economia ed in particolare alla teoria dell’Efficient Market
Hypothesis. Per correttezza, è da notare come la comunità degli analisti tecnici rifiuti decisamente
questa possibilità con argomentazioni euristiche varie [17].
Il risultato ottenuto dalla Analisi Tecnica è del resto molto debole, facendo un grande uso di
medie e derivate di ogni tipo (Media Mobile, Relative Strength Index, Momento, Rate of Change,
Commodity Channel Index, ecc.) utilizzando un approccio statistico si è verificata l’esistenza di
una polarizzazione marginale a favore dell’Analisi Tecnica stessa.
5.4
Canale GSM
1
Il GSM (Global System for Mobile “communication”) è 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 è 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ù usato è il cosiddetto NB (Normal Burst) costituito da bit
informativi intervallati da bit di addestramento il cui scopo è proprio quello di identificare il fading
che insiste sul segnale. La figura 5.14 mostra il pacchetto di 26 bit di addestramento circondati
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 è possibile demodulare il pacchetto informativo
1
Esempio tratto dall’elaborato di Gianfranco Miele e Daniele Pinchera
119
G. Antonelli - IF (2008)
uscita misurata (x) e simulata (o)
0.6
m/s
0.5
0.4
0.3
0.2
0.1
0
0
20
40
60
campioni
Figura 5.10: Velocità misurata e simulata su traiettoria differente da quella di identificazione,
modello ARX(3,3).
del segnale. Dal punto di vista applicativo il primo pacchetto informativo è memorizzato, poi il
canale è identificato tramite il pacchetto di addestramento ed infine primo e secondo pacchetto
informativo sono demodulati. Il pacchetto di addestramento è 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 sull’algoritmo 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 5.15 è riportato il pacchetto di addestramento usato
in questo esempio.
Il segnale ricevuto è modellato come una sequenza di bit ottenuti tramite un modello ARX:
y(k) = G(z)u(k) + ζ(k)
(5.1)
in cui G(z) è dato dalla convoluzione fra l’ISI e il fading:
G(z) = Gi (z) ∗ Gf (z)
In questo esempio l’ISI è rappresentato da
Gi (z) = 0.2 + z −1 + 0.2z −2
mentre per il fading è possibile modellizzare il comportamento dei tipici ambienti (rurale, cittadino...)
sulla base di misure sperimentali/analisi statistiche; in particolare per ottenere l’omologazione
un dispositivo deve dimostrare di comportarsi bene in un certo numero di situazioni standard,
tabellate nelle specifiche GSM, che stiamo considerando in questo esempio (si veda Tabella 5.1).
Considerando, ad es., il fading cittadino, la G(z) da identificare nel nostro esempio è:
G(z) = 0.2 + 0.92z −1 − 0.22z −2 − 0.18z −3 − 0.02z −4 .
Nelle figure 5.16 e 5.17 sono riportate le sequenze rispettivamente inviate e ricevute attraverso
il canale GSM simulato; si è considerato un rumore additivo di varianza 10−2 .
120
G. Antonelli - IF (2008)
MIB30
4
4.6
x 10
4.4
punti
4.2
4
3.8
3.6
3.4
0
20
40
giorni
60
Figura 5.11: Andamento del MIB30 su un intervallo di circa due mesi.
Gf (z)
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
Tabella 5.1: Tipici valori della Gf (z) per diversi ambienti.
Acquisendo i bit e costruendo un regressore impilato per la sequenza di bit di addestramento
(noti) è possibile risalire ai coefficienti della G(z). Questi possono poi essere utilizzati per
equalizzare la sequenza dei bit informativi (non noti).
121
G. Antonelli - IF (2008)
variazioni MIB30
2000
punti
1000
0
−1000
−2000
0
20
40
giorni
60
Figura 5.12: Andamento delle variazioni del MIB30 su un intervallo di circa due mesi.
covarianza variazioni MIB30
1
[−]
0.5
0
−0.5
−1
0
50
100
150
giorni
Figura 5.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
3
58
26
58
3
8.25
Figura 5.14: Pacchetto normale per il sistema GSM.
122
G. Antonelli - IF (2008)
sequenza di addestramento
1
0
0
5
10
15
campioni
20
25
Figura 5.15: Sequenza di addestramento per il canale GSM.
sequenza inviata
1
0
0
200
400
campioni
Figura 5.16: Sequenza inviata.
600
123
G. Antonelli - IF (2008)
sequenza ricevuta
1
0
0
200
400
campioni
Figura 5.17: Sequenza ricevuta.
600
Capitolo 6
Il problema della stima
La determinazione di una grandezza incerta è un problema ricorrente in molti campi dell’ingegneria
e della scienza in generale. Basandosi su misure e modelli matematici si cerca quindi di stimarne
il valore. In questo contesto si farà riferimento ad un caso particolare: la stima di una grandezza
di un sistema dinamico tempo-discreto. È quindi un segnale (variabile) tempo-variante. Il caso
particolare di stima di una grandezza costante di un sistema dinamico (parametro) prende il nome
di Identificazione Parametrica ed è stato affrontato nel capitolo precedente.
6.1
Stimatori
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).
(6.1)
La stima di una grandezza tempo-variante è, ovviamente, funzione del tempo k. Più precisamente,
supponendo di avere a disposizione un insieme di N dati, la stima può essere riscritta come θ̂(k|N ),
vale a dire la stima al passo k disponendo dei dati fino al passo N . Si distinguono diversi casi:
k > N Problema di predizione, cerco di stimare il valore di una grandezza per istanti
futuri;
k = N Problema di filtraggio, utile essenzialmente per stimare grandezze non accessibili
alla misura o per ripulire dal rumore di misura;
1 < k < N Problema della interpolazione (smoothing), per filtraggi anticausali dei dati.
6.1.1
Caratteristiche degli stimatori
Definiamo il valor vero della grandezza da stimare come θ ◦ . Ogni esperimento che fornisce un
insieme di dati è un esperimento casuale. In questo senso, ogni insieme dei dati è un vettore
aleatorio funzione dell’esito 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.
124
125
G. Antonelli - IF (2008)
Non polarizzazione
Uno stimatore si definisce non polarizzato, o anche corretto o non deviato, se:
E[θ̂(k)] = θ ◦ .
(6.2)
Lo stimatore, quindi, non presenta nessun errore sistematico di stima.
Minima varianza
Fra due stimatori non polarizzati è certamente migliore lo stimatore con minore varianza, cioè
lo stimatore con minore dispersione della stima. Poichè la varianza, nel caso vettoriale, è una
matrice, il confronto fra due stimatori si effettua sulla differenza fra le due matrici. La matrice
varianza della stima θ̂ 1 : V ar[θ̂ 1 ] è maggiore della matrice varianza della stima θ̂ 2 : V ar[θ̂ 2 ] se:
V ar[θ̂ 1 ] − V ar[θ̂ 2 ] ≥ O
(6.3)
quindi se la loro differenza è semidefinita positiva.
Si noti che se questa relazione non sussiste non si possono trarre conclusioni sulla grandezza
relativa delle varianze. Se, al contrario, è soddisfatta, gli elementi diagonali della prima sono
strettamente maggiori della seconda; questi sono le varianze dei singoli elementi da stimare.
La varianza di uno stimatore è comunque limitata inferiormente. Intuitivamente è facile
comprendere come la presenza di disturbi nella sorgente dei dati infici la precisione con cui si
può stimare la grandezza in esame indipendentemente dalla bontà dello stimatore (si veda la
Sezione 4.6.3).
Caratteristiche asintotiche
Si supponga che il valor vero della grandezza da stimare θ ◦ sia costante. Se i dati disponibili
crescono col tempo ci aspettiamo che il nostro stimatore fornisca risultati sempre migliori, ci
aspettiamo cioè che la sua varianza diminuisca all’aumentare dei dati disponibili:
lim V ar[θ̂(N )] = O.
N →∞
Questo implica la cosiddetta convergenza in media quadratica definita come:
2 ◦
lim E θ̂(N ) − θ = 0,
N →∞
spesso scritta come
l.i.m.
θ̂(N ) = θ ◦ .
N →∞
(6.4)
(6.5)
(6.6)
Poichè la stima è funzione di un esito la sua convergenza al crescere dei dati non è assicurata.
Definendo come A l’insieme degli esiti per cui la stima converge al valore vero e S l’insieme 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 è sufficiente che l’insieme S − A abbia misura nulla).
Uno stimatore per cui sussista la convergenza quasi certa si dice consistente.
126
G. Antonelli - IF (2008)
Studiare la caratteristica asintotica di uno stimatore ha senso per θ ◦ costante. In questo caso,
infatti, l’aumento dei dati dovrebbe portare nuove informazioni utili sulla stessa grandezza. Se
θ ◦ fosse tempo-variante, θ ◦ (k), non potremmo più 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 ◦
E θ̂(k|k − l) − θ (k) ≤ c
(6.7)
con l e c scalari positivi.
6.2
Osservatore di Luenberger
In questo paragrafo verrà presentato l’osservatore di Luenberger (osservatore asintotico), uno
stimatore dello stato per sistemi lineari. Si farà il caso di sistemi dinamici tempo-discreti. Il
modello di riferimento è deterministico:
x(k + 1) = Φx(k) + Γ u(k)
(6.8)
y(k) = Hx(k)
dove x ∈ IRn è lo stato, y ∈ IRm sono le uscite, u ∈ IRp gli ingressi, le matrici sono di dimensione
opportuna: Φ ∈ IRn×n , Γ ∈ IRn×p , e H ∈ IRm×n .
La grandezza da stimare x(k) è lo stato del sistema, è quindi tempo-variante. Il motivo per
cui si ricorre alla stima è che spesso non tutti gli stati sono fisicamente accessibili, oppure il costo
per l’aggiunta 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).
(6.9)
(6.10)
L’uscita dell’osservatore, dopo un transitorio, deve convergere numericamente al valore dello stato.
Poichè lo stato è tempo-variante la loro differenza si manterrà limitata nel tempo. Questo deve
valere per ogni ingresso e per ogni stato iniziale sia dell’osservatore che del sistema dinamico (in
generale x(0) non è noto). In Figura 6.1 uno schema dell’osservatore.
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),
(6.11)
affinchè sia indipendente dall’ingresso è necessario che sia B = Γ . Si noti come questa posizione
sia stringente, è richiesta la conoscenza esatta dell’influenza dell’ingresso sul sistema per poterla
compensare esattamente. Si ottiene quindi:
e(k + 1) = x(k + 1) − w(k + 1) = (Φ − GH) x(k) − F w(k).
(6.12)
127
G. Antonelli - IF (2008)
y
u
G
x
w
obs
B
Figura 6.1: Schema dell’osservatore di Luenberger.
Si sceglie F tale da fornire un sistema omogeneo:
F = Φ − GH
(6.13)
in questo modo la dinamica dell’errore è caratterizzata dell’equazione:
e(k + 1) = F e(k)
(6.14)
e(k) = F k e(0).
(6.15)
ossia dall’evoluzione:
Si deve quindi richiedere che gli autovalori della matrice dinamica F siano tutti all’interno del
cerchio di raggio unitario per garantire che l’errore converga a zero.
I gradi di libertà del progettista sono G e F . Si potrebbe pensare di prendere G = O e F = Φ.
Questa soluzione ha due inconvenienti fondamentali, può essere utilizzata solo per sistemi stabili
e l’evoluzione dell’errore dell’osservatore evolve con la stessa dinamica del sistema da osservare.
Questo significa che, a causa dei differenti stati iniziali, i valori dell’osservatore diventano utili
quando il transitorio del sistema si è estinto.
Il procedimento da seguire è quello di assegnare gli autovalori di F , che equivale ad assegnare
l’evoluzione dell’errore. 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 all’interno del cerchio di raggio unitario:
λd = {λd,1 , . . . , λd,n } .
(6.16)
da questi si ricavano i coefficienti del polinomio caratteristico desiderato:
n
Y
(λ − λd,i ) = λn + d1 λn−1 + . . . + dn .
(6.17)
i=1
A questo punto è fissato il polinomio caratteristico che è dato da:
|λI − (Φ − GH)|
(6.18)
128
G. Antonelli - IF (2008)
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à dei polinomi, si potrebbe
pensare di ricavare i Gi,i tramite un sistema di equazioni di dimensioni opportune. In realtà ciò
non è in generale possibile, le incognite, infatti, dopo l’operazione 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ò
essere trovata in Appendice A.7. Nel seguito, per semplicità di notazione, si farà 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 λn−1 + . . . + an .
(6.19)
Si calcoli la matrice:
T = hT
ΦT hT

an−1
 an−2
n−1 T 
. . . ΦT
h 
 ...
 ...
1
an−2
an−3
...
...
0
. . . a1
... 1
... ...
... ...
... 0

1
0 

...
,
...
0
(6.20)
della quale è necessario verificarne il rango pieno, che si riduce a verificare il rango della prima
matrice che è proprio la trasposta della matrice di osservabilità del sistema (dettagli in A.7).
Definendo
d = [ dn
a = [ an
. . . d1 ]T
. . . a1 ]T
è possibile scrivere la formula di Ackermann:
g = −T -T (a − d) .
(6.21)
Questo determina univocamente l’incognita g, sostituendola nella (6.13) si ottiene la matrice
F.
Esempio : nonlinearità degli elementi Gi,i
Data la matrice dinamica Φ ∈ IR3×3 :
e la matrice delle uscite H ∈ IR2×3 :

.2
.7
.2

.3
.2 
.7
1 0
0 1
0
,
0
.6
Φ =  .1
0
H=
129
G. Antonelli - IF (2008)
la matrice G cercata ha dimensioni 3 × 2:

G1,1
G =  G2,1
G3,1

G1,2
G2,2  .
G3,2
Calcolando l’espressione del polinomio caratteristico per l’osservatore (6.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ò essere facilmente, e sistematicamente, trattata tramite il principio di identità dei polinomi
per poter assegnare gli autovalori desiderati dell’osservatore (6.17).
♦
Esercizio
Si calcoli l’espressione (6.18) per un sistema dinamico di dimensioni qualsiasi con una sola uscita
(H è una matrice riga) commentando il legame ottenuto fra le incognite Gi,i .
Scelta degli autovalori di F
Ciò che si richiede ad un osservatore è di convergere il più velocemente possibile al valore dello
stato. Non ci sono limiti teorici nella scelta della posizione degli autovalori ne energetici, considerando
che l’osservatore è un emulatore, implementato al calcolatore, del sistema reale. I limiti sono
dovuti alla inevitabile presenza di rumore sulla misura.
Osservatore ridotto
La formulazione appena fornita dell’osservatore prevede di stimare tutto lo stato. Nel caso in
cui parte dello stato sia accessibile è possibile partizionare il vettore di stato ed implementare i
risultati ottenuti a sottoinsiemi del sistema originario [9].
(estendere guardando anche appunti zanasi)
Riformulazione in termini di retroazione
L’equazione (6.9), alla luce della (6.13) può essere riscritta come:
w(k + 1) = Φw(k) + Bu(k) + G (y(k) − Hw(k)) ,
(6.22)
che mette in evidenza come l’osservatore sia costituito da una componente che emula il processo
più una retroazione, pesata tramite G, sull’uscita misurabile per ipotesi. In molti testi l’osservatore
viene presentato direttamente in questa forma. xxx schema a blocchi.
130
G. Antonelli - IF (2008)
Sulla conoscenza del modello
L’implementazione di un buon osservatore richiede un’accurata conoscenza del modello matematico.
La procedura di progetto dell’osservatore, infatti, si basa sulla compensazione degli ingressi e
sulla conoscenza delle matrici dinamiche e di uscita del sistema al fine di ottenere un sistema
omogeneo nell’errore. La conoscenza inesatta di queste matrici ha come conseguenza l’immissione
di disturbi nella dinamica dell’errore. In pratica, quindi, l’errore 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à di robustezza ed insensibilità
alle variazioni parametriche tipiche della retroazione, si noti però che il sistema utilizza una
combinazione lineare dello stato (l’uscita) per estrarne informazioni e che la compensazione degli
ingressi è fatta a ciclo aperto.
In dettaglio, si consideri l’evoluzione dell’errore:
e(k + 1) = (Φ − GH) x(k) − F w(k),
in cui la matrice B non compensa perfettamente Γ e la conoscenza di Φ è soggetta ad un errore,
mentre supporremo H noto:
F = Φ̂ − GH = Φ − Φ̃ − GH
B = Γ̂ = Γ − Γ̃
l’evoluzione dell’errore è quindi determinata dall’equazione:
e(k + 1) = F e(k) + Φ̃w(k) + Γ̃ u(k).
Procedura operativa
I passi per la progettazione di un osservatore asintotico sono:
1. porre B = Γ ;
2. determinare gli autovalori desiderati assegnando il vettore d;
3. calcolare la matrice di trasformazione lineare T tramite la (6.20);
4. calcolare g tramite la (6.21);
5. calcolare F tramite la (6.13).
Esempio : stima della corrente in un ramo di un circuito RLC
xxx
♦
131
G. Antonelli - IF (2008)
6.3
Il filtro di Kalman
Dato il modello discreto:
x(k + 1) = Φx(k) + Γ u(k) + Γ 1 w(k)
y(k) = Hx(k) + v(k)
(6.23)
dove x ∈ IRn è 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: Φ ∈ IRn×n , Γ ∈ IRn×p ,
Γ 1 ∈ IRn×q e H ∈ IRm×n . 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)wT (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).
Si definisce x̂(k) la stima dello stato all’istante k usando i dati fino all’istante k e x(k) la stima
dello stato all’istante k usando i dati fino all’istante k − 1. Si noti che x̂(k − 1) 6= x(k). Si veda
la Figura 6.2 per una rappresentazione grafica delle grandezze definite.
Si definisca P (k) la stima della covarianza dell’errore al passo k ottenuta utilizzando i dati
fino al passo k: P (k) = E[x̃(k)x̃T (k)], con x̃(k) = x(k) − x̂(k). Si introduca una stima della
covarianza dell’errore al passo k ottenuta utilizzando i dati fino al passo k − 1. Definiamo questa
stima M (k). Si crea cosı̀ un legame analogo a quello che esiste fra x(k) e x̂(k) (Figura 6.2).
Si supponga di disporre di una stima dello stato all’istante k senza aver ancora utilizzato i dati
correnti. Per definizione questa stima è indicata con x(k). Il problema diventa l’aggiornamento
di questa stima basandosi sulla misura all’istante k dato il modello in (6.23).
Osservando l’equazione di uscita del modello si osserva come il legame che sussite fra la misura
y(k) e il vettore da stimare x(k) è lo stesso che si ottiene nel caso del problema dell’identificazione.
La differenza è che in questo caso, essendo lo stato tempo-variante, non è possibile utilizzare la
formula a lotti ma solo quella ricorsiva:
dove
x̂(k) = x(k) + L(k) [y(k) − Hx(k)] .
(6.24)
−1
L(k) = M (k)H T Rv + HM (k)H T
.
(6.25)
P (k) = M (k) − L(k)HM (k).
(6.26)
L’equazione (4.95) viene corrispondentemente modificata in:
132
G. Antonelli - IF (2008)
6.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ò 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
dell’errore di stima.
Il valore di x(k +1) viene quindi calcolato partendo da x̂(k) e conoscendo la dinamica in (6.23).
Poichè il rumore w(k) ha media nulla si ottiene:
x(k + 1) = Φx̂(k) + Γ u(k).
(6.27)
Si noti che l’eq. (6.27) è definita aggiornamento temporale in contrapposizione all’eq. (6.24),
definita aggiornamento di misura.
Poichè:
P (k) = E[(x(k) − x̂(k))(x(k) − x̂(k))T ]
(6.28)
M (k + 1) = E[(x(k + 1) − x(k + 1))(x(k + 1) − x(k + 1))T ],
(6.29)
x(k + 1) − x(k + 1) = Φ(x(k) − x̂(k)) + Γ 1 w(k)
(6.30)
calcoliamo
sapendo che
e che v e w sono incorrelati fra loro cosı̀ come x e w si ottiene:
M (k + 1) = E[Φ(x(k) − x̂(k))(x(k) − x̂(k))T ΦT + Γ 1 w(k)w(k)T Γ T
1 ],
(6.31)
che fornisce l’equazione cercata:
M (k + 1) = ΦP (k)ΦT + Γ 1 Rw Γ T
1.
(6.32)
Come per la stima, l’eq. (6.32) è definita aggiornamento temporale della covarianza mentre
l’eq. (6.26) è definita aggiornamento di misura della covarianza.
L’uso delle due equazioni di aggiornamento temporale ha senso anche in caso di uguale frequenza
di misura e monitoraggio.
6.3.2
Equazioni del filtro di Kalman
Il filtro è quindi dato dall’implementazione delle equazioni (6.24), (6.25), (6.26), (6.27) e (6.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
L(k) = M (k)H T Rv + HM (k)H T
(6.33)
P (k) = M (k) − L(k)HM (k)
(6.35)
x̂(k) = x(k) + L(k) [y(k) − Hx(k)]
x(k + 1) = Φx̂(k) + Γ u(k)
T
M (k + 1) = ΦP (k)Φ +
Γ 1 Rw Γ T
1
(6.34)
(6.36)
(6.37)
133
G. Antonelli - IF (2008)
in cui x(0) e M (0) sono note e costituiscono una stima iniziale delle grandezze corrispondenti.
Il diagramma temporale del filtro di Kalman e il corrispondente schema a blocchi sono riportati
nelle Figure 6.2–6.3.
x̂(k)
aggiorn. temporale
P (k)
x(k + 1)
x̂(k + 1)
M (k + 1)
P (k + 1)
k+1
k
Figura 6.2: Diagramma temporale del filtro di Kalman.
x̂(k)
Γ 1 w(k)
u(k)
+
Γ
+
v(k)
x(k)
1
z
+
H
+
+
y(k)
+
L(k)
−
Φ
+
Φ
+
H
x(k)
+
+
1
z
Figura 6.3: Schema a blocchi del filtro di Kalman.
Si noti, inoltre, come la misura non entri nella dinamica delle matrici di covarianza dell’errore
di stima (schema a blocchi da gelb xxx).
Formulazione alternativa della matrice dei guadagni
Si consideri la seguente espressione per l’aggiornamento temporale della covarianza:
P (k)−1 = M (k)−1 + H T R−1
v H
(6.38)
e si riscriva il guadagno come:
−1
P (k)P (k)−1 M (k)H T Rv + HM (k)H T
−1
T
= P (k) M (k)−1 + H T R−1
Rv + HM (k)H T
v H M (k)H
−1
T
= P (k)H T I + R−1
Rv + HM (k)H T
v HM (k)H
L(k) =
(6.39)
da cui si ricava infine
L(k) = P (k)H T R−1
v
che rappresenta la forma cercata.
(6.40)
134
G. Antonelli - IF (2008)
Influenza delle covarianze di rumore sulla dinamica della stima
Nel filtro di Kalman si devono fornire due matrici di covarianza, rispettivamente sul rumore
d’uscita e quello dello stato. La matrice Rv ha spesso una chiara interpretazione fisica, rappresenta
il rumore dei sensori associati alla uscita. Nel caso di più uscite incorrelate fra loro Rv è una
matrice diagonale contenente le covarianze di rumore dei differenti sensori.
La stessa cosa non può dirsi per Rw . Il filtro di Kalman viene spesso utilizzato per stimare lo
stato che quindi è non misurabile. In questo caso, non avendo ulteriori informazioni, si potrebbe
pensare di porre Rw = O. Analizziamone le conseguenze: la matrice M (k), supposto il sistema
stabile, tende ad annullarsi, cosı̀ come il guadagno L(k); il filtro, quindi, si troverebbe privo di
retroazione ed emulerebbe semplicemente il processo. L’interpretazione è semplice, l’assenza di
Rw significa dire al filtro che il modello matematico è perfetto, il risultato è che il filtro considera
come stima ottima l’evoluzione del suo stato senza considerare la misura delle uscite che sono
affette da rumore.
A valle di queste considerazioni appare evidente come sia necessario fornire una stima, spesso
euristica, della matrice Rw . Una buona scelta, in assenza di informazioni ulteriori, è quella di
prendere una matrice diagonale definita positiva; il valore degli elementi, poi, va opportunamente
scelto.
Il valore relativo fra Rw e Rv ha quindi un significato ben preciso, fornendo un alto rapporto
Rw vs Rv (kRw k >> kRv k) significa tarare il filtro in maniera tale da dare maggior peso alle
misure rispetto alla evoluzione dello stato.
Appare chiaro, quindi, che la matrice P (k) è effettivamente una misura della covarianza della
stima dello stato solo se le matrici di covarianza dei rumori sono state ottenute da considerazioni
fisiche.
Incidenza delle condizioni iniziali sulla dinamica della stima
Quando si progetta un filtro di Kalman si è chiamati a fornire una stima dello stato all’istante
iniziale e la corrispondente covarianza dell’errore. Lo stato, x(0) è in genere ricavato in base alla
conoscenza del modello oppure posto uguale a zero se nessuna informazione è accessibile. Il valore
di M (0) può significativamente influenzare la dinamica del filtro. Si consideri, inizialmente, di
prendere un valore alto di M (0), questo significa affermare che la stima fornita di x(0) è poco
attendibile. Un buon approccio potrebbe essere quello di fornire agli elementi diagonali di M (0)
associati a stati misurabili proprio il valore dell’elemento diagonale di Rw corrispondente.
Considerazioni intuitive sul guadagno
Per comprendere l’effetto del guadagno si consideri lo stesso in una forma alternativa (6.40):
L(k) = P (k)H T R−1
v .
(6.40)
Per darne un’interpretazione 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’è correlazione fra i diversi rumori di misura) si osserva come il
guadagno L(k) sia diagonale e rappresenti il rapporto fra due grandezze statistiche, l’incertezza
sulla stima e l’incertezza sulla misura. Precisamente il guadagno è proporzionale all’incertezza
135
G. Antonelli - IF (2008)
sulla stima ed inversamente proporzionale all’incertezza 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à di informazione da
utilizzare per l’aggiornamento della stima.
Guadagno a regime
Il filtro di Kalman è caratterizzato da un guadagno L(k) tempo-variante. È interessante studiarne
le caratteristiche. Sotto ipotesi di linearità, stazionarietà, osservabilità e controllabilità, 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 dell’errore di stima, quindi, converge ad un valore finito). Ha
quindi senso utilizzare direttamente il valore di regime per un evidente risparmio computazionale.
L’uso 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 è differente.
Il guadagno assume quindi la forma:
−1
L∞ = M ∞ H T Rv + HM ∞ H T
(6.41)
dove il pedice ∞ indica il valore di regime della corrispondente matrice.
Per ottenere la matrice M ∞ , si sostituisca l’equazione di aggiornamento di misura della
covarianza (6.26), nell’aggiornamento temporale della covarianza (6.32), facendo tendere ad infinito
le matrici (M ∞ = P ∞ ). Si ottiene quindi:
o
n
−1
HM ∞ ΦT + Γ 1 Rw Γ T
M ∞ = ΦM ∞ ΦT − Φ M ∞ H T Rv + HM ∞ H T
(6.42)
1
nota come equazione di Riccati, la cui soluzione non è banale a causa della sua evidente struttura
nonlineare. Esistono delle tecniche numeriche per la risoluzione di questa equazione (e.g., comando
DARE del Matlab), si può quindi assumere che, una volta risolta l’equazione 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:
x̂(k) = x(k) + L∞ [y(k) − Hx(k)]
x(k + 1) = Φx̂(k) + Γ u(k)
(6.43)
Legame fra il filtro di Kalman e l’osservatore di Luenberger
L’osservatore di Luenberger suppone di stimare lo stato di un processo deterministico, riferendosi
a (6.23), quindi, sono assenti w(k) e v(k). Il filtro di Kalman, ed in generale i predittori, sono
utilizzati per stimare lo stato di un sistema dinamico stocastico soddisfacendo dei criteri di ottimo
appena descritti. Nell’osservatore il guadagno L è costante e progettato per fornire all’osservatore
stesso uno specifico comportamento dinamico.
Esempio : Stima di una costante
136
G. Antonelli - IF (2008)
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, è data dalla semplice equazione:
x(k + 1) = x(k),
in cui la matrice dinamica è Φ = φ = 1. L’equazione di uscita è:
y(k) = x(k) + v(k),
in cui H = H = 1 e v(k) è 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 è possibile
calcolare le equazioni di aggiornamento della covarianza dell’errore e del guadagno:
l(k)
p(k)
m(k + 1)
m(k)
rv + m(k)
m(k)rv
=
rv + m(k)
= p(k).
=
All’istante iniziale si ha:
l(0)
p(0)
m(1)
m0
rv + m0
m0 rv
=
rv + m0
= p(0),
=
per k = 1 si ottiene:
l(1)
=
p(1)
=
m(2)
=
p(0)
m0 rv
m0
m(1)
=
= 2
=
rv + m(1)
rv + p(0)
rv + m0 rv + m0 rv
rv + 2m0
m0 rv
rv + 2m0
m0 rv
,
rv + 2m0
iterando è possibile calcolare simbolicamente il guadagno in
l(k) =
m0
m0 /rv
=
,
rv + (k + 1)m0
1 + (k + 1)m0 /rv
la stima vale quindi:
x̂(k) = x(k) +
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 è il rapporto fra m0 e rv maggiore sarà
il guadagno e quindi la capacità del filtro di modificare la stima; il contrario quando m0 /rv è
piccolo, indice di una varianza di misura maggiore della covarianza del rumore di stima.
In questo esempio è stata fatta l’ipotesi 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.
♦
137
G. Antonelli - IF (2008)
Esempio : Fusione sensoriale
In questo esempio si mostra come sia possibile, tramite l’uso di un filtro di Kalman, fondere
l’utilizzo di un INS (Inertial Navigation System) e la misura della posizione via radio.
La misura della posizione tramite un INS, basata essenzialmente sull’integrazione di uno o più
accelerometri, è caratterizzata da una deriva dell’errore. Considerando la misura di posizione
come:
pIN S = pt + δp,
dove pt è la posizione esatta e δp l’errore dell’INS, è possibile scrivere le equazioni dell’errore
dell’INS in tempo continuo:
δ ṗ = δv
δ v̇ = δa
δ ȧ = 0
ossia, in forma matriciale:
 
0
δ ṗ
 δ v̇  =  0
0
δ ȧ

 
δp
1 0
0 1   δv  .
δa
0 0
Discretizzando con passo di campionamento T si ottiene la matrice dinamica tempo-discreto del
sistema dinamico rappresentante l’errore dell’INS:

2 
1 t t2
2
t
eF t = I + F t + F 2 =  0 1 t  = Φ.
2
0 0 1
Assumendo di porre
P (0) = diag{cp (0), cv (0), ca (0)}
l’equazione di aggiornamento temporale della covarianza, al primo campione, fornisce:

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)T
ca (0)
ca (0) T2
che è simmetrica e definita positiva ma non diagonale, il che mostra come la covarianza dell’errore
di posizione sia ora correlato a quello di velocità e accelerazione.
In assenza di altri sensori, l’INS fornisce una stima il cui errore diverge secondo una polinomiale
del secondo ordine (Figura 6.4). Utilizzando la misura della posizione via radio:
pradio = pt + ep ,
che, può essere inserito nel modello d’errore:
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, è 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.
138
G. Antonelli - IF (2008)
35
30
25
[m]
20
15
10
5
0
−5
0
50
100
tempo [s]
150
Figura 6.4: Errore di posizione utilizzando il solo INS.
I parametri della simulazione sono:
Rv
Rw
M (0)
= 10−1
= 10−3 I 3
= I3
La figura 6.5 mostra l’errore di posizone dell’INS e del filtro di Kalman, si nota come l’utilizzo delle
misure di posizone permetta di contenere l’errore di posizione. Fino alla prima misura (t = 30 s),
inoltre, l’errore del filtro è uguale a quello dell’INS.
35
30
25
[m]
20
15
10
5
0
−5
0
50
100
tempo [s]
150
Figura 6.5: Errore di posizione utilizzando il solo INS (x) e il filtro di Kalman (o).
Il filtro permette anche una ricostruzione ottima della velocità, grandezza non direttamente
accessibile alla misura nell’esempio fatto. In figura 6.6 gli errori di velocità per l’INS e per il filtro
sono riportati. Si noti come per il filtro tale errore è limitato mentre per l’INS cresca linearmente
con il tempo.
La figura 6.7, infine, mostra l’andamento delle tre componenti del guadagno nei 6 istanti di misura.
Si nota come venga presto raggiunto un valore di regime.
139
G. Antonelli - IF (2008)
0.4
[m/s]
0.2
0
−0.2
−0.4
0
50
100
tempo [s]
150
Figura 6.6: Errore di velocità utilizzando il solo INS (x) e il filtro di Kalman (o).
1
0.8
−
0.6
0.4
0.2
0
1
2
3
4
5
6
−
Figura 6.7: Andamento temporale delle 3 componenti della matrice di guadagno L ∈ IR3 .
♦
6.3.3
The Optimum Transient Observer
Una formulazione alternativa del filtro di Kalman, nota come Optimum Transient Observer si
ottiene fissando a priori la struttura dell’osservatore e minimizzando la covarianza dell’errore di
stima.
Si consideri il modello descritto dall’equazione (6.23):
x(k + 1) = Φx(k) + Γ u(k) + Γ 1 w(k)
y(k) = Hx(k) + v(k)
(6.23)
Si fissi la seguente struttura dell’osservatore:
x̂(k) = x(k) + L(k) [y(k) − Hx(k)]
(6.44)
140
G. Antonelli - IF (2008)
che è identica a quella del filtro mostrata in (6.3.2).
Si vuole individuare il guadagno L(k) che minimizza la covarianza dell’errore di stima. Si noti
come le equazioni relative all’aggiornamento temporale (6.27) e (6.32) siano ancora valide.
Media dell’errore di stima
L’errore di stima dello stato è definito come:
(6.45)
x̃(k) = x(k) − x̂(k),
che può essere esplicitato conoscendo la dinamica del sistema ed utilizzando le equazioni di
aggiornamento di misura e temporale dello stato:
x̃(k) = Φx(k − 1) + Γ u(k − 1) + Γ 1 w(k − 1) − x(k) − L(k) [Hx(k) + v(k) − Hx(k)]
= Φx̃(k − 1) + Γ 1 w(k − 1) − L(k) [Hx(k) + v(k) − Hx(k)]
= Φx̃(k − 1) + Γ 1 w(k − 1) +
−L(k) [HΦx(k − 1) + HΓ u(k − 1) + HΓ 1 w(k − 1) + v(k) − HΦx̂(k − 1) − HΓ u(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).
In definitiva, la dinamica dell’errore di stima è data dell’equazione seguente:
x̃(k) = (I − L(k)H) Φx̃(k − 1) + (I − L(k)H) Γ 1 w(k − 1) − L(k)v(k).
(6.46)
Applicando l’operatore 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)]
(6.47)
che è identicamente nullo se si assume x̂(0) = E[x(0)].
Calcolo del guadagno
Come detto, il calcolo del guadagno dell’osservatore si ottiene minimizzando la covarianza dell’errore
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)
(6.48)
che, considerando l’aggiornamento temporale della covarianza (6.32), può essere riscritta come:
E[x̃(k)x̃(k)T ] = (I − L(k)H) M (k) (I − L(k)H)T + L(k)Rv LT (k)
= M (k) + L(k) Rv + HM (k)H T LT (k) − M (k)H T LT (k) − L(k)HM (k).
Aggiungendo e sottraendo il termine M (k)H T Rv + HM (k)H T
può essere riscritta come:
E[x̃(k)x̃(k)T ] = M (k) + Rv + HM (k)H T
−1
−1
HM T (k) l’equazione precedente
+ A Rv + HM (k)H T AT
(6.49)
141
G. Antonelli - IF (2008)
dove
A = L(k) − M (k)H T Rv + HM (k)H T
−1
.
(6.50)
Si osservi ora l’espressione (6.49). L’unico termine che dipende
dal guadagno è il termine
quadratico in A. Il nucleo di tale termine Rv + HM (k)H T , è definito positivo per ipotesi.
Il termine contenente il guadagno quindi, può al massimo essere annullato. Questo è possibile
scegliendo il guadagno stesso:
L(k) = M (k)H T Rv + HM (k)H T
espressione identica alla (6.33).
6.3.4
−1
(6.51)
Considerazioni
Si faccia riferimento al modello in eq. (6.23), supponendo di non avere informazioni probabilistiche
sui rumori di processo e di misura, la minimizzazione dell’errore quadratico medio dell’equazione
di misura fornirebbe ancora la (6.24) con la differenza che la matrice Rv è 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
scegliere quella stima x̂(k) che massimizza la probabilità delle misure y(k) eseguite conoscendo
le proprietà statistiche di v(k). Si vuole massimizzare p(y|x). Assumendo per v(k) valor atteso
nullo e funzione densità di probabilità Gaussiana si ottiene esattamente lo stesso risultato in (6.24)
a meno di interpretare Rv come covarianza del rumore di misura (pg. 103 gelb, verificare eq.
4.0-6).
L’approccio a massima verosimiglianza non fa uso di informazioni probabilistiche di x(k). Un
approccio alternativo, in cui si usano tutte le caratterizzazioni stocastiche, è la stima Bayesiana,
in cui si utilizza il teorema di Bayes:
p(x|y) =
p(y|x)p(x)
p(y)
(6.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].
6.3.5
Stabilità
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 l’ingresso, è possibile
ricavare la dinamica della stima:
x̂(k) = (Φ − L(k)HΦ) x̂(k − 1)
(6.53)
che, anche in condizioni di ottimalità del guadagno, non è garantita essere stabile. È necessario
richiedere delle ipotesi abbastanza stringenti ([10]) sebbene nella maggior parte dei casi pratici il
filtro non presenti problemi di stabilità.
142
G. Antonelli - IF (2008)
6.3.6
Bianchezza del processo di innovazione
La grandezza
e(k) = y(k) − H x̂(k)
(6.54)
viene spesso definita come innovazione. La si riscriva come:
(6.55)
e(k) = Hx(k) + v(k) − H x̂(k) = H x̃(k) + v(k),
vogliamo calcolarne la correlazione:
E e(i)e(j)T = HE x̃(i)x̃(j)T H T + E v(i)v(j)T + HE x̃(i)v(j)T + E v(i)x̃(j)T H T .
{z
} |
{z
} |
{z
} |
{z
}
|
A
B
C
D
Dalla relazione (6.46) è noto che:
x̃(k) = (I − L(k)H) Φx̃(k − 1) + (I − L(k)H) Γ 1 w(k − 1) − L(k)v(k).
(6.46)
Si consideri il caso i > j. Il termine B vale, per ipotesi:
E v(i)v(j)T = Rv δ(i − j),
(6.56)
il termine D è nullo essendo x̃(j) funzione del rumore di misura v(k) fino all’istante j < i. Al
fine di calcolare gli altri due termini si scriva x̃(i) in funzione di x̃(j):
x̃(j + 1) = (I − L(j + 1)H) Φx̃(j) + (I − L(j + 1)H) Γ 1 w(j) − L(j + 1)v(j + 1)
x̃(j + 2) = (I − L(j + 2)H) Φx̃(j + 1) + (I − L(j + 2)H) Γ 1 w(j + 1) − L(j + 2)v(j + 2)
= (I − L(j + 2)H) Φ (I − L(j + 1)H) Φx̃(j)+
(I − L(j + 2)H) Φ ((I − L(j + 1)H) Γ 1 w(j) − L(j + 1)v(j + 1)) +
(I − L(j + 2)H) Γ 1 w(j + 1) − L(j + 2)v(j + 2)
...
...
x̃(i) = ΦP (i, j)x̃(j) + ζ(i)
in cui
ΦP (i, j) = (I − L(i)H) Φ · . . . · (I − L(j + 1)H) Φ =
j+1
Y
l=i
(I − L(l)H) Φ
(6.57)
e ζ(i) ha un espressione simbolicamente leggermente più complessa, in questa sede si vuole
evidenziare la dipendenza di ζ(i):
ζ(i) = ζ(w(j), . . . , w(i − 1), v(j + 1), . . . , v(i)).
Si calcoli ora il termine A utilizzando le espressioni appena ricavate:
HE x̃(i)x̃(j)T H T = HE (ΦP (i, j)x̃(j) + ζ(i)) x̃(j)T H T
= HΦP (i, j)E x̃(j)x̃(j)T H T + HE ζ(i)x̃(j)T H T
= HΦP (i, j)P (j)H T .
Analogamente per il termine C:
HE x̃(i)v(j)T = HE (ΦP (i, j)x̃(j) + ζ(i)) ṽ(j)T H T
(6.58)
143
G. Antonelli - IF (2008)
= HΦP (i, j)E x̃(j)ṽ(j)T H T + HE ζ(i)ṽ(j)T H T
= HΦP (i, j) (−L(j)Rv )
che si ottiene sostituendo a x̃(j) la sua espressione (6.46) ed osservando che ζ(i) e v(j) sono
incorrelati.
Sommando i termini ricavati si ottiene:
E e(i)e(j)T = HΦP (i, j) P (j)H T − L(j)Rv + Rv δ(i − j),
(6.59)
sapendo che il guadagno può essere espresso nella forma L(j) = P (j)H T R−1
v si ottiene facilmente
che:
E e(i)e(j)T = Rv δ(i − j),
(6.60)
vale a dire la bianchezza del processo di innovazione.
Si noti come, giunti al passaggio (6.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 nell’errore e(k).
6.3.7
Ortogonalità fra stima ed errore
Si vuole verificare la validità della seguente relazione
E x̂(k)x̃(k)T = O
(6.61)
vale a dire l’ortogonalità fra la stima ottima e l’errore.
Si consideri un sistema privo di ingresso e con Γ 1 = I, all’istante iniziale si avrà:
x(1) = Φx(0) + w(0)
(6.62)
x̂(1) = Φx̂(0) + L(1)[y(1) − HΦx̂(0)]
= Φx̂(0) + L(1)[HΦx(0) + Hw(0) + v(1) − HΦx̂(0)]
= Φx̂(0) + L(1)[HΦx̃(0) + Hw(0) + v(1)]
(6.63)
e una corrispondente stima:
ed un errore di stima che, dalla (6.46), è possibile scrivere come
x̃(1) = (I − L(1)H) Φx̃(0) + (I − L(k)H) w(0) − L(1)v(1).
Sapendo che E x̂(0)x̃(0)T = O si calcola direttamente:
E x̂(1)x̃(1)T = E[{Φx̂(0) + L(1)[HΦx̃(0) + Hw(0) + v(1)]}
{(I − L(1)H) Φx̃(0) + (I − L(1)H) w(0) − L(1)v(1)}T ]
= L(1)HΦP (0)ΦT (I − L(1)H)T +
L(1)HRw (0) (I − L(1)H)T − L(1)Rv L(1)T
T
= L(1)HM
(1) (I − L(1)H)T − L(1)Rv L(1)
= L(1) HM (1) (I − L(1)H)T − Rv L(1)T
= L(1) HP (1) − Rv LT (1)
= O
(6.64)
in cui si è fatto uso della formulazione alternativa per il guadagno. Per induzione si generalizza
al campione k esimo.
144
G. Antonelli - IF (2008)
6.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 l’approccio a Massima
Verosimiglianza. Verso il 1940 Wiener studia l’implementazione 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ò essere considerato come un
caso particolare del filtro di Kalman. Dai primi sforzi di Gauss al filtro di Kalman è possibile
individuare molte similitudini. Gauss riconosce implicitamente concetti quali la ridondanza dei
dati per eliminare il rumore di misura, la necessità di un ingresso eccitante, si avvicina a concetti
quali l’osservabilità del sistema. Kalman può 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à, l’assenza
di ingresso:
x̂(k) = x(k) + L∞ [y(k) − Hx(k)]
x(k + 1) = Φx̂(k)
queste possono essere riscritte come:
x(k + 1) = Φ {x(k) + L∞ [y(k) − Hx(k)]}
(6.65)
x(k + 1) − Φx(k) + ΦL∞ Hx(k) = ΦL∞ y(k)
(6.66)
X(z) = (zI − Φ + ΦL∞ H)−1 ΦL∞ Y (z)
(6.67)
ossia:
che, Z-trasformando, fornisce:
che nel caso scalare diventa:
X(z) =
f l∞
Y (z)
z − f (1 − l∞ h)
(6.68)
Si noti come in alcuni testi questo approccio è noto come Kolmogorov-Wiener invece di WienerHopf. Si ribadiscono le differenze rispetto al risultato di Kalman. Wiener è applicabile a sistemi
ingresso-uscita stazionari e stabili, Kalman a sistemi ingresso-stato-uscita tempo-varianti e non
necessariamente stabili.
6.3.9
Il Filtro di Kalman esteso
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ù parametri incogniti.
Si consideri il modello
x(k + 1) = f (x(k), k) + Γ u(k) + Γ 1 w(k)
.
y(k) = h(x(k), k) + v(k)
(6.69)
Si definiscano le due matrici:


 Φ̂(k) =

 Ĥ(k) =
∂ f (x(k),k) ∂x
x=x̂(k)
∂ h(x(k),k) ∂x
x=x̂(k)
(6.70)
145
G. Antonelli - IF (2008)
che vengono utilizzate per il calcolo della matrice di covarianza e del guadagno. La stima ottima
è quindi fornita dalle equazioni:
h
i−1
L(k) = M (k)Ĥ(k)T Rv + Ĥ(k)M (k)Ĥ(k)T
(6.71)
P (k) = M (k) − L(k)Ĥ(k)M (k)
(6.73)
x̂(k) = x(k) + L(k) [y(k) − h(x(k), k)]
x(k + 1) = f (x̂(k), k) + Γ u(k)
T
M (k + 1) = Φ̂(k)P (k)Φ̂(k) +
Γ 1 Rw Γ T
1.
(6.72)
(6.74)
(6.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
conoscenza di x̂(k).
Il Filtro di Kalman esteso può 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 (6.69) diventa
x(k + 1) = f (x(k), θ, k) + Γ u(k) + Γ 1 w(k)
(6.76)
y(k) = h(x(k), θ, k) + v(k)
in cui si è evidenziata la dipendenza (nonlineare) dalle variabili incerte. L’idea è quella di
considerare tali parametri, costanti, come ulteriori stati del sistema caratterizzati dall’avere
dinamica nulla:
(6.77)
θ(k + 1) = θ(k).
Definendo il vettore degli stati esteso:
xE =
si ottiene il modello:
x
θ
xE (k + 1) = f E (xE (k), k) + Γ E u(k) + Γ E,1 wE (k)
y(k) = h(xE (k), k) + v(k)
in cui, oltre ovviamente ad f E e Γ E si è modificato anche la matrice Γ E,1 come:
Γ1 O
Γ E,1 =
O I
e
w
wE =
.
wθ
(6.78)
(6.79)
(6.80)
(6.81)
Si noti come, l’aggiunta 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. L’aspetto critico del filtro di Kalman esteso è proprio nella scelta dei
valori delle covarianze.
Sul modello (6.79) si progetta poi un filtro di Kalman esteso come in (6.71)–(6.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 consizioni
146
G. Antonelli - IF (2008)
iniziali, infatti, le equazioni dinamiche possono essere integrate e fornire l’evoluzione nel tempo
dello stato del sistema. In un certo senso, è come se, utilizzando la traiettoria nominale, si progetti
un filtro a ciclo aperto laddove, utilizzando la stima precedente, si retroazioni l’informazione utile.
È anche possibile dimostrare come, in alcuni casi, l’errore del filtro di Kalman esteso progettato
sulla traiettoria nominale risulti eccessivo per ogni applicazione pratica. L’utilizzo 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:

 ẋ = v cos θ
ẏ = v sin θ
(6.82)

θ̇ = ω
dove x e y sono le coordinate della posizione del veicolo in terna inerziale, θ è l’orientamento di
una terna solidale al veicolo rispetto ad una terna inerziale, v e ω sono, rispettivamente, la velocità
lineare ed angolare del veicolo espresse in terna solidale. Supponendo di misurare le velocità di
rotazione delle ruote e di risalire, da queste, a v ed ω, si vuole stimare la posizione e l’orientamento
del veicolo.
Le stesse equazioni, in tempo discreto, sono fornite da:

 x(k + 1) = x(k) + T v(k) cos θ(k)
y(k + 1) = y(k) + T v(k) sin θ(k)
(6.83)

θ(k + 1) = θ(k) + T ω(k)
dove T è il tempo di campionamento. La semplice integrazione di queste equazioni fornisce una
stima caratterizzata da una deriva numerica.
Si può pensare di utilizzare un ulteriore sensore per misurare una stima di posizione, si pensi,
ad esempio, all’utilizzo di una bussola per conoscere l’orientamento assoluto del veicolo θ(k). Si
avrebbe:
(6.84)
H = [0 0 1]
che indica che la nostra sola misura è il terzo elemento dello stato. La linearizzazione della dinamica
fornisce:


1 0 −T v(k) sin θ̂(k)
∂f (x(k), k) =  0 1 T v(k) cos θ̂(k)  .
Φ̂(k) =
(6.85)
∂x
x=x̂(k)
0 0
1
Ponendo P (0) = diag{px , py , pθ } e Rv = rv , si ottiene una matrice dei guadagni:


p
− r +θ p T v(k) sin θ̂(k)
v
θ
p


L(k) =  rv +θ pθ T v(k) cos θ̂(k)  .
pθ
rv + pθ
(6.86)
che mostra come, evidentemente, non si raggiunga un regime per le prime due componenti.
La figura 6.8 mostra l’andamento temporale dello stato del veicolo soggetto ad un ingresso v, ω
sinusoidale e lo stato ricostruito per semplice integrazione con T = 0.1 s. È possibile notare come
ci sia una deriva numerica sulla stima dello stato.
Supponendo di misurare l’orientamento ogni 5 s e di impostare un filtro di Kalman esteso con i
guadagni:
Rv
=
10−2
147
G. Antonelli - IF (2008)
4
[m]/[rad]
2
0
−2
−4
0
20
40
tempo [s]
60
80
Figura 6.8: Andamento temporale delle 3 componenti dello stato, x, y e θ (linea continua) e loro
stima per semplice integrazione (x).
Rw
M (0)
= 10−2 I 3
= 100I 3
si ottiene un andamento dell’errore di stima della posizione come quello mostrato in figura 6.9,
in cui con la linea continua si rappresenta l’errore di stima utilizzando il filtro di Kalman esteso e
con il segno x si rappresenta l’errore ottenuto per semplice integrazione. Si nota come, la misura
di una posizione assoluta (θ) permetta di contenere l’errore 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 6.9: Andamento temporale dell’errore di stima, x, y e θ per il filtro di Kalman esteso
(linea continua) e loro stima per semplice integrazione (x).
La figura 6.10 mostra infine l’andamento delle componenti del guadagno. La terza componente,
cosı̀ come derivato simbolicamente si assesta su un valore costante.
♦
148
G. Antonelli - IF (2008)
1
−
0.5
0
−0.5
0
5
10
−
15
20
Figura 6.10: Andamento temporale delle componenti del guadagno.
Esempio
Una possibile applicazione dell’EKF risiede nella stima e inseguimento di frequenze [5, 15]. Si
supponga di voler stimare la frequenza, tempo-variante, di un segnale
s(t) = A cos(ωt + ϕ)
corrotto da rumore bianco n(t).
Un possibile modello discreto nonlineare in spazio di stato è fornito da:

 




0
x1 (k)
cos x3 (k) − sin x3 (k)
0
x1 (k + 1)
 x2 (k + 1)  =  sin x3 (k) cos x3 (k)
0   x2 (k)  +  0 
w(k)
x3 (k)
0
0
1−α
x3 (k + 1)
y(k) = x1 (k) + v(k)
(6.87)
(6.88)
dove il parametro α ∈ [0, 1] rappresenta la velocità di variazione di x3 ed è scelto in maniera tale
che la frequenza sia lentamente variabile. I due rumori w(k) e v(k) sono rumori bianchi incorrelati
fra loro con covarianze rw e rv rispettivamente.
In simulazione il tempo finale è t = 100 s, il tempo di campionamento T = 0.1 s. Il segnale s(t)
da simulare è:
s(t) = cos(π/6t) ∀t ≤ 30
(6.89)
e
s(t) = cos(2π/3t)
∀t > 70
(6.90)
per t ∈]30, 70] la frequenza varia linearmente. La covarianza di rumore rv = 0.01.
♦
6.4
Dualità stima-controllo
Kalman ricavò il risultato, oggi noto come filtro di Kalman, nel 1960 [12]. Nel 1958 aveva
pubblicato ([13]), con Koepcke, il risultato ad un problema di Controllo Lineare Quadratico
(LQR Linear Quadratic Regulator). Nell’articolo del 1960 riconobbe una similitudine formale
che lo portò a definire i problemi l’uno il duale dell’altro.
149
G. Antonelli - IF (2008)
Si consideri un sistema lineare tempo-discreto:
x(k + 1) = Φx(k) + Γ u(k)
(6.91)
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)
(6.92)
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
(6.93)
k=0
in cui le due matrici di peso Q1 e Q2 sono simmetriche e definite positive. L’indice è 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ò riscrivere come un problema di minimo vincolato in cui si
cerca il valore di u(k) k = 0, 1, . . . , N che minimizzi l’indice J soggetto ai vincoli:
−x(k + 1) + Φx(k) + Γ u(k) = 0
k = 0, 1, . . . , N.
(6.94)
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, è dato
dall’espressione:
−1 T
(6.95)
K(k) = Q2 + Γ T S(k + 1)Γ
Γ S(k + 1)Φ
in cui le matrici S(k) e N (k) si ottengono tramite ricorsione all’indietro delle seguenti equazioni:
S(k) = ΦT N (k + 1)Φ + Q1 ,
−1 T
Γ S(k).
N (k) = S(k) − S(k)Γ Q2 + Γ T S(k)Γ
(6.96)
(6.97)
Il controllo LQR, quindi, si risolve nei seguenti passi:
1. inizializzare l’algoritmo ponendo S(N ) = Q1 , K(N ) = O e k = N ;
2. calcolare N (k) tramite la (6.97)
3. calcolare K(k − 1) tramite la (6.95)
4. calcolare S(k − 1) tramite la (6.96)
5. porre k = k − 1 e ripetere dal passo 2
La ricorsione di N (k) e S(k) è formalmente uguale a quella del filtro di Kalman delle matrici
M (k) e P (k) a meno di fare dei cambi di variabile e di implementare una ricorsione all’avanti o
all’indietro. In particolare, riscrivendo le equazioni del filtro di Kalman:
P (k) = M (k) − L(k)HM (k)
M (k + 1) = ΦP (k)ΦT + Γ 1 Rw Γ T
1
si nota come i due problemi siano uguali a meno dei cambi di variabile mostrati in tabella 6.1.
Una volta appurata questa analogia, è possibile sfruttarla, per es., per ricavare il controllo a
regime del controllo LQR direttamente dalla soluzione ottenuta per la stima.
xxx schemi a blocchi gelb.
150
G. Antonelli - IF (2008)
controllo
stima
Φ
N
S
Q1
Γ
Q2
ΦT
P
M
Γ 1 Rw Γ T
1
HT
Rv
Tabella 6.1: Dualità stima-controllo.
Appendice A
A.1
GNU Free Documentation License
GNU Free Documentation License Version 1.2, November 2002
Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. 51 Franklin St, Fifth Floor,
Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of
this license document, but changing it is not allowed.
0. PREAMBLE
The purpose of this License is to make a manual, textbook, or other functional and useful
document free in the sense of freedom: to assure everyone the effective freedom to copy and
redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily,
this License preserves for the author and publisher a way to get credit for their work, while not
being considered responsible for modifications made by others.
This License is a kind of copyleft, which means that derivative works of the document must
themselves be free in the same sense. It complements the GNU General Public License, which is
a copyleft license designed for free software.
We have designed this License in order to use it for manuals for free software, because free
software needs free documentation: a free program should come with manuals providing the same
freedoms that the software does. But this License is not limited to software manuals; it can be
used for any textual work, regardless of subject matter or whether it is published as a printed
book. We recommend this License principally for works whose purpose is instruction or reference.
1. APPLICABILITY AND DEFINITIONS
This License applies to any manual or other work, in any medium, that contains a notice
placed by the copyright holder saying it can be distributed under the terms of this License. Such
a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under
the conditions stated herein. The “Document”, below, refers to any such manual or work. Any
member of the public is a licensee, and is addressed as “you”. You accept the license if you copy,
modify or distribute the work in a way requiring permission under copyright law.
A “Modified Version” of the Document means any work containing the Document or a portion
of it, either copied verbatim, or with modifications and/or translated into another language.
A “Secondary Section” is a named appendix or a front-matter section of the Document that
deals exclusively with the relationship of the publishers or authors of the Document to the
Document’s overall subject (or to related matters) and contains nothing that could fall directly
within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a
151
G. Antonelli - IF (2008)
152
Secondary 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 work’s 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 noncommercially,
G. Antonelli - IF (2008)
153
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 Document’s 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 - IF (2008)
154
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 Document’s 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 Version’s 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 parties–for 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 - IF (2008)
155
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 compilation’s
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 Document’s 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”,
the requirement (section 4) to Preserve its Title (section 1) will typically require changing the
G. Antonelli - IF (2008)
156
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ò 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
matematica, studiando anche teologia, medicina e lingue orientali. È chiamato all’Accademia
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à di 26 anni, di
matematica. Nella sua vita ha pubblicato una media di 800 pagine l’anno senza diminuire
la sua frenetica attività 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 è implicitamente dato dall’osservazione 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 un’equazione 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à noto come test di Jury.
Kalman Rudolph Emil Kalman presenta ad una conferenza a Mosca nel 1960 il suo lavoro
degli ultimi 10 anni in cui mostra l’evidenza della dualità esistente fra il controllo in
G. Antonelli - IF (2008)
157
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 all’Università di Mosca nel 1920 dove comincia a studiare
calcolo delle probabilità. Nel 1933 pubblica la monografia “Concetti fondamentali di probabilità”
in cui pone di fatto le basi matematiche al calcolo delle probabilità 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 un’accademia 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 “’Théorie
analytique des probabilités” in cui introduce la funzione oggi nota come “Trasformata di
Laplace” e dimostra rigorosamente la teoria dei minimi quadrati già 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 è 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 all’astronomia per poi studiare definitivamente
le scienze naturali. Provveditore di Castelfranco Veneto per oltre 30 anni, viaggia poco e non
frequenta le accademie ed università, il suo contributo scientifico è 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 d’Alembert definirà “equazione di Riccati”, cui Eulero darà 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, 18591919) non collaborò con Routh ma trovò 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 è un personaggio dotato di spiccate
qualità 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
controllo e comunicazione di animali e macchine. Nel 1949-1950 lavora con Shannon alla
teoria dell’informazione. Fornisce contributi significativi nel calcolo delle probabilità, nella
158
G. Antonelli - IF (2008)
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 l’applicazione della logica
matematica all’attività del sistema nervoso.
A.3
La Z trasformata
La Z trasformata di una sequenza f (k), con f (k) = 0 per k < 0 è definita come:
F (z) = Z [f (k)] =
∞
X
f (k)z −k .
(A.1)
k=0
L’importanza 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 ẑ, F (z) risulta
definita per ogni z tale che |z| ≥ |ẑ|. Il più piccolo valore di |z| per cui è definita F (z) è definito
raggio di convergenza, la regione del piano caratterizzata da avere |z| maggiore del raggio di
convergenza è definita regione di convergenza.
Il metodo di antitrasformazione più generale è fornito dalla relazione:
I
1
−1
F (z)z k−1 dz k ≥ 0
f (k) = Z [F (z)] =
2πj Γ
(A.2)
dove Γ è una curva chiusa del piano complesso che racchiude tutte le radici del denominatore di
F (z) (i poli); Γ è contenuta nella regione di convergenza.
Lasciando i dettagli a testi specializzati è bene rimarcare un punto importante: per sequenze
f (k) nulle per k < 0 la corrispondenza con la sua Z-trasformata è biunivoca, non c’è quindi
perdita di informazione nel lavorare con la sequenza f (k) o la sua Z-trasformata F (z).
Proprietà principali
Linearità
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)]
159
G. Antonelli - IF (2008)
Anticipo
Sia
F (z) = Z [f (k)]
vale:
Z [f (k + m)] = z m F (z) − z m
m−1
X
f (k)z −k
(A.3)
k=0
con m intero positivo. Particolarizzando per m = 1 si ottiene:
Z [f (k + 1)] = zF (z) − zf (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)
con m intero positivo. Particolarizzando per m = 1 si ottiene:
Z [f (k − 1)] = z −1 F (z),
(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)
k→∞
z→1
(A.8)
160
G. Antonelli - IF (2008)
Convoluzione
Sia
F1 (z) = Z [f1 (k)]
F2 (z) = Z [f2 (k)]
vale:
f1 ⋆ f2 =
k
X
i=0
f1 (i)f2 (k − i) = F1 (z)F2 (z)
(A.9)
Trasformate notevoli
f (k)
Z[f (k)]
δ(k) ⇔ 1
δ−1 (k) ⇔
ak δ−1 (k) ⇔
k n ak δ−1 (k) ⇔
δ−1 (k) sin(νk) ⇔
δ−1 (k) cos(νk) ⇔
z
z−1
z
z−a
n!z
(z − a)n
z sin(ν)
2
z − 2z cos(ν) + 1
z(z − cos(ν))
2
z − 2z cos(ν) + 1
Antitrasformazione di funzioni razionali fratte
Le funzioni razionali fratte, che rappresentano la fdt di legami ingresso-uscita espressi tramite
equazioni alle differenze, possono essere antitrasformate in maniera relativamente semplice. È
sufficiente decomporre in fratti semplici la funzione e ricondursi all’antitrasformata di una serie
di traformate notevoli.
Un secondo metodo, di valenza numerica, consiste nel dividere numeratore e denominatore
della F (z) tramite l’algoritmo euclideo riportato in seguito nell’appendice. In questo modo si
ottiene la F (z) come serie di potenze di z −1 i cui coefficienti, sulla base della definizione della
Z-trasformata sono proprio i valori della f (k).
A.4
Segnali aleatori
Sia x(k) t ∈ IN un segnale discreto (sequenza). Un segnale aleatorio è una collezione di segnali
(deterministici) ciascuno corrispondente ad un singolo esperimento casuale. Se χ individua il
161
G. Antonelli - IF (2008)
risultato di un singolo esprimento, cioè un elemento dell’insieme 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
Data una variabile aleatoria si possono definire alcune caratterizzazioni statistiche
distribuzione di probabilità e funzione di densità di probabilità
Data la variabile aleatoria x(k̂, χ) si definisce funzione di distribuzione cumulativa:
Px (x; k̂) = P r{x(k̂) = x}.
Nel caso continuo al segno di eguaglianza si sostituisce il segno di ≤ e la funzione prende il nome
di funzione di distribuzione cumulativa. La sua derivata parziale rispetto a x, detta funzione
densità di probabilità, è impulsiva nel caso discreto:
X
fx (x; k̂) =
P r{x(k̂) = xi }δ(x(k̂) − xi ).
i
valore atteso (media statistica)
In termini non rigorosi si può ritenere il valore atteso come il valore da sotituire alla variabile
aleatoria se fosse necessario quantificarla:
X
µx (k) = E[x(k)] =
xi P r{x(k̂) = xi }.
i
varianza
È una misura della dispersione della variabile intorno al valor atteso:
σx2 = V ar[x(k)] = E[(x(k) − µx (k))2 ].
autocorrelazione
rx (k1 , k2 ) = E[x(k1 )x(k2 )].
162
G. Antonelli - IF (2008)
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à:
1. cx (0) > 0
2. cx (−τ ) = cx (τ )
3. kcx (τ )k < cx (0)
4. La seguente matrice simmetrica ottenuta dai valori della covarianza è semidefinita positiva:






cx (0)
cx (1)
cx (2)
cx (1)
cx (0)
cx (1)
..
.
cx (2)
cx (1)
cx (0)
cx (N − 1)
cx (N − 2)
cx (N − 3)
cx (N − 1) 
. . . cx (N − 2) 

cx (N − 3) 

..

.
(A.10)
cx (0)
stima dell’autocorrelazione
Le formule usate per stimare l’autocorrelazione di una serie numerica a valor medio nullo sono:
r̂x (τ ) =
N −τ
1 X
x(i)x(i + τ ),
N
i=1
r̂x (τ ) =
N
−τ
X
1
x(i)x(i + τ ).
N −τ
i=1
Per N ⇒ ∞ le due formule sono ovviamente coincidenti. Per N finito la prima può 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 dell’origine
dei tempi ma dal ritardo τ = k2 − k1 . Se questa proprietà è valida fino all’ordine N si definisce
segnale aleatorio stazionario di ordine N .
Un segnale stazionario in senso lato (SSL) ha la media costante nel tempo e l’autocorrelazione
funzione solo di τ .
163
G. Antonelli - IF (2008)
ergodicità
Un segnale SSL è ergodico se, al crescere della dimensione N di una sua realizzazione, le medie
temporali coincidono con l’operazione di valor atteso.
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 è un diffuso test di bianchezza per un segnale aleatorio. Si consideri un
segnale ε(k), di dimensione N e a valor medio nullo. Si può dimostrare che, se ε(k) è 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à di un segnale.
1. si calcoli la covarianza secondo la
r̂(τ ) =
N −τ
1 X
ε(i)ε(i + τ ).
N
i=1
2. se ne calcoli la covarianza campionaria normalizzata:
γ̂(τ ) =
r̂(τ )
.
r̂(0)
3. si fissi un livello di confidenza per il test, es. α = 5%, e si individuino le code della gaussiana
che coprono un’area α attraverso un valore dell’ascissa β, 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 nell’esempio), i campioni fuori dell’intervallo
(± √βN ) sono minori della soglia α (5%) allora il segnale può considerarsi bianco.
xxx grafico con l’interpretazione 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
164
G. Antonelli - IF (2008)
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
sottranendo
x3
x3
+4x2
+x2
+3x +1
|x + 1
x2
x3
x3
+4x2
+x2
+3x2
+3x +1
|x + 1
x2
3x
+1
si ripete l’operazione fra 3x2 e x ottenendo 3x:
x3
x3
+4x2
+x2
+3x2
+3x2
+3x +1
3x
3x
|x + 1
x2 + 3x
+1
sottraendo ancora si ottiene 1 che è inferiore alla potenza maggiore del divisore. Il risultato è
quindi (x3 + 4x2 + 3x + 1) = (x + 1)(x2 + 3x) + 1.
polinomio monico
Si definisce polinomio monico il polinomio il cui coefficiente della potenza più elevata è unitario.
polinomi coprimi
Due polinomi si definiscono coprimi se non hanno fattori in comune.
A.6
Matrici
vedere il quaderno 1 di balestrino celentano. (def matrice compagna orizzontale inferiore)
Inversione e trasposizione del prodotto di due matrici
A = BC
A−1 = C −1 B −1
AT = C T B T
La matrice inversa della trasposta (o trasposta dell’inversa)
T T −1
A-T = A−1
= A
(AB)-T = B -T A-T
165
G. Antonelli - IF (2008)
Minore principale
Data una matrice A ∈ IRn×n , si definisce minore principale di ordine k la sottomatrice estratta
da A considerando le prime k righe e le prime k colonne.
Lemma di inversione matriciale
(A + BCD)−1 = A−1 − A−1 B C −1 + DA−1 B
−1
DA−1
Traccia di una matrice
La traccia di una matrice A è definita come la somma degli elementi diagonali
X
tr[A] =
ai,i
i
Positiva definitezza
Una matrice quadrata A si definisce definita positiva se, per ogni vettore x con almeno un
elemento diverso da zero, è verificata:
xT Ax > 0.
Si definisce semi-definita positiva se la relazione è verificata anche con il segno di eguaglianza. La
definizione si estende banalmente alla negativa (semi)definitezza. Definendo
1
A + AT
2
condizione necessaria e sufficiente affinchè A sia definita positiva è che lo sia anche As . Per
verificare se una matrice è 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. È
necessario quindi calcolare prima la As e poi applicare il test.
As =
Test di Sylvester
Una matrice simmetrica è definita positiva se il determinante di tutti i suoi minori principali è
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 −an−1 −an−2 . . . −a1
In maniera analoga è possibile definire la matrice compagna verticale destra.
(A.11)
166
G. Antonelli - IF (2008)
Decomposizione in valor singolari
La decomposizione in valor singolari (SVD, Singular Value Decomposition) è uno strumento
matematico che permette di estrarre informazioni importanti su una matrice. Sia A ∈ IRn×m
allora

U [ Λ O ] V T se n ≤ m


A=

 U Λ VT
se n ≥ m
O
in cui U ∈ IRn×n e V ∈ IRm×m sono matrici ortonormali, per le quali, quindi, vale U U T = I e
V V T = I. La matrice Λ, semidefinita positiva, di dimensioni opportune, è una matrice diagonale
i cui elementi λi sono definiti valor singolari (λi ≥ 0). La matrice Λ è 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 è 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 un’importanza fondamentale anche nel calcolo
delle pseudoinverse. Si definisca:
−1
−1
Λ† = diag λ−1
1 , λ2 , . . . , λp , 0, . . . , 0
di dimensioni opportune. Si ha
per le pseudoinverse vale
†


 V Λ UT
O
A† =


V [ Λ† O ] U T
AA† A
†
†
A AA
T
AA†
T
A† A
se
n≤m
se
n≥m
= A
= A†
= AA†
= A† A
se, inoltre, la matrice A ha rango pieno allora
 T
−1
 A AAT
A† =
 T −1 T
A A
A
se
n≤m
se
n≥m
in cui si riconosce che, nel caso rettangolare alto, l’operazione di pseudoinversa è proprio quella
necessaria per trovare la soluzione a Minimi Quadrati.
167
G. Antonelli - IF (2008)
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 un’espressione semplice delle incognite. Si
tratta di rappresentare il sistema in forma canonica di osservabilità 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 λn−1 + . . . + an .
Nel seguito, per semplicità di notazione, si farà 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,
l’equazione 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:

an−1 an−2
 an−2 an−3
n−1 T 
T = hT ΦT hT . . . ΦT
...
h 
 ...
 ...
...
1
0

. . . a1 1
... 1
0 

... ... ...

... ... ...
... 0
0
affinchè questa matrice sia invertibile è necessario che siano invertibili entrambe le matrici che
la compongono: la seconda ha rango pieno per costruzione, la prima matrice è la trasposta della
matrice di osservabilità del sistema. Se ha rango pieno il sistema si definisce completamente
osservabile. Si noti come l’osservabilità di un sistema dipenda dalla coppia (Φ, h) e non da Γ .
In parole, un sistema è non osservabile se esiste un particolare stato la cui evoluzione libera è
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à di osservabilità di
168
G. Antonelli - IF (2008)
un sistema si conserva rispetto a trasformazioni lineari dello stato. A questo punto è 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 −an−1 −an−2 . . . −a1
e il secondo termine della (A.12) come
 
0
.
T −1 hT =  ..  ,
1
definiamo infine kT = −g T T . La matrice dinamica del sistema, nel nuovo stato, assume anch’essa
una forma compagna orizzontale inferiore:


0
1
0
...
0

0
0
1
...
0 


−1 T

T F T =  ...
...
...
...
... 
,
 ...
...
...
...
... 
kn − an kn−1 − an−1 kn−2 − an−2 . . . k1 − a1
che, definendo
d = [ dn
a = [ an
. . . d1 ]T
. . . a1 ]T
permette di scrivere la relazione vettoriale:
k − a = −d
che fornisce
g = −T -T (a − d) .
Questo determina univocamente l’incognita g, sostituendola nella (6.13) si ottiene la matrice F .
A.8
Simbologia
x
variabile scalare
x
vettore (r × 1)
X
matrice (r1 × r2 )
ẋ
derivata temporale della variabile x
x̂ (x̂)
stima della variabile x (x)
169
G. Antonelli - IF (2008)
diag{x1 , . . . , xn }
matrice diagonale riempita con xi in riga i, colonna i e zero in tutti
gli altri elementi
blockdiag{X 1 , . . . , X n }
matrice diagonale a blocchi riempita con le matrici X 1 , . . . , X n lungo
la diagonale principale e zero in tutti gli altri elementi
R(K)
rango della matrice K
kxk
norma 2 del vettore x
xT X T
K†
transposta del vettore x (matrice X)
inversa di Moore-Penrose (pseudoinversa) della matrice K
Ir
(r × r) matrice identità (r × r)
O r1 ×r2
matrice nulla (r1 × r2 )
Bibliografia
[1] S. Bennett, “A Brief History of Automatic Control,” IEEE Control Systems Magazine,
pp. 17–25, 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. 1718–1724,
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] T. Kailath, A.H. Sayed and B. Hassibi, Linear Estimation, Prentice Hall, Upper Saddle
River, NJ, 1999.
[12] R.E. Kalman, “A new approach to linear filtering and prediction problems,” Trans. ASME
J. Basic Eng., 82, pp. 34–45, 1960.
[13] 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. 1820–1826,
1958.
[14] J.D. Landau, System Identification and Control Design, Prentice Hall, Englewood Cliffs, NJ,
1990.
170
G. Antonelli - IF (2008)
171
[15] 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. 739–742, 1996.
[16] L. Ljung, System Identification: Theory for the User , Prentice Hall PTR, Upper Saddle
River, NJ, 1999.
[17] J.J. Murphy, Technical Analysis of the Financial Markets, New York Institute of Finance,
New York, 1999.
[18] 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. 907–912, 1993.
[19] T. Söderström, Discrete-time Stochastic Systems: Estimation and Control , Springer-Verlag,
London, GB, 2002.
[20] 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, 128, 167
AIC, 101
Akaike, 101
AR, 68
AR, predittore, 73
ARIMA, 69
ARMA, 68
ARMA, predittore, 73
ARMAX, 68
ARMAX, predittore, 72
ARX, 68
ARX, predittore, 72
controllo lineare quadratico, 148
convergenza in media quadratica, 125
diagrammi di Bode, 20
diagrammi di Nyquist, 22
disturbi, 7
dualità stima-controllo, 148
equazione alle differenze, 10
equazione alle ricorrenze, 11
Eulero, 32
Eulero, cenni storici, 156
filtraggio, 124
Fisher, 85, 144
forma canonica di una fdt, 19
FPE, 101
funzione razionale fratta, 18
Gauss, 144
Gauss, cenni storici, 156
Gauss-Newton, algoritmo di, 87
guadagno statico, 18
Hurwitz, 24
identificazione, 66
innovazione, 142
interpolazione, 124
Jury, cenni storici, 156
Jury, criterio di, 23
Kalman, 93, 131, 148
Kalman, aggiornamento di misura, 132
Kalman, aggiornamento temporale, 132
Kalman, cenni storici, 156
Kalman, filtro esteso, 144
Kolmogorov, 144
Kolmogorov, cenni storici, 157
Laplace, 25
Laplace, cenni storici, 157
LS, 76
Luenberger, 126
Massima Verosimiglianza, 85, 141
MDL, 102
Minimi Quadrati regolarizzati, 78
MLE, 85
modelli a errore d’equazione, 67
modelli a errore d’ingresso, 66
modelli a errore d’uscita, 66
modi alternati, 13
modi aperiodici, 12
modi pseudoperiodici, 14
numero di condizione, 84, 167
Nyquist, 28, 57
Nyquist, cenni storici, 157
OE, 70
OE, predittore, 73
Optimum Transient Observer, 139
osservatore asintotico, 126
predittiva, forma, 70
predizione, 124
predizione, errore di, 73
172
G. Antonelli - IF (2008)
pseudoinversa, 76, 166
raccolta dati, 65
Riccati, 135
Riccati, cenni storici, 157
RLS, 89
Routh, cenni storici, 157
Routh, criterio di, 24
RWLS, 89
scelta del modello, 65
Schmidt, 146
Schmidt, modifica di, 132
stimatore consistente, 125
SVD, 166
Sylvester, test di, 165
Tustin, 33
Tustin, cenni storici, 157
validazione, 66
valor singolare, 81, 166
Viterbi, 119
Wiener, 144
Wiener, cenni storici, 157
Wiener, processo di, 69
WLS, 78
173
Fly UP