Sei sulla pagina 1di 36

Fr

a
n
c
e
s
c
oCe
l
i
b
e
r
t
i

Sy
s
t
e
m
I
d
e
n
t
i
f
i
c
a
t
i
o
n
To
o
l
b
o
x
ac
ur
adiVi
nc
e
nz
oCi
c
ogna
Aut
oma
z
i
oneOpe
nSour
c
e
www.
xpl
or
e
a
ut
oma
t
i
on.
c
om
@a
ut
oma
z
i
one
os

a
ut
oma
z
i
one
os

Indice
1 Importazione dati

2 Analisi e preparazione dei dati

3 Stima del modello lineare


3.1 ARX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 ARMAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8
8
10

4 Validazione
4.1 Model output . . .
4.2 Analisi dei residui
4.3 Poli e zeri . . . . .
4.4 Risposta armonica

11
11
12
14
16

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

5 Visualizzazione dei parametri del modello


18
5.1 Esportare il modello nel Workspace . . . . . . . . . . . . . . . 20
5.2 Considerazioni finali e suggerimenti . . . . . . . . . . . . . . . 21
5.3 Diagrammi di Bode . . . . . . . . . . . . . . . . . . . . . . . . 28

Prefazione
A cura di Vincenzo Cicogna
Se avete scaricato questo mini-ebook sul toolbox di Identificazione di Matlab, probabilmente avrete gi`a sentito parlare di noi (spero in positivo :) ).
Abbiamo deciso di riprendere il pack post sull Identification Toolbox, e renderlo disponibile in formato pdf, con una impostazione molto simile ad un
ebook. Ci sono stati molti feedback positivi in merito a questo argomento,
motivazione che ci ha spinto a rendere disponibile una versione stampabile e
consultabile ovunque. Come curatore di tale ebook, ho cercato di dare una
impostazione grafica semplice e non molto stancante, di mettere in risalto
le informazioni pi`
u rilevanti e garantire una lettura scorrevole e veloce. Nella speranza di esservi stato utile vi auguro una buona lettura e un veloce
apprendimento.
Grazie Vincenzo

ii

Introduzione
Lidentificazione `e una disciplina che permette di risalire dai dati sperimentali al modello matematico che li descrive. Col passare del tempo il ricorso
ai modelli `e divenuto essenziale sia in fase di analisi che in ambito di progettazione, in diversi campi. Ident `e una GUI (graphical user interface) del
System Identification Toolbox, che permette di costruire modelli di sistemi dinamici dalla misurazione di dati di input/output. Questo approccio
`e ampiamente utilizzato nella pratica, specialmente quando non `e semplice
ricavare il modello da principi fisici, o quando ci`o implica il ricorso a complesse e numerose equazioni. I modelli ottenuti con questo Toolbox sono adatti
per la simulazione, predizione ed il controllo per mezzo dei corrispondenti
toolbox (Control System Toolbox e Model Predictive Control Toolbox).

Caratteristiche chiave del toolbox


