Identificazione di sistemi dinamici - supsi

Transcript

Identificazione di sistemi dinamici - supsi
Scuola universitaria professionale
della Svizzera italiana
I
S
P
SU
Dipartimento
Tecnologie
Innovative
Identificazione di sistemi dinamici
Ivan Furlan
23 ottobre 2016
Identificazione di sistemi dinamici
2
Ivan Furlan
23 ottobre 2016
Indice
1 Identificazione non parametrica
1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Metodi temporali . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Background sulla risposta all’impulso . . . . . . . . . . . . . .
1.2.2 Determinazione della risposta all’impulso da u(k) e y(k) . . .
1.2.3 Implementazione numericamente migliore . . . . . . . . . . . .
1.2.4 Background sulla correlazione di due segnali . . . . . . . . . .
1.2.5 Determinazione della risposta all’impulso tramite correlazioni
1.2.6 Implementazione numericamente migliore . . . . . . . . . . . .
1.2.7 Utilizzo di un rumore bianco nel metodo delle correlazioni . .
1.3 Metodi frequenziali . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Determinazione della funzione di trasferimento dalle trasformate di Fourier di u(k) e y(k) . . . . . . . . . . . . . . . . . .
1.3.2 Determinazione della funzione di trasferimento tramite trasformate di Fourier delle correlazioni . . . . . . . . . . . . . .
1.4 Utilizzo dei modelli non parametrici . . . . . . . . . . . . . . . . . . .
1.4.1 Informazioni base ricavabili della risposta all’impulso . . . . .
1.4.2 Informazioni base ricavabili della risposta frequenziale . . . . .
1.4.3 Funzione di trasferimento di primo ordine a partire dalla riposta al gradino unitario . . . . . . . . . . . . . . . . . . . . .
1.4.4 Funzione di trasferimento di secondo ordine a partire dalla
riposta nel tempo . . . . . . . . . . . . . . . . . . . . . . . . .
2 Identificazione parametrica
2.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Metodi basati sul modello a tempo continuo del sistema . . . . . . .
2.2.1 Identificazione dei parametri di un modello parametrico ottimizzando l’errore del modello nel dominio del tempo . . . .
2.2.2 Identificazione dei parametri di un modello parametrico ottimizzando l’errore del modello nel dominio della frequenza . .
2.3 Metodi basati sul modello a tempo discreto del sistema . . . . . . .
2.3.1 Identificazione dei parametri di un modello parametrico in
funzione dell’errore di predizione . . . . . . . . . . . . . . .
23 ottobre 2016
Ivan Furlan
5
5
6
6
7
7
8
9
10
11
11
12
12
13
13
13
14
16
21
. 21
. 21
. 21
. 22
. 23
. 23
3
Identificazione di sistemi dinamici
2.3.2
2.3.3
2.3.4
4
INDICE
Identificazione parametrica basata su una struttura OE (Output Error) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Identificazione parametrica basata su una struttura Box-Jenkis 26
Casi particolari della struttura Box-Jenkis . . . . . . . . . . . 27
Ivan Furlan
23 ottobre 2016
Capitolo 1
Identificazione non parametrica
1.1
Introduzione
Un sistema dinamico può essere descritto per mezzo di due tipologie di modello
• Modelli di tipo non parametrico
In questo contesto, i sistemi dinamici vengono rappresentati per mezzo di
segnali temporali (come risposta all’impulso o allo scalino del sistema), oppure
frequenziali (risposta armonica).
I modelli di tipo non parametrico sono utili nei casi in cui non si abbia informazione esatta sull’ordine o struttura del sistema che si vuole identificare.
Dai risultati si potrà poi evincere quest’ultime informazioni, utili a trovare un
modello di tipo parametrico.
• Modelli di tipo parametrico
In questo contesto, i sistemi dinamici vengono rappresentati per mezzo di equazioni differenziali (o alle differenze), oppure per mezzo di funzioni (o matrici)
di trasferimento.
I modelli di tipo non parametrico sono utili, ad esempio, per la progettazione
di un sistema di controllo.
Come vedremo, per ottenere un modello di tipo parametrico, è necessario
conoscere ordine e struttura del sistema. Queste informazioni possono essere
ricavate dalla modellazione fisica oppure dai risultati di un’identificazione non
parametrica.
Questo capitolo si concentra su alcuni metodi base di identificazione non parametrica, essi, come tutti i metodi di identificazione, si basano su misure dell’entrata
u(k) e dell’uscita y(k) di un generico sistema LTI (Lineare Tempo Invariante) discreto nel tempo. In generale il processo di identificazione può essere rappresentato
come in figura 1.1. Il segnale di ingresso u(k) può essere, in linea di principio, di
qualsiasi tipo. Lo scopo del segnale u(k) consiste nell’eccitare il processo per ottenere informazioni sulla sua dinamica nel segnale di uscita y(k). Nel corso del capitolo
verranno indicati alcuni tipi di segnali di norma utilizzati.
23 ottobre 2016
Ivan Furlan
5
Identificazione di sistemi dinamici
Capitolo 1. Identificazione non parametrica
u(k) -
Sistema
sconosciuto
y(k) -
- Identificazione non parametrica
?
Modello non parametrico
Figura 1.1: Processo di identificazione
1.2
Metodi temporali
I metodi temporali di identificazione non parametrica permettono di ricavare, partendo da misurazioni di entrata u(k) ed uscita y(k) di un sistema, la risposta
all’impulso h(k) del sistema stesso.
1.2.1
Background sulla risposta all’impulso
La risposta all’impulso di un sistema, indicata solitamente con il simbolo h(k),
corrisponde all’uscita dello stesso se eccitato con un impulso unitario δ(k)
{
δ(k) =
0 se k =
̸ 0
1 se k = 0
Il segnale h(k) è rappresentativo del sistema, in quanto, come noto, lega i segnali di
ingresso u(k) ed uscita y(k) per mezzo dell’operatore di convoluzione
y(k) =
∞
∑
h(i) · u(k − i) = h(k) ∗ u(k).
(1.1)
i=−∞
Di conseguenza esso contiene tutta l’informazione necessaria atta alla descrizione del
sistema da un punto di vista Input/Ouput. Questo testo si concentra su sistemi di
tipo causale (vale a dire l’uscita al tempo k è funzione al massimo dell’entrata u(k)
attuale e appartenenti al passato, ma non di quelle future) in quanto tutti i sistemi
fisici rispettano questa condizione. In questo caso, l’operatore di convoluzione (1.1)
può essere riscritto equivalentemente come segue
y(k) =
∞
∑
h(i) · u(k − i).
(1.2)
i=0
in quanto h(k) = 0 per k < 0.
6
Ivan Furlan
23 ottobre 2016
1.2. Metodi temporali
1.2.2
Identificazione di sistemi dinamici
Determinazione della risposta all’impulso da u(k) e y(k)
Per ottenere la risposta all’impulso basterebbe eccitare il sistema con il segnale δ(k),
ma questo, causa la larghezza di banda limitata degli attuatori collegati al sistema,
risulta di difficile realizzazione. La risposta all’impulso viene quindi ottenuta in
modo indiretto partendo, da altri segnali producibili dall’attuatore, come ad esempio
segnali di tipo stocastico.
In generale, per ottenere la risposta all’impulso h(k) per mezzo di un segnale
di attuazione u(k) che non sia δ(k), si procede come descritto di seguito. Grazie
all’equazione (1.2) è possibile esprimere le uscite del sistema y(k) in funzione delle
entrate u(k) come
y(0) = h(0) · u(0)
y(1) = h(1) · u(0) + h(0) · u(1)
..
.
y(N − 1) = h(N − 1) · u(0) + h(N − 2) · u(1) + . . . + h(1) · u(N − 2) + h(0) · u(N − 1)
ottenendo un sistema di N equazioni in N incognite (i campioni h(k) della risposta
all’impulso). Con lo scopo di determinare h(k) è possibile risolvere il sistema di
equazioni ottenuto sfruttando la notazione matriciale
Y =U ·H
(1.3)
dove



Y =


y(0)
y(1)
..
.
y(N − 1)
ed ottenendo






 U =




u(0)
u(1)
..
.
0
u(0)
..
.
...
...
0
0
..
.
u(N − 1) u(N − 2) . . . u(0)






 H =




h(0)
h(1)
..
.
h(N − 1)






H = U −1 · Y
L’operazione ottenuta è detta deconvoluzione numerica. La matrice U rispetta la
particolare proprietà di possedere diagonali costanti, questo tipo di matrice prende
il nome di matrice Toeplitz.
1.2.3
Implementazione numericamente migliore
Per sistemi asintoticamente stabili (poli con parte reale negativa), la risposta all’impulso h(k) tende a zero con il crescere dei campioni k. Questo paragrafo descrive
come utilizzare questa informazione con lo scopo di migliorare i risultati ottenuti
dalla deconvoluzione. Come detto h(k) tende rapidamente a zero, questo significa
che parte delle colonne della matrice U in Y = U · H tendono ad avere peso nullo
nel calcolo. Questo fatto può essere utilizzato per eliminare alcune colonne della
23 ottobre 2016
Ivan Furlan
7
Identificazione di sistemi dinamici
Capitolo 1. Identificazione non parametrica
matrice U , in quanto si conosce a priori che avranno influsso nullo, e permettendo
quindi risultati numericamente migliori in quanto si andrà a lavorare con matrici di
taglia ridotta. Il sistema di equazioni si semplificherà in
Y = U ′ · H′
dove

[
′
U =U·
IN ′ ×N ′
0(N −N ′ )×N ′
]


H =


′
h(0)
h(1)
..
.






h(N ′ − 1)
dove N ′ va scelto minore di N . In questo caso la matrice U ′ non risulta quadrata, e
quindi non è invertibile. Il sistema di equazioni risulta essere sovradeterminato (meno incognite che equazioni). In questo caso il problema può essere risolto nel senso
dei minimi quadrati, per mezzo della matrice pseudoinversa di U ′ , che corrisponde
a
(
)−1
U ′+ = U ′T · U ′
· U ′T
ottenendo
1.2.4
H ′ = U ′+ · Y
Background sulla correlazione di due segnali
La funzione di correlazione tra due segnali, misura la similitudine di forma e posizione in funzione di un parametro di traslazione relativo tra i due segnali h. La
correlazione tra due segnali x(k) e y(k) viene calcolata come segue
N
∑
1
x(i) · y(i + h)
N →∞ 2 · N + 1
i=−N
Rxy (h) = lim
(1.4)
È importante notare che
N
∑
1
x(i − h1 ) · y(i + h2 )
N →∞ 2 · N + 1
i=−N
Rxy (h1 + h2 ) = lim
in quanto la traslazione totale relativa tra x(k) ed y(k) vale h1 + h2 .
L’autocorrelazione, è la correlazione applicata tra un segnale e se stesso, cioè
N
∑
1
x(i) · x(i + h)
Rxx (h) = lim
N →∞ 2 · N + 1
i=−N
La correlazione tra due segnali x(k) e y(k) rispetta le seguenti proprietà
• Rxx (h) = Rxx (−h)
• Rxy (h) = Ryx (−h)
• |Rxy (h)| ≤
8
√
Rxx (0) · Ryy (0) ≤ 12 (Rxx (0) + Ryy (0))
Ivan Furlan
23 ottobre 2016
1.2. Metodi temporali
1.2.5
Identificazione di sistemi dinamici
Determinazione della risposta all’impulso tramite correlazioni
Questo metodo, come quello appena presentato, permette di ricavare la risposta
all’impulso del sistema in esame. La differenza sostanziale risiede nel fatto che invece
di basarsi direttamente sui segnali di ingresso u(k) ed uscita y(k), esso sfrutta delle
correlazioni tra questi ultimi. Il vantaggio risiede nel fatto che questa metodica
risulta meno sensibile al rumore di misura, e fornendo quindi risultati di h(k) più
accurati.
Grazie all’operatore di convoluzione (1.2), è possibile affermare che
y(k) · u(k + h) =
∞
∑
h(i) · u(k − i) · u(k + h)
i=0
applicando una sommatoria su k a destra ed a sinistra dell’uguale si ottiene che
N
∑
y(k) · u(k + h) =
N ∑
∞
∑
h(i) · u(k − i) · u(k + h)
k=−N i=0
k=−N
moltiplicando ora a destra ed a sinistra per il fattore
1
2·N +1
e facendo il limite per N tendente ad infinito si ottiene
N
N
∞
∑
∑
∑
1
1
·
y(k) · u(k + h) = lim
· h(i) · u(k − i) · u(k + h)
N →∞ 2 · N + 1
N →∞
k=−N
k=−N 2 · N + 1 i=0
lim
che, per la linearità del operatore sommatoria, equivale a
N
N
∞
∑
∑
∑
1
1
u(k − i) · u(k + h)
·
y(k) · u(k + h) =
h(i) · lim
N →∞ 2 · N + 1
N →∞ 2 · N + 1
i=0
k=−N
k=−N
lim
Applicando ora la definizione di correlazione (1.4), si ottiene che l’equazione precedente può essere equivalentemente espressa come segue
Ryu (h) =
∞
∑
h(i) · Ruu (h + i)
i=0
che per le proprietà della correlazione viste, equivale a
Ruy (h) = Ryu (−h) =
∞
∑
h(i) · Ruu (i − h)
(1.5)
i=0
Come visto in precedenza Ruu (i − h) è una funzione pari, dunque l’equazione sopra
può essere equivalentemente riespressa come segue
Ruy (h) =
∞
∑
i=0
23 ottobre 2016
h(i) · Ruu (−(i − h)) =
∞
∑
h(i) · Ruu (h − i)) = h(h) ∗ Ruu (h)
i=0
Ivan Furlan
9
Identificazione di sistemi dinamici
Capitolo 1. Identificazione non parametrica
Da cui si conclude che le correlazioni Ruy (h) ed Ruu (h) posseggono il medesimo
legame che sessiste tra i segnali y(k) ed u(k). Di conseguenza è possibile scrivere un
sistema di equazioni in formato matriciale simile a (1.3)
Ruy = Ruu · H
dove



