identificazione

September 25, 2017 | Author: Davide Marano | Category: Kalman Filter, Variance, Mathematical Analysis, Physics & Mathematics, Mathematics
Share Embed Donate


Short Description

identificazione...

Description

Filtraggio e Identificazione Gianluca Antonelli

2009 Dipartimento di Automazione, Elettromagnetismo, Ingegneria dell’Informazione e Matematica Industriale Universit`a degli Studi di Cassino Via G. Di Biasio 43, 03043 Cassino (FR), Italy [email protected] http://webuser.unicas.it/antonelli

Copyright (c) 2009 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 Il problema della stima 1.1

6

Stimatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

1.1.1

Caratteristiche degli stimatori . . . . . . . . . . . . . . . . . . . . . . . . . .

6

1.2

Osservatore di Luenberger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

1.3

Il filtro di Kalman . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.4

1.3.1

Aggiornamento temporale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.3.2

Equazioni del filtro di Kalman . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.3.3

The Optimum Transient Observer . . . . . . . . . . . . . . . . . . . . . . . 21

1.3.4

Considerazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.3.5

Stabilit` a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.3.6

Bianchezza del processo di innovazione . . . . . . . . . . . . . . . . . . . . . 24

1.3.7

Ortogonalit`a fra stima ed errore . . . . . . . . . . . . . . . . . . . . . . . . 25

1.3.8

Il Filtro di Wiener-Hopf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

1.3.9

Il Filtro di Kalman esteso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Dualit` a stima-controllo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2 Identificazione parametrica

34

2.1

L’approccio sistemistico e l’identificazione dei modelli . . . . . . . . . . . . . . . . 34

2.2

Identificazione in linea e fuori linea . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.3

Applicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

2.4

Introduzione alla individuazione dei parametri di un modello dinamico . . . . . . . 36

2.5

Modelli per l’identificazione dei sistemi dinamici e delle serie temporali . . . . . . . 38 2.5.1

Modelli a errore d’uscita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.5.2

Modelli a errore d’ingresso . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.5.3

Modelli a errore d’equazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2.6

Forma predittiva dei modelli per l’identificazione . . . . . . . . . . . . . . . . . . . 42

2.7

Minimizzazione dell’errore di predizione . . . . . . . . . . . . . . . . . . . . . . . . 45

2.8

Regressore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

2.9

Algoritmo a minimi quadrati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2

3

G. Antonelli - FI (2009)

2.9.1

Algoritmo a minimi quadrati pesati . . . . . . . . . . . . . . . . . . . . . . 49

2.9.2

Media e Covarianza dell’errore di stima . . . . . . . . . . . . . . . . . . . . 50

2.9.3

Disuguaglianza di Cram´er-Rao . . . . . . . . . . . . . . . . . . . . . . . . . 51

2.9.4

Persistente eccitazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

2.9.5

Legame fra l’errore e i dati . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

2.10 Algoritmo a Massima Verosimiglianza . . . . . . . . . . . . . . . . . . . . . . . . . 57 2.11 Algoritmo di Gauss-Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.12 Algoritmo a Minimi Quadrati ricorsivo . . . . . . . . . . . . . . . . . . . . . . . . . 59 2.12.1 Algoritmo a minimi quadrati esteso e massima verosimiglianza approssimata 61 2.12.2 Inizializzazione degli algoritmi ricorsivi . . . . . . . . . . . . . . . . . . . . . 63 2.12.3 Persistente eccitazione per gli algoritmi ricorsivi . . . . . . . . . . . . . . . 64 2.12.4 Gestione della covarianza . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.13 Cenni sulla identificazione non parametrica . . . . . . . . . . . . . . . . . . . . . . 70 2.13.1 Analisi della risposta impulsiva . . . . . . . . . . . . . . . . . . . . . . . . . 70 2.13.2 Analisi della correlazione

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

2.13.3 Analisi della risposta in frequenza . . . . . . . . . . . . . . . . . . . . . . . 72 2.14 Scelta della complessit`a del modello . . . . . . . . . . . . . . . . . . . . . . . . . . 73 2.14.1 Errore di predizione finale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 2.14.2 Criterio dell’informazione di Akaike

. . . . . . . . . . . . . . . . . . . . . . 73

2.14.3 Criterio sulla descrizione a lunghezza minima . . . . . . . . . . . . . . . . . 74 2.15 Validazione dell’identificazione

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

2.15.1 Differenza fra simulazione e predizione . . . . . . . . . . . . . . . . . . . . . 75 3 Identificazione in pratica 3.1

77

Aspetti pratici per l’identificazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 3.1.1

Eliminazione delle componenti continue, derive o componenti stagionali . . 77

3.1.2

Scalatura degli ingressi e delle uscite . . . . . . . . . . . . . . . . . . . . . . 78

3.1.3

Scelta del modello . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

3.1.4

Determinazione del ritardo ingresso-uscita . . . . . . . . . . . . . . . . . . . 79

3.1.5

Determinazione dell’ordine del sistema . . . . . . . . . . . . . . . . . . . . . 79

3.1.6

Scelta dell’algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

3.1.7

Inizializzazione degli algoritmi ricorsivi . . . . . . . . . . . . . . . . . . . . . 82

3.1.8

Validazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

3.2

Forno elettrico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

3.3

Magellan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

3.4

MIB30 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

3.5

Canale GSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

G. Antonelli - FI (2009)

A

4 97

A.1 GNU Free Documentation License . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 A.2 Cenni storici

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

A.3 La Z trasformata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

A.4 Segnali aleatori . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 A.5 Polinomi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 A.6 Matrici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 A.7 Formula di Ackermann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 A.8 Simbologia

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

Bibliografia

115

Indice analitico

117

G. Antonelli - FI (2009)

rem tene, verba sequentur. Cicerone

5

Capitolo 1

Il problema della stima La determinazione di una grandezza incerta `e un problema ricorrente in innumerevoli campi dell’ingegneria e della scienza in generale. Basandosi su misure e modelli matematici si cerca di stimare il valore di una specifica variabile. In questo contesto si far`a riferimento ad un caso ` quindi un particolare: la stima di una grandezza di un sistema dinamico tempo-discreto. E segnale (variabile) tempo-variante. Il caso particolare di stima di una grandezza costante di un sistema dinamico (parametro) prende il nome di Identificazione Parametrica e sar` a affrontato nel Capitolo 2.

1.1

Stimatori

Sia k ∈ IN la variabile che denota il tempo, dato un insieme di misure d ed una grandezza vettoriale da stimare θ si definisce stimatore quella funzione che associa alle misure una stima ˆ θ(k) di θ: ˆ θ(k) = f (d). (1.1) La stima di una grandezza tempo-variante `e, ovviamente, funzione del tempo k. Pi` u precisamente, ˆ supponendo di avere a disposizione un insieme di N dati, la stima pu` o 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.

1.1.1

Caratteristiche degli stimatori

Definiamo il valor vero della grandezza da stimare come θ ◦ . Ogni esperimento che fornisce un insieme di dati `e un esperimento casuale. In questo senso, ogni insieme dei dati `e un vettore aleatorio funzione 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. 6

7

G. Antonelli - FI (2009)

Non polarizzazione Uno stimatore si definisce non polarizzato, o anche corretto o non deviato, se: ˆ E[θ(k)] = θ◦.

(1.2)

Lo stimatore non polarizzato, quindi, non presenta nessun errore sistematico di stima. Minima varianza Fra due stimatori non polarizzati `e certamente migliore lo stimatore con minore varianza, cio`e lo stimatore con minore dispersione della stima. Poich`e la varianza, nel caso vettoriale, `e una matrice, il confronto fra due stimatori si effettua sulla differenza fra le due matrici. La matrice ˆ 1 : V ar[θ ˆ 1 ] `e maggiore della matrice varianza della stima θ ˆ 2 : V ar[θ ˆ 2 ] se: varianza della stima θ ˆ 1 ] − V ar[θ ˆ2] ≥ O V ar[θ

(1.3)

quindi se la loro differenza `e semidefinita positiva. Si noti che se questa relazione non sussiste non si possono trarre conclusioni sulla grandezza relativa delle varianze. Se, al contrario, `e 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 `e comunque limitata inferiormente. Intuitivamente `e facile comprendere come la presenza di disturbi nella sorgente dei dati infici la precisione con cui si pu` o stimare la grandezza in esame indipendentemente dalla bont`a dello stimatore (si veda la Sezione 2.9.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`e che la sua varianza diminuisca all’aumentare dei dati disponibili: ˆ )] = O. lim V ar[θ(N

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 →∞

(1.4)

(1.5)

(1.6)

Poich`e la stima `e funzione di un esito la sua convergenza al crescere dei dati non `e assicurata. Definendo come A 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 `e sufficiente che l’insieme S − A abbia misura nulla). Uno stimatore per cui sussista la convergenza quasi certa si dice consistente.

8

G. Antonelli - FI (2009)

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` u ragionevolmente considerare utili, al passo k, dei dati acquisiti per tempi lontani da k. Si ricorre allora alla richiesta di non divergenza della stima dal valor vero. In formule si richiede che: 

2 

ˆ ◦ (1.7) E θ(k|k − l) − θ (k) ≤ c con l e c scalari positivi.

1.2

Osservatore di Luenberger

In questa Sezione verr` a presentato l’osservatore di Luenberger (osservatore asintotico), uno stimatore dello stato per sistemi lineari. Si far`a il caso di sistemi dinamici tempo-discreti. Il modello di riferimento `e deterministico:  x(k + 1) = Φx(k) + Γ u(k) (1.8) y(k) = Hx(k) dove x ∈ IRn `e lo stato, y ∈ IRm sono le uscite, u ∈ IRp gli ingressi e le matrici sono di dimensione opportuna: Φ ∈ IRn×n , Γ ∈ IRn×p , e H ∈ IRm×n .

La grandezza da stimare x(k) `e lo stato del sistema, `e quindi tempo-variante. Il motivo per cui si ricorre alla stima `e che spesso non tutti gli stati sono fisicamente accessibili, oppure il costo per 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).

(1.9)

(1.10)

L’uscita dell’osservatore, dopo un transitorio, deve convergere numericamente al valore dello stato. Poich`e lo stato `e tempo-variante la loro differenza si manterr` a limitata nel tempo. Questo deve valere per ogni ingresso e per ogni stato iniziale sia dell’osservatore che del sistema dinamico (in generale x(0) non `e noto). In Figura 1.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),

(1.11)

affinch`e sia indipendente dall’ingresso `e necessario che sia B = Γ . Si noti come questa posizione sia stringente, `e 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).

(1.12)

9

G. Antonelli - FI (2009)

y

u

G

x

w obs B

Figura 1.1: Schema dell’osservatore di Luenberger. Si sceglie F tale da fornire un sistema omogeneo: F = Φ − GH

(1.13)

in questo modo la dinamica dell’errore `e caratterizzata dell’equazione: e(k + 1) = F e(k)

(1.14)

e(k) = F k e(0).

(1.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` a del progettista sono G e F . Si potrebbe pensare di prendere G = O e F = Φ. Questa soluzione ha due inconvenienti fondamentali, pu` o essere utilizzata solo per sistemi stabili e 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 `e estinto. Il procedimento da seguire `e 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 } .

(1.16)

da questi si ricavano i coefficienti del polinomio caratteristico desiderato: n Y (λ − λd,i ) = λn + d1 λn−1 + . . . + dn .

(1.17)

i=1

A questo punto `e fissato il polinomio caratteristico che `e dato da: |λI − (Φ − GH)|

(1.18)

10

G. Antonelli - FI (2009)

in cui si hanno come incognite gli elementi della matrice G. Supponendo di assegnare lo stesso polinomio caratteristico per tutte le uscite, tramite il principio di identit`a dei polinomi, si potrebbe pensare di ricavare i Gi,i tramite un sistema di equazioni di dimensioni opportune. In realt` a ci` o non `e in generale possibile, le incognite, infatti, dopo 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` E o essere trovata in Appendice A.7. Nel seguito, per semplicit`a di notazione, si far`a riferimento ad un sistema con una uscita scalare, le matrici H e G, quindi, sono vettori riga o colonna e verranno rispettivamente indicate con i simboli h e g. Si calcoli il polinomio caratteristico della matrice dinamica del sistema Φ dato da: |λI − Φ| = λn + a1 λn−1 + . . . + an .

(1.19)

Si calcoli la matrice:

h T = hT ΦT hT



an−1 an−2  a i  n−2 an−3 T n−1 T  . . . ... ... Φ h   ... ... 1 0

 . . . a1 1 ... 1 0  . . . . . . . . . , . . . . . . . . . ... 0 0

(1.20)

della quale `e necessario verificarne il rango pieno, che si riduce a verificare il rango della prima matrice che `e proprio la trasposta della matrice di osservabilit` a del sistema (dettagli in A.7). Definendo T  d = dn . . . d1 T  a = an . . . a1

`e possibile scrivere la formula di Ackermann:

g = −T -T (a − d) .

(1.21)

Questo determina univocamente l’incognita g, sostituendola nella (1.13) si ottiene la matrice F. Esempio : nonlinearit` a degli elementi Gi,i Data la matrice dinamica Φ ∈ IR3×3 :

e la matrice delle uscite H ∈ IR2×3 :

 .6 .2 Φ = .1 .7 0 .2  1 H= 0

 .3 .2 .7

 0 0 , 1 0

11

G. Antonelli - FI (2009) la matrice G cercata ha dimensioni 3 × 2:

 G1,1 G = G2,1 G3,1

 G1,2 G2,2  . G3,2

Calcolando l’espressione del polinomio caratteristico per l’osservatore (1.18), si ottiene il polinomio del terzo ordine: λ3 + (−2 − G2,2 − G1,1 )λ2 + (−0.3G3,1 − 0.1G1,2 − 0.2G3,2 − 0.2G2,1 + 1.4G1,1 − G2,1 G1,2 + 1.27 + 1.3G2,2 + G1,1 G2,2 )λ + −0.45G1,1 + 0.07G1,2 + 0.08G2,1 − 0.42G2,2 + 0.17G3,1 + 0.09G3,2 − 0.2G3,1 G1,2 + +0.2G1,1 G3,2 + 0.3G3,1 G2,2 + 0.7G2,1 G1,2 − 0.7G1,1 G2,2 − 0.262 − 0.3G2,1 G3,2 in cui compaiono i prodotti delle 6 incognite Gi,i . Questa espressione, ovviamente non-lineare, non pu` o essere facilmente, e sistematicamente, trattata tramite il principio di identit`a dei polinomi per poter assegnare gli autovalori desiderati dell’osservatore in eq. (1.17). ♦

Scelta degli autovalori di F Ci` o che si richiede ad un osservatore `e di convergere il pi` u velocemente possibile al valore dello stato. Non ci sono limiti teorici nella scelta della posizione degli autovalori ne energetici, considerando che l’osservatore `e 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 `e possibile partizionare il vettore di stato ed implementare i risultati ottenuti a sottoinsiemi del sistema originario [9]. (xxx estendere guardando anche appunti zanasi) Riformulazione in termini di retroazione L’equazione (1.9), alla luce della (1.13) pu` o essere riscritta come: w(k + 1) = Φw(k) + Bu(k) + G (y(k) − Hw(k)) ,

(1.22)

che mette in evidenza come l’osservatore sia costituito da una componente che emula il processo pi` u 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. 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

12

G. Antonelli - FI (2009)

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`a di robustezza ed insensibilit`a alle variazioni parametriche tipiche della retroazione, si noti per` o che il sistema utilizza una combinazione lineare dello stato (l’uscita) per estrarne informazioni e che la compensazione degli ingressi `e 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 Φ `e soggetta ad un errore, mentre supporremo H noto: ˆ − GH = Φ − Φ ˜ − GH F = Φ B = Γˆ = Γ − Γ˜ l’evoluzione dell’errore `e quindi determinata dall’equazione: ˜ ˜ u(k). e(k + 1) = F e(k) + Φw(k) +Γ

Procedura operativa I passi per la progettazione di un osservatore asintotico sono: 1. si verifica la osservabilit` a del sistema ed eventualmente si trasforma in forma canonica di osservabilit` a, impostando poi il progetto per il sottospazio osservabile; 2. porre B = Γ ; 3. determinare gli autovalori desiderati assegnando il vettore d; 4. calcolare la matrice di trasformazione lineare T tramite la (1.20); 5. calcolare g tramite la (1.21); 6. calcolare F tramite la (1.13).

Esempio : stima della corrente in un ramo di un circuito RLC xxx ♦

13

G. Antonelli - FI (2009)

1.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)

(1.23)

dove x ∈ IRn `e lo stato, y ∈ IRm sono le uscite, u ∈ IRp gli ingressi, w ∈ IRq il rumore di processo, v ∈ IRm il rumore di misura, le matrici sono di dimensione opportuna: Φ ∈ 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)w T (j)] E[v(i)v T (j)] E[wh (i)vlT (j)] E[xh (i)vlT (j)]

= = = = = =

0 0 Rw δ(i − j) Rv δ(i − j) 0 per ogni i, j, h, l 0 per ogni i, j, h, l.

Supponendo accessibili le sole uscite si vuole trovare uno stimatore ottimo dello stato. (xxx rappresentazione schematica delle ipotesi, kailath pg 311). ˆ (k) la stima dello stato all’istante k usando i dati fino all’istante k e x(k) la stima Si definisce x ˆ (k − 1) 6= x(k). Si veda dello stato all’istante k usando i dati fino all’istante k − 1. Si noti che x la Figura 1.2 per una rappresentazione grafica delle grandezze definite.

ˆ (k) x P (k)

k

aggiorn. temporale

x(k + 1)

ˆ (k + 1) x

M (k + 1)

P (k + 1)

k+1

Figura 1.2: Diagramma temporale del filtro di Kalman. Si definisca P (k) la stima della covarianza dell’errore al passo k ottenuta utilizzando i dati ˜ (k) = x(k) − x ˆ (k). Si introduca una stima della fino al passo k: P (k) = E[˜ x(k)˜ xT (k)], con x covarianza dell’errore al passo k ottenuta utilizzando i dati fino al passo k − 1. Definiamo questa ˆ (k) (Figura 1.2). stima M (k). Si crea cos`ı un legame analogo a quello che esiste fra x(k) e x Si supponga di disporre di una stima dello stato all’istante k senza aver ancora utilizzato i dati correnti. Per definizione questa stima `e indicata con x(k). Il problema diventa l’aggiornamento di questa stima basandosi sulla misura all’istante k dato il modello in (1.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) `e lo stesso che si ottiene nel caso del problema dell’identificazione.

14

G. Antonelli - FI (2009)

La differenza `e che in questo caso, essendo lo stato tempo-variante, non `e possibile utilizzare la formula a lotti ma solo quella ricorsiva:

dove

ˆ (k) = x(k) + L(k) [y(k) − Hx(k)] . x

(1.24)

 −1 . L(k) = M (k)H T Rv + HM (k)H T

(1.25)

P (k) = M (k) − L(k)HM (k).

(1.26)

L’equazione (2.95) viene corrispondentemente modificata in:

1.3.1

Aggiornamento temporale

Si consideri il caso in cui le misure siano disponibili ad una frequenza minore rispetto a quella di monitoraggio dello stato stesso. Si pu` o pensare di aggiornare la stima, in attesa della successiva misura, sulla base della conoscenza del modello stesso. Questa intuizione, nota come modifica di S.F. Schmidt, si traduce in due equazioni di aggiornamento per lo stato e la stima della covarianza dell’errore di stima. ˆ (k) e conoscendo la dinamica in (1.23). Il valore di x(k +1) viene quindi calcolato partendo da x Poich`e il rumore w(k) ha media nulla si ottiene: x(k + 1) = Φˆ x(k) + Γ u(k).

(1.27)

Si noti che l’eq. (1.27) `e definita aggiornamento temporale in contrapposizione all’eq. (1.24), definita aggiornamento di misura. Poich`e: ˆ (k))(x(k) − x ˆ (k))T ] P (k) = E[(x(k) − x

(1.28)

M (k + 1) = E[(x(k + 1) − x(k + 1))(x(k + 1) − x(k + 1))T ],

(1.29)

ˆ (k)) + Γ 1 w(k) x(k + 1) − x(k + 1) = Φ(x(k) − x

(1.30)

calcoliamo sapendo che e che v e w sono incorrelati fra loro cos`ı come x e w si ottiene: ˆ (k))(x(k) − x ˆ (k))T ΦT + Γ 1 w(k)w(k)T Γ T M (k + 1) = E[Φ(x(k) − x 1 ],

(1.31)

che fornisce l’equazione cercata: M (k + 1) = ΦP (k)ΦT + Γ 1 Rw Γ T 1.

(1.32)

Come per la stima, l’eq. (1.32) `e definita aggiornamento temporale della covarianza mentre l’eq. (1.26) `e 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.

15

G. Antonelli - FI (2009)

1.3.2

Equazioni del filtro di Kalman

Il filtro `e quindi dato dall’implementazione delle equazioni (1.24), (1.25), (1.26), (1.27) e (1.32) che vengono qui riportate e sono definite, rispettivamente, guadagno, aggiornamento di misura della stima, aggiornamento di misura della covarianza, aggiornamento temporale della stima e aggiornamento temporale della covarianza:  −1 (1.33) L(k) = M (k)H T Rv + HM (k)H T ˆ (k) = x(k) + L(k) [y(k) − Hx(k)] x

(1.34)

P (k) = M (k) − L(k)HM (k)

(1.35)

x(k + 1) = Φˆ x(k) + Γ u(k) T

M (k + 1) = ΦP (k)Φ +

(1.36)

Γ 1 Rw Γ T 1

(1.37)

in cui x(0) e M (0) sono note e costituiscono una stima iniziale delle grandezze corrispondenti. Il corrispondente schema a blocchi `e riportato in Figura 1.3. ˆ (k) x Γ 1 w(k) u(k) +

Γ

+

v(k) x(k)

1 z

+

H

+

+

y(k) +

L(k)



Φ

+

Φ

+

H

x(k)

+

+

1 z

Figura 1.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 (per dettagli si veda la sezione 2.12): P (k)−1 = M (k)−1 + H T R−1 (1.38) v H 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) =