Lidentificazione di modelli lineari e non lineari da un data set appartenente al dominio del tempo o della frequenza
semplice identificazione di modelli a tempo continuo di primo, secondo,
terzo ordine
fornisce strumenti per il detrending, filtraggio e ricostruzione dei dati
mancanti
sono disponibili blocchi simulink per la simulazione dei modelli identificati
`e possibile trasferire i dati da/al workspace di matlab
fornisce uninterfaccia per luso dei modelli lineari nel Control System
Toolbox (disponibile separatamente).

iii

Automazione OpenSource

www.xploreautomation.com

Funzionamento
Lidentificazione di un sistema con la GUI avviene per mezzo dei seguenti
passi:
1)Importazione dati nella GUI
2)Analisi e Preprocessing dei dati (preparazione dei dati alla stima)
3)Stima dei modelli basati sul data-set
4)Analisi dei modelli
5)Esportazione dei risultati nel workspace di Matlab

iv

Capitolo 1

Importazione dati
Per aprire il toolbox di identificazione, basta lanciare il comando IDENT dalla command window di matlab. Esso si compone di diverse parti evidenziate
nella seguente figura:

Figura 1.1: Screen del Toolbox


Il tool grafico contiene icone rettangolari per ogni dato importato o modello stimato, in modo da tenere traccia a livello visivo dei dati con cui si
sta lavorando. Alcune di esse sono disposte sulla sinistra nel riquadro Data
Board evidenziate in rosso, altre sono situate sulla destra nel Model Board
rappresentate dal contorno verde. Una volta importati i dati, `e possibile
preprocessarli, trascinando un data set allinterno del riquadro blu, contrassegnato dal numero 2; aprendo il menu a tendina < Preprocess `e possbile
scegliere le operazioni da compiere sui dati per prepararli alla stima. Al passo 4, aprendo il menu a tendina Estimate > `e possibile stimare i parametri
1

Automazione OpenSource

www.xploreautomation.com

del modello scelto, il quale ad operazione compiuta verr`a automaticamente trasferito nel riquadro verde (5) dove `e possibile validarlo e confrontarlo
con gli altri modelli ritenuti pi`
u opportuni nellidentificazione del processo.
Al di sotto del riquadro Model Views vi sono diverse caselle da spuntare,
ciascuna di esse consente di visualizzare le caratteristiche del modello stimato, in modo da poter effettuare un confronto tra essi e scegliere il migliore.
Per importare il data-set, occorre salvarlo nel workspace di matlab, il suo
trasferimento nella GUI avviene, selezionando nel menu a tendina import
data la voce Time Domain data..

Figura 1.2: Importazione dati


Nella finestra che si apre ci sono diversi campi da specificare:
input(dati in ingresso del sistema da identificare) richiama la variabile
memorizzata in matlab
output (dati in uscita del sistema da identificare) richiama la variabile
memorizzata in matlab
data name nome usato per etichettare i dati dopo che loperazione di
importazione si `e conclusa
starting time `e il valore iniziale dellasse del tempo nei diversi grafici
sampling interval corrisponde allintervallo di campionamento utilizzato nellesperimento

Automazione OpenSource

www.xploreautomation.com

Nel riquadro Data Information cliccando su More si espande la finestra di


dialogo; al suo interno `e possibile specificare altre opzioni:
Input Properties
innerSample specifica cosa accade tra due campioni di dati `e possibile
scegliere tra zoh, foh, bl
period se i dati sono periodici indicare il loro periodo altrimenti inserire
inf
Channel names (nome dei canali)
input
output
dare un nome ai canali aiuta a riconoscere i dati nei grafici.
Physical Units of Variables (unit`a di misura dei canali)
input
output
Comments
Inserisci dei commenti riguardo i dati acquisiti durante lesperimento come
il nome, la data ed una descrizione delle condizioni dellesperimento. Clicca
Import per aggiungere unicona al di sotto del menu Import Data.

OSS
Nel caso in cui si dispone di un data-set caratterizzato da molti campioni si
consiglia di dividerlo in due porzioni uguali, una per la stima dei parametri
laltro per la validazione (Cross-Validazione). Ci`o risulta utile in quanto,
stimare e validare un modello sullo stesso set di dati, non garantisce la sua
bont`
a, occorre quindi verificare laderenza del modello anche a dati diversi da
quelli usati per la stima. Nella GUI aprire il menu a tendina < preprocess
e selezionare la voce select range, successivamente specificare lintervallo
di campioni su cui lavorare; una volta finito cliccare su Insert.

Capitolo 2

Analisi e preparazione dei


