Università degli studi di Pisa Facoltà di Ingegneria Tesi di Laurea Identificazione di modelli di Hammerstein e di Wiener Relatori: Prof. Ing. Aldo Balestrino Prof. Ing. Alberto Landi Candidato: Alessio Campani Obiettivi Studiare il problema dell’identificazione dei sistemi nonbasato linearisui delfiltri tipo di di Kautz Hammerstein Approccio e le reti e di Wiener neurali artificiali il modello di Wiener Approccio basatoper sulla tecnica delle funzioni modulanti per i sistemi di Hammerstein Identificazione ? Modello (struttura, ordine) Parametri Modelli di Hammerstein e di Wiener Approccio a blocchi Dinamica lineare rappresentata con una funzione di trasferimento Non linearità statica (senza memoria) rappresentata con una funzione algebrica Modelli di Hammerstein e di Wiener Wiener: G(•) N.L. Hammerstein: N.L. G(•) Identificazione del modello di Wiener G(•) La dinamica lineare viene identificata con un filtro di Kautz N.L. La non linearità viene identificata con una rete neurale artificiale Filtro di Kautz 1 c 2 z b z 2 bc 1z c g1 cz 2 bc 1z 1 z 2 bc 1z c g3 cz 2 bc 1z 1 z 2 bc 1z c g2k-1 (1 c 2 )(1 b 2 ) z 2 bc 1z c g2 cz 2 bc 1z 1 z 2 bc 1z c g4 cz 2 bc 1z 1 z 2 bc 1z c g2k Struttura dell’approssimatore Sistema da identificare G(·) N.L. Approssimatore Filtro di Kautz Buffer N.N. Struttura dell’approssimatore 1 c 2 z b z 2 bc 1z c w1,1 cz 2 bc 1z 1 z 2 bc 1z c f (1 c 2 )(1 b 2 ) z 2 bc 1z c cz 2 bc 1z 1 z 2 bc 1z c wn,1 N.N. N.N. Software Ambiente Matlab® (ver. 6.5) M-files, schemi Simulink, S-functions Sistemi SISO tempo invarianti Non linearità polinomiali e non Dinamica lineare con poli reali e complessi coniugati Sistemi in tempo discreto e tempo continuo Software Identificazione on line Rete neurale addestrata in back propagation Back propagation implementata con l’algoritmo di Levenberg-Marquardt Campioni memorizzati in un buffer gestito a finestra mobile wk 1 wk J J I T 1 T J e Software reteK2.m Costruzione del sistema da identificare Impostazione della struttura del filtro di Kautz (numero di blocchi, parametri per incorporare nel modello le informazioni a priori) Costruzione della rete neurale nello spazio di lavoro (struttura, parametri per l’addestramento,...) Software apprendiK.m Durata della simulazione Lancio della simulazione sullo schema Simulink schemaK.mdl Invoca la funzione vedi addestra_reteK.m (S-function) Gestione del buffer Algoritmo LM Software vedi.m Andamento dei parametri della rete neurale e dell’errore durante l’addestramento valida_reteK.m (S-function) Evoluzione della rete neurale addestrata vedival.m Andamento uscite misurata e approssimata Errore Indici di prestazione Indici di prestazione N MSE 2 e k k ns N ns End Re lMSE ek Max Re lErr max k y k soglia MaxAssErr max ek k ek s soglia k ns k N ns N Re lMSE 2 ek max Segnale MSE k ns N ns max Segnale N 2 MaxEnd Re lErr max ek k max Segnale Esempio 1 z 0.5 j 0.5z 0.5 j 0.5 Fase di addestramento: Rumore bianco Somma di sinusoidi Somma di gradini yx x 3 Esempio Risposta a un ingresso sinusoidale Esempio Indici di prestazione MSE MaxAssErr RelMSE MaxRelErr EndRelMSE MaxEndRelErr 0.7232 3.5670 0.0072 0.0590 0.0017 0.0083 Fuzzy scheduling Considerazione preliminare Il nostro approssimatore risponde bene quando in ingresso diamo un segnale di tipo rumore bianco costruito con un generatore di numeri casuali (potenza) in cascata ad un filtro di Butterworth (contenuto frequenziale) Fuzzy scheduling R costante + Rumore Bianco Sistema Y=Ym+ γ Idea Addestrare la rete neurale con i segnali epurati dei rispettivi valori medi Fuzzy scheduling Conclusioni Otteniamo un modello “alle variazioni” Reiterando il procedimento per diversi valori della componente costante otteniamo un meccanismo di schedulazione che associa ad ogni punto di lavoro (Rm, Ym) il modello che meglio approssima il sistema in quel punto Identificazione del modello di Hammerstein Tecnica delle funzioni modulanti Moltiplicare entrambii membri t 0 dell’equazione t T t differenziale che descrive sistema per una funzione Φ 0 il altrimenti Integrare per parti in modo da ‘trasferire’ l’operazione d i di derivazione dai segnali essere affetti i (che i possono n dt da rumore) alle funzioni modulanti Si ottienedun algebriche che può sistema didequazioni i i 0 i i 0 i n dt tcol essere risolto metododtdella pseudoinversa 0 t T Software Ambiente Matlab® (ver. 6.5) Libreria basata sulle funzioni spline di Maletinsky (Sani-Corsanini DSEA) Aggiunti schemi Simulink per la raccolta dati e la verifica Sistemi SISO tempo invarianti Non linearità polinomiali Dinamica lineare a guadagno statico unitario Sistemi in tempo continuo Software sistema.mdl Simula l’evoluzione del sistema da identificare con un rumore bianco in ingresso; al termine della simulazione il comando save workspace di Matlab crea il file con tutti i dati necessari all’identificazione Software function [num,den,nlc]=fun_mod_ham(periodo,np,nz,g,nomefile) I coefficienti di ordine 0istanti alf.d.t. numeratore e al e Coefficienti File delAmpiezza contenente numeratore della gli della finestra didi approssimata campionamento integrazione Risolve col metodo della pseudo-inversa denominatore della valgono sempre 1 i segnali di f.d.t. ingresso e di uscita misurati Coefficienti del denominatore Numero polidella dellaf.d.t. dinamica approssimata lineare un sistema algebrico della dimensione (condizione suldiguadagno statico); il opportuna ottenuto a partire da una coefficiente di ordine 0 della n.l. vale sempre 0 Numero di zeri della dinamica della lineare Coefficienti della rappresentazione polinomiale n.l. spline di ordine n_poli+2 (non linearità passante per l’origine) Grado della non linearità polinomiale Software fun_mod_ham utilizza le seguenti funzioni: simf_ham Genera il sistema algebrico della dimensione opportuna Invoca la funzione gen_fr_spline per generare la funzione modulante e le sue derivate Invoca gen_riga_s_ham per ricavare un’equazione del sistema alla volta; l’integrazione viene fatta dalla funzione ausiliaria simpson che implementa l’integrazione numerica di Cavalieri-Simpson Software Per verificare la correttezza dell’identificazione: verifica.mdl Simula l’evoluzione dei sistemi reale ed approssimato vedi_verifica.m Andamento delle uscite reale e approssimata Andamento dell’errore Indici di prestazione Esempio xu 2 1 2 5s 6 s 1 Segnale in ingresso: Rumore bianco limitato in banda (Noise Power = 1, Sample Time = 0.1) Segnale in fase di verifica: Rumore bianco limitato in banda (Noise Power = 0.1; Sample Time = 0.5) Esempio Esempio MSE MaxAssErr RelMSE MaxRelErr EndRelMSE MaxEndRelErr 0.0040 0.0078 0.0197 0.0356 0.0190 0.0373 Conclusioni Sistemi di Wiener Suggerimenti Sistemi di Hammerstein Le difficoltà incontrate con gli algoritmi tradizionali a Il nostro lavoro potrebbe essere integrato con algoritmi causadella dellatecnica non disponibilità di una buona al caso L’estensione delle funzioni modulanti per l’identificazione dei sistemi misti e l’aggiunta di rappresentazione per l’uscita non lineare possono essere di sistemi non lineari modellizzati alla Hammerstein un’interfaccia grafica per semplificare l’utilizzo dei superate grazie alle proprietà di semplificazione delle basi fornisce buoni risultati programmi di funzioni ortonormali e alla flessibilità dell’approccio con le reti neurali