(1.39)

da cui si ricava infine

L(k) = P (k)H T R−1 v che rappresenta la forma cercata.

(1.40)

16

G. Antonelli - FI (2009)

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` u uscite incorrelate fra loro Rv `e una matrice diagonale contenente le covarianze di rumore dei differenti sensori. La stessa cosa non pu` o dirsi per Rw . Il filtro di Kalman viene spesso utilizzato per stimare lo stato che quindi `e 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 `e semplice, l’assenza di Rw significa dire al filtro che il modello matematico `e perfetto, il risultato `e 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, `e 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) `e 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 `e chiamati a fornire una stima dello stato all’istante iniziale e la corrispondente covarianza dell’errore. Lo stato, x(0) `e in genere ricavato in base alla conoscenza del modello oppure posto uguale a zero se nessuna informazione `e accessibile. Il valore di M (0) pu` o 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) `e 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 nella forma alternativa (1.40): L(k) = P (k)H T R−1 v .

(1.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’`e correlazione fra i diversi rumori di misura) si osserva come il guadagno L(k) sia diagonale e rappresenti il rapporto fra due grandezze statistiche, l’incertezza sulla stima e l’incertezza sulla misura. Precisamente il guadagno `e proporzionale all’incertezza

17

G. Antonelli - FI (2009)

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`a di informazione da utilizzare per l’aggiornamento della stima. Guadagno a regime ` interessante stuIl filtro di Kalman `e caratterizzato da un guadagno L(k) tempo-variante. E diarne le caratteristiche. Sotto ipotesi di linearit` a, stazionariet`a, osservabilit` a e controllabilit` a, il guadagno tende a regime ad un valore costante a causa del raggiungimento del regime delle matrici P (k) e M (k) (la stima della covarianza 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 `e differente. Il guadagno assume quindi la forma:  −1 L∞ = M ∞ H T Rv + HM ∞ H T

(1.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 (1.26), nell’aggiornamento temporale della covarianza (1.32), facendo tendere ad infinito le matrici (M ∞ = P ∞ ). Si ottiene quindi: o n  −1 (1.42) HM ∞ ΦT + Γ 1 Rw Γ T M ∞ = ΦM ∞ ΦT − Φ M ∞ H T Rv + HM ∞ H T 1

nota come equazione di Riccati, la cui soluzione non `e banale a causa della sua evidente struttura nonlineare. Esistono delle tecniche numeriche per la risoluzione di questa equazione, si pu` o quindi assumere che, una volta risolta 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: ˆ (k) = x(k) + L∞ [y(k) − Hx(k)] x x(k + 1) = Φˆ x(k) + Γ u(k)

(1.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 (1.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 `e costante e progettato per fornire all’osservatore stesso uno specifico comportamento dinamico. Esempio : Stima di una costante

18

G. Antonelli - FI (2009) Si consideri come esempio il problema di stimare in linea il valore di una costante tramite una sua misura rumorosa. La dinamica di uno scalare, costante, `e data dalla semplice equazione: x(k + 1) = x(k), in cui la matrice dinamica `e Φ = φ = 1. L’equazione di uscita `e: y(k) = x(k) + v(k), in cui H = H = 1 e v(k) `e per ipotesi incorrelato e Gaussiano a media nulla e varianza rv . Sia assegnata la matrice di covarianza M (0) che si riduce ad uno scalare m(0) = m0 `e possibile calcolare le equazioni di aggiornamento della covarianza dell’errore e del guadagno: m(k) rv + m(k) m(k)rv p(k) = rv + m(k) m(k + 1) = p(k). l(k) =

All’istante iniziale si ha: m0 rv + m0 m0 rv p(0) = rv + m0 m(1) = p(0), l(0) =

per k = 1 si ottiene: l(1) = p(1) = m(2) =

m0 p(0) m0 rv m(1) = = = 2 rv + m(1) rv + p(0) rv + m0 rv + m0 rv rv + 2m0 m0 rv rv + 2m0 m0 rv , rv + 2m0

iterando `e 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 `e il rapporto fra m0 e rv maggiore sar`a il guadagno e quindi la capacit`a del filtro di modificare la stima; il contrario quando m0 /rv `e piccolo, indice di una varianza di misura maggiore della covarianza del rumore di stima. In questo esempio `e stata fatta 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. ♦

19

G. Antonelli - FI (2009)

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`u accelerometri, `e caratterizzata da una deriva dell’errore. Considerando la misura di posizione come: pIN S = pt + δp, dove pt `e la posizione esatta e δp l’errore dell’INS, `e possibile scrivere le equazioni dell’errore dell’INS in tempo continuo: δ p˙ δ v˙ δ a˙ ossia, in forma matriciale:



  δ p˙ 0 δ v˙  = 0 δ a˙ 0

= = =

δv δa 0

  1 0 δp 0 1 δv  . 0 0 δa

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) T2 ca (0)T ca (0)

che `e simmetrica e definita positiva ma non diagonale, il che mostra come la covarianza dell’errore di posizione sia ora correlato a quello di velocit`a e accelerazione. In assenza di altri sensori, l’INS fornisce una stima il cui errore diverge secondo una polinomiale del secondo ordine (Figura 1.4). Utilizzando la misura della posizione via radio: pradio = pt + ep , che, pu` o essere inserito nel modello 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, `e invece possibile ridurre questo errore. Si progetta quindi un filtro di Kalman in cui T = 1 s e si eseguono le misure via radio ogni 30 s.

20

G. Antonelli - FI (2009)

35 30 25 [m]

20 15 10 5 0 −5

0

50

100 tempo [s]

150

Figura 1.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 1.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 `e uguale a quello dell’INS.

35 30 25 [m]

20 15 10 5 0 −5

0

50

100 tempo [s]

150

Figura 1.5: Errore di posizione utilizzando il solo INS (x) e il filtro di Kalman (o). Il filtro permette anche una ricostruzione ottima della velocit`a, grandezza non direttamente accessibile alla misura nell’esempio fatto. In figura 1.6 gli errori di velocit`a per l’INS e per il filtro sono riportati. Si noti come per il filtro tale errore `e limitato mentre per l’INS cresca linearmente con il tempo. La figura 1.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.

21

G. Antonelli - FI (2009) 0.4

[m/s]

0.2

0

−0.2

−0.4

0

50

100 tempo [s]

150

Figura 1.6: Errore di velocit` a 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 1.7: Andamento temporale delle 3 componenti della matrice di guadagno L ∈ IR3 . ♦

1.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 (1.23):  x(k + 1) = Φx(k) + Γ u(k) + Γ 1 w(k) y(k) = Hx(k) + v(k)

(1.23)

Si fissi la seguente struttura dell’osservatore: ˆ (k) = x(k) + L(k) [y(k) − Hx(k)] x

(1.44)

22

G. Antonelli - FI (2009)

che `e identica a quella del filtro mostrata in (1.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 (1.27) e (1.32) siano ancora valide. Media dell’errore di stima L’errore di stima dello stato `e definito come: ˜ (k) = x(k) − x ˆ (k), x

(1.45)

che pu` o essere esplicitato conoscendo la dinamica del sistema ed utilizzando le equazioni di aggiornamento di misura e temporale dello stato: ˜ (k) = Φx(k − 1) + Γ u(k − 1) + Γ 1 w(k − 1) − x(k) − L(k) [Hx(k) + v(k) − Hx(k)] x = Φ˜ x(k − 1) + Γ 1 w(k − 1) − L(k) [Hx(k) + v(k) − Hx(k)]

= Φ˜ x(k − 1) + Γ 1 w(k − 1) +

−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 `e data dell’equazione seguente: ˜ (k) = (I − L(k)H) Φ˜ x x(k − 1) + (I − L(k)H) Γ 1 w(k − 1) − L(k)v(k).

(1.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)]

(1.47)

ˆ (0) = E[x(0)]. che `e identicamente nullo se si assume x 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)

(1.48)

che, considerando l’aggiornamento temporale della covarianza (1.32), pu` o 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 cedente pu` o essere riscritta come: E[˜ x(k)˜ x(k)T ] = M (k) + Rv + HM (k)H T

−1

−1

HM T (k) l’equazione pre-

 + A Rv + HM (k)H T AT

(1.49)

23

G. Antonelli - FI (2009)

dove A = L(k) − M (k)H T Rv + HM (k)H T

−1

.

(1.50)

Si osservi ora l’espressione (1.49). L’unico termine che dipende dal guadagno `e il termine  quadratico in A. Il nucleo di tale termine Rv + HM (k)H T , `e definito positivo per ipotesi. Il termine contenente il guadagno quindi, pu` o al massimo essere annullato. Questo `e possibile scegliendo il guadagno stesso: L(k) = M (k)H T Rv + HM (k)H T espressione identica alla (1.33).

1.3.4

−1

(1.51)

Considerazioni

Si faccia riferimento al modello in eq. (1.23), supponendo di non avere informazioni probabilistiche sui rumori di processo e di misura, la minimizzazione dell’errore quadratico medio dell’equazione di misura fornirebbe ancora la (1.24) con la differenza che la matrice Rv `e ora una matrice di pesi. Assumendo di conoscere le caratteristiche probabilistiche di processo e di misura si potrebbe procedere con il metodo della Massima Verosimiglianza (Maximum Likelihood): ossia ˆ (k) che massimizza la probabilit`a delle misure y(k) eseguite conoscendo scegliere quella stima x le propriet`a statistiche di v(k). Si vuole massimizzare p(y|x). Assumendo per v(k) valor atteso nullo e funzione densit`a di probabilit`a Gaussiana si ottiene esattamente lo stesso risultato in (1.24) a meno di interpretare Rv come covarianza del rumore di misura (pg. 103 gelb, verificare eq. 4.0-6). 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, `e la stima Bayesiana, in cui si utilizza il teorema di Bayes: p(x|y) =

p(y|x)p(x) p(y)

(1.52)

per soddisfare uno specifico criterio di ottimo, es., per ricavare la stima a minima varianza Bayesiana. Sotto semplici ipotesi, questi 3 criteri di stima forniscono risultati uguali [10].

1.3.5

Stabilit` a

Un aspetto importante del filtro di Kalman riguarda il suo comportamento dinamico nel caso in cui le misure siano soppresse. Dalle equazioni del filtro, supponendo assente l’ingresso, `e possibile ricavare la dinamica della stima: ˆ (k) = (Φ − L(k)HΦ) x ˆ (k − 1) x

(1.53)

` necessario che, anche in condizioni di ottimalit` a del guadagno, non `e garantita essere stabile. E richiedere delle ipotesi abbastanza stringenti ([10]) sebbene nella maggior parte dei casi pratici il filtro non presenti problemi di stabilit` a.

24

G. Antonelli - FI (2009)

1.3.6

Bianchezza del processo di innovazione

La grandezza ˆ (k) e(k) = y(k) − H x

(1.54)

viene spesso definita come innovazione. La si riscriva come: ˆ (k) = H x ˜ (k) + v(k), e(k) = Hx(k) + v(k) − H x

(1.55)

vogliamo calcolarne la correlazione:           ˜ (i)v(j)T + E v(i)˜ ˜ (i)˜ x(j)T H T . E e(i)e(j)T = HE x x(j)T H T + E v(i)v(j)T + HE x {z } | {z } | {z } | {z } | A B C D Dalla relazione (1.46) `e noto che:

˜ (k) = (I − L(k)H) Φ˜ x x(k − 1) + (I − L(k)H) Γ 1 w(k − 1) − L(k)v(k). Si consideri il caso i > j. Il termine B vale, per ipotesi:   E v(i)v(j)T = Rv δ(i − j),

(1.46)

(1.56)

˜ (j) funzione del rumore di misura v(k) fino all’istante j < i. Al il termine D `e nullo essendo x ˜ (i) in funzione di x ˜ (j): fine di calcolare gli altri due termini si scriva x ˜ (j + 1) = (I − L(j + 1)H) Φ˜ x x(j) + (I − L(j + 1)H) Γ 1 w(j) − L(j + 1)v(j + 1) ˜ (j + 2) = (I − L(j + 2)H) Φ˜ x 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) ... ... ˜ (i) = ΦP (i, j)˜ x 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) Φ

(1.57)

e ζ(i) ha un espressione simbolicamente leggermente pi` u 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:     ˜ (i)˜ ˜ (j)T H T x(j)T H T = HE (ΦP (i, j)˜ HE x x(j) + ζ(i)) x     ˜ (j)˜ x(j)T H T + HE ζ(i)˜ = HΦP (i, j)E x x(j)T H T = HΦP (i, j)P (j)H T . Analogamente per il termine C:     ˜ (i)v(j)T = HE (ΦP (i, j)˜ ˜ (j)T H T HE x x(j) + ζ(i)) v

(1.58)

25

G. Antonelli - FI (2009)

    ˜ (j)˜ v (j)T H T + HE ζ(i)˜ = HΦP (i, j)E x v (j)T H T = HΦP (i, j) (−L(j)Rv ) ˜ (j) la sua espressione (1.46) ed osservando che ζ(i) e v(j) sono che si ottiene sostituendo a x incorrelati. Sommando i termini ricavati si ottiene:    E e(i)e(j)T = HΦP (i, j) P (j)H T − L(j)Rv + Rv δ(i − j),

(1.59)

sapendo che il guadagno pu` o 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), (1.60) vale a dire la bianchezza del processo di innovazione.

Si noti come, giunti al passaggio (1.59) sia possibile imporre la bianchezza del processo di innovazione e ricavare il guadagno ottimo. In altre parole la bianchezza garantisce che non ci siano informazioni utili nell’errore e(k).

1.3.7

Ortogonalit` a fra stima ed errore

Si vuole verificare la validit` a della seguente relazione   ˆ (k)˜ E x x(k)T = O

(1.61)

vale a dire l’ortogonalit` a fra la stima ottima e l’errore.

Si consideri un sistema privo di ingresso e con Γ 1 = I, all’istante iniziale si avr`a: x(1) = Φx(0) + w(0)

(1.62)

ˆ (1) = Φˆ x 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)]

(1.63)

e una corrispondente stima:

ed un errore di stima che, dalla (1.46), `e possibile scrivere come ˜ (1) = (I − L(1)H) Φ˜ x x(0) + (I − L(k)H) w(0) − L(1)v(1).  ˆ (0)˜ x(0)T = O si calcola direttamente: Sapendo che E x   ˆ (1)˜ E x 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 

(1.64)

in cui si `e fatto uso della formulazione alternativa per il guadagno. Per induzione si generalizza al campione k esimo.

26

G. Antonelli - FI (2009)

1.3.8

Il Filtro di Wiener-Hopf

Il primo tentativo di stimare una grandezza a partire da un insieme di osservazioni risale agli inizi del 1800 con Gauss che comincia ad utilizzare la tecnica dei Minimi Quadrati deterministici. Agli inizi del 1900 Fisher, introducendo concetti probabilistici, propone 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` o essere considerato come un caso particolare del filtro di Kalman. Dai primi sforzi di Gauss al filtro di Kalman `e possibile individuare molte similitudini. Gauss riconosce implicitamente concetti quali la ridondanza dei dati per eliminare il rumore di misura, la necessit`a di un ingresso eccitante, si avvicina a concetti quali l’osservabilit` a del sistema. Kalman pu` o essere infatti considerato come la versione ricorsiva del lavoro di Gauss [10]. Si riscrivano le equazioni del filtro di Kalman a regime considerando, per semplicit`a, l’assenza di ingresso: ˆ (k) = x(k) + L∞ [y(k) − Hx(k)] x x(k + 1) = Φˆ x(k) queste possono essere riscritte come: x(k + 1) = Φ {x(k) + L∞ [y(k) − Hx(k)]}

(1.65)

x(k + 1) − Φx(k) + ΦL∞ Hx(k) = ΦL∞ y(k)

(1.66)

X(z) = (zI − Φ + ΦL∞ H)−1 ΦL∞ Y (z)

(1.67)

ossia: che, Z-trasformando, fornisce: che nel caso scalare diventa: X(z) =

f l∞ Y (z) z − f (1 − l∞ h)

(1.68)

Si noti come in alcuni testi questo approccio `e noto come Kolmogorov-Wiener invece di WienerHopf. Si ribadiscono le differenze rispetto al risultato di Kalman. Wiener `e applicabile a sistemi ingresso-uscita stazionari e stabili, Kalman a sistemi ingresso-stato-uscita tempo-varianti e non necessariamente stabili.

1.3.9

Il Filtro di Kalman esteso

Il Filtro di Kalman esteso (EKF, Extended Kalman Filter) si applica ai sistemi nonlineari o ai sistemi dinamici in cui si voglia identificare uno o pi` u parametri incogniti. Si consideri il modello 

x(k + 1) = f (x(k), k) + Γ u(k) + Γ 1 w(k) . y(k) = h(x(k), k) + v(k)

(1.69)

Si definiscano le due matrici:   ˆ  Φ(k) =  ˆ  H(k) =



∂ f (x(k),k) ∂x ˆ (k) x= x



∂ h(x(k),k) ∂x ˆ (k) x= x

(1.70)

27

G. Antonelli - FI (2009)

che vengono utilizzate per il calcolo della matrice di covarianza e del guadagno. La stima ottima `e quindi fornita dalle equazioni: i−1 h T T ˆ ˆ ˆ Rv + H(k)M (k)H(k) L(k) = M (k)H(k)

ˆ (k) = x(k) + L(k) [y(k) − h(x(k), k)] x ˆ P (k) = M (k) − L(k)H(k)M (k)

x(k + 1) = f (ˆ x(k), k) + Γ u(k) ˆ ˆ T + Γ 1 Rw Γ T M (k + 1) = Φ(k)P (k)Φ(k) 1.

(1.71) (1.72) (1.73) (1.74) (1.75)

Si osservi come ora non sia possibile calcolare il guadagno a regime ma sia necessario calcolarlo istante per istante, le matrici dinamiche del modello lineare, infatti, sono calcolate sulla base della ˆ (k). conoscenza di x Il Filtro di Kalman esteso pu` o anche essere utilizzato per stimare il valore di un parametro costante del modello fisico. Si definisca con θ un vettore di parametri incerti del modello. Il modello (1.69) diventa  x(k + 1) = f (x(k), θ, k) + Γ u(k) + Γ 1 w(k) (1.76) y(k) = h(x(k), θ, k) + v(k) in cui si `e evidenziata la dipendenza (nonlineare) dalle variabili incerte. L’idea `e quella di considerare tali parametri, costanti, come ulteriori stati del sistema caratterizzati dall’avere dinamica nulla: θ(k + 1) = θ(k). (1.77) 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 `e modificato anche la matrice Γ E,1 come:   Γ1 O Γ E,1 = O I e wE =



 w . wθ

(1.78)

(1.79)

(1.80)

(1.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 `e proprio nella scelta dei valori delle covarianze. Sul modello (1.79) si progetta poi un filtro di Kalman esteso come in (1.71)–(1.75). Il filtro di Kalman esteso fu originariamente sviluppato calcolando le matrici linearizzate rispetto alla traiettoria nominale (e non alla stima al passo precedente). Date le condizioni iniziali,

28

G. Antonelli - FI (2009)

infatti, le equazioni dinamiche possono essere integrate e fornire l’evoluzione nel tempo dello stato del sistema. In un certo senso, `e come se, utilizzando la traiettoria nominale, si progetti un filtro a ciclo aperto laddove, utilizzando la stima precedente, si retroazioni l’informazione utile. ` anche possibile dimostrare come, in alcuni casi, l’errore del filtro di Kalman esteso progettato E 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:   x˙ = v cos θ y˙ = v sin θ (1.82)  ˙ θ = ω dove x e y sono le coordinate della posizione del veicolo in terna inerziale, θ `e l’orientamento di una terna solidale al veicolo rispetto ad una terna inerziale, v e ω sono, rispettivamente, la velocit`a lineare ed angolare del veicolo espresse in terna solidale. Supponendo di misurare le velocit`a di rotazione delle ruote e di risalire, da queste, a v ed ω, si vuole stimare la posizione e 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) (1.83)  θ(k + 1) = θ(k) + T ω(k)

dove T `e il tempo di campionamento. La semplice integrazione di queste equazioni fornisce una stima caratterizzata da una deriva numerica. Si pu` o 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:   H= 0 0 1 (1.84)