dati
Raramente i dati sperimentali sono pronti per essere utilizzati immediatamente per le fasi successive del processo di identificazione, a causa di:
Offset e disturbi a bassa frequenza
Disturbi ad alta frequenza, al di l`a delle frequenze di interesse del
sistema dinamico
Outliers(dati anomali), mancanti o non continui
Il primo passo di tale fase consiste sempre nellispezione visiva dei dati. Di
conseguenza prima di dare inizio alloperazione di stima, occorre controllare
che i dati in/out non abbiano caratteristiche indesiderate. A tale proposito
`e possibile graficarne gli andamenti per identificare derive e valori anomali
ed operare ad eventuali correzioni. Nel Toolbox sono presenti i seguenti data
plots:
Grafico Tempo (Time Plot) visualizza i valori dei dati in funzione del
tempo
Grafico dello spettro (Data Spectra)
Risposta in frequenza (Frequency function)
Per visualizzare gli andamenti dei dati basta spuntare in basso a sinistra il
grafico che si desidera visualizzare

Automazione OpenSource

www.xploreautomation.com

Figura 2.1: Come visualizzazione il data-set


Il preprocessing si compone principalmente delle seguente operazioni:
Detrending
I processi fisici evolvono dinamicamente attorno a punti di equilibrio. La
presenza nei dati di caratteristiche statiche (valor medio) o lentamente variabili pu`
o occultare le caratteristiche dinamiche, inficiando lefficienza degli
algoritmi di identificazione. Il detrending consiste nella
sottrazione di valori medi diversi dallo zero (nellimmagine in blu ingresso e uscita oscillano intorno al valore 5, in verde i segnali sono stati
processati)

Automazione OpenSource

www.xploreautomation.com

Figura 2.2: Andamento dati in ingresso


rimozione trends lineari, selezionare dal menu a tendina < preprocess
lazione di detrending che si desidera effettuare. Una volta che i dati sono stati pre-processati `e possibile inserire le due parti precedentemente
suddivise nellarea working data e Validation Data

Automazione OpenSource

www.xploreautomation.com

Figura 2.3: Andamento dati con trend


Resampling Pu`
o capitare che i dati sono stati campionati con una
frequenza troppo elevata; `e possibile effettuare un resampling senza
perdere informazione riguardo la dinamica in alta frequenza. Viceversa se
il tempo di campionamento `e basso `e necessario ripetere loperazione di
acquisizione, in quanto vi sono dei dati mancanti.
Prefiltraggio Filtrando i segnali di ingresso e uscita attraverso un filtro
lineare `e possibile focalizzare la stima paramentrica del modello basata su
determinati ranges in frequenza di dati.

Capitolo 3

Stima del modello lineare


I modelli ad errore dequazione hanno la seguente struttura generale:

tutte le classi di modelli possono ricondursi ad essa a seconda della presenza della parte esogena u(t 1) e della caratterizzazione del residuo dequazione; tra le famiglie che modellano i sistemi di controllo abbiamo ARX
e ARMAX.

3.1

ARX

Il primo importante problema che si presenta nellidentificazione con approccio black-box `e quello di specificare lordine del modello. Tuttavia come stabilirlo a priori? Per rispondere a questa domanda, si pu`o effettuare
una prima stima con un modello ARX, con un range di ordini e ritardi in
accordo con la complessit`
a del modello. Successivamente si sceglie ordini
e ritardi che meglio fittano il modello, andando ad analizzare dei criteri
(FPE,AIC,BestFit) offerti dal toolbox e valutati su un insieme di ARX.
A(z)y(z) = B(z)u(t 1) + (t)

(3.1)

con
A(z) = 1 a1 z 1 + a2 z 2 + + z na parte autoregressiva
B(z) = b1 + b2 z

+ b3 z

+ + z

(z) = residuo di equazione

nb

+ 1parte esogena

(3.2)
(3.3)
(3.4)

Automazione OpenSource

www.xploreautomation.com

Nellinterfaccia grafica selezionare Estimate >Linear parametric models,


