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  bc  1z  c
g1
 cz 2  bc  1z  1
z 2  bc  1z  c
g3
 cz 2  bc  1z  1
z 2  bc  1z  c
g2k-1
(1  c 2 )(1  b 2 )
z 2  bc  1z  c
g2
 cz 2  bc  1z  1
z 2  bc  1z  c
g4
 cz 2  bc  1z  1
z 2  bc  1z  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  bc  1z  c
w1,1
 cz 2  bc  1z  1
z 2  bc  1z  c

f
(1  c 2 )(1  b 2 )
z 2  bc  1z  c
 cz 2  bc  1z  1
z 2  bc  1z  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


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 
 
End Re lMSE 
N  ns
max Segnale
N
2
MaxEnd Re lErr 
max ek
k
max Segnale
Esempio
1
z  0.5  j 0.5z  0.5  j 0.5
Fase di addestramento:
 Rumore bianco
 Somma di sinusoidi
 Somma di gradini
yx 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 entrambii 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
xu
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