che indica che la nostra sola misura `e il terzo elemento dello stato. La linearizzazione della dinamica fornisce:   ˆ 1 0 −T v(k) sin θ(k) ∂f (x(k), k) ˆ . ˆ = 0 1 T v(k) cos θ(k) (1.85) Φ(k) = ∂x ˆ (k) x =x 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θ

(1.86)

che mostra come, evidentemente, non si raggiunga un regime per le prime due componenti. La figura 1.8 mostra l’andamento temporale dello stato del veicolo soggetto ad un ingresso v, ω ` possibile notare come sinusoidale e lo stato ricostruito per semplice integrazione con T = 0.1 s. E ci sia una deriva numerica sulla stima dello stato. Supponendo di misurare l’orientamento ogni 5 s e di impostare un filtro di Kalman esteso con i guadagni: Rv

=

10−2

29

G. Antonelli - FI (2009)

4

[m]/[rad]

2 0 −2 −4 0

20

40 tempo [s]

60

80

Figura 1.8: Andamento temporale delle 3 componenti dello stato, x, y e θ (linea continua) e loro stima per semplice integrazione (x). Rw = M (0) =

10−2 I 3 100I 3

si ottiene un andamento dell’errore di stima della posizione come quello mostrato in figura 1.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 1.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 1.10 mostra infine l’andamento delle componenti del guadagno. La terza componente, cos`ı come derivato simbolicamente si assesta su un valore costante. ♦

30

G. Antonelli - FI (2009) 1



0.5

0

−0.5

0

5

10 −

15

20

Figura 1.10: Andamento temporale delle componenti del guadagno. Esempio Una possibile applicazione dell’EKF risiede nella stima e inseguimento di frequenze [5, 16]. 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 `e fornito da:        x1 (k + 1) cos x3 (k) − sin x3 (k) 0 x1 (k) 0 x2 (k + 1) =  sin x3 (k) cos x3 (k) 0  x2 (k) +  0  x3 (k + 1) 0 0 1−α x3 (k) w(k) y(k) = x1 (k) + v(k)

(1.87)

(1.88)

dove il parametro α ∈ [0, 1] rappresenta la velocit`a di variazione di x3 ed `e 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 `e t = 100 s, il tempo di campionamento T = 0.1 s. Il segnale s(t) da simulare `e: s(t) = cos(π/6t) ∀t ≤ 30 (1.89) e s(t) = cos(2π/3t) ∀t > 70

(1.90)

per t ∈]30, 70] la frequenza varia linearmente. La covarianza di rumore rv = 0.01. ♦

Esercizio : Atterragio di un veicolo spaziale

31

G. Antonelli - FI (2009) L’esercizio `e tratto da [11], un veicolo rientra nell’atmosfera monitorato da un radar. Un possibile modello matematico per alte quote e velocit`a `e dato da: x˙ 1 (t) = x˙ 2 (t) =

x3 (t) x4 (t)

(1.91) (1.92)

x˙ 3 (t) = x˙ 4 (t) =

d(t)x3 (t) + g(t)x1 (t) d(t)x4 (t) + g(t)x2 (t)

(1.93) (1.94)

x˙ 5 (t) =

0

(1.95)

in cui x1 (t) e x2 (t) rappresentano la posizione del veicolo su un piano verticale in cui la prima componente `e la quota, x3 (t) e x4 (t) le componenti della velocit`a, x5 (t) `e un parametro legato a propriet`a aerodinamiche, le funzioni nonlineari d(t) (drag) e g(t) (gravit`a) sono date da: d(t)

=

g(t) =

−β0 ex5 (t) e gm0 − 3 r (t)

r0 −r(t) h0

v(t)

in cui r(t) `e la distanza dal centro della terra e v(t) la velocit`a, le loro espressioni sono: q r(t) = x21 + x22 q v(t) = x23 + x24

(1.96) (1.97)

(1.98) (1.99)

Il radar, di posizione nota xr , yr misura distanza ed angolo del veicolo dal radar stesso. Le due misure disponibili sono quindi: p (x1 − xr )2 + (x2 − yr )2 + v1 (1.100) y1 (t) =   x2 − yr y2 (t) = atan (1.101) + v2 x1 − xr I dati dell’esercizio sono: β0 h0

= =

0.597 13.406

gm0

=

r0 xr

= =

3.9860 · 105

6374 r0

yr Rv1

= =

0 1

Rv2

=

17

di dimensioni opportune e con condizioni iniziali (le posizioni sono espresse in km)   6500  349     x= −1.8 −6.8 0.7

32

G. Antonelli - FI (2009) Si progetti un filtro con passo di campionamento T = 0.1 s. Le condizioni iniziali della stima si pongano pari a:   6490  345     ˆ = x  −2  .  −7  0.6



1.4

Dualit` a stima-controllo

Kalman ricav`o il risultato, oggi noto come filtro di Kalman, nel 1960 [13]. Nel 1958 aveva pubblicato ([14]), con Koepcke, il risultato ad un problema di Controllo Lineare Quadratico (LQR Linear Quadratic Regulator). Nell’articolo del 1960 riconobbe una similitudine formale che lo port` o a definire i problemi l’uno il duale dell’altro. Si consideri un sistema lineare tempo-discreto: x(k + 1) = Φx(k) + Γ u(k)

(1.102)

per il quale si cerca un controllo a retroazione dello stato con lo scopo di portare a zero lo stato del tipo: u(k) = −K(k)x(k) (1.103) con K(k) guadagno tempo-variante da individuare. Il guadagno si ottiene minimizzando il seguente indice: J=

N  1 X T x (k)Q1 x(k) + uT (k)Q2 u(k) 2

(1.104)

k=0

in cui le due matrici di peso Q1 e Q2 sono simmetriche e definite positive. L’indice `e un compromesso fra due esigenze, quella di portare a zero lo stato velocemente, pesando molto, quindi, lo stato stesso, e quella di preservare lo sforzo del controllo pesando, ovviamente, il controllo stesso. Il problema si pu` o riscrivere come un problema di minimo vincolato in cui si cerca il valore di u(k) k = 0, 1, . . . , N che minimizzi l’indice J soggetto ai vincoli: − x(k + 1) + Φx(k) + Γ u(k) = 0

k = 0, 1, . . . , N.

(1.105)

Per la soluzione, ottenibile con vari strumenti matematici fra cui i moltiplicatori di Lagrange, si rimanda a testi di approfondimento [9]. Il valore del guadagno K(k), tempo-variante, `e dato dall’espressione:  −1 T Γ S(k + 1)Φ (1.106) K(k) = Q2 + Γ T S(k + 1)Γ in cui le matrici S(k) e N (k) si ottengono tramite ricorsione 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)Γ

Il controllo LQR, quindi, si risolve nei seguenti passi:

(1.107) (1.108)

33

G. Antonelli - FI (2009)

controllo

stima

Φ N S Q1 Γ Q2

ΦT P M Γ 1 Rw Γ T 1 HT Rv

Tabella 1.1: Dualit`a stima-controllo. 1. inizializzare l’algoritmo ponendo S(N ) = Q1 , K(N ) = O e k = N ; 2. calcolare N (k) tramite la (1.108) 3. calcolare K(k − 1) tramite la (1.106) 4. calcolare S(k − 1) tramite la (1.107) 5. porre k = k − 1 e ripetere dal passo 2 La ricorsione di N (k) e S(k) `e 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 1.1. Una volta appurata questa analogia, `e 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.

Capitolo 2

Identificazione parametrica 2.1

L’approccio sistemistico e l’identificazione dei modelli

Un sistema `e un’oggetto in cui variabili di diversa natura interagiscono e producono segnali osservabili. I segnali di interesse sono usualmente definiti uscite. Il sistema `e 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 `e vasto e ci si `e limitati ad una definzione semplice. Un sistema viene generalmente schematizzato come in Figura (2.1). v

y

u

Figura 2.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` a con cui le variabili di un sistema interagiscono fra di loro `e il modello del sistema. Il modello fornisce gli aspetti salienti del comportamento del ` possibile fornire varie definizioni di modello di un sistema a diversi livelli di accuratezza sistema. E matematica. In questo contesto `e sufficiente una definizione discorsiva. Questo ci porta a fare una prima osservazione di validit` a generale nel campo della identificazione: l’accuratezza del modello non `e un valore assoluto ma funzionale all’utilizzo del modello stesso. Il modello matematico di un sistema pu` o 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; 34

35

G. Antonelli - FI (2009)

• Intervento. La progettazione di un controllore per modificare il comportamento dinamico del sistema. L’obiettivo dell’identificazione `e 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.

2.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 (2.2) e (2.3) possiamo affermare che l’identificazione fuori linea pu` o essere stata utilizzata per tarare opportunamente le strategie di controllo e filtraggio. disturbo riferimento +

y

u sistema

controllore



Figura 2.2: Schema generale di controllo. disturbo (rumore) segnale +

+

y filtro

Figura 2.3: Schema generale di filtraggio. Nel caso riportato nelle figure (2.4) e (2.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` a chiarito nel seguito).

2.3

Applicazioni

36

G. Antonelli - FI (2009)

strategia di adattamento

riferimento +

y

u sistema

controllore



Figura 2.4: Schema generale di controllo adattativo. strategia di adattamento

segnale

y filtro

Figura 2.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.

2.4

Introduzione alla individuazione dei parametri di un modello dinamico

Il problema dell’identificazione si pu` o ricondurre alla costruzione di modelli matematici di sistemi dinamici sulla base di dati estratti dal sistema stesso.

G. Antonelli - FI (2009)

37

Un modello matematico ricavato sulla base delle equazioni che regolano la fisica del sistema si rileva spesso troppo complesso per poter avere 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 `e quel procedimento che cerca di descrivere il sistema dinamico tramite delle equazioni semplici ricavate sulla base di osservazioni. Il livello di raffinatezza nella descrizione del sistema `e ovviamente legato anche all’uso che si vuole fare di tale modello. Si vuole quindi ˆ di una famiglia di modelli M caratterizzato da un vettore di parametri individuare il membro M(θ) θ appartenente ad un insieme di valori ammissibili. Si far`a riferimento a modelli lineari e stazionari tempo discreto. In alcuni casi, l’ingresso (o variabile esogena) non `e presente, si far`a riferimento in questo caso ad identificazione di serie temporali. In generale, il procedimento di identificazione pu` o essere scomposto in diverse fasi. Ogni fase `e critica per la buona riuscita dell’identificazione; `e spesso vincente un approccio ingegneristico al problema pi` u che puramente matematico. Di seguito vengono fatti dei commenti generali, casi pratici di identificazione vengono riportati nel Capitolo 3: Raccolta dati. In questa fase 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 `e possibile impostare un esperimento, oppure la serie storica desiderata non `e compatibile con i limiti fisici del sistema stesso e si deve ricorrere a dati acquisiti durante il normale funzionamento dell’impianto (o durante l’osservazione del fenomeno). ` difficile pensare ad un’identificazione in cui del fenomeno da identiScelta del modello. E ficare non si abbiano informazioni di alcun tipo, anche solo dalla osservazione delle strisciate di dati si pu` o cominciare a trarre informazioni utili che condizionano la scelta del modello da utilizzare. Scelte pi` u ponderate possono essere fatte nel caso in cui il fenomeno abbia una forte caratterizzazione fisica e sia possibile scriverne (semplici) equazioni dinamiche, si parla in questo caso di identificazione a scatola trasparente. Si definisce identificazione a scatola nera il caso in cui non ci siano informazioni preliminari sul modello matematico. Un aspetto importante nella scelta del modello `e 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` a 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 `e sempre consigliabile utilizzare tutta la conoscenza apriori che si ha del modello da identificare.

38

G. Antonelli - FI (2009)

2.5

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` a quindi stocastica. Lo stato sar` a stocastico ` utile rimarcare come la componente se influenzato dalla componente stocastica del sistema. E stocastica non individui solamente un rumore additivo fisicamente presente 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.

2.5.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)

(2.1)

supponendo quindi che l’unica causa di errore sia la misura dell’uscita.

2.5.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)]

(2.2)

supponendo quindi che l’unica causa di errore sia la misura dell’ingresso.

2.5.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 `e portata in conto aggiungendo un processo stocastico (rumore di processo) alla descrizione del fenomeno. Introducendo i polinomi a coefficienti reali A(z −1 ), B(z −1 ) e C(z −1 ), con A(z −1 ) e C(z −1 ) monici: A(z −1 ) = 1 − a1 z −1 − a2 z −2 + . . . − ana z −na

B(z

−1

C(z

−1

) = b1 + b2 z

) = 1 + c1 z

−1

−1

+ . . . + bn b z

+ c2 z

−2

−nb +1

+ . . . + cnc z

−nc

,

(2.3) (2.4) (2.5)

si pu` o scrivere il modello dinamico come: A(z −1 )y(k) = z −d B(z −1 )u(k) + C(z −1 )ζ(k),

(2.6)

39

G. Antonelli - FI (2009)

oppure, in forma di f.d.t,

y(k) = z −d

B(z −1 ) C(z −1 ) ζ(k). −1 u(k) + A(z ) A(z −1 )

(2.7)

Si noti • Non `e una limitazione considerare lo stesso denominatore per la f.d.t. dell’ingresso e del rumore, ci` o `e evidente riscrivendo l’equazione precedente come: y(k) = z −d

B1 B1 A2 C2 C2 A1 u(k) + ζ(k) = z −d u(k) + ζ(k); A1 A2 A1 A2 A1 A2

(2.8)

• z −1 `e 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; • I termini na , nb e nc rappresentano proprio il numero di coefficienti da individuare per caratterizzare pienamente il modello. Nel caso generale si pu` o porre d = 1, il ritardo effettivo d `e 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 `e equivalente a scrivere i polinomi per potenze positive della variabile z; • Alcuni processi vengono modellati considerando la presenza additiva di un rumore colorato, questo `e proprio ci` o che si ottiene filtrando un rumore bianco per C(z −1 ).

ARMAX Il modello descritto dall’equazione (2.7) `e definito ARMAX. Il nome `e un acronimo che ne descrive la componente AutoRegressive (A(z −1 )y(k)), eXogeneous (z −d B(z −1 )u(k)) e Moving Average (C(z −1 )ζ(k)). Si noti che la componente C(z −1 )ζ(k), che prende il nome di residuo d’equazione, `e ora un rumore colorato. ARX ` un caso particolare Il modello privo della componente Moving Average prende il nome di ARX. E −1 di ARMAX in cui C(z ) = 1:

y(k) = z −d

B(z −1 ) 1 ζ(k), u(k) + A(z −1 ) A(z −1 )

(2.9)

40

G. Antonelli - FI (2009)

o equivalentemente A(z −1 )y(k) = z −d B(z −1 )u(k) + ζ(k).

(2.10)

Si pu` o osservare come il modello ARX abbia una debole interpretazione fisica, dalla eq. (2.9) si nota infatti come, per ipotesi, il rumore influenzi l’uscita con la stessa dinamica del processo. Nonostante questa ipotesi sia molto restrittiva, l’importanza di questo modello risiede nella possibilit`a di scriverlo in forma di regressione lineare, come verr` a mostrato pi` u avanti. AR L’assenza anche della componente esogena da luogo al modello AR 1 ζ(k), A(z −1 )

(2.11)

A(z −1 )y(k) = ζ(k).

(2.12)

y(k) =

o equivalentemente

ARMA Il modello caratterizzato da rumore colorato ma privo della componente esogena da luogo al modello ARMA y(k) =

C(z −1 ) ζ(k), A(z −1 )

(2.13)

o equivalentemente A(z −1 )y(k) = C(z −1 )ζ(k).

(2.14)

ARIMA Un caso particolare del modello ARMA si ottiene considerando A = (1 − z −1 )A′ , cio`e y(k) =

C(z −1 ) ζ(k), (1 − z −1 )A′ (z −1 )

(2.15)

41

G. Antonelli - FI (2009)

il cui acronimo prende in considerazione esplicitamente il fatto che questo modello rappresenta l’integrazione di rumore colorato: AutoRegressive Integrated Moving Average. Nel tempo infatti si ha: C(z −1 ) y(k) = y(k − 1) + ′ −1 ζ(k). (2.16) A (z ) Se il rumore non `e colorato (A′ = C = 1), il modello diviene: y(k) = y(k − 1) + ζ(k),

(2.17)

vale a dire integrale di rumore bianco, noto come moto browniano o passeggiata casuale (random walking). L’equivalente tempo-continuo, vale a dire l’integrale di rumore bianco, `e noto anche come processo di Wiener [20]. Il modello matematico della passeggiata casuale ha una caratteristica interessante. Definendo come σζ la varianza del rumore bianco, se si calcola il valor atteso e la varianza 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σζ

= ...

(2.18)

= kσζ

per quanto concerne la varianza. In parole, la varianza dell’integrale di rumore bianco ha un valore che cresce linearmente con il tempo trascorso. OE Quando C(z −1 ) = A(z −1 ) il modello a rumore di processo coincide con il modello a rumore di ` quindi un caso particolare di ARMAX rappresentato uscita e prende il nome di Output Error. E dalle equazioni: y(k) = z −d

B(z −1 ) u(k) + ζ(k), A(z −1 )

(2.19)

o equivalentemente A(z −1 )y(k) = z −d B(z −1 )u(k) + A(z −1 )ζ(k). ♦

(2.20)

Si noti come l’estensione al caso multivariabile sia semplice e non modifichi la struttura delle equazioni.

42

G. Antonelli - FI (2009)

modello

G(z)

ARMAX

G(z) =

ARMA

W (z) z −d B(z −1 ) A(z −1 )

G(z) = 0

AR

z −d B(z −1 ) A(z −1 ) G(z) = 0

OE

G(z) =

ARX

G(z) =

z −d B(z −1 ) A(z −1 )

C(z −1 ) A(z −1 ) C(z −1 ) W (z) = A(z −1 ) 1 W (z) = A(z −1 ) 1 W (z) = A(z −1 ) W (z) =

W (z) = 1

Tabella 2.1: Famiglie di modelli (si veda la Figura 2.6). 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 [17]. La Figura 2.6 rappresenta lo schema generale. La tabella 2.1 permette di discernere fra i differenti modelli presentati. ζ(k) W(z)

u(k) G(z)

+

y(k)

+ Figura 2.6: Schema generale dei modelli presentati (si veda la Tabella 2.1).

2.6

Forma predittiva dei modelli per l’identificazione

ˆ il procedimento di identificazione vuole individuare Data una famiglia di modelli M = M(θ), 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`a dei coefficienti stessi. Si rende quindi necessario introdurre una misura di errore legata alla misura dei dati a disposizione, una delle possibilit`a `e quella di mettere il modello in forma predittiva. In parole, utilizzando i dati a disposizione (tipicamente ingressi e/o uscite misurate), 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

43

G. Antonelli - FI (2009)

fino al passo k − 1 la variabile:

yˆ(k|k − 1)

(2.21)

o, pi` u semplicemente yˆ(k), l’errore di predizione cercato (ad un passo) `e allora dato da: ε(k) = y(k) − yˆ(k|k − 1).

(2.22)