selezionare la famiglia di modelli con la quale si vuole effettuare lidentificazione, di default vi `e ARX : [na , nb , nc ] dove:
na indica lordine di A(q)
nb indica lordine di B(q)+1
nk indica il ritardo ingresso-uscita
Indicati gli ordini dei coefficienti del modello cliccare su Estimate. Nel caso
dellARX, si aprir`
a la finestra ARX Model Structure Selection in cui viene
visualizzata la qualit`
a del modello per ciascuna combinazione dei suoi parametri per mezzo di un grafico con delle barre verticali, ciascuna di esse
corrisponde ad un modello ARX con un determinato ordine e ritardo.

Figura 3.1: I modelli stimati dal toolbox


Lasse X mostra il numero di parametri dei rispettivi modelli; lasse Y
la parte di uscita che non `e stata espressa dal modello, in formule esprime
la percentuale del rapporto tra la varianza dellerrore di predizione e la
varianza delloutput. Tra le barre ve ne sono tre di colore diverso: blu, verde
e rosso, ciascuna di esse indica il modello che meglio soddisfa un criterio di
valutazione:
9

Automazione OpenSource

www.xploreautomation.com

Rosso minimizza lerrore di predizione


Verde minimizza il criterio MDL (Minimum descritpion lenght)
Blu minimizza il criterio AIC (Akaike information criterion)
OSS
Quando si usa lo stesso data-set per lidentificazione e la validazione conviene utilizzare i criteri MDL e AIC per selezionare lordine del modello. Questi
criteri evitano il fenomendo delloverfitting dovuto allutilizzo di troppi parametri. I modelli possono essere scelti cliccando sulla corrispondente barra e
successivamente sul tasto insert, ciascun modello selezionato verr`a poi trasferito in un riquadro della sezione model views, pronto per essere analizzato
e sottoposto al processo di validazione.

3.2

ARMAX

I modelli della famiglia ARMAX sono pi`


u flessibili degli ARX in quanto la
loro struttura contiene un ulteriore polinomio atto a modellare il disturbo
additivo.
A(z)y(z) = B(z)u(t 1) + C(z) + (t)

(3.5)

con
A(z) = 1 a1 z 1 + a2 z 2 + + ana z na parte autoregressiva

(3.6)

B(z) = b1 + b2 z 1 + b3 z 2 + + bnb z nb + 1parte esogena

(3.7)

C(z) = 1 + c1 z

+ c2 z2 + + cnc z

(t) = residuo di equazione

nc

(3.8)
(3.9)

Come nel caso degli ARX occorre specificare lordine dei coefficienti del
polinomio. Nel SI Tool seleziona Estimate >Linear parametric models,
dal menu a tendina Structure selezionare ARM AX : [na , nb , nc , nk ]. Nel
campo Orders settare gli ordini dei polinomi e cliccare Estimate. Ripetere
tale operazione con differenti combinazioni degli ordini.

10

Capitolo 4

Validazione
Effettuata la stima con diversi modelli, `e possibile analizzarne le prestazioni, verificando che il modello riproduca il comportamento del sistema con
accuratezza. Il toolbox offre diversi approcci per validare i modelli:

4.1

Model output

Compara luscita del predittore del modello (stimato minimizzando lerrore


di predizione secondo il criterio best fit) con luscita del processo misurata;
viene quindi effettuata una simulazione del modello atta a confrontare le
uscite partendo dagli stessi ingressi.

11

Automazione OpenSource

www.xploreautomation.com

Figura 4.1: Analisi del best-fit

4.2

Analisi dei residui

I residui sono le differenze tra luscita predetta del modello ad un passo e


luscita relativa ai dati di validazione; essi rappresentano la parte dei dati
di validazione che non `e stata descritta dal modello. Lanalisi dei residui
consiste in due test:
bianchezza, secondo il quale, un buon modello ha la funzione di autocorrelazione residua (Lautocorrelazione definisce il grado di dipendenza tra i valori assunti da una funzione campionata nel suo dominio in ascissa) allinterno dellintervallo di confidenza delle stime
corrispondenti, ci`
o indica che i residui sono incorrelati ovvero indipendenti. Lintervallo di confidenza corrisponde al campo di valori dei
residui, con una probabilit`a specifica (settabile manualmente) di essere
statisticamente irrilevante per il sistema.
indipendenza, secondo il quale, i residui di un buon modello, sono
incorrelati con gli ingressi passati. Correlazione tra ingressi, indica
che il modello non descrive come parte delluscita `e connessa al corrispondente ingresso. Ad esempio un picco al di fuori dellintervallo di
confidenza per un ritardo k, significa che luscita y(t) originata dallinput u(t-k) non `e propriamente descritta dal modello. Lanalisi dei

