Sei sulla pagina 1di 5

1

Esercitazioni
di Tecnologie per lAutomazione
Analisi e simulazione di sistemi
dinamici LTI in ambiente Matlab
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 2 2
Indice del materiale
Rappresentazione di sistemi dinamici lineari tempo-
invarianti nellambiente Matlab
Analisi e simulazione di sistemi dinamici lineari tempo-
invarianti
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 3 3
Sistemi dinamici lineari
Un sistema dinamico lineare tempo-invariante (LTI
system) pu essere descritto:
in forma di equazioni di stato, assegnando le matrici A,B,C,D
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 4 4
Sistemi dinamici lineari ()
Un sistema dinamico lineare tempo-invariante (LTI system)
pu essere descritto:
in forma di matrice di funzioni di trasferimento
mediante i polinomi a numeratore e denominatore di ogni
funzione di trasferimento
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 5 5
Sistemi dinamici lineari ()
Un sistema dinamico lineare tempo-invariante (LTI system)
pu essere descritto:
in forma di matrice di funzioni di trasferimento
assegnando zeri, poli e guadagno di ciascuna funzione di
trasferimento
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 6 6
Sistemi dinamici lineari ()
Nellambiente Matlab possibile definire un sistema
dinamico lineare tempo-invariante come oggetto di
tipo LTI model a partire da qualsiasi di queste
descrizioni (ne esistono anche altre, ma non le
analizziamo [si veda il comando ltimodels] ).
2
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 7 7
Sistemi dinamici lineari ()

Utilizzando questi oggetti di tipo LTI model possibile


analizzare le propriet del sistema dinamico
corrispondente (stabilit, raggiungibilit, osservabilit ecc.)
ed possibile simulare levoluzione nel tempo del sistema
dinamico, con condizioni iniziali ed ingressi assegnati.
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 8 8
Definizione di sistemi lineari
Nella descrizione dei comandi Matlab e negli esempi
consideriamo dapprima sistemi SISO e successivamente
vedremo come si descrivono sistemi MIMO.
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 9 9
Sistemi lineari SISO
partendo dalle equazioni di stato
Definire le matrici A,B,C,D nel workspace;
Definire il sistema mediante il comando ss.
Sintassi del comando ss
SYS = ss(A,B,C,D) crea un sistema dinamico a tempo
continuo

Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 10 10
Esempi (1)
Definizione del sistema
dinamico a tempo
continuo:

+ =
+ =
+ =
u x y
x x x
u x x
2 4
2 3
3
1
2 1 2
2 1
&
&
>> A = [ 0 -1;-3 2]; B = [3;0];
C = [4 0]; D = 2;
>> sistema = ss(A,B,C,D)
a =
x1 x2
x1 0 -1
x2 -3 2
b =
u1
x1 3
x2 0
c =
x1 x2
y1 4 0
d =
u1
y1 2
Continuous-time model.
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 11 11
Sistemi lineari SISO (2)
partendo dalla funzione di trasferimento
assegnare i coefficienti dei polinomi a numeratore e denominatore
della fdt nel workspace (nel seguito vettori NUM e DEN);
definire il sistema mediante il comando tf
Sintassi del comando tf
SYS = tf(NUM,DEN) crea un sistema a tempo continuo

Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 12 12
Esempi (2)
Definizione del sistema
tramite la funzione di
trasferimento
num= [ 1 1 ]; den = [ 1 3 16 ];
sistema = tf( num, den )
Transfer function:
s + 1
--------------
s^2 + 3 s + 16
16 3
1
) (
2
+ +
+
=
s s
s
s G
3
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 13 13
Sistemi lineari SISO (3)
partendo dalla funzione di trasferimento
assegnare i vettori degli zeri, dei poli ed il guadagno del sistema nel
workspace (nel seguito vettori Z, P e K);
definire il sistema mediante il comando zpk.
Sintassi del comando zpk
SYS = zpk(Z,P,K) crea un sistema a tempo continuo

Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 14 14
Esempi (3)
Definizione del sistema
tramite la funzione di
trasferimento
Z = [ 1 ]; P = [ -1]; K = [-5]
sistema = zpk( Z,P,K )
Zero/pole/gain:
-5 (s-1)
--------
(s+1)
1
1
5 ) (
+

=
s
s
s G
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 15 15
Sistemi lineari MIMO (1)
partendo dalle equazioni di stato
definire le matrici A,B,C,D nel workspace;
definire il sistema mediante il comando ss.
Sintassi del comando ss
SYS = ss(A,B,C,D) crea un sistema dinamico a tempo
continuo

Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 16 16
Esempi (4)
Definizione del sistema
dinamico a tempo
continuo:

+ =
+ =
+ =
+ =
2 1 2
1 1 1
2 1 2
1 2 1
3 2
2 4
2 3
3
x x y
u x y
u x x
u x x
&
&
>> A=[ 0 -1;-3 0]; B=[3 0;0 2];
C=[4 0;-2 3]; D=[2 0;0 0];
>> sistema=ss(A,B,C,D)
a =
x1 x2
x1 0 -1
x2 -3 0
b =
u1 u2
x1 3 0
x2 0 2
c =
x1 x2
y1 4 0
y2 -2 3
d =
u1 u2
y1 2 0
y2 0 0
Continuous-time model..
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 17 17
Sistemi lineari MIMO (2)
partendo dalla funzione di trasferimento
definire i polinomi a numeratore e denominatore di ciascuna fdt nel
workspace;
definire il sistema mediante il comando tf
Sintassi di tf
per un sistema MIMO con NU ingressi ed NY uscite NUM e DEN
sono NY-per-NU cell arrays di vettori riga, dove NUM{i,j} e
DEN{i,j} specificano la fdt tra lingresso j e luscita i .
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 18 18
Sistemi lineari MIMO (3)
partendo dalla funzione di trasferimento
definire zeri, poli e guadagno di ciascuna fdt;
definire il sistema mediante il comando zpk.
Sintassi di zpk
per un sistema MIMO con NY uscite ed NU ingressi,
Z e P sono NY-per-NU cell arrays, dove Z{i,j} e P{i,j} sono
rispettivamente il vettore degli zeri e quello dei poli della fdt tra
lingresso j e luscita i, mentre K una matrice NY-per-NU che
contiene i guadagni di ciascuna fdt.
4
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 19 19
Esempi (8)
Definizione del sistema
dinamico a tempo
continuo:
>> H = tf( {-5 ; [1 -5 6]} ,
{[1 -1] ; [1 1 0]})
Transfer function from input
to output...
-5
#1: -----
s - 1
s^2 - 5 s + 6
#2: -------------
s^2 + s
(
(
(
(
(

+
+

=
s s
s s
s
s H
2
2
6 5
1
5
) (
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 20 20
Interconnessione di sistemi
Agli oggetti sistemi lineari si possono applicare i
normali operatori +,*,/, \ con il seguente significato:
+ connessione in parallelo;
* connessione in serie;
/, \ usati per definire loperazione di inversione (a sx, a dx)
per sistemi quadrati.
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 21 21
Esempi di interconnessioni
elementari
Connessione parallelo
Connessione serie
sys
1
sys
2
u y v
sys
1
sys
2
u
y
1
y
2
y
2 1
sys sys sys + =
2 1
sys sys sys =
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 22 22
Altri esempi di operazioni elementari
Inversione (per sistemi quadrati)
Trasposizione
2 1 2 1
) ( \ sys sys inv sys sys
'
. sys sys
T

) ( /
2 1 2 1
sys inv sys sys sys
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 23 23
Esempio di connessione
andata=g1*g2; retroazione=andata/(1+andata*g3)
G
1
G
2
G
3
u y
-
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 24 24
Simulazione in Matlab di sistemi lineari
Funzioni disponibili per la simulazione:
impulse simulazione risposta allimpulso;
step simulazione risposta a scalino;
initial simulazione movimento libero;
lsim simulazione con ingresso qualsiasi e stato iniziale
qualsiasi.
5
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 25 25
Simulazione in Matlab di sistemi lineari (2)
Sintassi:
[y,t]=step(sistema);
[y,t]=step(sistema,t);
[y,x]=lsim(sistema,u,t);
Vettore sequenza dingresso
Vettore dei tempi
Vettore dei tempi
Vettore duscita
Vettore duscita
Vettore di stato
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 26 26
Esempio di utilizzo (1)
a=[-1 ,0;3,-4];
b=[2;1];c=[1,2];d=0;
sistema=ss(a,b,c,d);
t=(0:0.01:5);
u=2*sin(2*pi*2*t);
y=lsim(sistema,u,t);
plot(t,y);
Il risultato della simulazione stato assegnato ad una
variabile e successivamente visualizzato in un grafico.
Dott. Gianfranco Fenu Tecnologie per Tecnologie per l l automazione automazione
TA ES Parte 1, TA ES Parte 1, 27 27
Esempio di utilizzo (2)
a=[-1 ,0;3,-4];
b=[2;1];c=[1,2];d=0;
sistema=ss(a,b,c,d);
t=(0:0.01:5);
u=2*sin(2*pi*2*t);
lsim(sistema,u,t);
Utilizzando le funzioni senza assegnare il risultato della
simulazione a variabili duscita si ottiene direttamente il
grafico dellevoluzione temporale.