In maniera analoga pu` o essere definito l’errore a n passi. Un modello “ottimo” `e quindi il modello che, su una serie di dati, minimizza una cifra di merito. Nel seguito si considerer` a come cifra di merito l’errore quadratico medio: JN (θ) =

1 N

x+N X−1

ε2 (k).

(2.23)

k=x

Verr` a inoltre mostrato come sia necessario non fermarsi ad un solo indice di merito nella scelta del modello ma si renda necessario fare una serie di considerazioni differenti. ˆ A questo punto `e necessario individuare il predittore M(θ), cio`e 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 )

) e si faccia l’ipotesi che W (z) = C(z A(z −1 ) sia rappresentato in forma canonica. Si dividano entrambi i membri per W (z) e si sommi e sottragga y(k):   B(z −1 ) A(z −1 ) u(k) + ζ(k) (2.24) y(k) + z −d y(k) = 1 − −1 C(z ) C(z −1 ) −1

poich`e 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 significa che, al secondo membro, non c’`e dipendenza dai dati al passo k ma solo dai dati passati. Si noti infatti come ζ(k) sia un rumore bianco. La cosa pi` u sensata da fare, quindi, `e sostituirlo con la sua media supposta nulla per ipotesi. Il predittore del modello ARMAX quindi `e:   B(z −1 ) A(z −1 ) u(k) y(k) + z −d yˆ(k) = 1 − −1 C(z ) C(z −1 )

(2.25)

ARMAX Il predittore per un modello ARMAX `e proprio dato dall’eq. (2.25). Nel seguito con la notazione ARMAX(na,nb,d,nc) si caratterizzer`a la struttura del modello. Si supponga un modello particolarmente semplice ARMAX(1,1,1,1): A(z −1 ) = 1 − a1 z −1

44

G. Antonelli - FI (2009)

B(z −1 ) = b1 C(z −1 ) = 1 + c1 z −1 , scrivendo esplicitamente il predittore si ottiene: yˆ(k) = (a1 + c1 )y(k − 1) − c1 (a1 + c1 )y(k − 2) + . . . + b1 u(k − 1) − c1 b1 u(k − 2) + . . .

(2.26)

la dipendenza dai parametri dell’uscita stimata, quindi, `e abbastanza complessa anche per un modello estremamente semplice, ed `e, evidentemente, nonlineare. Si faccia attenzione alla necessit`a di rappresentare C(z −1 ) in forma canonica, `e facile verificare, infatti, come la stabilit` a di C(z −1 ) (zeri all’interno del cerchio del raggio unitario) sia indispensabile per non far divergere la predizione. Il predittore infatti dipende dai valori passati di yˆ a meno di C(z −1 ). ARX Sostituendo C(z) = 1 nella forma generale (2.25) si ottiene il predittore per il modello ARX:   yˆ(k) = 1 − A(z −1 ) y(k) + z −d B(z −1 )u(k)

(2.27)

che, scritto in forma esplicita, assume una forma particolarmente attraente in quanto lineare nei parametri da identificare: yˆ(k) = a1 y(k − 1) + a2 y(k − 2) + . . . + b1 u(k − d) + b2 u(k − d − 1) + . . .

(2.28)

esso, inoltre, `e stabile in quanto non dipende dai valori passati di yˆ ma dalle sole misure y. AR Il modello AR, utilizzato per le serie storiche si ottiene facilmente come:   yˆ(k) = 1 − A(z −1 ) y(k)

(2.29)

yˆ(k) = a1 y(k − 1) + a2 y(k − 2) + . . .

(2.30)

ossia, scritto in forma esplicita:

ARMA Il modello ARMA, utilizzato per le serie storiche si ottiene facilmente come:   A(z −1 ) yˆ(k) = 1 − y(k) C(z −1 ) anche in questo caso, la dipendenza dai parametri `e non lineare.

(2.31)

45

G. Antonelli - FI (2009)

OE Il modello OE `e un caso particolare di ARMAX con A(z) = C(z): Il suo predittore `e quindi dato da: yˆ(k) = z −d

B(z −1 ) u(k) A(z −1 )

(2.32)

anche in questo caso, la dipendenza dai parametri `e non lineare. Esercizio Si derivi il predittore per il moto browniano. 

2.7

Minimizzazione dell’errore di predizione

I modelli, scritti in forma predittiva, permettono di valutare la bont`a dell’identificazione secondo la (2.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. Si supponga di aver generato la serie di dati ingresso-uscita al calcolatore secondo il modello AR  MAX caratterizzato da un vettore dei parametri θ ◦ = a1 . . . ana b1 . . . bnb c1 . . . cnc . ˆ ottenuta minimizzando In questo caso `e possibile dimostrare che, al crescere di N , la stima θ l’indice (2.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 `e 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 `e sufficiente a validare, da solo, la bont`a del modello. Si dovranno cercare altri indicatori e valutare opportunamente i risultati ottenuti. Una possibile soluzione alla limitatezza della famiglia dei modelli `e 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.

2.8

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 )+

46

G. Antonelli - FI (2009)

+b1 u(k − d) + b2 u(k − d − 1) + . . . + bnb u(k − d − nb + 1) + ζ(k)

(2.33)

che pu` o essere riscritta come operazione matriciale: 

 a1 ...     ana   y(k) = y(k − 1) . . . y(k − na ) u(k − d) . . . u(k − d − nb + 1)   b1  + ζ(k)   ... bnb

(2.34)

ossia

y(k) = H(k)θ + ζ(k)

(2.35)

in cui H(k) `e 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 `e 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: y(k) = H(k)θ + ζ(k) (2.36) Si noti come in molti testi il regressore sia presentato come un vettore, colonna per definizione, e nella (2.35) compaia quindi trasposto. Il predittore assume quindi la semplice forma:

e l’errore di predizione:

2.9

ˆ ˆ (k) = H(k)θ y

(2.37)

ˆ ˆ (k) = y(k) − H(k)θ ε(k) = y(k) − y

(2.38)

Algoritmo a minimi quadrati

ˆ poich`e m < n, La relazione (2.37) non `e, in generale, direttamente utilizzabile per stimare θ; infatti, il regressore `e una matrice rettangolare bassa. Esistono infiniti vettori dei parametri che forniscono una determinata uscita per un determinato regressore. Si pu` o osservare, per` o, come quella relazione debba essere valida istante per istante. Si considerino quindi un numero sufficientemente alto di istanti di misura: y(k − l), y(k − l + 1), . . . , y(k). Si definisca un vettore y(k) ∈ IRm·l ottenuto impilando i vettori y(·):   y(k − l) y(k − l + 1)   y(k) =  (2.39) . ..   . y(k)

47

G. Antonelli - FI (2009)

In maniera analoga si pu` o 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)   (2.40) H(k) =  . ..   . H(k)

La relazione (2.36), calcolata su pi` u istanti di tempo, pu` o essere quindi riscritta come: y(k) = H(k)θ + v(k);

(2.41)

si noti che, essendo la matrice H(k) ottenuta impilando in colonna le matrici H(k), il vettore θ `e lo stesso di (2.36). L’eq. (2.41) differisce dall’eq. (2.36) solo per il numero di righe della matrice H(k) e dei vettori y(k) e v(k). Affinch`e il problema sia correttamente definito `e necessario che la matrice H(k) sia rettangolare alta, cio`e che m · l > n. ` immediato scrivere un vettore impilato di errori di predizione: E ˆ ˆ (k) = y(k) − H(k)θ. e(k) = y(k) − y

(2.42)

L’indice, scalare, rispetto al quale si calcola la soluzione ottima `e la somma del quadrato degli errori di predizione: J = e(k)T e(k). (2.43) o essere riscritta come: L‘equazione (2.43) pu` J

= [y(k) − H(k)θ]T [y(k) − H(k)θ] = yT (k)y(k) − yT (k)H(k)θ − θ T HT (k)y(k) + θ T HT (k)H(k)θ.

(2.44)

Condizione necessaria affinch`e J abbia un estremo relativo (punto stazionario) `e che le derivate parziali rispetto a θ siano nulle. Imponendo questa condizione otteniamo la cosiddetta equazione normale: ∂J = 0 ⇒ −2yT (k)H(k) + 2θ T HT (k)H(k) = 0. (2.45) ∂θ Supponendo invertibili le matrici interessate si ottiene la soluzione ai minimi quadrati (LS, Least Squares):  ˆ = HT (k)H(k) −1 HT (k)y(k). θ

(2.46)

La matrice che lega i dati alla stima ha dimensione (n × l · m) ed `e la pseudoinversa della matrice H. Si definisce: −1 T H (k). H† = HT (k)H(k)

(2.47)

Si noti che l’indice di merito `e funzione del vettore n-dimensionale θ, la sua derivata parziale, quindi, ha dimensione n. La soluzione trovata non `e solo un estremo relativo ma un minimo della

48

G. Antonelli - FI (2009)

funzione come si pu` o facilmente dimostrare calcolando la matrice (n × n) delle derivate seconde di J rispetto a θ:   ∂J ∂J = 2HT (k)H(k) (2.48) ∂θ ∂θ che `e definita positiva per costruzione. Esempio : retta interpolante Una semplice applicazione della formula dei minimi quadrati `e 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

. . . xl

ottenendo un corrispondente insieme di l misure  y mis = ymis,1

T

. . . ymis,l

T

che, impilando le misure ed aggiungendo il rumore di misura, gaussiano bianco per ipotesi, permette di scrivere la seguente relazione:         ymis,1 x1 y0 ζ1  ..   ..   ..   ..   .  = α .  +  .  +  .  ymis,l

xl

y0

ζl

in cui, esplicitando la linearit`a nei parametri:       x1 1 ymis,1 ζ1  .  ..   .. ..    .  =  . .  α y0 +  ..  = Hθ + ζ ymis,l

xl

1

ζl

da cui `e 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 8

T 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:  T y mis = −1.43 −1.66 1.12 2.28 1.85 5.19 6.18 5.96 7.32 8.17

e i parametri stimati:

α ˆ yˆ0

= 1.14 = −2.78.

G. Antonelli - FI (2009)

49

Figura 2.7: Retta originaria (linea spessa), dati misurati (punti) e retta interpolante (linea sottile). In figura 2.7 `e rappresentata la retta interpolante (linea sottile), quella che ha generato i dati (linea spessa) e i punti di misura. ` utile osservare come si possa diminuire l’errore sulla stima dei parametri incrementando il numero E di misure. Asintoticamente, inoltre, tale errore pu` o convergere al valore nullo perch`e il modello utilizzato per la stima `e uguale al meccanismo di generazione dei dati. ♦

Esercizio : polinomio interpolante Si generalizzi l’esempio precedente considerando di interpolare i dati tramite un polinomio di grado n. 

2.9.1

Algoritmo a minimi quadrati pesati

Modificando la cifra di merito da minimizzare si ottiene una differente soluzione, definita Minimi Quadrati Pesata (WLS, Weighted Least Square). L’indice `e ora la somma pesata del quadrato degli errori di stima: J = e(k)T W(k)e(k) (2.49) in cui la matrice di peso W(k) `e scelta impilando l matrici W (k) definite positive come gi`a fatto per H. La matrice W(k) `e definita positiva per costruzione. Se si pone W = R−1 v , covarianza del rumore, e quindi   W(k) = diag W (k) . . . W (k) , si ottiene la stima Markoviana le cui propriet`a sono discusse nella Sezione 2.9.2. [aggiungere interpretazione pesi]

50

G. Antonelli - FI (2009)

Ripetendo i passaggi della Sezione precedente, l’equazione (2.49) pu` o 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)θ.

(2.50)

La corrispondente equazione normale assume la forma: ∂J =0 ∂θ



−2yT (k)W(k)H(k) + 2θ T HT (k)W(k)H(k) = 0.

(2.51)

Supponendo invertibili le matrici interessate si ottiene la soluzione ai minimi quadrati pesata:  ˆ = HT (k)W(k)H(k) −1 HT (k)W(k)y(k). θ Derivando ancora

∂J ∂θ



∂J ∂θ



= 2HT (k)W(k)H(k)

(2.52)

(2.53)

che `e definita positiva per costruzione e conferma i risultati della soluzione ai minimi quadrati come caso particolare dei minimi quadrati pesati con W = I.

2.9.2

Media e Covarianza dell’errore di stima

Supponendo di aver generato i dati con il modello ARX o AR `e possibile valutare le propriet`a stocastiche della stima ottenuta con i minimi quadrati. Si fa riferimento al caso pesato con ovvia particolarizzazione al caso non pesato. L’errore di stima al passo k `e fornito da: ˜ = θ−θ ˆ θ −1 T H (k)W(k)y(k) = θ − HT (k)W(k)H(k) −1 T T H (k)W(k) [H(k)θ − v(k)] = θ − H (k)W(k)H(k)  −1 T T H (k)W(k)v(k) = − H (k)W(k)H(k)

da cui, calcolando il valor atteso e portando i valori deterministici fuori dell’operatore:  ˜ = HT (k)W(k)H(k) −1 HT (k)W(k)E[v(k)]. E[θ]

(2.54)

(2.55)

Affinch´e il valore atteso dell’errore di stima sia nullo `e quindi necessario che la matrice da invertire abbia rango pieno (si veda sezione 2.9.4) e che il rumore (bianco per ipotesi) abbia valor atteso nullo. Se il rumore non fosse bianco ed avesse, quindi, una correlazione nel tempo dei propri campioni e se il meccanismo di generazione dei dati avesse na ≥ 1 allora `e possibile vedere come il valore atteso dell’errore non sia nullo. La covarianza dell’errore, gi` a definita come E[ζ(k)ζ(k)T ] = Rv , `e fornita da:   ˜θ ˜ T ] = HT (k)W(k)H(k) −1 HT (k)W(k)E[v(k)v(k)T ]WT (k)H(k) HT (k)W(k)H(k) −T . E[θ

(2.56)

51

G. Antonelli - FI (2009)

La cosiddetta stima Markoviana, introdotta nella sezione precedente, in cui W = R−1 e proprio v ` quel valore die pesi che minimizza l’espressione (2.56). Si ottiene      ˜θ ˜ T ] = HT (k)W(k)H(k) −1 = HT (k) diag W (k) . . . W (k) H(k) −1 E[θ

(2.57)

dove si sono usate le propriet`a di simmetria delle matrici W e HT (k)W(k)H(k). Si noti come in questo caso si suppone nota la covarianza del rumore. Nel caso dei minimi quadrati, W = I; supponendo inoltre E[v(k)v(k)T ] = σ 2 I dalla eq. (2.56) si ottiene  ˜θ ˜ T ] = σ 2 HT (k)H(k) −1 . E[θ (2.58)

Si noti che la covarianza dell’errore di stima `e proporzionalmente legata, a meno della matrice H, alla covarianza del rumore di misura.

2.9.3

Disuguaglianza di Cram´ er-Rao

La sezione 2.9.2 mostra una relazione importante per l’operazione dei Minimi Quadrati. La ` di interesse fornire un risultato covarianza dell’errore `e legata alla covarianza del rumore. E ˆ una possibile stima di θ tale che la generale dato dalla disuguaglianza di Cram´er-Rao: Sia θ ˆ ˆ = θ(y) ˆ media dell’errore sia nulla. Il vettore θ `e funzione dei dati y(k) ∈ IRm·l : θ con una funzione densit`a di probabilit`a fy (θ, y). Si ha T

˜θ ˜ ] ≥ M −1 E[θ in cui la matrice M ∈ IRn×n definita matrice di informazione di Fisher `e definita come: "  2  T #  ∂ ∂ ∂ = −E log fy (θ, y) log fy (θ, y) M =E log fy (θ, y) . ∂θ ∂θ ∂θ 2

(2.59)

(2.60)

Si noti come la valutazione della matrice M richieda la conoscenza del valore esatto dei parametri θ da individuare che non `e, ovviamente, disponibile all’utente. La dimostrazione pu` o essere trovata, per es., in [17].

2.9.4

Persistente eccitazione

Si consideri un caso banale in cui l’ingresso di un modello ingresso-uscita sia costantemente ` facile immaginare come in questo caso, qualunque valore si nullo durante l’acquisizione dati. E dia ai coefficienti bi , non sia possibile individuarne l’eventuale correttezza della stima; durante l’intervallo di interesse, infatti, l’uscita predetta sar` a 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` a 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` o 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: y(k) = b1 u(k − 1) + b2 u(k − 2) + ζ(k),

52

G. Antonelli - FI (2009)

con regressore impilato



u(2)  u(3)  H= .  ..

la matrice HT (k)H(k) assume la forma:

u(1) u(2) .. .



  ,  u(N ) u(N − 1) 

 u(2) u(1)   u(2)  u(2) u(3) . . . u(N )  u(3)  T H H =  ..  .. u(1) u(2) . . . u(N − 1)  .  . u(N ) u(N − 1)   PN 2 PN i=2 u (i) i=2 u(i)u(i − 1) , =  PN −1 PN −1 2 i=1 u(i − 1)u(i) i=1 u (i − 1)

(2.61)

ci si chiede se tali sommatorie possano divergere. Al crescere di N , e sotto ipotesi di stazionariet`a, si ottiene:   ru (0) ru (1) T H H=N . ru (1) ru (0) La matrice HT (k)H(k) `e 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. a Se il segnale d’ingresso fosse rumore bianco la matrice (2.9.4) sarebbe la matrice identit` moltiplicata per la varianza del rumore. Il rumore bianco, a meno di problemi legati alla fisica realizzabilit` a, `e quindi un segnale idoneo per l’identificazione. 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` o essere causato da un eccessivo numero di parametri, da un modello, cio`e, 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 `e facile osservare come ` necessario anche che il suo il pieno rango non sia sufficiente per una buona identificazione. E numero di condizione sia basso, vale infatti [19]:



˜

θ kvk ≤ cond(H) (2.62) kθk kyk inoltre, ricordando l’espressione della covarianza dell’errore di stima, supponendo cond(H) = 1, e definendo come λ il suo unico valor singolare, si ha: T

˜θ ˜ ]= E[θ

σ2 I λ2

(2.63)

53

G. Antonelli - FI (2009)

in cui I `e la matrice identit` a di dimensioni opportune. Dal punto di vista teorico, una matrice `e singolare quando una o pi` u colonne posso essere espresse in combinazione lineare delle altre oppure quando almeno una colonna `e nulla. Dal punto di vista pratico il rumore di misura garantisce che questa condizione non sia mai verificata. Le relazione precedenti, per` o, ci impongono di verificare che il regressore, per quanto sempre di rango pieno, sia numericamente ben bilanciato. Osservando la relazione (2.58) `e 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` a strutturale per ci`o che concerne i modelli, sperimentale per ci`o che riguarda i dati. ♦

Un’ulteriore considerazione `e 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) (2.64) in cui si suppone di aver inglobato il termine z −d in B(z), cui corrisponde un predittore del tipo h i ˆ ˆ yˆ(k) = 1 − A(z) y(k) + B(z)u(k) (2.65) ed un errore di predizione:

h i B(z) B(z) ˆ ˆ u(k) − 1 − A(z) u(k) − B(z)u(k) A(z) A(z)

(2.66)

ˆ ˆ ε(k) = B(z)u(k) − B(z)u(k) + A(z)B(z)u(k) − A(z)B(z)u(k) = 0.

(2.67)

ε(k) = y(k) − yˆ(k) = che si suppone nullo: ε(k) = 0:

Dobbiamo quindi verificare se la seguente equazione possa essere soddisfatta per stime dei parametri diverse da quelle vere:   ˆ ˆ A(z)B(z) − A(z)B(z) u(k) = 0. (2.68)

Concentriamo l’attenzione sul semplice caso:

A(z) = 1 − a1 z −1 B(z) = b1 z −1 che permette di particolarizzare la (2.68) in: i h (1 − a ˆ1 z −1 )b1 z −1 − (1 − a1 z −1 )ˆb1 z −1 u(k) = i h (b1 − ˆb1 )z −1 + (a1ˆb1 − a ˆ1 b1 )z −2 u(k) = 0.

(2.69)

Si supponga di sollecitare il sistema con un ingresso u(k) = cost., riscrivendo la (2.69) nel tempo osserviamo: h i (b1 − ˆb1 )u(k − 1) + (a1ˆb1 − a ˆ1 b1 )u(k − 2) = (b1 − ˆb1 ) + (a1ˆb1 − a ˆ1 b1 ) cost. = 0, (2.70)

54

G. Antonelli - FI (2009)

relazione soddisfatta anche per (b1 − ˆb1 ) + (a1ˆb1 − a ˆ 1 b1 ) = 0

(2.71)

ˆb1 b1 = 1 − a1 1−a ˆ1

(2.72)

equivalente a

che permette di trarre un prima conclusione. Sollecitando il sistema in esame con un ingresso costante `e possibile ottenere un errore di predizione nullo che non implica l’identificazione dei parametri corretti. Nel caso specifico di ingresso costante ci`o che si osserva `e che il modello identificato ha lo stesso guadagno del modello che ha generato i dati. Siamo in presenza, evidentemente, di un ingresso poco adatto alla identificazione. L’equazione (2.69) `e un’equazione alle differenze la cui soluzione, a meno di una traslazione temporale, `e data da: k

u(k) = λ =



α1 − α0

k

=

a1ˆb1 − a ˆ1 b1 − b1 − ˆb1

!k

.

(2.73)

Supponendo di poter sollecitare il sistema esattamente con questo ingresso avremmo un errore di predizione nullo senza poter, in alcun modo, trarre conclusioni circa la correttezza dei parametri. Si scelga quindi come ingresso un segnale sinusoidale, certamente non soluzione della (2.69), del tipo u(k) = sin(φk), si ottiene che l’errore di predizione `e nullo se e solo se (b1 − ˆb1 ) = (a1ˆb1 − a ˆ 1 b1 ) = 0

(2.74)

che implica l’esattezza dei parametri identificati. Per questo caso semplice, sapendo che n = na + nb = 2, si `e ottenuto che, ad ingresso sinusoidale ed errore di predizione nullo corrisponde la possibilit`a di identificare due parametri. Nel caso generale `e possibile dimostrare ([15]) che un segnale sinusoidale che contenga un numero di componenti maggiore della met` a dei parametri da identificare, associato ad un errore di predizione nullo, `e sufficiente per la corretta identificazione dei parametri. Questo risultato, ottenuto supponendo che i dati siano stati generati tramite la (2.64) e che il numero delle incognite sia noto, va generalizzato in un contesto di identificazione pratica osservando che l’indicazione che fornisce `e coerente con la condizione di persistente eccitazione: lo spettro del segnale di ingresso deve essere sufficientemente ricco di armoniche.

2.9.5

Legame fra l’errore e i dati

Si consideri la soluzione ai minimi quadrati (2.46)  ˆ = HT (k)H(k) −1 HT (k)y(k) θ

la definizione dell’errore in (2.42):

ˆ ˆ (k) = y(k) − H(k)θ. e(k) = y(k) − y 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)

(2.75)

55

G. Antonelli - FI (2009)

L’interpretazione geometrica di questo risultato `e immediata, la proiezione dell’errore di predizione nel range della matrice H(k) `e nulla. Oppure, dalla definizione stessa dell’errore, significa ˆ la proiezione di y(k) dire che la soluzione ai minimi quadrati individua come valore ottimo di θ lungo il range di H(k). La matrice H(k) `e composta dalle misure degli ingressi e delle uscite, la relazione (2.75) esprime un’ortogonalit`a fra errore e misure, grossolanamente, l’errore `e composto da quelle componenti non contenute nei dati. Sotto l’ipotesi di ergodicit` a, `e possibile giungere alla conclusione che: E[HT (k)e(k)] = 0,

(2.76)

ossia, dalla definizione delle variabili coinvolte: E[y(k − i)ε(i)] = 0 E[u(k − i)ε(i)] = 0

per i = 1, . . . , na per i = d, . . . , d + nb − 1

l’errore di predizione, quindi, `e quella quantit`a incorrelata agli ingressi ed alle uscite precedenti. La rappresentazione geometrica in uno spazio euclideo con θ ∈ IR2 e y ∈ IR3 `e data dalla u chiarezza il bisogno di Figura 2.8. Alla luce di questa nuova interpretazione acquista anche pi` generare degli ingressi eccitanti.

y

R(H)

ˆ y−y

ˆ ˆ = Hθ y

Figura 2.8: Interpretazione geometrica del legame fra errore e dati per y ∈ IR3 e θ ∈ IR2 . Esercizio Si consideri il modello ARX(2,1,2) caratterizzato dai polinomi: A(z −1 ) = B(z −1 ) =

1 − 1.6z −1 + 0.66z −2 2z −2 .

Si realizzi la simulazione in Simulink con tempo finale k = 100 considerando un rumore bianco con varianza σ 2 = 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

56

G. Antonelli - FI (2009) ed il numero di condizione del regressore impilato. Utilizzando questa funzione, e lo stesso insieme di dati generato, si faccia 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`a della stima non `e pi` u garantita? Per i modelli ARX individuati si provveda poi ad effettuare una opportuna validazione. Per ognuno dei modelli si calcoli il valore della cifra di merito (errore quadratico medio), la eventuale bianchezza del vettore 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` u facile interpretazione dei dati si riportino i risultati in una tabella. L’esercitazione `e finalizzata a far riflettere su alcuni punti evidenziati in teoria nelle sezioni precedenti: • importanza della scelta di un ingresso opportuno e indicatori quantitativi sulla bont`a dello stesso; • in caso di dubbio sul ritardo d ingresso-uscita, `e possibile porre d = 1 e verificare il modulo dei coefficienti bi identificati; in generale sovrastimare i coefficienti bi non lede il processo di identificazione; • a parit`a di dati, un modello sovraparametrizzato comporta un problema numericamente malcondizionato; • `e possibile ottenere una matrice HT H malcondizionata sia per una sovraparametrizzazione del modello che per una scelta poco eccitante dell’ingresso;



Esercizio : Minimi Quadrati regolarizzati Come alternativa all’indice (2.49), si consideri J = (θ − θ 0 )T Π −1 (θ − θ 0 ) + e(k)T W(k)e(k) in cui la matrice Π ∈ IRn×n `e definita positiva e θ 0 ∈ IRn `e un vettore noto. Il vantaggio di questo indice `e 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:   ˆ = θ 0 + Π −1 + HT (k)W(k)H(k) −1 HT (k)W(k) [y(k) − H(k)θ 0 ] . θ 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 2.15.1)