Ruy = 





H=


Ruy (0)
Ruy (1)
..
.
Ruy (N − 1)

h(0)
h(1) 


..


.






 Ruu = 




Ruu (0)
Ruu (1)
..
.
0
Ruu (0)
..
.
...
...
0
0
..
.
Ruu (N − 1) Ruu (N − 2) . . . Ruu (0)






h(N − 1)
ed ottenendo
H = R−1
uu · Ruy
1.2.6
Implementazione numericamente migliore
Alla stessa stregua di quanto visto per la deconvoluzione numerica, si potrà risolvere
il problema in modo numericamente migliore utilizzando
Ruy = Ruu ′ · H ′
dove

[
′
Ruu = Ruu ·
IN ′ ×N ′
]


H =


h(0)
h(1)
..
.
′
0(N −N ′ )×N ′
h(N ′ − 1)






dove N ′ va scelto minore di N . Come in precedenza, la matrice Ruu ′ non risulta
quadrata, e quindi non è invertibile. Il sistema di equazioni risulta essere sovradeterminato (meno incognite che equazioni). Dunque anche in questo caso il problema può
essere risolto nel senso dei minimi quadrati, per mezzo della matrice pseudoinversa
di Ruu ′ , che corrisponde a
(
R′uu = R′uu · R′uu
+
T
)−1
· R′uu
T
ottenendo
H ′ = R′uu · Ruy
+
10
Ivan Furlan
23 ottobre 2016
1.3. Metodi frequenziali
1.2.7
Identificazione di sistemi dinamici
Utilizzo di un rumore bianco nel metodo delle correlazioni
Per l’identificazione dei sistemi, viene spesso utilizzato come segnale di eccitazione
u(k) un rumore bianco. Questo tipo di segnale è caratterizzato dal fatto di contenere
energia a tutte le frequenze. Esso è quindi in grado di attivare tutte le dinamiche
del sistema rendendole visibili sull’uscita y(k). Formalmente il rumore bianco è un
segnale n(k) che soddisfa le seguenti proprietà statistiche
E[n(k)] = 0
E[n(t) · n(k + h)] = δ(h)
Per essere utile ai fini dell’identificazione, il rumore bianco utilizzato deve pure
soddisfare l’ergodicità, vale a dire
E[n(k)] = µn
E[n(t) · n(k + h)] = Rnn (h)
dove
µn =
Rnn (h) =
N
∑
1
n(i)
N →∞ 2 · N + 1
i=−N
lim
N
∑
1
n(i) · n(i + h)
N →∞ 2 · N + 1
i=−N
lim
e dunque il segnale utilizzato rispetterà
E[n(k)] = µn = 0
E[n(t) · n(k + h)] = Rnn (h) = δ(h)
Per un rumore bianco l’equazione (1.5) diventa
Ruy (h) = h(h) ∗ Ruu (h) = h(h) · Ruu (0)
da cui
Ruy (h)
Ruu (0)
e dunque la risposta all’impulso h(k) può essere ottenuta direttamente dalla correlazione Ruy (h) senza passare per l’inversione di nessuna matrice.
h(h) =
1.3
Metodi frequenziali
I metodi frequenziali di identificazione non parametrica permettono di ricavare, partendo sempre dalle misurazioni dell’entrata u(k) ed dell’uscita y(k) di un sistema,
la risposta in frequenza H(j · ω) del sistema stesso.
Si può affermare che la risposta in frequenza H(j · ω) corrisponde alla funzione di
trasferimento del sistema valutata sull’asse delle frequenze pure, cioè con s = j · ω.
23 ottobre 2016
Ivan Furlan
11
Identificazione di sistemi dinamici
1.3.1
Capitolo 1. Identificazione non parametrica
Determinazione della funzione di trasferimento dalle trasformate
di Fourier di u(k) e y(k)
Come visto (1.1), il legame tra il segnale di entrata di un sistema u(k) e quello di
uscita y(k) corrisponde a
y(k) = h(k) ∗ u(k)
Applicando la trasformata di fourier all’equazione precedente, si ottiene che
F {y(k)} = F {h(k) ∗ u(k)}
Per le proprieta della trasformata di Fourier, una convoluzione di segnali nel dominio
temporale diventa in frequenza la moltiplicazione delle rispettive trasformate di
Fourier, dunque
Y (j · ω) = H(j · ω) · U (j · ω)
da cui
H(j · ω) =
Y (j · ω)
U (j · ω)
Si noti come sussista la seguente relazione tra risposta in frequenza di un sistema
H(j · ω) e risposta all’impulso dello stesso h(k)
H(j · ω) = F {h(k)}
1.3.2
Determinazione della funzione di trasferimento tramite trasformate di Fourier delle correlazioni
Come visto (1.5), il legame tra il segnale tra Ruy (h) e Ruu (h) corrisponde a
Ruy (h) = h(h) ∗ Ruu (h)
Applicando la trasformata di fourier all’equazione precedente, si ottiene che
F {Ruy (h)} = F {h(k) ∗ Ruu (h)}
Per le proprieta della trasformata di Fourier, una convoluzione di segnali nel dominio
temporale diventa in frequenza una moltiplicazione, dunque
Suy (j · ω) = H(j · ω) · Suu (j · ω)
da cui
H(j · ω) =
Suy (j · ω)
Suu (j · ω)
Anche in questo caso, come nella deconvoluzione, questo metodo risulta più robusto
ai disturbi sulle misure dal processo.
12
Ivan Furlan
23 ottobre 2016
1.4. Utilizzo dei modelli non parametrici
1.4
Identificazione di sistemi dinamici
Utilizzo dei modelli non parametrici
In questo capitolo si analizzerà in primo luogo come ricavare informazioni utili, come
ordine e struttura del processo, dai modelli non parametrici ottenuti in precedenza.
In secondo luogo si vedrá come, in alcuni casi, sia possibile ottenere dei modelli di
tipo parametrico direttamente da modelli di tipo non parametrico.
1.4.1
Informazioni base ricavabili della risposta all’impulso
La risposta all’impulso, se non ulteriormente elaborata, non dà informazioni di facile
utilizzo sul sistema. Un metodo per rendere maggiormente visibile le informazioni
contenute in h(k), consiste nel calcolare l’uscita che il sistema in esame avrebbe se
il segnale in entrata l’entrata fosse un gradino unitario. Sapendo che un gradino
unitario è definito matematicamente come segue
{
u(k) =
0 se k < 0
1 se k ≥ 0
e conoscendo h(k), in quanto ottenuta dall’identificazione non parametrica, si può
applicare l’operatore di convoluzione (1.2)
y(k) = h(k) ∗ u(k) =
∞
∑
h(i) · u(i − k)
i=0
ottenendo che
y(k) =
k
∑
h(i)
i=0
Seguono alcune conclusioni che si possono ottenere osservando l’andamento di y(k)
• Se appaiono oscillazioni, questo significa che il sistema possiede dinamiche
risonanti, e quindi presenta coppie di poli coniugate complesse e di conseguenza
il sistema é di ordine da due in su.
• Se y(k) raggiunge un valore stazionario, significa che il sistema non contiene
parti integrali (sistema di ordine 0). Inoltre il valore stazionario raggiunto da
y(k) equivale all’amplificazione statica del sistema (cioé H(s)|s=0 dove H(s)
rappresenta la funzione di trasferimento del sistema).
1.4.2
Informazioni base ricavabili della risposta frequenziale
Questo paragrafo é stato tratto da[1].
Dalla risposta in frequenza riportata in un diagramm di Bode è possibile, per
sistemi di ordine basso, leggere dal grafico i valori delle frequenze correspondenti ai
poli e agli zeri. Per esempio per la funzione
G(s) =
23 ottobre 2016
K
(τ1 · s + 1) · (τ2 · s + 1)
Ivan Furlan
13
Identificazione di sistemi dinamici
Capitolo 1. Identificazione non parametrica
K
20dB/D
dB
40dB/D
1/tau1
1/tau2
frequency
Figura 1.2: Approccio grafico per l’identificazione dei parametri della funzione di
trasferimento dal diagramma di Bode
i valori K, τ1 e τ2 possono essere letti dal diagramma della figura 1.2.
In aggiunta, per la lettura della risposta in frequenza, valgono le seguenti regole
generiche
• Se la risposta frequnziale riportata in un diagramma di Bode presenta dei
picchi, questo significa che il sistema possiede dinamiche risonanti, e quindi
presenta coppie di poli coniugate complesse e di conseguenza il sistema é di
ordine da due in su.
Cioó significa che se il sistema viene eccitato con un segnale sinusoidale di frequenza pari alla posizione del picco sull’asse delle ascisse, l’ampiezza dell’uscita
tende ad aumentare in modo fortemente marcato. Ogni picco corrisponde ad
un ordine due.
• Se l’ampiezza della risposta in frequenza per frequenza tendete a zero é finita,
significa che il sistema non contiene parti integrali (sistema di ordine 0). Inoltre il valore di ampiezza equivale all’amplificazione statica del sistema (cioé
H(s)|s=0 dove H(s) rappresenta la funzione di trasferimento del sistema).
1.4.3
Funzione di trasferimento di primo ordine a partire dalla riposta
al gradino unitario
Questo paragrafo é stato tratto da[1].
Se dai dati ottenuti dall’identificazione non parametrica risulta che il sistema
in analisi puø’ essere approssimato di primo ordine, con lo scopo di ottenere un
semplice modello parametrico dello stesso si puó procedere come segue.
14
Ivan Furlan
23 ottobre 2016
1.4. Utilizzo dei modelli non parametrici
1.4.3.1
Identificazione di sistemi dinamici
Metodo grafico
Per stimare i coefficienti di una funzione di trasferimento è possibile utilizzare la
risposta y(k) al gradino unitario. In generale può essere utilizzata la risposta al
gradino unitario ottenuta per mezzo dell’identificazione non parametrica, oppure
una misura diretta della stessa eccitando il sistema con un gradino.
Si calcola ora l’espressione analitica della risposta al gradino di un sistema di
primo ordine, questa ultima risulterà utile per ricavare informazioni dai dati y(k)
della risposta al gradino unitario. In generale, un sistema di primo ordine possiede
funzione di trasferimento
Y (s)
K
H(s) =
=
U (s)
τ ·s+1
dove K è il guadagno statico e τ è la costante del tempo del sistema. Da cui
Y (s) = H(s) · U (s) =
K
· U (s)
τ ·s+1
Siccome il segnale in ingresso al sistema u(k) è un gradino unitario, U (s) = 1/s e
dunque
K
1
Y (s) =
· .
τ ·s+1 s
Utilizzando l’espansione in fratti semplici di funzioni razionali proprie, si ottiene
Y (s) =
K
K ·τ
−
s
τ ·s+1
ed applicando la trasformata inversa di Laplace ai due capi dell’uguaglianza
L
−1
{Y (s)} = L
−1
{
K
K ·τ
−
s
τ ·s+1
}
si ottiene la risposta al gradino unitario del sistema
y(t) = K − K · e−t/τ = K · (1 − e−t/τ )
rappresentata in figura 1.3. Calcolando ora il limite per t tendente ad infinito si
ottiene
(
)
y∞ = lim K · (1 − e−t/τ ) = K.
t→∞
Calcolando invece la derivata di y(t) rispetto al tempo
ẏ(t) =
K −t/τ
·e
τ
e valutandola per t = 0 si ottiene
K
τ
Come mostrato in figura 1.3, questi fatti possono essere sfruttati per determinare
sia K che τ dai dati y(k) della risposta al gradino unitario.
Purtroppo in pratica, questo metodo presenta alcuni svantaggi
ẏ(0) =
23 ottobre 2016
Ivan Furlan
15
Identificazione di sistemi dinamici
Capitolo 1. Identificazione non parametrica
Amplitude
K
tau
time
Figura 1.3: Risposta al gradino di un sistema di primo ordine
• Secondo la qualità della misura può essere difficile tracciare la tangente al
tempo di partenza: in questo caso la media di diverse misure può essere d’aiuto.
• In caso di nonlinerità (per esempio nel caso di attrito di stacco) diverse ampiezze del segnale in entrata portano a misure non consistenti.
1.4.3.2
Metodo del piano semilogaritmico
Questo paragrafo é stato tratto da[1].
Le risposte al gradino unitario di un sistema lineare sono funzioni esponenziali nel
tempo. Per facilitare la stima dei parametri dalla risposta è possibile rappresentare
la risposta al gradino in una scala logaritmica per rapporto al tempo t. In sostanza,
a partire dalla risposta al gradino
y(t) = K · (1 − e−t/τ )
definiamo
z(t) = log(K − y(t)) = log(K · e−t/τ ) = log(K) − t/τ
Quindi, rappresentando z(t) graficamente in funzione di t è possibile determinare
facilmente i valori di K e τ (vedi figura 1.4).
1.4.4
Funzione di trasferimento di secondo ordine a partire dalla riposta
nel tempo
Questo paragrafo é stato tratto da[1].
Se dai dati ottenuti dall’identificazione non parametrica risulta che il sistema
in analisi puø’ essere approssimato di secondo ordine, con lo scopo di ottenere un
semplice modello parametrico dello stesso si puó procedere come segue.
16
Ivan Furlan
23 ottobre 2016
1.4. Utilizzo dei modelli non parametrici
Identificazione di sistemi dinamici
z(t)
log(K)
−1/τ
time
Figura 1.4: Risposta al gradino unitario di un sistema di primo ordine nel piano
semilogaritmico
1.4.4.1
Metodo grafico per sistema con parte integrale
Consideriamo un sistema di secondo ordine con la funzione di trasferimento
H(s) =
1
K
·
s 1+s·τ
Come fatto in precedenza, applicando la trasformata inversa di Laplace,è possibile
determinare la risposta al gradino unitario del sistema. In questo caso vengono
tralasciati i passaggi, in quanto simili a quelli precedentemente mostrati, e viene
dato direttamente il risultato
y(t) = K · t + K · τ · (e−t/τ − 1)
rappresentato in figura 1.5. Per valori di t tendenti all’infinito, il termine e−t/τ tende
a zero, e dunque la risposta al gradini unitario tende ad assumere la forma
y(t) = K · t − K · τ.
Come mostrato in figura 1.5, questo fatto può essere sfruttato per determinare sia
K che τ dai dati y(k) della risposta al gradino unitario.
1.4.4.2
Metodo grafico per sistema oscillante
Consideriamo un sistema di secondo ordine con la funzione di trasferimento
G(s) =
K · ωn2
s2 + 2 · ξ · ωn · s + ωn2
e supponiamo che esso sia sottosmorzato, cioè che 0 < ξ < 1. Anche in questo caso,
viene data direttamente la risposta al gradino unitario del sistema, che corrisponde
23 ottobre 2016
Ivan Furlan
17
Identificazione di sistemi dinamici
Capitolo 1. Identificazione non parametrica
K
0
−K⋅τ
t
Figura 1.5: Risposta al gradino di un sistema di secondo ordine con parte integrale
a
(
y(t) = K − K · e
−ξ·ωn ·t
(
· cos ωn ·
√
1−
)
ξ2
(
√
ξ
·t + √
1 − ξ2 · t
·
sin
ω
·
n
1 − ξ2
))
o anche
(
(
√
ξ
1
−ξ·ωn ·t
y(t) = K − K · √
·
e
·
cos
ω
·
1 − ξ 2 · t − tan−1 √
n
2
1−ξ
1 − ξ2
))
è rappresentata nella figura 1.6.
To
To
Overshoot
K
Tp
Figura 1.6: Risposta al gradino di un sistema di secondo ordine sottosmorzato
Dal grafico possiamo leggere il periodo di oscillazione To , il rapporto r tra due
massimi successivi dell’oscillazione e la percentuale %OS della sovraelongazione
(overshoot) ma direttamente anche l’ampiezza K.
18
Ivan Furlan
23 ottobre 2016
1.4. Utilizzo dei modelli non parametrici
Identificazione di sistemi dinamici
Dalle relazioni
√
2·π
= ωn · 1 − ξ 2
To
r = e−ξ·ωn ·To
abbiamo abbastanza informazione per ottenere, oltre a K, anche ξ e ωn . La relazione
ξ=√
− log
(
%OS
100
π 2 + log2
(
)
%OS
100
)
può essere utile per verificare il valore di ξ ottenuto.
1.4.4.3
Metodo del piano semilogaritmico
Come anche per sistemi di primo ordine una rappresentazione logaritmica può
facilitare i calcoli. Infatti, dati i massimi dei picchi di oscillazione, essi sono
(
%OS −ξ·ωn ·To ·k
y(k · To + Tp ) = K · 1 +
·e
100
)
dove k indica il picco numero k nella sequenza e Tp il tempo del primo picco.
Definiamo allora
z(t) = log(|K − y(t)|)
e otteniamo per i valori dei picchi
(
)
(
%OS −ξ·ωn ·To ·k
%OS
z(k · To + Tp ) = log K ·
·e
= log K ·
100
100
)
− ξ · ωn · To · k
Quindi, rappresentando z(t) graficamente in funzione di t è possibile determinare
facilmente il valore di ξ · ωn . (vedi figura 1.7).
Insieme alla relazione
√
2·π
= ωn · 1 − ξ 2
To
già vista in precedenza è possibile determinare i parametri ξ e ωn del sistema. Anche
in questo caso, la relazione
ξ=√
− log
(
%OS
100
π 2 + log2
(
)
%OS
100
)
può essere utile per verificare il valore di ξ ottenuto.
23 ottobre 2016
Ivan Furlan
19
Identificazione di sistemi dinamici
Capitolo 1. Identificazione non parametrica
log(K)
z(t)
−ξ⋅ωn
Tp
time
Figura 1.7: Risposta di un sistema di secondo ordine nel piano semilogaritmico
20
Ivan Furlan
23 ottobre 2016
Capitolo 2
Identificazione parametrica
2.1
Introduzione
Questo capitolo introduce la rappresentazione parametrica, e la relative procedure di identificazione parametrica, di sistemi dinamici. A differenza dell’approccio non parametrico, nell’approccio parametrico la struttura del sistema che si
desidera identificare, come pure l’ordine dello stesso devono essere noti. Come visto
nel capitolo precedente, queste informazioni posso pervenire da un identificazione
non parametrica, cioè analizzando la risposta all’impulso h(k) oppure la risposta armonica H(j ·ω), oppure direttamente dalla modellazione fisica del sistema (equazioni
differenziali o alle differenze).
Un preliminare approccio di identificazione parametrica è già stato accennato
nel capitolo precedente, infatti si è visto come ricavare semplici modelli di primo e
secondo ordine da altrettanto semplici analisi delle risposte temporali e frequenziali
dell’sistema in oggetto. Per ottenere però risultati più accurati, come pure poter
analizzare sistemi di ordine maggiore al secondo, si rendono necessari metodi di
analisi più rigorosi che verranno introdotti in questo capitolo.
2.2
Metodi basati sul modello a tempo continuo del sistema
2.2.1
Identificazione dei parametri di un modello parametrico ottimizzando l’errore del modello nel dominio del tempo
Un sistema dinamico lineare di norma matematicamente descrivibile per mezzo
un’equazione differenziale ordinaria lineare, a coefficienti costanti, del tipo
M · ẍ(t) + D · ẋ(t) + K · x(t) = F (t)
(2.1)
dove M, D e K sono le matrici di inerzia, smorzamento ed elasticitá del sistema in
esame, mentre invece x(t) e F (t) sono rispettivamente il vettore di gradi di libertá
del sistema ed il vettore contenete le forze o momenti esterni agenti su di esso.
Di conseguenza, eccitando il sistema per mezzo di una forzante F (t), ed acquisendo i valori della forzante setssa e di x(t) e delle rispettive derivate a determinati
23 ottobre 2016
Ivan Furlan
21
Identificazione di sistemi dinamici
Capitolo 2. Identificazione parametrica
istanti t0 , t1 , . . . , tN , risulta possibile scrivere il sistema di equazioni (2.2).






|
ẍT (t0 )
ẍT (t1 )
..
.
ẋT (t0 )
ẋT (t1 )
..
.
ẍT (tN ) ẋT (tN )
{z
xT (t0 )
xT (t1 )
..
.


T



M
 
 ·  DT 
 =


T
K
| {z }
xT (tN )
}
Θ





|
F T (t0 )
F T (t1 )
..
.
F T (tN )
{z
Y






(2.2)
}
b
Se si acquisice almeno un numero di punti pari a 3 volte il numero di gradi di
libert del sistema, la matrice Y risulta quadrata e duqnue invertibile (se il segnale
di eccitazione del sistema stato scelto in modo tale da produrre un movimento del
sistema sufficientemente ricco di informazione), potendo dunque ricavare il valore
dei parametri del sistema θ
θ = Y −1 · b,
cioé le matrici M, D e K del modello.
Per migliorare il risultato possono essere acquisiti un numero maggiore di punti
del minimo idealmente necessario, ottenedo un sistema di equazioni sovradeterminato (meno incognite che equazioni). In questo caso il problema viene quindi risolto
nel senso dei minimi quadrati minimizando la grandezza
e = Y · θ − b,
che possiamo denominare: ’errore del modello’. Tali valori si possono ricavare per
mezzo della matrice pseudoinversa di Y , che corrisponde a
(
Y+ = YT ·Y
)−1
ottenendo
θ = Y + · b.
2.2.2
Identificazione dei parametri di un modello parametrico ottimizzando l’errore del modello nel dominio della frequenza
Il metodo di identificazione descritto nel sottocapitolo (2.2.1) puó anche essere applicato nel dominio della frequenza. Infatti l’eaquazione differenziale (2.2), applicando
la trasoformata di Fourier, può essere riformulata come segue
−ω · M · X(i · ω) + i · ω · D · X(i · ω) + K · X(i · ω) = F (i · ω).
Di conseguenza, l’equazione (2.2), puó duqnue essere scritta come segue,






|
−ω02 · X T (i · ω0 )
−ω12 · X T (i · ω1 )
..
.
2
−ωN
i · ω0 · X T (i · ω0 )
i · ω1 · X T (i · ω1 )
..
.
X T (i · ω0 )
X T (i · ω1 )
..
.


T

M
 
 ·  DT 



T
K
| {z }
· X T (i · ωN ) i · ωN · X T (i · ωN ) X T (i · ωN )
{z
}
Θ
Y


=





|
F T (i · ω0 )
F T (i · ω1 )
..
.
F T (i · ωN )






{z
b
dove anziché cammpioni nel tempo, si utilizzano campioni delle trasformate di Fourier di x(t) e F (t). L’equazione ottenuta puó essere risolta esattamente come fatto
per la versione nel tempo descritta nel sottocapitolo (2.2.1).
22
Ivan Furlan
23 ottobre 2016
}
2.3. Metodi basati sul modello a tempo discreto del sistemaIdentificazione di sistemi dinamici
2.3
Metodi basati sul modello a tempo discreto del sistema
2.3.1
Identificazione dei parametri di un modello parametrico in funzione dell’errore di predizione
Con lo scopo di determinare l’insieme dei parametri θ di un modello parametrico,
si cercherà di minimizzare un indice legato alla differenza tra il processo reale ed il
modello parametrico, questo indice è chiamato errore di predizione ed è indicato
con il simbolo ϵ(k). Per definizione, l’errore di predizione ϵ(k), è una funzione dei
parametri sconosciuti del modello parametrico θ che dipende in modo causale da u
e y, cioè
ϵ(k) = F (θ, u(k − 1), u(k − 2), . . . , y(k), y(k − 1), . . .)
che è schematicamente rappresentabile come in figura 2.1.
u(k) -
-
Sistema
sconosciuto
1
z
-
F
y(k) -
ϵ(k) -
6
θ̂
Figura 2.1: Calcolo dell’errore di predizione
In generale, l’algoritmo di identificazione parametrico, in base alla misura di
u(k), y(k) e ϵ(k), cercherà di determinare i parametri ottimali θ̂ tali da rendere
minimo ϵ(k) (vedi figura 2.2).
2.3.2
Identificazione parametrica basata su una struttura OE (Output
Error)
Questo algoritmo di identificazione si basa sulla seguente struttura di processo
y(k) = G(z) · u(k) + n(k)
dove n(k) è un rumore bianco (quindi Rnn (h) = δ(h)), stazionario a media nulla
ed non correlato con u(k). La funzione G(z) rappresenta invece la funzione di
trasferimento tra ingresso ed uscita del sistema. Più in dettaglio, G(z) è costituita
dai seguenti elementi
z −d · B(z)
G(z) =
A(z)
dove
23 ottobre 2016
Ivan Furlan
23
Identificazione di sistemi dinamici
Capitolo 2. Identificazione parametrica
u(k) -
-
Sistema
sconosciuto
1
z
-
F
y(k)
-
ϵ(k)-
6
θ̂
parametrica - Identificazione
Figura 2.2: Identificazione basata sull’errore di predizione
• Il parametro d appartiene all’insieme dei numeri naturali strettamente positivi,
e rappresenta il numero di campioni di ritardi del sistema.
• B(z) = b0 + b1 · z −1 + . . . + bm · z −m , rappresenta il numeratore della funzione
di trasferimento
• A(z) = 1 + a1 · z −1 + . . . + an · z −n , rappresenta il denominatore della funzione
di trasferimento, dove n indica l’ordine del sistema
Notare che con un leggero abuso di notazione, si utilizza la variabile z in una funzione dipendente dal tempo, mentre invece sarebbe stato formalmente più corretto
utilizzare l’operatore di traslazione temporale q.
Per questo tipo di processo si definisce di conseguenza il seguente modello
ŷ(k) = Ĝ(z, θ̂) · u(k) =
z −d · B̂(z, θ̂)
Â(z, θ̂)
dove il vettore θ̂, è un vettore contenente tutti i parametri sconosciuti del modello
parametrico del processo reale, cioè
θ̂T =
[
]
b̂0 , . . . , b̂m , â1 , . . . , ân
L’algoritmo di identificazione dovrà dunque trovare i parametri θ̂ tali da minimizzare
l’errore di predizione ϵ
(
ϵ(k) = F θ̂, u(k − 1), u(k − 2), . . . , y(k), y(k − 1), . . .
24
Ivan Furlan
)
23 ottobre 2016
2.3. Metodi basati sul modello a tempo discreto del sistemaIdentificazione di sistemi dinamici
che nella fattispecie è calcolato come segue
ϵ(k) = y(k) − ŷ(k, θ̂)
= y(k) + y(k − 1) · â1 + y(k − 2) · â2 + . . . + y(k − n) · ân
−u(k − d) · b̂0 − u(k − d − 1) · b̂1 − . . . − u(k − d − m) · b̂m
(2.3)
Supponendo di disporre di N misure provenienti dal sistema reale, è possibile scrivere
la seguente equazione matriciale
ϵ = Y − ϕ · θ̂
dove θ̂ è già stato definito sopra, e
con



ϕy = 





ϕu = 


[
ϵ(k) . . . ϵ(k + N − 1)
ϵ
=
Y
ϕ
= y(k) . . . y(k + N − 1)
[
]
= ϕy ϕu
[
−y(k − 1)
−y(k)
..
.
]T
]T
−y(k − n)
−y(k − n + 1)
...
...
−y(k + N − 2) . . . −y(k − n + N − 1)
u(k − d)
u(k − d + 1)
..
.






u(k − d − m)
u(k − d − m + 1)
...
...
u(k − d + N − 1) . . . u(k − d − m + N − 1)






Con lo scopo di ottenere la stima dei parametri θ̂ è necessario avere abbastanza
informazione dal sistema in esame. Nel caso ideale basterebbe un numero N di
misure equivalente al numero di parametri n + m + 1 da determinare. Per avere
però una maggiore informazione dal processo ed ottenere di conseguenza una stima
dei parametri θ̂ più accurata, il numero di misure N viene scelto di regola molto
più grande del numero di parametri da stimare n + m + 1. Cosi facendo si ottiene
un sistema di equazioni sovradeterminato che, come nel caso dell’identificazione
non parametrica della risposta all’impulso, può essere risolto nel senso dei minimi
quadrati. Vale a dire cercando θ̂ che minimizzi la grandezza J = ϵT · ϵ, cioè
θ = ϕ+ · Y
dove
(
ϕ+ = ϕT · ϕ
)−1
· ϕT
è la matrice pseudoinversa di ϕ.
23 ottobre 2016
Ivan Furlan
25
Identificazione di sistemi dinamici
2.3.3
Capitolo 2. Identificazione parametrica
Identificazione parametrica basata su una struttura Box-Jenkis
Questo algoritmo di identificazione si basa sulla seguente struttura di processo
y(k) = G(z) · u(k) + N (z) · n(k)
|
{z
}
ν(k)
dove n(k) è un rumore bianco (quindi Rnn (h) = δ(h)), stazionario a media nulla
ed non correlato con u(k). La funzione G(z) rappresenta invece la funzione di
trasferimento tra ingresso ed uscita del sistema. E N (z) rappresenta la funzione di
trasferimento tra il rumore n(k) e il rumore ν(k) che si somma all’uscita del sistema.
In questo caso il rumore che disturba l’uscita del sistema non è più di tipo puramente
bianco, ma di tipo ‘colorato‘ (quindi Rνν (h) ̸= δ(h)). Questo è dovuto al filtraggio
dato dalla funzione di trasferimento N (z). In sostanza esiste una correlazione tra
campioni successivi di rumore ν(k) che invece n(k) non possiede. Più in dettaglio,
G(z) è costituita dai seguenti elementi
G(z) =
z −d · B(z)
A(z)
mentre N (z) in quest’altro modo
N (z) =
C(z)
D(z)
dove
• Il parametro d appartiene all’insieme dei numeri naturali strettamente positivi,
e rappresenta il numero di campioni di ritardi del sistema.
• B(z) = b0 + b1 · z −1 + . . . + bm · z −m , rappresenta il numeratore della funzione
di trasferimento
• A(z) = 1 + a1 · z −1 + . . . + an · z −n , rappresenta il denominatore della funzione
di trasferimento, dove n indica l’ordine del sistema
• C(z) = c0 + c1 · z −1 + . . . + co · z −o , rappresenta il numeratore della funzione
di trasferimento del rumore
• D(z) = 1 + d1 · z −1 + . . . + dp · z −p , rappresenta il denominatore della funzione
di trasferimento del rumore.
26
Ivan Furlan
23 ottobre 2016
2.3. Metodi basati sul modello a tempo discreto del sistemaIdentificazione di sistemi dinamici
In questo caso il vettore θ̂ è composto da
θ̂T =
[
b̂0 , . . . , b̂m , â1 , . . . , ân , ĉ0 , . . . , ĉo , dˆ1 , . . . , dˆp
]
In quanto il rumore che disturba la misura y(k) è di tipo colorato (e quindi
con una certa correlazione tra campioni successivi), di conseguenza il problema non
può essere risolto utilizzando il medesimo errore di predizione definito nel paragrafo
precedente 2.3. Infatti se cosi si facesse, in generale, si otterrebbe una stima θ̂ affetta
da errore sistematico.
Per risolvere il problema, si cerca in qualche modo di ‘rendere bianco‘ il rumore
per mezzo di un’opportuna scelta della forma dell’errore di predizione ϵ(k). Per il
caso Box-Jenkins è possibile dimostrare che la corretta forma dell’errore di predizione
da utilizzare è la seguente
(
)
D̂(z)
z −d · B̂(z)
ϵ(k) =
· y(k) −
· u(k)
Ĉ(z)
Â(z)
(2.4)
In questo caso non si riesce più ad esprimere l’errore di predizione come un funzione
lineare dei parametri non noti θ̂. E dunque di conseguenza non sarà più possibile
trovare una soluzione chiusa come nei casi OE. I parametri θ̂ potranno dunque essere
trovati per mezzo di algoritmi di minimizzazione non lineare applicati ad ϵ(k). Questi
algoritmi si trovano anche in Matlab.
2.3.4
Casi particolari della struttura Box-Jenkis
Verranno ora analizzati due casi particolari della struttura Box-Jenkis di largo
utilizzo
2.3.4.1
Struttura ARX (Auto Regressive eXogenous)
In questo caso si ha che
C(z) = 1 D(z) = A(z)
da cui l’errore di predizione visto per il caso Box-Jenkis 2.4 degenera in
ϵ(k) = Â(z) · y(k) − z −d · B̂(z) · u(k)
e dunque
ϵ(k) = y(k) + y(k − 1) · â1 + y(k − 2) · â2 + . . . + y(k − n) · ân
−u(k − d) · b̂0 − u(k − d − 1) · b̂1 − . . . − u(k − d − m) · b̂m
Cioè la formula 2.3 già trovata in precedenza per OE. Che come noto, supponendo
di disporre di N misure provenienti dal sistema reale, è possibile scrivere la seguente
equazione matriciale
ϵ = Y − ϕ · θ̂
23 ottobre 2016
Ivan Furlan
27
Identificazione di sistemi dinamici
Capitolo 2. Identificazione parametrica
che porta alla soluzione
θ = ϕ+ · Y
dove
(
ϕ+ = ϕT · ϕ
)−1
· ϕT
è la matrice pseudoinversa di ϕ.
2.3.4.2
Struttura ARMAX (Auto Regressive Moving Average eXogenous)
In questo caso si ha che
D(z) = A(z)
da cui l’errore di predizione visto per il caso Box-Jenkis 2.4 degenera in
(
z −d · B̂(z)
Â(z)
ϵ(k) =
· y(k) −
· u(k)
Ĉ(z)
Â(z)
)
Come per Box-Jankins, anche in questo caso non si riesce più ad esprimere l’errore
di predizione come un funzione lineare dei parametri non noti θ̂. E dunque di
conseguenza non sarà più possibile trovare una soluzione chiusa come nei casi OE. I
parametri θ̂ potranno dunque essere trovati per mezzo di algoritmi di minimizzazione
non lineare applicati ad ϵ(k). Questi algoritmi si trovano in Matlab e verranno
applicati in laboratorio.
28
Ivan Furlan
23 ottobre 2016
Bibliografia
[1] S. Balemi, “Modellizzazione e identificazione”, Settembre 2008
23 ottobre 2016
Ivan Furlan
29