12

Automazione OpenSource

www.xploreautomation.com

residui grafica informazioni differenti a seconda che i dati di validazioni appartengano al dominio del tempo o della frequenza. Nel caso di
dati nel dominio del tempo si hanno due grafici:
Funzione di autocorrelazione dei residui per ogni uscita.
Cross-Correlazione tra lingresso e i residui per ogni coppia ingresso/uscita.

Figura 4.2: Test di bianchezza e cross correlazione


Il primo grafico mostra lautocorrelazione dei residui per luscita (test di bianchezza). Lasse delle ascisse corrisponde al numero di ritardi,
ovvero la differenza temporale (in campioni) tra i segnali, con cui si
stima la correlazione. Le linee orizzontali tratteggiate rappresentano
lintervallo di confidenza. Qualsiasi fluttuazione allinterno dellintervallo di confidenza `e da considerare insignificante; un buon modello
deve avere la funzione di autocorrelazione dei residui allinterno dellintervallo di confidenza, a testimonianza del fatto che i residui non
sono correlati.
Il secondo grafico mostra la cross-correlazione dei residui con linput. Un buon modello deve avere i residui incorrelati con gli ingressi
passati. Prove di correlazione indicano che il modello non descrive
come luscita si `e generata a partire dallingresso corrispondente. E
possibile effettuare il test di bianchezza anche da linea di comando con
la funzione:
>> resid(modello stimato, dataset)

(4.1)

Tale funzione calcola lerrore di predizione commesso dal predittore


associato al modello e ne valuta la funzione di autocorrelazione. Il
13

Automazione OpenSource

www.xploreautomation.com

grafico mostra i valori di tale funzione rispetto ad un intervallo di


confidenza del 99%. Se lerrore `e bianco, ci si aspetta che tutti i valori
della funzione di autocorrelazione, ad eccezione del primo, siano nulli, o
comunque sufficientemente piccoli da restare allinterno dellintervallo
di confidenza.

4.3

Poli e zeri

La seguente figura mostra il grafico poli/zeri con intervalli di confidenza. Le


X indicano i poli,0 indicano gli zeri

14

Automazione OpenSource

www.xploreautomation.com

Figura 4.3: Posizionamento nel piano complesso di poli e zeri


Lequazione generale di un sistema dinamico lineare `e data da:
y(t) = G(z)u(t) + H(z)v(t)

(4.2)

In questa equazione G `e una funzione che cattura la dinamica del sistema, v


invece `e un termine additivo rappresentate il rumore. I poli sono le radici al
denominatore della funzione di trasferimento di G, essi hanno uninfluenza
diretta nella dinamica del sistema. Gli zeri sono le radici al numeratore di
G. Se si `e in grado di stimare anche il modello del rumore H, `e possibile
visualizzare in tale grafico anche le radici di H.
Zeri e Poli sono modi equivalenti per descrivere i coefficienti dellequazioni differenziali rappresentanti una famiglia di modelli, come ad esempio gli
ARX. I poli sono associati alluscita, gli zeri allingresso dellequazione.
Per creare un grafico poli/zeri spuntare la casella Zeros and poles nellarea
Model Views; per includere/escludere un modello nel grafico basta cliccare
15

Automazione OpenSource

www.xploreautomation.com