57

G. Antonelli - FI (2009)

2.10

Algoritmo a Massima Verosimiglianza

La derivazione dei Minimi Quadrati `e stata possibile senza introdurre concetti di tipo probabilistico. In questa Sezione verr` a brevemente introdotto un metodo di identificazione, definito a Massima Verosimiglianza (MLE Maximum Likelihood Estimator), che si basa sulla conoscenze di caratteristiche probabilistiche delle variabili in gioco. Per dettagli si faccia riferimento, per es., a [9]. Si supponga di avere a disposizione un vettore di osservazioni y ∈ IRN . Per questo vettore si definisce una funzione densit`a di probabilit`a: fy (θ, x)

(2.77)

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) (2.78) che `e una funzione da IRN a IRn . Se il valore osservato di y `e y ⋆ allora la stima `e fornita da: ˆ ⋆ = θ(y ˆ ⋆ ). θ

(2.79)

Un possibile stimatore `e stato introdotto da Fisher nel 1912, e pu` o essere descritto nel modo seguente: la pdf congiunta del vettore casuale dei dati da osservare `e dato dalla (2.77), la probabilit`a che la osservazione assuma proprio il valore vettoriale y ⋆ `e quindi proporzionale a: fy (θ, y ⋆ ).

(2.80)

Fornito il valore numerico delle osservazioni y ⋆ questa funzione `e una funzione numerica di θ, chiamata funzione di verosimiglianza; rappresenta la verosimiglianza che quei dati abbiano luogo. Un possibile stimatore `e quello che massimizza la verosimiglianza dei dati: ˆ M L = max fy (θ, y ⋆ ) θ θ

(2.81)

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 `e fornito da N 1 X ⋆ y . θˆ = N i=1 i

(2.82)

Per calcolare lo stimatore MLE si deve ricavare la pdf congiunta del vettore y delle osservazioni. Per ogni elemento yi si ha:   1 (xi − θ)2 fyi (θ, xi ) = √ exp − 2λi 2πλi

58

G. Antonelli - FI (2009) data l’indipendenza delle variabili si ottiene: fy (θ, x) =

N Y

i=1



  1 (xi − θ)2 . exp − 2λi 2πλi

La funzione di verosimiglianza si ottiene quindi sostituendo y a x. Poich`e la funzione logaritmo `e monotona crescente la massimizzazione pu` o essere fatta sul logaritmo della fy : θˆML

= max log (fy (θ, y ⋆ )) θ ( ) N N 2 X N 1 1 X (yi − θ) = max − log(2π) − log(λi ) − θ 2 2 2 i=1 λi i=1

da cui si ricava

N

X y⋆ 1 i . θˆML = PN λ (1/λ ) i i=1 i i=1

La differenza rispetto alla stima (2.82), ottenuta assumendo di non avere informazioni sulla caratterizzazione probabilistica dei dati, `e data dal fatto che ogni osservazione viene ora pesata per l’inverso della varianza. Lo stimatore MLE pesa in maniera maggiore i valori ottenuti dalle variabili a varianza minore. ♦

Si ricaver` a ora la stima a Massima Verosimiglianza per un vettore delle osservazioni uscita di un sistema dinamico. Si consideri un modello ARMAX y(k) = z −d

B(z −1 ) C(z −1 ) u(k) + ζ(k) A(z −1 ) A(z −1 )

Il modello in forma di predizione `e dato da:   −1 A(z −1 ) −d B(z ) yˆ(k) = 1 − u(k) y(k) + z C(z −1 ) C(z −1 )

(2.83)

(2.84)

e l’errore di predizione ε(k) = y(k) − yˆ(k|k − 1)

(2.85)

in cui si `e evidenziato che la predizione al passo k utilizza i dati fino al campione k − 1. Ogni elemento ha pdf fe (k, x, θ) indipendente per ipotesi. Si cerca ora la funzione di verosimiglianza dei dati. Dalla (2.85) si ottiene:   −1 A(z −1 ) −d B(z ) y(k) = 1 − u(k) + ε(k) (2.86) y(k) + z C(z −1 ) C(z −1 ) che ha pdf congiunta: fy (k, y|u, θ) =

N Y

i=k

fe (k, y(k) − yˆ(k), θ)

(2.87)

di cui si cerca il massimo. Il massimo di fy `e anche il massimo di N 1 X 1 log fe (ε(k), θ, k), log fy (k, y, θ) = N N k=1

(2.88)

59

G. Antonelli - FI (2009)

in cui si sfrutta la propriet`a che il logaritmo del prodotto `e pari alla somma dei logaritmi; definendo l(k, ε(k), θ) = − log fe (k, ε(k), θ) si ottiene

N X ˆ M L (y) = min 1 θ l(k, ε(k), θ) θ N k=1

(2.89)

(2.90)

che ha un’analogia formale immediata con l’indice utilizzato per ricavare i Minimi Quadrati pesati. Se la pdf fe `e Gaussiana si ottiene: l(k, ε, θ) = − log fe =

1 1 ε2 1 log 2π + log λ + 2 2 2λ

(2.91)

in cui, se λ `e nota, otteniamo proprio il criterio dei minimi quadrati con minimizzazione dell’errore quadratico. Si noti, infatti, che si deve minimizzare il solo termine in ε2 essendo l la somma di tutti termini definiti positivi.

2.11

Algoritmo di Gauss-Newton

xxx Esempio xxx ♦

2.12

Algoritmo a Minimi Quadrati ricorsivo

La soluzione ai minimi quadrati in (2.52) prevede di calcolare la stima dopo aver misurato un certo intervallo di campioni (da k − l a k). In applicazioni, ad es., di controllo adattativo potrebbe essere inefficiente attendere un intero lotto di dati e poi effettuare un’identificazione fuori linea, `e di interesse avere una stima ad ogni passo k da utilizzare per un controllo adattativo. I vantaggi di un algoritmo ricorsivo sono: • adattativo ai cambiamenti del sistema; • riduzione della dimensione dei dati da immagazzinare; • minor carico computazionale; • utilizzo in applicazioni in tempo reale. Si vuole quindi mettere in relazione la stima al passo k con la stima al passo k − 1.

Si prenda il primo termine della (2.52), direttamente dalla definizione delle matrici coinvolte otteniamo la seguente scomposizione: HT (k)W(k)H(k) = HT (k − 1)W(k − 1)H(k − 1) + H T (k)W H(k).

(2.92)

60

G. Antonelli - FI (2009)

Si definisca P (k) ∈ IRn×n come  −1 . P (k) = HT (k)W(k)H(k)

(2.93)

Si noti come, per la stima Markoviana, la matrice P (k) sia proprio la covarianza dell’errore di stima. Nel caso dei minimi quadrati `e proporzionale alla matrice di covarianza a meno della covarianza del rumore (costante). Anche nel caso generico la matrice P (k) `e strettamente legata alla covarianza tanto che, nel seguito, parleremo di P (k) correntemente come covarianza dell’errore di stima. In virt` u di (2.92), P (k) pu` o essere riscritta come:  −1 , P (k) = P −1 (k − 1) + H(k)T W H(k)

(2.94)

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)

(2.95)

Si passi poi alla scomposizione del secondo termine della (2.52) ottenendo:

HT (k)W(k)y(k) = HT (k − 1)W(k − 1)y(k − 1) + H T (k)W y(k).

(2.96)

` possibile riscrivere la (2.52) secondo le due scomposizioni (2.95) e (2.96) ottenendo: E o n  −1 ˆ H(k)P (k − 1) ∗ θ(k) = P (k − 1) − P (k − 1)H T (k) W −1 + H(k)P (k − 1)H T (k)  T H (k − 1)W(k − 1)y(k − 1) + H T (k)W y(k) , (2.97)

ˆ − 1). E ` il prodotto dei primi termini delle due parentesi `e proprio la (2.52) all’istante k − 1: θ(k possibile quindi riscrivere l’equazione precedente: ˆ ˆ − 1) + P (k − 1)H T (k)W y(k)+ θ(k) = θ(k  −1 ˆ − 1)+ H(k)θ(k −P (k − 1)H T (k) W −1 + H(k)P (k − 1)H T (k)   −1 H(k)P (k − 1)H T (k)W y(k) −P (k − 1)H T (k) W −1 + H(k)P (k − 1)H T (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) ,

(2.98)

che permette di riscrivere l’equazione come: ˆ ˆ − 1) + P (k − 1)H T (k)W y(k)+ θ(k) = θ(k ˆ − 1) − L(k)H(k)P (k − 1)H T (k)W y(k), −L(k)H(k)θ(k

(2.99)

per far comparire come moltiplicatore comune L(k) fra il secondo e terzo prodotto del secondo termine si aggiunga la seguente identit`a: 

−1  −1  W −1 + H(k)P (k − 1)H T (k) W + H(k)P (k − 1)H T (k)

(2.100)

61

G. Antonelli - FI (2009)

questo permette di riarrangiare i termini secondo: ˆ ˆ θ(k) h= θ(k − 1)+ i ˆ − 1) − H(k)P (k − 1)H T (k)W y(k) +L(k) y(k) + H(k)P (k − 1)H T (k)W y(k) − H(k)θ(k

che fornisce la relazione cercata nota come ai Minimi Quadrati Pesata Ricorsiva (WRLS, Weighted Recursive Least Square): h i ˆ ˆ − 1) + L(k) y(k) − H(k)θ(k ˆ − 1) . θ(k) = θ(k

(2.101)

Ovviamente i conti fatti riconducono ai Minimi Quadrati Ricorsivi (RLS, Recursive Least Square) per W = I. y(k) ˆ θ(k) + + L(k) − + ˆ − 1) θ(k H(k)

z −1

Figura 2.9: Rappresentazione a blocchi dei Minimi Quadrati Ricorsivi. Esistono molte versioni di minimi quadrati ricorsivi pi` u o meno onerose dal punto di vista computazionale. In particolare, nel caso di uscita scalare, `e possibile aggiornare la stima senza ricorrere ad inversioni matriciali.

2.12.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`a di linearit` a nei parametri. Questa permette di riscrivere il modello ed il corrispondente predittore in forma di regressione e di impostare il problema di minimo che fornisce gli algoritmi suddetti. Per tutti i modelli con rumore colorato MA non si possono banalmente applicare i risultati visti. La conseguenza sarebbe quella di avere una polarizzazione nella stima dei parametri [21]. Una prima osservazione da fare riguarda l’operazione che `e stata fatta per ricavare la stima: impostata una funzione obiettivo (o cifra di merito) si `e cercato il minimo assoluto. Questa operazione pu` o essere ripetuta anche per modelli nonlineari nei parametri usando specifiche tecniche di ricerca del minimo. In caso di funzioni scalari di n variabili `e noto che sussiste il problema della possibilit`a di imbattersi in un minimo locale. Le tecniche utilizzate allora saranno algoritmicamente pi` u onerose ma concettualmente identiche al LS. Spesso, inoltre, si tratta di tecniche ricorsive basate sul gradiente della funzione stessa.

62

G. Antonelli - FI (2009)

In questo contesto si vuole perseguire una diversa strada, ci si chiede se sia possibile utilizzare i risultati ottenuti per una soluzione, magari approssimata, ma semplice. Per semplicit`a di notazione, si consideri il caso ad una uscita del modello ARMA. Scrivendo esplicitamente l’equazione alle differenze otteniamo: y(k) = a1 y(k − 1) + a2 y(k − 2) + . . . + ana y(k − na )+ +c1 ζ(k − 1) + c2 ζ(k − 2) + . . . + cnc ζ(k − nc ) + ζ(k)

(2.102)

che pu` o essere riscritta come operazione matriciale: 

ossia

 a1 ...     ana   y(k) = y(k − 1) . . . y(k − na ) ζ(k − 1) . . . ζ(k − nc )   c1  + ζ(k)   ... cnc y(k) = H(k)θ + ζ(k)

(2.103)

(2.104)

Si noti come i valori passati di ζ non siano accessibili per definizione. Non `e quindi possibile ricavare numericamente questo regressore. Esistono una serie di tecniche per stimare il valore passato di ζ ed inserirlo nel calcolo del regressore. Una prima soluzione consiste nel sostituire i valori passati di ζ con i corrispondenti valori passati 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 )  (2.105)  c1  + ζ(k)   ... cnc

su cui `e possibile lavorare con i risultati del RLS. Questa tecnica `e nota come Minimi Quadrati Ricorsivi Estesi (RELS, Recursive Extended Least Square). Il motivo per cui si pensa di sostituire ζ con ε `e dato 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 `e anche definito errore a priori poich`e `e calcolato utilizzando i dati correnti e la stima dei parametri precedente. Nella matrice regressore si potrebbe pensare di utilizzare una stima pi` u raffinata dell’errore di predizione, definita errore di predizione a posteriori η(k) = y(k) − H(k)θ(k) calcolata al passo precedente. Questa tecnica `e nota come Massima Verosimiglianza Approssimata (AML, Approximate Maximum Likelihood). Per dettagli [2, 21]. Si noti come entrambe queste tecniche approssimate siano definite solo per la versione ricorsiva. ♦

Per riassumere, i passi necessari alla implementazione delle tecniche ricorsive ai minimi quadrati sono riassunti:

63

G. Antonelli - FI (2009)

1. calcolo di H(k). per ERLS utilizzando i valori passati dell’errore di predizione a priori ε(k), per AML dell’errore a posteriori η(k); 2. calcolo di ε(k) = y(k) − H(k)θ(k − 1); 3. calcolo del guadagno L(k) secondo la (2.98):  −1 ; L(k) = P (k − 1)H T (k) W −1 + H(k)P (k − 1)H T (k)

4. calcolo della matrice di covarianza P (k):

P (k) = P (k − 1) − L(k)H(k)P (k − 1); ˆ ˆ − 1) + L(k)ε(k); 5. aggiornamento della stima θ(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).

2.12.2

Inizializzazione degli algoritmi ricorsivi

Si `e visto come, per tutti gli algoritmi ricorsivi, siano necessarie delle informazioni relative al passo ` quindi necessario, in qualche modo, fornire delle informazioni relative a k = 0, vale precedente. E a dire inizializzare l’algoritmo. La prima osservazione da fare riguarda la costruzione del regressore, `e evidente che, prima di poter fornire una stima dell’uscita, `e 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 yˆ(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 `e quello di implementare un algoritmo di minimi quadrati a lotti e poi cominciare la stima iterativa utilizzando questa prima stima come valore iniziale (si veda Figura 2.10). Questa tecnica, valida, ovviamente, solo per le tecniche con un corrispondente a lotti, garantisce l’aderenza esatta dei risultati fra i minimi quadrati a lotti e ricorsivi a meno di derive di natura numerica. In realt` a, se la stima `e fatta durante un applicazione in linea l’ingresso `e deciso per scopi non legati all’identificazione e, con buona propabilit`a, non `e adatto per un primo lotto ben condizionato numericamente. ˆ pu` La stima θ o anche essere inizializzata ad un valore fornito da una conoscenza della fisica del sistema in esame. Per P (0) si consideri la possibilit`a di prendere una matrice identit`a moltiplicata per un guaˆ di conseguenza il guadagno dagno scalare. Un alto valore implica incertezza nella stima di θ, dell’algoritmo `e 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 differenˆ semplicemente scegliendo una matrice diagonale e tarando ti per le diverse componenti di θ opportunamente i valori sulla diagonale.

64

G. Antonelli - FI (2009)

k

|

{z lotto per stima iniziale

}

inizio algoritmo ricorsivo

Figura 2.10: Possibile inizializzazione di un algoritmo ricorsivo, il primo lotto di dati viene utilizzato per una stima iniziale.

2.12.3

Persistente eccitazione per gli algoritmi ricorsivi

La scelta di un ingresso eccitante `e 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 versione a lotti, per` o, il problema che si incontra non riguarda l’invertibilit` a di matrici, sia P (k) che L(k), infatti, sono sempre definite per costruzione, ma la possibilit`a di causare un’instabilit` a algoritmica. Localmente, vale a dire per un numero limitato di campioni, nessun ingresso pu` o considerarsi eccitante; se per` o la presenza di un ingresso non eccitante viene prolungata per un intervallo di campioni sufficiente ampio allora si pu` o incorrere in instabilit`a algoritmica. Alcuni segnali utilizzati per 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` u 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`a di tipo dead-zone questo ingresso non `e appropriato. ` l’unico segnale che non limita con certezza l’ampiezza dell’ingresRumore a fdp Gaussiana E so, questo pu` o forzare alla scelta di una bassa varianza con conseguente concentrazione del segnale di energia per basse ampiezze del segnale. Si possono incontrare anche in questi casi problemi in sistemi con non-linearit`a di tipo dead-zone.

2.12.4

Gestione della covarianza

Gli algoritmi ricorsivi presentati hanno una forte limitazione. La matrice di covarianza P (k) tende ad annullarsi per k ⇒ ∞.

Questo pu` o essere visto in maniera intuitiva, se l’identificazione procede correttamente `e auspicabile che la covarianza dell’errore di stima decresca monotonamente. La conseguenza `e che

65

G. Antonelli - FI (2009)

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 `e in grado di reagire ed aggiornare correttamente il valore della stima. Un altro modo per verificare semplicemente la decrescenza della covarianza si ha considerando la formula (2.94) in cui il termine H T (k)W H(k) `e definito positivo per costruzione. Si devono quindi introdurre degli artifici che tengano il guadagno dell’algoritmo alto. Passeggiata casuale Se `e noto il momento i cui i parametri sono soggetti a cambiamento si potrebbe anche tollerare che il guadagno converga a zero a meno di fornire all’algoritmo la capacit` a di adattamento nel momento in cui, o appena prima, i parametri cambieranno il loro valore. In formule, per un solo istante k: P (k) = P (k − 1) − L(k)H(k)P (k − 1) + R (2.106) dove R `e una matrice semidefinita positiva di dimensioni pari al numero dei parametri. Si noti come la scelta naturale di R sia una matrice diagonale con gli elementi della diagonale diversi da zero in corrispondenza dei parametri soggetti a cambiamento. L’interpretazione qualitativa della (2.106) `e semplice, si lascia decrescere il guadagno a zero e lo si resetta ad un valore diverso da zero per quei parametri per cui `e avvenuto un cambiamento. Il modello passeggiata casuale (Random Walk) anche detto moto Browniano, `e un l’integrale di un rumore bianco: p(k) = p(k − 1) + ζ(k).

` possibile dimostrare che se la deriva dei parametri `e descritta dall’integrale un rumore bianco E di covarianza R allora la (2.106), applicata ad ogni istante e il cui valore rappresenta la stima della covarianza con cui derivano i parametri, soddisfa dei criteri di ottimo secondo il filtro di Kalman (per dettagli [21]). Fattore di oblio Il modo pi` u popolare per ovviare all’annullamento del guadagno `e 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 `e 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 J= µk−i εT (i)ε(i), i=k0

66

G. Antonelli - FI (2009)

il cui peso `e mostrato in Figura 2.11. Dalla definizione di P (k) in (2.93) e dalla definizione di W(k) si ottiene la (2.94) che, particolarizzata per questo specifico peso, pu` o essere scritta come:  T −1 H (k − 1) (µW(k − 1)) H(k − 1) + H(k)T W H(k)  −1 , = µP −1 (k − 1) + H(k)T H(k)

P (k) =

applicando ancora il lemma di inversione matriciale si ottiene P (k) =

 −1 1 1 H(k)P (k − 1). (2.107) P (k − 1) − P (k − 1)H T (k) µI + H(k)P (k − 1)H T (k) µ µ

Ripetendo poi i passaggi in maniera analoga a quanto fatto per i minimi quadrati ricorsivi si arriva alla definizione di una matrice dei guadagni L(k):  −1 , L(k) = P (k − 1)H T (k) µI + H(k)P (k − 1)H T (k)

(2.108)

e dell’equazione di aggiornamento della stima dei parametri formalmente analoga alla (2.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 `e troppo alta) o la presenza di intervalli di tempo in assenza di ingressi eccitanti pu` o avere effetti destabilizzanti sulla dinamica del guadagno. Questo fenomeno `e noto come wind-up della matrice di covarianza.

1

µ = 0.97 µ = 0.9 k = −100

k=0

Figura 2.11: Variazione del peso dei dati per due valori di µ nei 100 campioni passati.

Algoritmi a traccia costante Una tecnica per ovviare al problema precedente `e quella di forzare la matrice in (2.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)]

(2.109)

67

G. Antonelli - FI (2009)

soddisfatta scegliendo una matrice R(k) =

tr[R(k)]I . tr[I]

(2.110)

Si noti come la matrice identit` a 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. 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 `e quella di limitare inferiormente la matrice R(k). Fattore di oblio direzionale Una seconda tecnica per ovviare al wind-up della matrice di covarianza `e 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 `e costante ma tempo variante e legato al contenuto informativo dei nuovi dati. Esempio Al calcolatore si `e generata una serie ingressi-uscite del modello ARX: A(z −1 ) = B(z

−1

) =

1 − 1.6z −1 + 0.66z −2

(2.111)

2z −2 ,

in cui, quindi, na = 2, d = 2 e nb = 1. La fdt ingresso-uscita, a meno di una traslazione temporale, pu` o 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 2.12 e 2.13). Il rumore di modello `e stato simulato tramite la generazione di un numero casuale con funzione densit`a di probabilit`a gaussiana a media nulla e varianza 10−3 . L’identificazione a lotti, ponendo d = 2 ha fornito come risultato:  T θLS = −1.6015 0.66129 1.9977 ,

con cifra di merito calcolata sulla traiettoria di validazione

JLS = 1.0243 · 10−3 ,

68

G. Antonelli - FI (2009)

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 2.12: Ingresso e uscita di identificazione. 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 2.14). 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 `e uguale al meccanismo di generazione dei dati e la traiettoria `e eccitante. Cerchiamo ora di mettere in evidenza le propriet`a dinamiche dell’algoritmo ricorsivo indipendenti dalla natura dei dati. Si esegue ora lo stesso algoritmo in forma ricorsiva con W = I con condizioni iniziali:  T θ RLS (0) = 0 0 0 , e

