System Identification Toolbox

36

description

Guida al System Identification Toolbox

Transcript of System Identification Toolbox

  • Automazione Open Source www.xploreautomation.com

    @automazioneos automazioneos

    a cura di Vincenzo Cicogna

    System Identification Toolbox

    Francesco Celiberti

  • Indice

    1 Importazione dati 1

    2 Analisi e preparazione dei dati 4

    3 Stima del modello lineare 83.1 ARX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83.2 ARMAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    4 Validazione 114.1 Model output . . . . . . . . . . . . . . . . . . . . . . . . . . . 114.2 Analisi dei residui . . . . . . . . . . . . . . . . . . . . . . . . 124.3 Poli e zeri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144.4 Risposta armonica . . . . . . . . . . . . . . . . . . . . . . . . 16

    5 Visualizzazione dei parametri del modello 185.1 Esportare il modello nel Workspace . . . . . . . . . . . . . . . 205.2 Considerazioni finali e suggerimenti . . . . . . . . . . . . . . . 215.3 Diagrammi di Bode . . . . . . . . . . . . . . . . . . . . . . . . 28

    i

  • Prefazione

    A cura di Vincenzo Cicogna

    Se avete scaricato questo mini-ebook sul toolbox di Identificazione di Ma-tlab, probabilmente avrete gia` sentito parlare di noi (spero in positivo :) ).Abbiamo deciso di riprendere il pack post sull Identification Toolbox, e ren-derlo disponibile in formato pdf, con una impostazione molto simile ad unebook. Ci sono stati molti feedback positivi in merito a questo argomento,motivazione che ci ha spinto a rendere disponibile una versione stampabile econsultabile ovunque. Come curatore di tale ebook, ho cercato di dare unaimpostazione grafica semplice e non molto stancante, di mettere in risaltole informazioni piu` rilevanti e garantire una lettura scorrevole e veloce. Nel-la speranza di esservi stato utile vi auguro una buona lettura e un veloceapprendimento.

    Grazie Vincenzo

    ii

  • Introduzione

    Lidentificazione e` una disciplina che permette di risalire dai dati sperimen-tali al modello matematico che li descrive. Col passare del tempo il ricorsoai modelli e` divenuto essenziale sia in fase di analisi che in ambito di pro-gettazione, in diversi campi. Ident e` una GUI (graphical user interface) delSystem Identification Toolbox, che permette di costruire modelli di siste-mi dinamici dalla misurazione di dati di input/output. Questo approccioe` ampiamente utilizzato nella pratica, specialmente quando non e` semplicericavare il modello da principi fisici, o quando cio` implica il ricorso a comples-se e numerose equazioni. I modelli ottenuti con questo Toolbox sono adattiper la simulazione, predizione ed il controllo per mezzo dei corrispondentitoolbox (Control System Toolbox e Model Predictive Control Toolbox).

    Caratteristiche chiave del toolbox

    Lidentificazione di modelli lineari e non lineari da un data set appar-tenente 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 datimancanti

    sono disponibili blocchi simulink per la simulazione dei modelli iden-tificati

    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 seguentipassi:

    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 dal-la command window di matlab. Esso si compone di diverse parti evidenziatenella seguente figura:

    Figura 1.1: Screen del Toolbox

    Il tool grafico contiene icone rettangolari per ogni dato importato o mo-dello stimato, in modo da tenere traccia a livello visivo dei dati con cui sista lavorando. Alcune di esse sono disposte sulla sinistra nel riquadro DataBoard evidenziate in rosso, altre sono situate sulla destra nel Model Boardrappresentate dal contorno verde. Una volta importati i dati, e` possibilepreprocessarli, trascinando un data set allinterno del riquadro blu, contras-segnato dal numero 2; aprendo il menu a tendina < Preprocess e` possbilescegliere le operazioni da compiere sui dati per prepararli alla stima. Al pas-so 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 verra` automaticamen-te trasferito nel riquadro verde (5) dove e` possibile validarlo e confrontarlocon gli altri modelli ritenuti piu` 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 sti-mato, 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 suotrasferimento nella GUI avviene, selezionando nel menu a tendina importdata 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 variabilememorizzata in matlab

    output (dati in uscita del sistema da identificare) richiama la variabilememorizzata in matlab

    data name nome usato per etichettare i dati dopo che loperazione diimportazione si e` conclusa

    starting time e` il valore iniziale dellasse del tempo nei diversi grafici sampling interval corrisponde allintervallo di campionamento utiliz-

    zato nellesperimento

    2

  • Automazione OpenSource www.xploreautomation.com

    Nel riquadro Data Information cliccando su More si espande la finestra didialogo; al suo interno e` possibile specificare altre opzioni:

    Input Properties

    innerSample specifica cosa accade tra due campioni di dati e` possibilescegliere tra zoh, foh, bl

    period se i dati sono periodici indicare il loro periodo altrimenti inserireinf

    Channel names (nome dei canali)

    input output

    dare un nome ai canali aiuta a riconoscere i dati nei grafici.

    Physical Units of Variables (unita` di misura dei canali)

    input output

    Comments

    Inserisci dei commenti riguardo i dati acquisiti durante lesperimento comeil nome, la data ed una descrizione delle condizioni dellesperimento. CliccaImport 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 siconsiglia di dividerlo in due porzioni uguali, una per la stima dei parametrilaltro per la validazione (Cross-Validazione). Cio` risulta utile in quanto,stimare e validare un modello sullo stesso set di dati, non garantisce la suabonta`, occorre quindi verificare laderenza del modello anche a dati diversi daquelli usati per la stima. Nella GUI aprire il menu a tendina < preprocesse selezionare la voce select range, successivamente specificare lintervallodi campioni su cui lavorare; una volta finito cliccare su Insert.

    3

  • Capitolo 2

    Analisi e preparazione deidati

    Raramente i dati sperimentali sono pronti per essere utilizzati immediata-mente per le fasi successive del processo di identificazione, a causa di:

    Offset e disturbi a bassa frequenza Disturbi ad alta frequenza, al di la` delle frequenze di interesse del

    sistema dinamico

    Outliers(dati anomali), mancanti o non continuiIl primo passo di tale fase consiste sempre nellispezione visiva dei dati. Diconseguenza prima di dare inizio alloperazione di stima, occorre controllareche i dati in/out non abbiano caratteristiche indesiderate. A tale propositoe` possibile graficarne gli andamenti per identificare derive e valori anomalied operare ad eventuali correzioni. Nel Toolbox sono presenti i seguenti dataplots:

    Grafico Tempo (Time Plot) visualizza i valori dei dati in funzione deltempo

    Grafico dello spettro (Data Spectra) Risposta in frequenza (Frequency function)

    Per visualizzare gli andamenti dei dati basta spuntare in basso a sinistra ilgrafico che si desidera visualizzare

    4

  • 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. Lapresenza nei dati di caratteristiche statiche (valor medio) o lentamente va-riabili puo` occultare le caratteristiche dinamiche, inficiando lefficienza deglialgoritmi di identificazione. Il detrending consiste nella

    sottrazione di valori medi diversi dallo zero (nellimmagine in blu in-gresso e uscita oscillano intorno al valore 5, in verde i segnali sono statiprocessati)

    5

  • Automazione OpenSource www.xploreautomation.com

    Figura 2.2: Andamento dati in ingresso

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

    6

  • Automazione OpenSource www.xploreautomation.com

    Figura 2.3: Andamento dati con trend

    Resampling Puo` capitare che i dati sono stati campionati con unafrequenza troppo elevata; e` possibile effettuare un resampling senzaperdere informazione riguardo la dinamica in alta frequenza. Viceversa seil tempo di campionamento e` basso e` necessario ripetere loperazione diacquisizione, in quanto vi sono dei dati mancanti.

    Prefiltraggio Filtrando i segnali di ingresso e uscita attraverso un filtrolineare e` possibile focalizzare la stima paramentrica del modello basata sudeterminati ranges in frequenza di dati.

    7

  • 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 pre-senza della parte esogena u(t 1) e della caratterizzazione del residuo de-quazione; tra le famiglie che modellano i sistemi di controllo abbiamo ARXe ARMAX.

    3.1 ARX

    Il primo importante problema che si presenta nellidentificazione con ap-proccio black-box e` quello di specificare lordine del modello. Tuttavia co-me stabilirlo a priori? Per rispondere a questa domanda, si puo` effettuareuna prima stima con un modello ARX, con un range di ordini e ritardi inaccordo con la complessita` del modello. Successivamente si sceglie ordinie 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 a1z1 + a2z2 + + znaparte autoregressiva (3.2)B(z) = b1 + b2z

    1 + b3z2 + + znb + 1parte esogena (3.3)(z) = residuo di equazione (3.4)

    8

  • Automazione OpenSource www.xploreautomation.com

    Nellinterfaccia grafica selezionare Estimate >Linear parametric models,selezionare la famiglia di modelli con la quale si vuole effettuare lidentifica-zione, 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 casodellARX, si aprira` la finestra ARX Model Structure Selection in cui vienevisualizzata la qualita` del modello per ciascuna combinazione dei suoi pa-rametri per mezzo di un grafico con delle barre verticali, ciascuna di essecorrisponde 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 Yla parte di uscita che non e` stata espressa dal modello, in formule esprimela percentuale del rapporto tra la varianza dellerrore di predizione e lavarianza delloutput. Tra le barre ve ne sono tre di colore diverso: blu, verdee rosso, ciascuna di esse indica il modello che meglio soddisfa un criterio divalutazione:

    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 convie-ne utilizzare i criteri MDL e AIC per selezionare lordine del modello. Questicriteri evitano il fenomendo delloverfitting dovuto allutilizzo di troppi para-metri. I modelli possono essere scelti cliccando sulla corrispondente barra esuccessivamente sul tasto insert, ciascun modello selezionato verra` poi tra-sferito in un riquadro della sezione model views, pronto per essere analizzatoe sottoposto al processo di validazione.

    3.2 ARMAX

    I modelli della famiglia ARMAX sono piu` flessibili degli ARX in quanto laloro struttura contiene un ulteriore polinomio atto a modellare il disturboadditivo.

    A(z)y(z) = B(z)u(t 1) + C(z) + (t) (3.5)

    con

    A(z) = 1 a1z1 + a2z2 + + anaznaparte autoregressiva (3.6)B(z) = b1 + b2z

    1 + b3z2 + + bnbznb + 1parte esogena (3.7)C(z) = 1 + c1z

    1 + c2z2 + + cncznc (3.8)(t) = residuo di equazione (3.9)

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

    10

  • Capitolo 4

    Validazione

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

    4.1 Model output

    Compara luscita del predittore del modello (stimato minimizzando lerroredi predizione secondo il criterio best fit) con luscita del processo misurata;viene quindi effettuata una simulazione del modello atta a confrontare leuscite 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 eluscita relativa ai dati di validazione; essi rappresentano la parte dei datidi validazione che non e` stata descritta dal modello. Lanalisi dei residuiconsiste in due test:

    bianchezza, secondo il quale, un buon modello ha la funzione di au-tocorrelazione residua (Lautocorrelazione definisce il grado di dipen-denza tra i valori assunti da una funzione campionata nel suo do-minio in ascissa) allinterno dellintervallo di confidenza delle stimecorrispondenti, cio` indica che i residui sono incorrelati ovvero indi-pendenti. Lintervallo di confidenza corrisponde al campo di valori deiresidui, con una probabilita` specifica (settabile manualmente) di esserestatisticamente irrilevante per il sistema.

    indipendenza, secondo il quale, i residui di un buon modello, sonoincorrelati con gli ingressi passati. Correlazione tra ingressi, indicache il modello non descrive come parte delluscita e` connessa al corri-spondente ingresso. Ad esempio un picco al di fuori dellintervallo diconfidenza per un ritardo k, significa che luscita y(t) originata dal-linput 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 validazio-ni appartengano al dominio del tempo o della frequenza. Nel caso didati 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 in-gresso/uscita.

    Figura 4.2: Test di bianchezza e cross correlazione

    Il primo grafico mostra lautocorrelazione dei residui per luscita (te-st di bianchezza). Lasse delle ascisse corrisponde al numero di ritardi,ovvero la differenza temporale (in campioni) tra i segnali, con cui sistima la correlazione. Le linee orizzontali tratteggiate rappresentanolintervallo di confidenza. Qualsiasi fluttuazione allinterno dellinter-vallo di confidenza e` da considerare insignificante; un buon modellodeve avere la funzione di autocorrelazione dei residui allinterno del-lintervallo di confidenza, a testimonianza del fatto che i residui nonsono correlati.

    Il secondo grafico mostra la cross-correlazione dei residui con lin-put. Un buon modello deve avere i residui incorrelati con gli ingressipassati. Prove di correlazione indicano che il modello non descrivecome luscita si e` generata a partire dallingresso corrispondente. Epossibile effettuare il test di bianchezza anche da linea di comando conla funzione:

    >> resid(modello stimato, dataset) (4.1)

    Tale funzione calcola lerrore di predizione commesso dal predittoreassociato 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 diconfidenza del 99%. Se lerrore e` bianco, ci si aspetta che tutti i valoridella funzione di autocorrelazione, ad eccezione del primo, siano nulli, ocomunque sufficientemente piccoli da restare allinterno dellintervallodi confidenza.

    4.3 Poli e zeri

    La seguente figura mostra il grafico poli/zeri con intervalli di confidenza. LeX 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, vinvece e` un termine additivo rappresentate il rumore. I poli sono le radici aldenominatore della funzione di trasferimento di G, essi hanno uninfluenzadiretta nella dinamica del sistema. Gli zeri sono le radici al numeratore diG. Se si e` in grado di stimare anche il modello del rumore H, e` possibilevisualizzare in tale grafico anche le radici di H.

    Zeri e Poli sono modi equivalenti per descrivere i coefficienti dellequazio-ni differenziali rappresentanti una famiglia di modelli, come ad esempio gliARX. I poli sono associati alluscita, gli zeri allingresso dellequazione.

    Per creare un grafico poli/zeri spuntare la casella Zeros and poles nellareaModel 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 corrispondeal campo di valori che il polo/zero assume con una specifica probabilita` diessere effettivamente quel polo/zero del sistema. Il toolbox utilizza la stimadellincertezza nei parametri del modello per calcolare gli intervalli di con-fidenza assumendo, che le stime abbiano una distribuzione gaussiana. Adesempio per un intervallo di confidenza del 95%, la regione intorno al valorenominale del polo/zero, rappresenta il range di valori che ha una probabilita`del 95% di essere un vero polo/zero del sistema.

    Il diagramma poli/zeri puo` essere utilizzato per capire se ridurre o menolordine del modello. Quando gli intervalli di confidenza per una coppiapolo-zero si sovrappongono, cio` indica una possibile cancellazione polo-zero.Se cio` dovesse accade occorre stimare un modello con ordine inferiore, inquanto limprecisione del modello e` dovuta ad una sua sovrastima. Daltraparte se si risolve il problema della sovrapposizione, per validare il modellooccorre sempre analizzare il model output e i residui. Se vi e` una cancella-zione, ma riducendo lordine del modello si rovina il fitting del modello aidati, e` consigliabile in questo caso scegliere una famiglia di modelli diversiche disaccoppia la dinamica del sistema dallerrore: Armax,OB(Output Er-ror) oppure BJ (Box Jenkins) aventi come ordine dei polinomi A ed F parial numero di poli non cancellati (non sovrapposti).

    4.4 Risposta armonica

    E possibile visualizzare la risposta in frequenza di un modello al fine diconoscere le caratteristiche della dinamica del modello lineare tra cui lafrequenza di picco della risposta ed i margini di stabilita`. La risposta infrequenza di un modello lineare descrive come il modello reagisce ad ingressisinusoidali. Se lingresso u(t) e` una sinusoide di una certa frequenza, luscitae` una sinusoide della stessa frequenza ma con ampiezza e fase diversi. Larisposta armonica e` utile nel processo di validazione, in quanto puo` essereconfrontata con la frequency function del data-set, al fine di valutarne lacorrispondenza.

    16

  • Automazione OpenSource www.xploreautomation.com

    Figura 4.4: Risposta armonica

    17

  • Capitolo 5

    Visualizzazione dei parametridel modello

    Per ogni modello stimato e` possibile visualizzarne i parametri numerici, clic-cando con il tasto destro sullicona di un modello presente presente nellareamodel Views.

    18

  • Automazione OpenSource www.xploreautomation.com

    Figura 5.1: Esportazione dati

    Nel precedente grafico nellarea non editabile sono presenti i seguentivalori:

    A(q) = 1 0.985(+ 0.04557)q1 + 0.08581(+ 0.06312)q2 (5.1)+0.04395(+ 0.05794)q3 + 0.02094(+ 0.02297)q4 (5.2)

    B(q) = 0.06636(+ 0.001592)q3 + 0.06104(+ 0.003468)q4 (5.3)+0.02092(+ 0.004329)q5 + 0.004001(+ 0.003205)q6 (5.4)

    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 model-lo 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 leinformazioni del modello, ma non loggetto.

    Consideriamo il seguente modello in formato IDPOLYDiscrete time IDPOLY model(ARX551):

    A(q)y(t) = B(q)u(t) + e(t)

    A(q) = 11.147(+ 0.07712)q1 + 0.4168(+ 0.1138)q2 (5.5)0.2732(+ 0.09342)q30.04941(+ 0.05162)q4 (5.6)

    +0.1218(+ 0.02961)q5 (5.7)B(q) = 0.9995(+ 0.004532)q10.4364(+ 0.07727)q2 (5.8)

    0.01867(+ 0.08147)q30.1771(+ 0.06403)q4 (5.9)0.2479(+ 0.04995)q5 (5.10)

    Estimatedusing ARX fromdatasetident DataLoss function 0.0218787 andFPE 0.0250042

    La bonta` del modello si valuta analizzando:

    gli indici Loss Function e FPE che devono essere minimi. varianza dei parametri dellequazione alle differenze (i valori di incer-

    tezza presenti per ogni termine ) , essa deve essere di ordine piu` piccolorispetto al parametro stesso. Se varianza e rispettivo parametro sonodello stesso ordine di grandezza, cio` significa che il parametro potrebbecancellarsi, 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 tut-tavia, in A(q) i termini relativi a e hanno la varianza con lo stesso ordine digrandezza del parametro stesso, di conseguenza tali parametri potrebberoandare persi. Stesso discorso per B(q) per il termine . Fatte queste con-siderazioni il modello ARX(551) in tale fase dellidentificazione puo` esserescartato.

    5.1 Esportare il modello nel Workspace

    Per esportare il modello nel workspace come oggetto, basta trascinare ilmodello nella casella denominata To Workspace, a questo punto verra`creato un oggetto appartenente alla classe idpoly, ed e` possibile effettuarediverse operazioni su di esso come ad esempio la trasformazione del modelloin 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 www.xploreautomation.com

    5.2 Considerazioni finali e suggerimenti

    Il processo di identificazione, soprattutto nella fase di definizione della strut-tura del modello, e` basato su strategie trial-and-error. Proprio per questo,lIdentification Toolbox di Matlab R permette di organizzare il lavoro insessioni. Con lesperienza, gia` dallanalisi visiva si puo` intuire se un certomodello e` promettente o meno. Nel primo caso, con piccoli aggiustamentirelativi allordine del sistema o alla caratterizzazione dei disturbi, si giungegeneralmente ad un modello dalle prestazioni soddisfacenti. In generale e`opportuno fare attenzione a degli accorgimenti:

    privilegiare la semplicita` del modello. le buone prestazioni vanno richieste su bande ristrette di frequenza, per

    coprire una banda grande si consiglia lutilizzo di piu` modelli; inoltrela raccolta dei dati va eseguita in condizioni simili a quelle previste dilavoro; utilizzare ingressi persistentemente eccitanti.

    prima di stimare i parametri del modello occorre pre-elaborare il data-set se necessario

    occorre scegliere opportunamente il periodo di campionamento, essoinfluisce sulla qualita` dellinformazione raccolta.

    21

  • Capitolo 6

    Esempio pratico diidentificazione

    Serie ingresso-uscita

    Questo grafico descrive landamento dellingresso utilizzato per sollecitareil sistema e luscita generata dal processo. Per cio` che riguarda lingressoesso puo` essere stato generato da un segnale campionato e successivamentepassato alla tenuta di ordine zero, dato landamento a gradini. Puo` essereconsiderato persistentemente eccitante ma non bianco in quanto nel trattoin cui il gradino e` costante, e` possibile risalire al valore futuro, appartenenteallintervallo di campionamento. In entrambi i casi la media e` nulla, nonvi 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 combinazionedella complessita` n=5 con n = na+nb lerrore percentuale di uscita non mo-dellata si mantiene pressoche costante e nulla, di conseguenza privilegiandola semplicita` del modello , la complessita` per la famiglia degli ARX puo`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 rads vi sono due poli con pulsazione di rottura pari a 1 ' 3 101 rads e2 ' 1.2 rads t ' 1.5 rads 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 piu` 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 realizza-bili.

    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 deiparametri anche dello stesso ordine di grandezza, per cui in questa fasevengono scartati.

    Diagrammi di Bode

    Confrontando la risposta armonica con quella generata dai dati sperimentalisi evince che tutti i modelli sono buoni, trannel lARX(531) il cui andamentodel 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 parita` di qualita` 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 crosscorrelazionevi e` un picco nel campione 1 per lARX(331). Cio` e` legato ad una scel-ta sbagliata del tempo di campionamento oppure dalluso di un ingressopersistentemente eccitante di ordine errato.

    Conclusioni

    Esaminando le precedenti fasi del processo di identificazione, i modelli chemeglio rappresentano il sistema preso in considerazione sono ARX(331) eARMAX(3331).

    29

  • Automazione OpenSource www.xploreautomation.com

    Autore: Francesco CelibertiBlog: http://www.xploreautomation.com/author/fra celi/

    Curatore:Vincenzo CicognaBlog: http://www.xploreautomation.com/author/kobrabyte/http://www.vincenzocicogna.netTwitter: @kobrabyte

    Editore:Automazione Open SourceTwitter: @automazioneosFacebook: automazione open sourceEmail: [email protected]

    30

  • Bibliografia

    [1] Mathworks http://www.mathworks.it/products/sysid/

    [2] S. Bittanti Identificazione dei modelli e controllo adattativo PitagoraEditore

    31

    copertinaident.pdf