sullicona corrispondente del modello.


Nel grafico `e possibile visualizzare lintervallo di confidenza, esso corrisponde
al campo di valori che il polo/zero assume con una specifica probabilit`a di
essere effettivamente quel polo/zero del sistema. Il toolbox utilizza la stima
dellincertezza nei parametri del modello per calcolare gli intervalli di confidenza assumendo, che le stime abbiano una distribuzione gaussiana. Ad
esempio per un intervallo di confidenza del 95%, la regione intorno al valore
nominale del polo/zero, rappresenta il range di valori che ha una probabilit`a
del 95% di essere un vero polo/zero del sistema.
Il diagramma poli/zeri pu`
o essere utilizzato per capire se ridurre o meno
lordine del modello. Quando gli intervalli di confidenza per una coppia
polo-zero si sovrappongono, ci`o indica una possibile cancellazione polo-zero.
Se ci`
o dovesse accade occorre stimare un modello con ordine inferiore, in
quanto limprecisione del modello `e dovuta ad una sua sovrastima. Daltra
parte se si risolve il problema della sovrapposizione, per validare il modello
occorre sempre analizzare il model output e i residui. Se vi `e una cancellazione, ma riducendo lordine del modello si rovina il fitting del modello ai
dati, `e consigliabile in questo caso scegliere una famiglia di modelli diversi
che disaccoppia la dinamica del sistema dallerrore: Armax,OB(Output Error) oppure BJ (Box Jenkins) aventi come ordine dei polinomi A ed F pari
al numero di poli non cancellati (non sovrapposti).

4.4

Risposta armonica

E possibile visualizzare la risposta in frequenza di un modello al fine di


conoscere le caratteristiche della dinamica del modello lineare tra cui la
frequenza di picco della risposta ed i margini di stabilit`a. La risposta in
frequenza di un modello lineare descrive come il modello reagisce ad ingressi
sinusoidali. Se lingresso u(t) `e una sinusoide di una certa frequenza, luscita
`e una sinusoide della stessa frequenza ma con ampiezza e fase diversi. La
risposta armonica `e utile nel processo di validazione, in quanto pu`o essere
confrontata con la frequency function del data-set, al fine di valutarne la
corrispondenza.

16

Automazione OpenSource

www.xploreautomation.com

Figura 4.4: Risposta armonica

17

Capitolo 5

Visualizzazione dei parametri


del modello
Per ogni modello stimato `e possibile visualizzarne i parametri numerici, cliccando con il tasto destro sullicona di un modello presente presente nellarea
model Views.

18

Automazione OpenSource

www.xploreautomation.com

Figura 5.1: Esportazione dati


Nel precedente grafico nellarea non editabile sono presenti i seguenti
valori:
A(q) = 1 0.985(+ 0.04557)q 1 + 0.08581(+ 0.06312)q 2
3

(5.1)

(5.2)

B(q) = 0.06636(+ 0.001592)q 3 + 0.06104(+ 0.003468)q 4

(5.3)

(5.4)

+0.04395(+ 0.05794)q
+0.02092(+ 0.004329)q

+ 0.02094(+ 0.02297)q

+ 0.004001(+ 0.003205)q

essi corrispondono alla seguente equazione alle differenze:


y(t) 0.9855y(t 1) + 0.08581y(t 2) + 0.04395y(t 3) + 0.2094y(t 4) =
0.06636u(t 3) + 0.06104u(t 4) + 0.02092u(t 5) + 0.004001u(t 6)
Per visualizzare le incertezze dei parametri `e necessario importare il modello in matlab, per farlo basta cliccare su Present nel dialog box data/model
19

Automazione OpenSource

www.xploreautomation.com

info, immediatamente nella command window di matlab si presenteranno le


informazioni del modello, ma non loggetto.
Consideriamo il seguente modello in formato IDPOLY
Discrete time IDPOLY model(ARX551):
A(q)y(t) = B(q)u(t) + e(t)
A(q) = 11.147(+ 0.07712)q 1 + 0.4168(+ 0.1138)q 2

(5.5)

0.2732(+ 0.09342)q 3 0.04941(+ 0.05162)q 4

(5.6)

(5.7)

B(q) = 0.9995(+ 0.004532)q 1 0.4364(+ 0.07727)q 2

(5.8)

+0.1218(+ 0.02961)q
0.01867(+ 0.08147)q

0.1771(+ 0.06403)q

(5.9)

0.2479(+ 0.04995)q

(5.10)

Estimatedusing ARX fromdatasetident DataLoss function 0.0218787 and


FPE 0.0250042
La bont`
a del modello si valuta analizzando:
gli indici Loss Function e FPE che devono essere minimi.
varianza dei parametri dellequazione alle differenze (i valori di incertezza presenti per ogni termine ) , essa deve essere di ordine pi`
u piccolo
rispetto al parametro stesso. Se varianza e rispettivo parametro sono
dello stesso ordine di grandezza, ci`o significa che il parametro potrebbe
cancellarsi, e che quindi il modello ha al suo interno parte del disturbo.
Nel caso in esame gli indici loss function e FPE sono abbastanza buoni tuttavia, in A(q) i termini relativi a e hanno la varianza con lo stesso ordine di
grandezza del parametro stesso, di conseguenza tali parametri potrebbero
andare persi. Stesso discorso per B(q) per il termine . Fatte queste considerazioni il modello ARX(551) in tale fase dellidentificazione pu`o essere
scartato.

5.1

Esportare il modello nel Workspace

Per esportare il modello nel workspace come oggetto, basta trascinare il


modello nella casella denominata To Workspace, a questo punto verr`a
creato un oggetto appartenente alla classe idpoly, ed `e possibile effettuare
diverse operazioni su di esso come ad esempio la trasformazione del modello
in un oggetto LTI con rappresentazione in spazio di stato o ingresso uscita,
i comandi da utilizzare sono ss(nomemodello) e tf(nomemodello).
20

Automazione OpenSource

5.2

www.xploreautomation.com

Considerazioni finali e suggerimenti

Il processo di identificazione, soprattutto nella fase di definizione della struttura del modello, `e basato su strategie trial-and-error. Proprio per questo,
R permette di organizzare il lavoro in
lIdentification Toolbox di Matlab
sessioni. Con lesperienza, gi`a dallanalisi visiva si pu`o intuire se un certo
modello `e promettente o meno. Nel primo caso, con piccoli aggiustamenti
relativi allordine del sistema o alla caratterizzazione dei disturbi, si giunge
generalmente ad un modello dalle prestazioni soddisfacenti. In generale `e
opportuno fare attenzione a degli accorgimenti:
privilegiare la semplicit`a del modello.
le buone prestazioni vanno richieste su bande ristrette di frequenza, per
coprire una banda grande si consiglia lutilizzo di pi`
u modelli; inoltre
la raccolta dei dati va eseguita in condizioni simili a quelle previste di
lavoro; utilizzare ingressi persistentemente eccitanti.
prima di stimare i parametri del modello occorre pre-elaborare il dataset se necessario
occorre scegliere opportunamente il periodo di campionamento, esso
influisce sulla qualit`
a dellinformazione raccolta.

21

Capitolo 6

Esempio pratico di
identificazione
Serie ingresso-uscita

Questo grafico descrive landamento dellingresso utilizzato per sollecitare


il sistema e luscita generata dal processo. Per ci`o che riguarda lingresso
esso pu`
o essere stato generato da un segnale campionato e successivamente
passato alla tenuta di ordine zero, dato landamento a gradini. Pu`o essere
considerato persistentemente eccitante ma non bianco in quanto nel tratto
in cui il gradino `e costante, `e possibile risalire al valore futuro, appartenente
allintervallo di campionamento. In entrambi i casi la media `e nulla, non
vi sono bursts e trend. Il segnale `e stato inoltre suddiviso in due parti per

22

Automazione OpenSource

www.xploreautomation.com

mezzo della tecnica della cross-validazione, ovvero una parte del data-set `e
dedicata allidentificazione laltra alla validazione.

Analisi dellordine

Dallanalisi dellordine degli ARX si nota che a partire dalla combinazione


della complessit`
a n=5 con n = na + nb lerrore percentuale di uscita non modellata si mantiene pressoche costante e nulla, di conseguenza privilegiando
la semplicit`
a del modello , la complessit`a per la famiglia degli ARX pu`o
essere presa pari a 6.

23

Automazione OpenSource

www.xploreautomation.com

Analisi in frequenza delluscita

Dalla risposta armonica dei dati sperimentali si evince che:


non vi `e un polo nellorigine
B3 ' 7 101 rad
s
vi sono due poli con pulsazione di rottura pari a 1 ' 3 101 rad
s e
rad
2 ' 1.2 s
t ' 1.5 rad
s
non vi sono zeri e il sistema `e a fase minima
dalla frequenza ' 8 101 il grafico del modulo `e molto incerto sia
per i dati di validazione che identificazione.

24

Automazione OpenSource

www.xploreautomation.com

Modelli scelti come pi`


u promettenti

Tra i modelli ARX scelti per la validazione ci sono:


ARX(211)
ARX(331)
ARX(531)
Tra gli ARMAX sono stati scelti:
ARMAX(2221)
ARMAX(3231)
ARMAX(3331)
Tutti i modelli scelti presentano ritardo unitario e sono fisicamente realizzabili.

25

Automazione OpenSource

www.xploreautomation.com

Modelli in formato IDPOLY

26

Automazione OpenSource

www.xploreautomation.com

I modelli promettenti in questa fase sono:


ARX(211)
ARX(331)
ARX(531)
A differenza degli ARX, gli ARMAX presentano in alcuni casi varianza dei
parametri anche dello stesso ordine di grandezza, per cui in questa fase
vengono scartati.

Diagrammi di Bode

Confrontando la risposta armonica con quella generata dai dati sperimentali


si evince che tutti i modelli sono buoni, trannel lARX(531) il cui andamento
del modulo denota la presenza di uno zero.

27

Automazione OpenSource

www.xploreautomation.com

Best Fit
6.1

Diagrammi di Bode

Lanalisi del best fit porta a scegliere a parit`a di qualit`a i modelli:


ARMAX(3331)
ARX(531)
ARX(331)

28

Automazione OpenSource

www.xploreautomation.com

Test di bianchezza

Sia sui dati di validazione che di identificazione il test di autocorrelazione `e


superato solo dallARX(331), per il test di crosscorrelazione stesso discorso,
il modello migliore `e lARX(331). In entrambi i grafici di crosscorrelazione
vi `e un picco nel campione 1 per lARX(331). Ci`o `e legato ad una scelta sbagliata del tempo di campionamento oppure dalluso di un ingresso
persistentemente eccitante di ordine errato.

Conclusioni
Esaminando le precedenti fasi del processo di identificazione, i modelli che
meglio rappresentano il sistema preso in considerazione sono ARX(331) e
ARMAX(3331).

29

Automazione OpenSource

www.xploreautomation.com

Autore: Francesco Celiberti


Blog: http://www.xploreautomation.com/author/fra celi/
Curatore:Vincenzo Cicogna
Blog: http://www.xploreautomation.com/author/kobrabyte/
http://www.vincenzocicogna.net
Twitter: @kobrabyte
Editore:Automazione Open Source
Twitter: @automazioneos
Facebook: automazione open source
Email: automazioneos@gmail.com

30

Bibliografia
[1] Mathworks http://www.mathworks.it/products/sysid/
[2] S. Bittanti Identificazione dei modelli e controllo adattativo Pitagora
Editore

31