P RLS (0) = 103 I.

I risultati ottenuti sono simili ai precenti:  T θRLS = −1.6015 0.66132 1.9975 ,

con cifra di merito calcolata sulla traiettoria di validazione

JLS = 1.0241 · 10−3 ,

69

G. Antonelli - FI (2009)

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 2.13: Ingresso e uscita di validazione. 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` o facilmente verificare dalla figura 2.15 in cui `e 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, `e proporzionale alla covarianza). 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 2.16 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.

70

G. Antonelli - FI (2009)

uscita misurata (−) e simulata (−x−)

LS 40

30

20

10

0

0

50

100

150

campioni

Figura 2.14: uscita misurata e simulata per l’identificazione a lotti. Si pu` o 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 `e 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 `e in grado di adattarsi a questo cambiamento. Per ovviare a questo inconveniente si pu` o ricorrere ad una delle tecniche mostrate. Nel dettaglio, la tecnica dell’identificazione a traccia costante fornisce:  T θRLS = −1.5915 0.65237 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 `e 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. ♦

2.13

Cenni sulla identificazione non parametrica

Quando il modello matematico identificato non `e riconducibile ad una delle strutture presentate od `e, per es., fornito tramite il diagramma di Bode per punti, si parla di identificazione non parametrica. In questa Sezione vengono elencati alcuni dei metodi di identificazione non parametrica.

2.13.1

Analisi della risposta impulsiva

Si consideri un modello SISO: y(k) = G(z)u(k) + ζ(k)

(2.112)

71

G. Antonelli - FI (2009) ARX RLS 2500

traccia P

2000 1500 1000 500 0

0

20

40 60 campioni

80

100

Figura 2.15: Andamento temporale della traccia della matrice di covarianza per l’identificazione ricorsiva senza gestione della covarianza. sollecitato da un ingresso impulsivo u(k) = αδ(k),

(2.113)

la corrispondente uscita sar` a il segnale αw(k) che caratterizza completamente il comportamento ingresso-uscita del sistema. In sistemi reali l’ingresso impulsivo spesso non `e applicabile per ovvi motivi e diversi ingressi, per es., a gradino, possono essere utilizzati.

2.13.2

Analisi della correlazione

Si riscriva l’uscita di un modello SISO tramite somma di convoluzione y(k) =

k X i=0

w(i)u(k − i) + ζ(k)

(2.114)

in cui w(k) `e 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

!

(2.115)

#

w(i)u(k − i) + ζ(k) u(k − τ ) =

k X i=0

w(i)ru (i − τ ). (2.116)

Se fosse possibile scegliere un ingresso bianco, tale quindi che ru = αδ(τ ) si avrebbe: ryu (τ ) = αw(τ )

(2.117)

in cui il primo membro pu` o facilmente essere stimato dai dati tramite la: N 1 X rˆyu (τ ) = y(i)u(i + τ ) N i=1

(2.118)

72

G. Antonelli - FI (2009) 3

parametri

2 1 0 −1 −2

0

20

40 60 campioni

80

100

Figura 2.16: Andamento temporale della stima dei 3 parametri per due diversi valori della covarianza iniziale. ottenendo quindi la risposta impulsiva w(k). Nel caso di ingresso generico si deve stimare la correlazione dell’ingresso tramite la: rˆu (τ ) =

N 1 X u(i)u(i + τ ) N

(2.119)

i=1

che fornisce la relazione rˆyu (τ ) =

k X i=0

w(i)ˆ ru (i − τ )

(2.120)

che, risolta numericamente, fornisce ancora la risposta impulsiva. Si noti infatti che questa relazione lega linearmente le incognite; riscrivendola per diversi valori di τ `e possibile giungere ad un sistema di equazioni lineare ben definito. Spesso un’analisi della correlazione dei dati pu` o rappresentare un primo passo per stimare il ritardo ingresso-uscita in un processo di identificazione parametrica.

2.13.3

Analisi della risposta in frequenza

Un metodo molto semplice per aver informazioni sulla funzione di risposta armonica di un processo `e dato dalla sollecitazione del sistema con segnali sinusoidali del tipo: u(k) = U sin(νk), cui corrisponde, per sistemi asintoticamente stabili, un’uscita misurata a regime yr (k) = G(ejν ) U sin(νk + ∠G(ejν )) + ζ(k).

(2.121)

(2.122)

` sufficiente quindi cambiare l’ingresso per diverse frequenze in un intervallo di interesse, per E ognuna delle quali si misura l’uscita a valle dell’estinzione del transitorio, e costruire per punti la funzione di risposta armonica.

73

G. Antonelli - FI (2009)

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. 

2.14

Scelta della complessit` a del modello

ˆ ottimo Si `e ripetuto pi` u volte come la minimizzazione dell’indice J porti ad inviduare il vettore θ secondo un criterio che non deve essere considerado infallibile. La minimizzazione del funzionale, infatti, non sempre porta ad inviduare il modello con le stesse propriet`a dinamiche del modello che ha generato i dati. Spesso, inoltre, serve un compromesso fra un modello aderente ai dati ma con una complessita’ non troppo elevata. Potrebbe essere quindi di ausilio disporre di metodi per decidere l’ordine del sistema da utilizzare. In questa sezione verrano brevemente illustrati alcuni metodi.

2.14.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`a ideale `e quella che minimizza la formula: FPE =

N +n ˆ J(θ) N −n

(2.123)

relativa al caso ARX. Si rimanda al testo di Bittanti [2] per dettagli e per la dimostrazione. L’interpretazione della (2.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) ` immediato osservare come F P E → ∞, per che tende all’infinito quando n tende ad N . E n → N . Poich`e, per piccoli valori di n, ci si pu` o aspettare una diminuzione di J maggiore rispetto all’incremento del rapporto, il minimo di questa funzione viene assunto per valori finiti di n. Si `e fatta l’ipotesi che l’indice di merito, per l’inevitabile presenza di rumore, non si annulli mai. Un caso numerico `e sviluppato nel Capitolo 3. La formula (2.123), ricavata per AR, si utilizza comunemente anche per modelli ARX e ARMAX avendo cura di considerare n come n = na + nb o n = na + nb + nc .

2.14.2

Criterio dell’informazione di Akaike

Questo criterio, il cui acronimo `e AIC, Akaike Information Criterion, `e basato su considerazioni di tipo statistico che portano alla formula: AIC = 2

n ˆ + ln J(θ). N

(2.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.

G. Antonelli - FI (2009)

74

La pendenza di questa retta `e inversamente proporzionale alla lunghezza N dei dati, ci`o sta a significare che la formula pesa meno dei modelli complessi quando i dati sono numerosi. Anche in questo caso, a causa della presenza di rumore, l’indice J si mantiene positivo, seppur prossimo allo zero, e quindi il suo ln negativo finito, e l’andamento divergente della funzione `e determinato dalla componente proporzionale a n.

2.14.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: n ˆ M DL = ln N + ln J(θ) (2.125) N molto simile alla formula AIC con un coefficiente differente per la pendenza della retta. Con N sufficientemente elevato, la formula MDL porta a scegliere dei modelli con un numero inferiore di parametri rispetto al criterio AIC.

2.15

Validazione dell’identificazione

Come pi` u volte detto, l’identificazione `e un procedimento che prevede un certo numero di tentativi. Decidere quale modello sia il modello ottimale rispetto ad un insieme di possibili modelli `e un’operazione delicata, in cui considerazioni ingegneristiche sono spesso pi` u utili rispetto ad indicatori analitici. In questa Sezione si daranno delle considerazioni da tenere presente nella validazione del modello. Per ognuno dei modelli presi in esame `e opportuno prendere in considerazione: Cross-validazione. La validazione deve essere effettuata usando un insieme di dati diverso rispetto a quello utilizzato per l’identificazione. I due insiemi devono per` o condividere lo stesso contenuto frequenziale per evitare che si cerchi di validare con dei dati che hanno eccitato delle frequenze non presenti nei dati di identificazione. Dei buoni dati di identificazione e validazione dovrebbero essere intercambiabili. Valore della cifra di merito. La cifra di merito `e stata minimizzata per il modello in esame e con i dati di identificazione, a meno di errori grossolani, quindi, ci si aspetta ˙ un errore basso di tale indice e spesso `e cos`ıRiportare numericamente il suo valore, per` o, permette proprio di evidenziare la presenza di palesi errori di modello, non-linearit`a, 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` o 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 2.15.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, `e scelto a gradino per evidenziare le caratteristiche dei modi di evoluzione del sistema.

75

G. Antonelli - FI (2009)

2.15.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 della cifra di merito. Per questo `e importante, oltre a seguire le cosiderazioni fatte nella sezione precedente, anche capire la differenza fra simulazione e predizione. La predizione si ottiene utilizzando il modello in forma predittiva definito in   B(z −1 ) A(z −1 ) u(k) yˆ(k) = 1 − y(k) + z −d −1 C(z ) C(z −1 )

(2.25)

si noti come, in ogni istante k, solo il campione dell’uscita all’istante k stesso `e 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 o affermare che la simulazione `e equivalente ad precedenti. Riferendosi alla equazione (2.25) si pu` una formula del tipo:   −1 A(z −1 ) −d B(z ) u(k), yˆ(k) = 1 − y ˆ (k) + z C(z −1 ) C(z −1 ) laddove gli ingressi sono gli stessi per i due casi. Appare evidente come la simulazione integri il proprio errore indefinitamente e risultati molto pi` u sensibile ad errori di modello. Questa differenza comporta dei risultati drammaticamente differenti per la simulazione e la predizione in quanto, rappresentando, ad es., le uscite solo graficamente, la predizione pu` o dare la sensazione di rappresentare meglio il sistema identificato rispetto ad una simulazione anche quando la situazione `e esattamente opposta. La figura 2.17 mostra un semplice confronto fra le uscite di un sistema dinamico di tipo ARX(1,1,1) con b1 = 0.5 a1 = 0.5 la predizione (simbolo o) di una identificazione che ha fornito come risultato ˆb1 = 0.3 a ˆ1 = 0.7 e la simulazione (simbolo x) di una identificazione che ha fornito come risultato ˆb1 = 0.45 a ˆ1 = 0.55 si nota come, a fronte di identificazioni dal risultato palesemente diverso, le sole rappresentazioni grafiche diano risultati accettabili in entrambi i casi.

76

y

G. Antonelli - FI (2009)

campioni Figura 2.17: Confronto fra le uscite di un modello dinamico ARX(1,1,1) (linea tratto-punto) e della predizione (linea tratto-o) e della simulazione (linea tratto-x) di due diverse identificazioni.

Capitolo 3

Identificazione in pratica In questo capito verrano fornite delle linee metodologiche generali per effettuare un’identificazione in pratica. Alcuni casi pratici verrano quindi presentati.

3.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 `e sempre consigliabile utilizzare tutta la conoscenza a-priori che si ha del modello da identificare.

3.1.1

Eliminazione delle componenti continue, derive o componenti stagionali

Una delle ipotesi utilizzate nel ricavare i risultati dell’identificazione `e la stazionariet`a dei processi. Questo implica un primo trattamento dei dati per verificare, e quindi eliminare un’eventuale presenza di stagionalit` a. Per quanto concerne il valor medio `e sufficiente depolarizzare ingresso e uscita e lavorare quindi con segnali a valor medio nullo: N 1 X y (k) = y(k) − y(i) N ′

i=1

u′ (k) = u(k) −

N 1 X u(i). N i=1

Nel seguito, dove non esplicitamente detto, i segnali ingresso-uscita si considerereranno a media nulla. ` anche possibile che il segnale sia costituito da una componente di deriva (drift), ossia che E la sua derivata prima non abbia media nulla. Anche in questo caso, `e buona norma eliminare

77

78

G. Antonelli - FI (2009)

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.

3.1.2

Scalatura degli ingressi e delle uscite

` immediato osservare Nella Sezione 2.8 `e stato ricavato il regressore per un modello ARX o AR. E 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` a di misura. Pu`o accadere, quindi, che, bench`e il problema sia stato correttamente impostato, ingressi e uscite abbiano valori numerici molto diversi fra di loro. La conseguenza `e un malcondizionamento mumerico del regressore. ` possibile in questo caso scalare una delle due grandezze moltiplicandola o dividendola per una E costante e rendere cos`ı il problema meglio condizionato numericamente. Questa operazione modifica il valore del guadagno del modello identificato per cui `e poi necessario scalare corrispondentemente i coefficienti identificati a ˆi (ˆbi ). Si noti come il malcondizionamento causato da uno sbilanciamento numerico di ingresso e uscita non abbia nulla a che vedere con i problemi di malcondizionamento causati dalla scelta di un ingresso non eccitante.

3.1.3

Scelta del modello

Utilizzare le informazioni a-priori permette di ridurre la complessit`a del modello da identificare. In alcuni casi `e possibile scrivere le equazioni dinamiche del sistema e quindi conoscere esattamente le equazioni alle differenze che lo descrivono. In altri casi `e noto un ordine minimo del sistema o la presenza di rumore colorato. Nella descrizione dei modelli lineari stazionari stocastici si `e visto come il modello ARMAX comprenda come casi particolari molti dei modelli presentati, `e altres`ı evidente come un modello ARX possa beneficiare di algoritmi di identificazione che sfruttano la sua propriet`a di linearit` a nei parametri; `e 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 `e bene utilizzare questa conoscenza del modello. Per questo motivo pu` o 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` o verificarsi quando si scrivono le equaizoni alle differenze rispetto ad una variabile, ad esempio un’accelerazione, e si misura la sua integrata, la velocit`a; questo legame fisico pu` o essere preso in considerazione imponendo la presenza dell’integratore piuttosto che lasciandone identificare la sua presenza all’algoritmo.

79

G. Antonelli - FI (2009)

3.1.4

Determinazione del ritardo ingresso-uscita

Nel caso in cui non si abbia conoscenza a-priori del ritardo ingresso-uscita la scelta pi` u ovvia `e di porre il ritardo d = 0. Se, per ipotesi, fosse stato d > 0, si sarebbe identificato un valore di ˆb1 piccolo rispetto a ˆb2 dove si pu` o convenzionalmente intendere piccolo come: ˆ b1 < 0.15 ˆb2 a questo punto si potrebbe ripete 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 2.13.1 e succ.) ed analizzarne i coefficienti w(k). Anche in questo caso, se: |w(i)| < 0.15 |w(j)|

∀i < j

si pu` o consideare d = j come prima approssimazione del ritardo ingresso-uscita. ` bene notare come i due metodi esposti siano fortemente dipendenti dal livello di rumore del E segnale e situazioni ambigue possano presentarsi con estrema facilit`a.

3.1.5

Determinazione dell’ordine del sistema

