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