Le indicazioni fornite nel Capitolo precedente sulle formule per determinare l’ordine del sistema ` infatti possibile, vanno interpretate alla luce della inevitabile presenza di rumore di misura. E se non frequente, che le formule FPE, AIC e MDL non forniscano un minimo in corrispondenza dello stesso sistema. La stessa formula, inoltre, pu` o dare minimi multipli o cambiare il minimo al variare del numero di punti N . Vale la pena di ribadire che le analisi 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` o essere scritto, supponendo di identificare d insieme agli elementi di B(z −1 ), come un ARX(2,3,0) A(z −1 ) = B(z −1 ) =

1 − 0.8z −1 + 0.07z −2 0 + 1z −1 + 0.3z −2 .

Si realizza una simulazione al calcolatore con N = 1000 campioni, ingresso pari ad una Gaussiana a media nulla e varianza 10 e rumore ancora pari ad una Gaussiana a media nulla e varianza unitaria. Si noti come le condizioni di identificazioni siano ideali.

80

G. Antonelli - FI (2009) Si eseguono 25 identificazioni con 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 `e: na \nb 1 2 3 4 5 1 326.6188 22.5193 2.2945 2.1275 2.1233 2 327.5110 3.7437 2.1223 2.1224 2.1215 3 328.3099 2.3075 2.1218 2.1220 2.1222 4 327.8558 2.1259 2.1233 2.1242 2.1278 5 328.2169 2.1317 2.1212 2.1206 2.1173 osservando il quale `e possibile fare alcune interpretazioni. La colonna corrispondente a nb = 1 ha degli indici che sono due ordini di grandezza maggiori rispetto al resto della griglia. Si pu` o quindi ipotizzare che il sistema abbia almeno un campione di ritardo fra ingresso e uscita. Un’altro modello sensibilmente diverso rispetto agli altri identificati `e quello corrispondente ad un ARX(1,2,0). I rimanenti indici hanno tutti lo stesso ordine di grandezza, incrementando na e nb , inoltre, notiamo dei miglioramenti decisamente marginali. In questo caso il minimo viene raggiunto per l’ARX(5,5,0). Se facessimo affidamento solo sull’indice per determinare l’ordine, quindi, dovremmo concludere che `e necessario aggiungere altre identificazioni con un ordine maggiore. La matrice relativa alla formula FPE fornisce: na \nb 1 2 3 4 5 1 327.9279 22.6548 2.3129 2.1489 2.1490 2 329.4820 3.7738 2.1437 2.1480 2.1514 3 330.9469 2.3307 2.1474 2.1520 2.1565 4 331.1508 2.1516 2.1532 2.1584 2.1665 5 332.1793 2.1618 2.1554 2.1591 2.1601 che, essendo in questo specifico caso (N + n)/(N − n) ≈ 1, `e numericamente molto vicino a J. La formula, per` o, modifica il valore del minimo individuato che ora corrisponde al modello ARX(2,3,0). In questo caso, vicino ad una identificazione ideale, il minimo corrisponde al modello che ha generato i dati ed i valori identificati sono: ˆ −1 ) = A(z ˆ −1 ) = B(z

1 − 0.8z −1 + 0.07z −2 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: ˆ −1 ) = A(z ˆ B(z −1 ) =

1 − 0.71908z −1 7 · 10−4 + 1.0005z −1 + 0.38153z −2 ≈ 1.0005z −1 + 0.38153z −2.

81

G. Antonelli - FI (2009) La differenza `e significa sia rispetto al modello scelto con la formula FPE che con il modello che ha generato i dati, in questo caso, infatti, l’ordine del sistema `e 1, si ha cio`e un solo polo a fronte dei 2 poli del vero modello. Per la sola formula MDL si riporta il grafico della griglia individuata in Figura 3.1, si pu` o notare come la formula introduca effettivamente un minimo locale e come esistano molti punti con valori assoluti prossimi al minimo stesso. 0.25

na = 5

M DL

0.2 0.15 0.1 0.05 0

na = 1

1

2

3

4

nb

5

Figura 3.1: Formula MDL al variare dell’ordine na e nb , il minimo `e evidenziato. Si cerca ora di valutare l’effettiva differenza fra i modelli paragonando graficamente le risposte indiciali. La Figura 3.2 mostra la risposta indiciale simulata.

5 4

y

3 2 1 0 −1

0

10

20

30

40

50

k Figura 3.2: Risposta indiciale del modello ARX(2,3,0), simbolo x, individuato utilizzando la formula FPE, e il modello ARX(1,3,0), simbolo *, individuato utilizzando le formule AIC e MDL. Si nota facilmente come la risposta dei due modelli sia molto simile, in particolare per quanto concerne il tempo di assestamento, ed una differenza marginale, inferiore al 3 %, per la stima del guadagno statico. Il commento che si pu` o fare riguarda il modello scelto come modello generatore dei dati, la sua dinamica dominante, infatti, `e data proprio da un polo semplice e la sua risposta indiciale non presenta sovraelongazioni. In questo caso, quindi, le formule MDL e AIC hanno permesso di

82

G. Antonelli - FI (2009) individuare un modello pi` u semplice rispetto alla formula FPE, ed ancora pi`u semplice rispetto al solo indice J, ma che ha identificato le caratteristiche principali dei dati.



3.1.6

Scelta dell’algoritmo

` evidente che La scelta dell’algoritmo da utilizzare `e strettamente legata al modello scelto. E 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` u ovvia. In particolare, se non sussistono esigenze di identificazione in tempo reale, la formula dei Minimi Quadrati a lotti permette anche di verificare numericamente la bont` a dei dati. Quando si lavora con modelli quali l’ARMA, l’ARMAX o l’OE `e 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.

3.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` a di dati e di guadagni algoritmici, `e in genere funzione delle condizioni iniziali per i coefficienti a ˆi , ˆbi e cˆ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 `e pari a T = 0.5 s. Dalla conoscenza dei sistema dinamici tempo-continuo [8] si sa che il polo dominante nel piano complesso tempo-continuo `e posizionato in un intorno del punto (−0.7, j0). La mappatura z = esT permette di concludere che il polo dominante, nel piano complesso tempo-discreto, `e in: z = e(−0.7,j0)·0.5 = 0.7047. Supponendo di aver scelto di identificare con na = 1 una scelta idonea per a1 potrebbe essere proprio a1 = 0.7.

3.1.8

3.2

Validazione

Forno elettrico

83

G. Antonelli - FI (2009)

Si vuole identificare il modello matematico di un forno elettrico, in particolare si utilizza il set-up didattico Temperature Control & Transducers della ElettronicaVeneta. In questo esempio si utilizzer` a la tecnica dei minimi quadrati a lotti. Un semplice modello matematico di un forno, rappresentato schematicamente in figura xxx `e fornita dalla: C t˙i (t) = K(ta − ti (t)) + q(t) (3.1) dove ti (t) `e la temperatura interna del forno, ta (t) la temperatura ambiente, q(t) la potenza termica, C la capacit` a termica del forno e K il coefficiente di scambio interno-esterno. Il set-up permette di fornire solo ingressi di tipo on-off con  0 off q(t) = (3.2) 100 W on Per armonizzare la notazione con il testo si evidenzia la variabile di ingresso ponendo u(t) = q(t) e quella di uscita ponendo y(t) = ti (t) − ta ottenendo y(t) ˙ =− che, definendo

K 1 y(t) + u(t) C C

h

θ= K C e

1 C

iT

(3.3)

,

  H(t) = −y(t) u(t)

pu` o essere riscritto in forma di regressore

 K  C  y(t) ˙ = −y(t) u(t)   = H(t)θ. 1 C 

(3.4)

La scelta del passo di campionamento per l’acquisizione dei dati deve soddisfare il teorema di Shannon, il modello `e chiaramente del primo ordine e questo semplifica molto la stima della sua banda passante. Da un primo test si nota come la costante di tempo del sistema dinamica sia dell’ordine di grandezza dei 30 minuti, ossia 1800 s. Il diagramma di Bode, quindi, assume un profilo qualitativo come quello in figura xxx, per il quale `e noto che la banda a 3 dB sotto il valore di regime `e proprio l’inverso della costante di tempo: f3 = 0.510−3 Hz. La frequenza di campionamento deve essere pi` u che doppia di questo valore e quindi il passo di campionamento `e limitato superiormente da Tmax = 900 s. L’acquisizione avviene collegando il DAQ (Data acquisition) USB-1280LS della Measurement Computing, comandato da un programma in C sotto Linux con campionamento imposto di T = 0.5 s. Il valore estremamente basso del passo di campionamento rispetto alla costante di tempo del sistema permette di approssimare la derivata tempo continua con la tecnica della mappatura pi` u semplice, quella di Eulero, ottenendo: y(k) ˙ =

y(k) − y(k − 1) T

(3.5)

84

G. Antonelli - FI (2009)

3.3

Magellan

Magellan, mostrato in Figura 3.3, `e un robot mobile di tipo uniciclo commercializzato dalla iRobot ` anolonomo, e pu` (www.rwii.com). E o essere controllato assegnando due grandezze desiderate al ` compito dell’utente, controllo di basso livello: la velocit` a di avanzamento e la velocit`a angolare. E usando la sensoristica del robot, chiudere un ulteriore anello di controllo per gestire al meglio la sua mobilit` a.

Figura 3.3: Magellan. Dai primi esperimenti compiuti sul robot si `e evidenziato un comportamento dinamico poco efficace. In particolare, fornendo come ingresso al sistema la velocit`a lineare desiderata vd , l’u` evidente una sovraelongazione scita misurata v assume i valori schematizzati nella Figura 3.4. E 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` a questa strada non `e 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`a di accedere ai guadagni del controllo d’asse del costruttore. Scopo di questa Sezione `e 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 `e semplice, l’ingresso `e 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

85

G. Antonelli - FI (2009)

dati misurati 0.6

m/s

0.5 0.4 0.3 0.2 0.1 0 0

50

100 150 campioni

200

Figura 3.4: Ingresso di velocit` a lineare a gradino e corrispondente uscita per Magellan. esperimenti opportuni si `e verificato un sostanziale disaccoppiamento fra i due moti. Si decide quindi di procedere con il modello SISO (Single-Input Single-Output). Vincoli di attuazione per esperimenti ` noto come la forma d’onda dell’ingresso sia decisiva per il successo dell’identificazione. In questo E caso, nel progettare l’esperimento, si deve tener conto della presenza di ostacoli, della saturazione degli attuatori, dei fenomeni di attrito a basse velocit`a, 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`e `e 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` a, si pu` o osservare come, estinto il transitorio, il sistema sia soggetto a cicli limite (in particolar modo sulla velocit` a angolare). Questo comportamento, probabilmente causato da fenomeni di attrito, inficer`a il procedimento di identificazione. Correzione manuale dei dati ` ovviamente un’operazione estremamente delicata. In alcuni casi, `e possibile modificare a mano E i dati se sussiste il fondato motivo che uno o pi` u 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 sovraelonga-

86

G. Antonelli - FI (2009)

zione. Il motivo risiede nel fatto che il controllo di basso livello attiva i freni meccanici quando riceve in ingresso riferimenti nulli. Per non corrompere l’identificazione la parte finale dei dati va eliminata. Media, filtraggio e campionamento I modelli presentati sono validi per sistemi a valor medio nullo. I dati di ingresso e uscita, quindi, vanno decurtati del valor medio. Per grandezze di ingresso-uscita fisicamente differenti pu` o presentarsi il caso che il loro valore numerico sia notevolmente differente fra loro a causa della scelta delle unit` a di misura. Questo porta ad un regressore numericamente sbilanciato con conseguenti errori numerici di stima dei parametri. Pu`o essere quindi opportuno scalare uno dei due vettori di dati ricordandosi poi di scalare coerentemente i coefficienti individuati. Nel nostro caso, essendo la grandezza fisica in ingresso uguale a quella in uscita, questa operazione non `e necessaria. Conoscendo la banda del sistema `e possibile effettuare un prefiltraggio sui dati volto ad eliminare il rumore in alta frequenza. Sarebbe necessario filtrare analogicamente i dati prima del campionamento per evitare di riportare in bassa il rumore. In ogni caso, il filtraggio va effettuato rigorosamente prima del campionamento dei dati. Per sapere a che banda fissare la frequenza di taglio del filtro passa-basso sono necessarie alcune considerazioni sul contenuto frequenziale del sistema stesso. Dalla risposta indiciale si pu` o individuare un tempo di assestamento al 10% di circa 2 s. In prima approssimazione possiamo considerare la banda a 3 db del sistema pari a 0.5 Hz. Scegliamo quindi una frequenza di cut-off del filtro passa-basso di circa 4 Hz. Si noti come, operando fuori linea, sia possibile rimediare all’inevitabile ritardo introdotto da filtri passa-basso utilizzando dei o osservare il segnale filtri anticausali (es., il comando filtfilt del Matlab) In Figura 3.5, si pu` filtrato.

dati filtrati 0.6

m/s

0.5 0.4 0.3 0.2 0.1 0 0

50

100 150 campioni

200

Figura 3.5: Ingresso di velocit` a lineare a gradino e corrispondente uscita per Magellan, dati filtrati. In teoria, un sovracampionamento non dovrebbe avere problemi se non quello di addensare i

87

G. Antonelli - FI (2009)

poli del sistema intorno al punto (1, 0j) (tutte le dinamiche del sistema, infatti, sono lente). In pratica questo causa dei forti problemi di natura numerica 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 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 `e scelto di campionare con passo 4, la nuova frequenza di campionamento `e 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 3.6 riporta i dati trattati.

dati posttrattamento 0.6

m/s

0.5 0.4 0.3 0.2 0.1 0 0

20

40

60

campioni Figura 3.6: Ingresso di velocit` a lineare a gradino e corrispondente uscita per Magellan, dati post-trattamento. In questo caso `e risultata agevole la stima della banda del sistema grazie alla forma particolare dell’ingresso. Nei casi in cui, dalla semplice osservazione della serie storica, non `e possibile questa stima si pu` o ricorrere a tecniche numeriche di analisi spettrale (es., si vedano i demo del Matlab Identification Toolbox). Scelta del modello Dalla risposta indiciale appare evidente che il modello `e almeno del secondo ordine, si decide quindi na ≥ 2. Non ci sono particolari indicazioni circa il ritardo ingresso-uscita, in questo caso, una buona scelta potrebbe essere d = 1 lasciando poi al procedimento il compito di identificare un eventuale b1 ≈ 0 indicativo di un ritardo maggiore. Si sceglie nb = 3. Come primo tentativo si decide di utilizzare un modello ARX(2,3). In [15] vengono forniti dei valori tipici di na per differenti sistemi fisici. Il valore di nb `e solitamente scelto ≥ 2 per prendere in considerazione anche i ritardi frazionali.

88

G. Antonelli - FI (2009)

Inizializzazione degli algoritmi Si decide di utilizzare una procedura ricorsiva, `e quindi necessario inizializzare la stima iniziale dei parametri e la matrice di covarianza. Sarebbe possibile assegnare un valore casuale a θ 0 , in realt` a, poich`e abbiamosi hanno informazioni macroscopiche sulla banda e sulla sovraelongazione del sistema sarebbe pi` u 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 `e influenzato da molti fattori. Una scelta rigorosa potrebbe essere quella di legarlo al regressore. Spesso per` o questo pu` o portare ad una sottostima del suo valore, o meglio, l’algoritmo potrebbe beneficiare di un valore pi` u alto e convergere pi` u velocemente. A questo si aggiunga che la traiettoria usata per l’identificazione non `e eccitante e, esaurito il transitorio inziale, non c’`e modo di aggiornare i parametri. Dopo alcuni tentativi si fissa V0 = 500I. Prima identificazione Si `e deciso per un algoritmo WRLS con fattore di oblio µ = 0.99. A valle della identificazione `e bene verificare il valore del guadagno (della sua norma, in questo caso) nel corso 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. E Validazione Il problema di identificazione dei parametri `e 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 `e andata a buon fine, come pu` o essere verificato dal grafico della predizione in Figura 3.7. Anche la stima della varianza della stima dei parametri ha un valore numerico basso, in norma: ˆ kV ar[ˆθk ] = 0.013. In realt` a abbiamo si ha bisogno di un ulteriore verifica, la simulazione. Solo simulando il modello possiamo capire se i poli del sistema identificato sono coerenti con il sistema reale. La simulazione, riportata in figura 3.8, mostra che sia la dinamica sia la sovraelongazione sono sottostimate. Infine, il test di Anderson non `e soddisfatto e questo comporta un errore colorato indicativo della presenza di dinamica non identificata nel modello. La figura 3.9 mostra l’autocorrelazione dell’errore e conferma questi commenti.

89

G. Antonelli - FI (2009)

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 3.7: Velocit` a misurata e predetta su traiettoria differente da quella di identificazione, modello ARX(2,3). Seconda identificazione La seconda identificazione viene ripetuta con na = 3. Lasciando inalterati gli altri parametri si ottiene: a1 = −1.0367

a2 = −0.074934

a3 = 0.4381

b1 = 0.12611

b2 = 0.12611

b3 = 0.07424,

cui corrisponde: J = 0.00027. In questo caso, l’autocorrelazione dell’errore di predizione mostra un residuo sostanzialmente bianco (figura xx), il test di Anderson `e soddisfatto e la simulazione mostra una riproduzione fedele della risposta al gradino del sistema (figura 3.10). La stima della varianza della stima dei ˆ 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` o richiedere molte iterazioni. In molti casi non `e evidente quando fermarsi nel progressivo aumento della complessit`a del modello. L’indicazione fornita dalla cifra di merito `e solo indicativa e non deve essere intepretata come l’unico elemento di scelta. In [2, 15, 17] vengono proposti dei possibili criteri, con forti connotazioni euristiche, per determinare un criterio di scelta del modello.

3.4

MIB30

Il MIB30 `e una media pesata del prezzo dei primi 30 titoli per capitalizzazione quotati alla Borsa di Milano. Il suo andamento nel tempo fornisce un’indicazione sull’andamento medio dei prezzi e quindi, banalizzando, sullo stato della Borsa italiana. Non `e l’unico indicatore,

90

G. Antonelli - FI (2009)

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 3.8: Velocit` a misurata e simulata su traiettoria differente da quella di identificazione, modello ARX(2,3). lo stesso prezzo ufficiale di un titolo, in quanto media degli ultimi n contratti `e una sorta di indicatore. Una corrente dell’economia finanziaria, nota come Analisi Tecnica [18], 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`a 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 3.11 `e riportato l’andamento del MIB30. In Figura 3.12, le sue variazioni giornaliere. Analizziamo innanzitutto questa serie storica, la sua media, nell’intervallo considerato `e di −66 punti, cio`e circa il 3% della variazione massima e lo 0.16% del prezzo medio. Valutiamone la covarianza, riportata in Figura 3.13. La covarianza assume un aspetto molto vicino a quella di un rumore bianco, si deve considerare, infatti, che la formula usata per stimare la covarianza `e esatta per vettori di grandi dimensioni. In particolare, se ci si divertisse a generare un vettore di rumore bianco e a calcolarne la covarianza si otterrebbe un grafico qualitativamente indistinguibile da quello generato dalle variazioni di prezzo. Se le variazioni di prezzo sono assimilabili ad un rumore bianco il prezzo assume la forma della passeggiata casuale: p(k) = p(k − 1) + ζ(k), spesso utilizzato in simulazione per generare intenzionalmente una deriva casuale in un parametro. Un risultato del tutto analogo `e stato ottenuto con una serie storica di due mesi sui titoli Fiat e Seat Pagine Gialle nonch´e su una serie di 2 anni del titolo Compaq quotato alla borsa di New York. Il lettore pu` o esercitarsi a identificare le possibili combinazioni di dati e costruire il corrispondente preditorre. Probabilmente otterr` a un valore della cifra di merito molto bassa, ma

91

G. Antonelli - FI (2009)

1 0.5 0 −0.5 −1 0

50

100

Figura 3.9: Autocorrelazione dell’errore di predizione, modello ARX(2,3). la stima del prezzo risulter`a sempre in ritardo di un giorno rispetto al prezzo corrente rendendo di fatto inutili i risultati ottenuti. 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) `e 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 `e fondamentalmente l’integrale di un rumore, ricorrendo solo a concetti di economia ed in particolare alla teoria dell’Efficient Market Hypothesis. Per correttezza, `e da notare come la comunit` a degli analisti tecnici rifiuti decisamente questa possibilit`a con argomentazioni euristiche varie [18]. Il risultato ottenuto dalla Analisi Tecnica `e 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 `e verificata l’esistenza di una polarizzazione marginale a favore dell’Analisi Tecnica stessa.

3.5

Canale GSM

1

Il GSM (Global System for Mobile “communication”) `e un sistema di comunicazione digitale che fa uso di un canale ad accesso ibrido FDMA/TDMA (Frequency-Division/Time-Division Multiple Access) utilizzando una modulazione di tipo GMSK (Gaussian Minimum Shift Keying). Ogni bit del segnale inviato `e affetto da ISI (Inter Symbolic Interference), noto, causato dalla modulazione stessa, e da fading, non noto, causato dai cammini multipli di uno stesso bit. I bit fanno parte di pacchetti di dati fra i quali il pi` u usato `e il cosiddetto NB (Normal Burst) costituito da bit informativi intervallati da bit di addestramento il cui scopo `e proprio quello di identificare il fading che insiste sul segnale. La figura 3.14 mostra il pacchetto di 26 bit di addestramento circondati 1

Esempio tratto dall’elaborato di Gianfranco Miele e Daniele Pinchera

92

G. Antonelli - FI (2009)

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 3.10: Velocit` a misurata e simulata su traiettoria differente da quella di identificazione, modello ARX(3,3). da 58 informativi, a questi vanno aggiunti 3 tail bit prima e dopo ed infine 8.25 bit di guard alla fine del pacchetto. Una volta identificato il fading `e possibile demodulare il pacchetto informativo del segnale. Dal punto di vista applicativo il primo pacchetto informativo `e memorizzato, poi il canale `e identificato tramite il pacchetto di addestramento ed infine primo e secondo pacchetto informativo sono demodulati. Il pacchetto di addestramento `e posto al centro del contenuto informativo del segnale per minimizzare gli effetti di tempo-varianza del fading. I 3 bit di tail sono nulli per assicurare che il demodulatore, basato 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 3.15 `e riportato il pacchetto di addestramento usato in questo esempio. Il segnale ricevuto `e modellato come una sequenza di bit ottenuti tramite un modello ARX: y(k) = G(z)u(k) + ζ(k)

(3.6)

in cui G(z) `e dato dalla convoluzione fra l’ISI e il fading: G(z) = Gi (z) ∗ Gf (z) In questo esempio l’ISI `e rappresentato da Gi (z) = 0.2 + z −1 + 0.2z −2 mentre per il fading `e 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 3.1). Considerando, ad es., il fading cittadino, la G(z) da identificare nel nostro esempio `e: G(z) = 0.2 + 0.92z −1 − 0.22z −2 − 0.18z −3 − 0.02z −4 .

93

G. Antonelli - FI (2009)

4.6

x 10

MIB30

4

4.4

punti

4.2 4 3.8 3.6 3.4 0

20

40 giorni

60

Figura 3.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 3.1: Tipici valori della Gf (z) per diversi ambienti. Nelle figure 3.16 e 3.17 sono riportate le sequenze rispettivamente inviate e ricevute attraverso il canale GSM simulato; si `e considerato un rumore additivo di varianza 10−2 . Acquisendo i bit e costruendo un regressore impilato per la sequenza di bit di addestramento (noti) `e possibile risalire ai coefficienti della G(z). Questi possono poi essere utilizzati per equalizzare la sequenza dei bit informativi (non noti).

94

G. Antonelli - FI (2009)

variazioni MIB30 2000

punti

1000 0 −1000 −2000 0

20

40 giorni

60

Figura 3.12: Andamento delle variazioni del MIB30 su un intervallo di circa due mesi.

covarianza variazioni MIB30 1

[−]

0.5 0 −0.5 −1 0

50

100

150

giorni Figura 3.13: Stima della covarianza delle variazioni del MIB30 su un intervallo di circa due mesi.

tail bits

information bits

training sequence

information bits

tail bits

guard

3

58

26

58

3

8.25

Figura 3.14: Pacchetto normale per il sistema GSM.

95

G. Antonelli - FI (2009)

sequenza di addestramento

1

0 0

5

10 15 campioni

20

25

Figura 3.15: Sequenza di addestramento per il canale GSM.

sequenza inviata

1

0

0

200

400

campioni Figura 3.16: Sequenza inviata.

600

96

G. Antonelli - FI (2009)

sequenza ricevuta

1

0

0

200

400

campioni Figura 3.17: Sequenza ricevuta.

600

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 Secondary 97

G. Antonelli - FI (2009)

98

Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The “Invariant Sections” are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The “Cover Texts” are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. A “Transparent” copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not “Transparent” is called “Opaque”. Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machinegenerated HTML, PostScript or PDF produced by some word processors for output purposes only. The “Title Page” means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, “Title Page” means the text near the most prominent appearance of the 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 noncom-

G. Antonelli - FI (2009)

99

mercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the 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 - FI (2009)

100

least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement. C. State on the Title page the name of the publisher of the Modified Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the 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 - FI (2009)

101

combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections Entitled “History” in the various original documents, forming one section Entitled “History”; likewise combine any sections Entitled “Acknowledgements”, and any sections Entitled “Dedications”. You must delete all sections Entitled “Endorsements”. 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an “aggregate” if the copyright resulting from the compilation is not used to limit the legal rights of the 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”,

G. Antonelli - FI (2009)

102

the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided for under this License. Any other attempt to copy, modify, sublicense or distribute the Document is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License “or any later version” applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation.

A.2

Cenni storici Eulero Leonhard Euler, nato a Basilea, Svizzera nel 1707, morto nel 1783 a Pietroburgo. Figlio di un pastore protestante doveva intraprendere la carriera ecclesiastica. Comincia per` o a frequentare alcuni dei numerosi, ed attivi, membri della famiglia Bernoulli, Jean ed i figli Nicolaus e Daniel in fuga dal Belgio per questioni razziali e si orienta verso la ` chiamato all’Accadematematica, studiando anche teologia, medicina e lingue orientali. E mia di Pietroburgo nel 1727 per coprire il posto di professore di medicina, per una serie di fortuite coincidenze diventa professore di filosofia naturale ed infine, alla et`a di 26 anni, di matematica. Nella sua vita ha pubblicato una media di 800 pagine l’anno senza diminuire la sua frenetica attivit`a nemmeno dopo aver perso la vista ad un occhio nel 1735 ed essere diventato cieco nel 1771. Negli ultimi anni di vita scrive, cieco, su una grande lavagna descrivendo e dettando ad alcuni dei sui 13 figli le sue idee. Di lingua madre tedesca scrive in latino e francese. La tradizione vuole che dicesse che la sua penna lo superava in intelligenza. I contributi di Eulero sono estremamente vasti, un segno della sua importanza nella storia della matematica `e implicitamente dato 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` a noto come test di Jury.

G. Antonelli - FI (2009)

103

Kalman Rudolph Emil Kalman presenta ad una conferenza a Mosca nel 1960 il suo lavoro degli ultimi 10 anni in cui mostra l’evidenza della dualit` a esistente fra il controllo in retroazione multivariabile ed il filtraggio in retroazione multivariabile. Pochi anni dopo presenta il filtro noto come filtro di Kalman-Bucy. Kolmogorov Andrei Nikolaecih Kolmogorov, nato a Tambov, Russia, nel 1903 e morto a Mosca, URSS, nel 1987. Entra all’Universit` a di Mosca nel 1920 dove comincia a studiare calcolo delle probabilit`a. Nel 1933 pubblica la monografia “Concetti fondamentali di probabilit` a” in cui pone di fatto le basi matematiche al calcolo delle probabilit`a e presenta, fra le altre cose, “la legge dei grandi numeri”. La sua teoria, sviluppata contemporaneamente ma indipendentemente da Norbert Wiener, fornisce per la prima volta gli strumenti analitici per affrontare i problemi di filtraggio e predizione dei dati. Laplace nasce in Francia nel 1749 da un famiglia popolare, muore nel 1823. Riesce ad entrare in 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´eorie analytique des probabilit´es” in cui introduce la funzione oggi nota come “Trasformata di Laplace” e dimostra rigorosamente la teoria dei minimi quadrati gi`a formulata da Legendre. Ha fatto parte del “Comitato sui Pesi e sulle Misure”, fu ministro della Pubblica Amministrazione sotto Napoleone senza raccogliere particolari consensi. Nyquist Harry Nyquist (1889-1976) pubblica nel 1932 un lavoro dal titolo “Regeneration Theory” durante lo sviluppo di un amplificatore con retroazione negativa da parte della AT&T. Si intravede lo sviluppo di quello che oggi `e noto come “criterio di Nyquist” e si cominciano a comprendere gli effetti benefici della retroazione negativa. Riccati Jacopo Francesco Riccati, nato a Venezia nel 1676, morto nel 1754. Dopo aver intrapreso studi di legge presso i gesuiti si dedica 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` a, il suo contributo scientifico `e ricavabile tramite la fitta corrispondenza che aveva con studiosi contemporaneai italiani ed europei. Il suo contributo, e quello di Vincenzo Riccati, uno dei suoi 18 figli, risiede essenzialmente nello studio di quella che d’Alembert definir`a “equazione di Riccati”, cui Eulero dar` a un contributo determinante alla soluzione. Routh Edward J. Routh (1831-1907). Nel 1877 pubblica in un trattato “Stability of Motion” il criterio oggi noto come “criterio di Routh-Hurwitz”. Hurwitz (Svizzera, 1859-1919) non collabor` o con Routh ma trov`o il risultato indipendentemente nel 1895. Tustin Arnold Tustin, nato in Inghilterra. Chairman della “Automatic Control”, il primo congresso mai tenuto sul controllo automatico nel 1951 a Cranfield, Inghilterra. Wiener Norbert Wiener (Columbia 1894- Stoccolma 1964). Per molti anni professore di matematica al Massachusetts Institute of Technology `e un personaggio dotato di spiccate qualit`a analitiche, un “prodigio” secondo i suoi contemporanei. Durante la seconda guerra mondiale dedica le sue risorse allo studio della predizione della posizione di un aereo in istanti futuri. Nel 1948 pubblica “Cibernetica”, inaugurando la nuova disciplina che studia

104

G. Antonelli - FI (2009)

controllo e comunicazione di animali e macchine. Nel 1949-1950 lavora con Shannon alla teoria dell’informazione. Fornisce contributi significativi nel calcolo delle probabilit`a, nella teoria degli spazi lineari e nella definizione degli spazi di Banach. Utilizza modelli stocastici per modellare non solo il rumore ma anche i segnali. Studia l’applicazione della logica matematica all’attivit`a del sistema nervoso.

A.3

La Z trasformata

La Z trasformata di una sequenza f (k), con f (k) = 0 per k < 0 `e definita come: F (z) = Z [f (k)] =

∞ 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 zˆ, F (z) risulta definita per ogni z tale che |z| ≥ |ˆ z |. Il pi` u piccolo valore di |z| per cui `e definita F (z) `e definito raggio di convergenza, la regione del piano caratterizzata da avere |z| maggiore del raggio di convergenza `e definita regione di convergenza. Il metodo di antitrasformazione pi` u generale `e fornito dalla relazione: I 1 −1 F (z)z k−1 dz k ≥ 0 f (k) = Z [F (z)] = 2πj Γ

(A.2)

dove Γ `e una curva chiusa del piano complesso che racchiude tutte le radici del denominatore di F (z) (i poli); Γ `e contenuta nella regione di convergenza. Lasciando i dettagli a testi specializzati `e bene rimarcare un punto importante: per sequenze f (k) nulle per k < 0 la corrispondenza con la sua Z-trasformata `e biunivoca, non c’`e quindi perdita di informazione nel lavorare con la sequenza f (k) o la sua Z-trasformata F (z).

Propriet` a principali Linearit` a Sia F1 (z) = Z [f1 (k)] F2 (z) = Z [f2 (k)] allora, considerando α e β due scalari qualsiasi, vale: αF1 (z) + βF2 (z) = Z [αf1 (k) + βf2 (k)]

105

G. Antonelli - FI (2009)

Anticipo Sia F (z) = Z [f (k)] vale: Z [f (k + m)] = z m F (z) − z m

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)

106

G. Antonelli - FI (2009)

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) ⇔ kn ak δ−1 (k) ⇔ δ−1 (k) sin(νk) ⇔ δ−1 (k) cos(νk) ⇔

z z−1 z z−a n!z (z − a)n z sin(ν) z 2 − 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. E 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 `e una collezione di segnali (deterministici) ciascuno corrispondente ad un singolo esperimento casuale. Se χ individua il

107

G. Antonelli - FI (2009)

risultato di un singolo esprimento, cio`e un elemento 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` a e funzione di densit` a di probabilit` a ˆ χ) si definisce funzione di distribuzione cumulativa: Data la variabile aleatoria x(k, ˆ = P r{x(k) ˆ = x}. Px (x; k) 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`a di probabilit`a, `e impulsiva nel caso discreto: X ˆ = ˆ = xi }δ(x(k) ˆ − xi ). fx (x; k) P r{x(k) i

valore atteso (media statistica) In termini non rigorosi si pu` o ritenere il valore atteso come il valore da sotituire alla variabile aleatoria se fosse necessario quantificarla: X ˆ = xi }. µx (k) = E[x(k)] = xi P r{x(k) i

varianza ` una misura della dispersione della variabile intorno al valor atteso: E σx2 = V ar[x(k)] = E[(x(k) − µx (k))2 ]. autocorrelazione rx (k1 , k2 ) = E[x(k1 )x(k2 )].

108

G. Antonelli - FI (2009)

covarianza cx (k1 , k2 ) = Cov[x(k1 ), x(k2 )] = E[(x(k1 ) − µx (k1 ))(x(k2 ) − µx (k2 ))]. cx (τ ) = Cov[x(k), x(k + τ )] = E[(x(k) − µx (k))(x(k + τ ) − µx (k + τ ))]. La covarianza soddisfa le seguenti propriet`a: 1. cx (0) > 0 2. cx (−τ ) = cx (τ ) 3. kcx (τ )k < cx (0) 4. La seguente matrice simmetrica ottenuta dai valori della covarianza `e semidefinita positiva:   cx (0) cx (1) cx (2) cx (N − 1)  cx (1) cx (0) cx (1) . . . cx (N − 2)     cx (2) c (1) c (0) c (N − 3) x x x (A.10)     .. . ..   . cx (N − 1) cx (N − 2) cx (N − 3) cx (0) stima 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` o fornire una stima polarizzata mentre la seconda non fornisce una matrice (4) semidefinita positiva. segnale aleatorio stazionario ` il segnale aleatorio per cui le caratterizzazioni statistiche non dipendono dalla scelta dell’origine E dei tempi ma dal ritardo τ = k2 − k1 . Se questa propriet`a `e 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 τ . ergodicit` a Un segnale SSL `e ergodico se, al crescere della dimensione N di una sua realizzazione, le medie temporali coincidono con l’operazione di valor atteso.

109

G. Antonelli - FI (2009)

rumore bianco Si definisce rumore bianco il segnale aleatorio ζ(k) caratterizzato da una funzione di autocorrelazione impulsiva: E[ζ(k)ζ T (l)] = Rδ(k − l). test di Anderson Il test di Anderson `e un diffuso test di bianchezza per un segnale aleatorio. Si consideri un segnale ε(k), di dimensione N e a valor medio nullo. Si pu` o dimostrare che, se ε(k) `e bianco, per N ⇒ ∞ la covarianza normalizzata tende ad una gaussiana con media nulla e varianza 1/N . Il test, quindi, si riconduce a verificare la gaussianit`a di un segnale. 1. si calcoli la covarianza secondo la rˆ(τ ) =

N −τ 1 X ε(i)ε(i + τ ). N i=1

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` o 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

si divide la potenza maggiore del primo polinomio x3 , per la potenza maggiore del secondo x ottenendo x2 e si moltiplica il secondo polinomio per x2 x3 +4x2 +3x +1 x3 +x2

|x + 1 x2

110

G. Antonelli - FI (2009)

sottranendo

x3 +4x2 +3x +1 x3 +x2 +3x2 3x +1

|x + 1 x2

si ripete l’operazione fra 3x2 e x ottenendo 3x: x3 +4x2 +3x +1 x3 +x2 +3x2 3x +1 +3x2 3x

|x + 1 x2 + 3x

sottraendo ancora si ottiene 1 che `e inferiore alla potenza maggiore del divisore. Il risultato `e quindi (x3 + 4x2 + 3x + 1) = (x + 1)(x2 + 3x) + 1. polinomio monico Si definisce polinomio monico il polinomio il cui coefficiente della potenza pi` u elevata `e unitario. polinomi coprimi Due polinomi si definiscono coprimi se non hanno fattori in comune.

A.6

Matrici

vedere il quaderno 1 di balestrino celentano. (def matrice compagna orizzontale inferiore) Inversione e trasposizione del prodotto di due matrici A = BC A = C −1 B −1 T A = C TBT −1

La matrice inversa della trasposta (o trasposta dell’inversa) T  T −1 A-T = A−1 = A (AB)-T = B -T A-T

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.

111

G. Antonelli - FI (2009)

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 `e 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, `e verificata: xT Ax > 0. Si definisce semi-definita positiva se la relazione `e verificata anche con il segno di eguaglianza. La definizione si estende banalmente alla negativa (semi)definitezza. Definendo As =

 1 A + AT 2

condizione necessaria e sufficiente affinch`e A sia definita positiva `e che lo sia anche As . Per verificare se una matrice `e o meno definita positiva si possono utilizzare diversi test quali la verifica ` del segno degli autovalori o il test di Sylvester che sono validi solo per matrici simmetriche. E necessario quindi calcolare prima la As e poi applicare il test. Test di Sylvester Una matrice simmetrica `e definita positiva se il determinante di tutti i suoi minori principali `e positivo. Matrice compagna Un matrice A si definisce compagna orizzontale inferiore se assume la forma:   0 1 0 ... 0  0 0 1 ... 0     A =  ... ... ... ... ...  .  ... ... ... ... ...  −an −an−1 −an−2 . . . −a1

In maniera analoga `e possibile definire la matrice compagna verticale destra.

(A.11)

112

G. Antonelli - FI (2009)

Decomposizione in valor singolari La decomposizione in valor singolari (SVD, Singular Value Decomposition) `e 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, `e una matrice diagonale i cui elementi λi sono definiti valor singolari (λi ≥ 0). La matrice Λ `e generalmente arrangiata in modo tale da avere i valori singolari in ordine decrescente. Il numero p di valor singolari diversi da zero rappresenta proprio il rango della matrice A. Le colonne di U e V sono definite autovettori sinistri e destri rispettivamente. Il massimo valor singolare della matrice A rappresenta proprio la sua norma-2 definita come kAk2 = max kAxk , kxk=1 in cui la norma del vettore `e quella Euclidea. Si ha quindi kAk2 = λ1 (A). Esistono diverse definizioni di norma di una matrice, alcune delle quali direttamente riconducibili a delle relazioni sui valor singolari. La decomposizione in valor singolari assume 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

 †  Λ   UT se n ≤ m  V O A† =      V Λ† O U T se n ≥ m AA† A † † T A AA AA†  T A† A

= A = A† = AA† = A† A

se, inoltre, la matrice A ha rango pieno allora  −1  se n ≤ m AT AAT A† =   AT A−1 AT se n ≥ m

113

G. Antonelli - FI (2009)

in cui si riconosce che, nel caso rettangolare alto, l’operazione di pseudoinversa `e proprio quella necessaria per trovare la soluzione a Minimi Quadrati. Si definisce numero di condizione della matrice A: cond(A) =

A.7

λmax (A) λmin (A)

Formula di Ackermann

xxx Si deve quindi ricorrere ad un artificio che evidenzi un’espressione semplice delle incognite. Si tratta di rappresentare il sistema in forma canonica di osservabilit` a tramite una trasformazione lineare; gli autovalori, infatti, sono invarianti rispetto a tali trasformazioni. Si calcola il polinomio caratteristico della matrice dinamica del sistema Φ dato da: |λI − Φ| = λn + a1 λn−1 + . . . + an . Nel seguito, per semplicit`a di notazione, si far`a riferimento ad un sistema con una uscita scalare, le matrici H e G, quindi, sono vettori riga o colonna e verranno rispettivamente indicate con i simboli h e g. Si applichi la trasformazione lineare allo stato: e = T e, 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  a h i n−2 an−3 n−1 T  T T T T ... T = h Φ h ... Φ h   ...  ... ... 1 0

 . . . a1 1 ... 1 0  . . . . . . . . .  . . . . . . . . . ... 0 0

affinch`e questa matrice sia invertibile `e necessario che siano invertibili entrambe le matrici che la compongono: la seconda ha rango pieno per costruzione, la prima matrice `e la trasposta della matrice di osservabilit` a del sistema. Se ha rango pieno il sistema si definisce completamente osservabile. Si noti come l’osservabilit` a di un sistema dipenda dalla coppia (Φ, h) e non da Γ . In parole, un sistema `e non osservabile se esiste un particolare stato la cui evoluzione libera `e

114

G. Antonelli - FI (2009)

indistinguibile dallo stato nullo, ossia se fornisce in uscita una evoluzione libera identicamente nulla in un qualsiasi intervallo di tempo. Si noti, inoltre, che la propriet`a di osservabilit` a di un sistema si conserva rispetto a trasformazioni lineari dello stato. A questo punto `e possibile riscrivere il primo termine della (A.12) nella forma compagna orizzontale inferiore:   0 1 0 ... 0  0 0 1 ... 0    −1 T T Φ T = ... ... ... ...   ... ,  ... ... ... ... ...  −an −an−1 −an−2 . . . −a1

e il secondo termine della (A.12) come

  0  ..  −1 T T h = . , 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 = a = permette di scrivere la relazione vettoriale:





dn . . . d1 an . . . a1

T

T

k − a = −d che fornisce

g = −T -T (a − d) .

Questo determina univocamente l’incognita g, sostituendola nella (1.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

115

G. Antonelli - FI (2009)

x ˆ (ˆ x)

stima della variabile x (x)

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`a (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] S.J. Julier and J.K. Uhlmann, Unscented filtering and nonlinear estimation, Proceedings of the IEEE, vol. 92, n. 3, pp. 401–422, 2004. [12] T. Kailath, A.H. Sayed and B. Hassibi, Linear Estimation, Prentice Hall, Upper Saddle River, NJ, 1999. [13] R.E. Kalman, “A new approach to linear filtering and prediction problems,” Trans. ASME J. Basic Eng., 82, pp. 34–45, 1960. [14] R.E. Kalman and R.W. Koepcke, “Optimal synthesis of linear sampling control systems using generalized performance indices,” Trans. ASME Ser.D., J. Basic Engr , 80, pp. 1820–1826, 1958.

116

G. Antonelli - FI (2009)

117

[15] J.D. Landau, System Identification and Control Design, Prentice Hall, Englewood Cliffs, NJ, 1990. [16] B.F. La Scala and R.R. Bitmead, “Design of an Extended Kalman Filter Frequency Tracker,” IEEE Trans. on Signal Processing, vol. 44, n. 3, pp. 739–742, 1996. [17] L. Ljung, System Identification: Theory for the User , Prentice Hall PTR, Upper Saddle River, NJ, 1999. [18] J.J. Murphy, Technical Analysis of the Financial Markets, New York Institute of Finance, New York, 1999. [19] C. Presse and M. Gautier, “New Criteria of Exciting Trajectories for Robot Identification,” Proc. 1993 IEEE Int. Conf. on Robotics and Automation, Atlanta, GA, pp. 907–912, 1993. [20] T. S¨ oderstr¨om, Discrete-time Stochastic Systems: Estimation and Control, Springer-Verlag, London, GB, 2002. [21] P.E. Wellstead and M.B. Zarrop, Self-Tuning Systems. Control and Sygnal Processing, John Wiley & Sons, Chichester, UK, 1991.

Indice analitico Ackermann, formula di, 10, 113 AIC, 73 Akaike, 73 AR, 40 AR, predittore, 44 ARIMA, 40 ARMA, 40 ARMA, predittore, 44 ARMAX, 39 ARMAX, predittore, 43 ARX, 39 ARX, predittore, 44 controllo lineare quadratico, 32 convergenza in media quadratica, 7 disturbi, 34 dualit` a stima-controllo, 32 Eulero, cenni storici, 102 filtraggio, 6 Fisher, 26, 57 FPE, 73 Gauss, 26 Gauss, cenni storici, 102 Gauss-Newton, algoritmo di, 59 identificazione, 37 innovazione, 24 interpolazione, 6 Jury, cenni storici, 102 Kalman, 13, 32, 65 Kalman, aggiornamento di misura, 14 Kalman, aggiornamento temporale, 14 Kalman, cenni storici, 102 Kalman, filtro esteso, 26 Kolmogorov, 26

Kolmogorov, cenni storici, 103 Laplace, cenni storici, 103 LS, 47 Luenberger, 8 Massima Verosimiglianza, 23, 57 MDL, 74 Minimi Quadrati regolarizzati, 56 MLE, 57 modelli a errore d’equazione, 38 modelli a errore d’ingresso, 38 modelli a errore d’uscita, 38 numero di condizione, 56, 113 Nyquist, cenni storici, 103 OE, 41 OE, predittore, 45 Optimum Transient Observer, 21 osservatore asintotico, 8 predittiva, forma, 42 predizione, 6 predizione, errore di, 45 pseudoinversa, 47, 112 raccolta dati, 37 Riccati, 17 Riccati, cenni storici, 103 RLS, 61 Routh, cenni storici, 103 RWLS, 61 scelta del modello, 37 Schmidt, 28 Schmidt, modifica di, 14 stimatore consistente, 7 SVD, 112 Sylvester, test di, 111

118

G. Antonelli - FI (2009)

Tustin, cenni storici, 103 validazione, 37 valor singolare, 112 Viterbi, 92 Wiener, 26 Wiener, cenni storici, 103 Wiener, processo di, 41 WLS, 49

119

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF