Professional Documents
Culture Documents
Seconda parte
Lezione del 10 dicembre 2011
Funzione di trasferimento
Viene definita funzione di trasferimento (abbreviata in F.d.T.) di un sistema il rapporto tra la trasformata di Laplace Y(s) della funzione in uscita del sistema e la trasformata di Laplace X(s) della funzione in ingresso, quando le condizioni iniziali siano poste tutte a zero.
Funzione di trasferimento
La funzione di trasferimento si presenta come un rapporto di due polinomi in s. Le radici del denominatore sono i poli del sistema, in corrispondenza dei quali luscita diventa infinita, e le radici del numeratore sono gli zeri, in corrispondenza dei quali luscita si annulla.
Funzione di trasferimento
La F.d.T. pu essere rappresentata in una dele seguenti forme:
Forma polinomiale
Forma in zeri/poli
Forma polinomiale
In Matlab si pu identificare una F.d.T. con due vettori che rappresentano i polinomi in s del numeratore e del denominatore Nel caso di poli nellorigine basta considerare il polinomio del denominatore risultante dalla moltiplicazione, lordine del polinomio ne sar incrementato.
Forma polinomiale
Una funzione di trasferimento viene costruita a partire dai due vettori num e den con listruzione sys=tf(num,den) Ad esempio se num=1.5 e den=[1 14 40.02] Matlab risponde con: Transfer function: 1.5 -----------------s^2 + 14 s + 40.02
Forma in zeri/poli
dove K una costante reale e z un vettore colonna che rappresenta gli zeri e p rispettivamente un vettore colonna che rappresenta i poli del sistema.
Forma in zeri/poli
Una funzione di trasferimento gi costruita (ad esempio con listruzione tf) pu essere convertita nella forma guadagno-zeri-poli con listruzione sys_zpk=zpk(sys) Matlab risponde Zero/pole/gain: 1.5 ------------------(s+9.997) (s+4.003)
Forma in zeri/poli
La funzione zpk() pu anche essere utilizzata per costruire direttamente la funzione di trasferimento a partire dal guadagno k e dai vettori z e p degli zeri e dei poli >> k=1.5; >> z=[]; >> p=[-9.997 -4.003]; >> sys=zpk(z,p,k) Zero/pole/gain: 1.5 ------------------(s+9.997) (s+4.003)
Forma in zeri/poli
Con la funzione tf() si pu ancora passare dalla forma zeri/poli a quella polinomiale
>> sys Zero/pole/gain: 1.5 ------------------(s+9.997) (s+4.003) >> tf(sys) Transfer function: 1.5 -----------------s^2 + 14 s + 40.02
s +1 F (s) = 2 s + 5s + 6
Scomponendo in fratti semplici si ha:
F ( s) =
Da cui:
2 1 s+3 s+2
F (t ) = 2 e 3 t e 2 t
A mpli tude
0.1 0
-0.1
2 Time (sec)
La funzione feedback
Dati i modelli del sistema in linea diretta e di quello di retroazione, permette di calcolare il sistema ad anello chiuso sys = feedback(sys1,sys2) ad esempio, immettendo il comando: tf(feedback(sys_dc,1)) si ottiene la funzione di trasferimento ad anello chiuso a retroazione unitaria: Transfer function: 1.5 -----------------s^2 + 14 s + 41.52
Calcoli simbolici
Oltre alleffettuazione di alcoli numerico come quelli visti finora, Matlab consente anche leffettuazione di calcoli simbolici ((ossia calcoli analoghi a quelli che noi eseguiamo con carta e penna quando sviluppiamo il quadrato di un binomio) >> syms a b >> expand((a+b)^2) ans = a^2+2*a*b+b^2
Trasformata di Laplace
La trasformata di Laplace di una funzione f(t) pu essere ottenuta tramite la funzione matlab laplace. Per esempio si voglia trovare la trasformata di Laplace della funzione f(t) = 5e-2t. Occorre innanzitutto definire la variabile t come simbolo >> syms t Successivamente si inserisce la funzione f(t); >> f=5*exp(-2*t); A questo punto dando il seguente comando >> L=laplace(f) Matlab risponde con: L = 5/(s+2)
Trasformata di Laplace
Per avere espressioni pi leggibili si possono usare i comandi simplify e pretty.
>> syms t s >> f=-1.25+3.5*t*exp(-2*t)+1.25*exp(-2*t); >> F=laplace(f,t,s) F = -5/4/s+7/2/(s+2)^2+5/4/(s+2) >> simplify(F) ans = (s-5)/s/(s+2)^2 >> pretty(ans) s - 5 ---------2 s (s + 2)
Antitrasformata di Laplace
Si voglia ora trovare lantitrasformata della funzione
Basta inserire il comando >> ilaplace(1/s-2/(s+4)+1/(s+5)) Matlab risponde con: ans = 1-2*exp(-4*t)+exp(-5*t)
Antitrasformata - Esempio
>> syms t s >> F=(s-5)/(s*(s+2)^2); >> ilaplace(F) ans = -5/4+(7/2*t+5/4)*exp(-2*t) >> simplify(ans) ans = -5/4+7/2*t*exp(-2*t)+5/4*exp(-2*t) >> pretty(ans) - 5/4 + 7/2 t exp(-2 t) + 5/4 exp(-2 t)
Antitrasformata - Esempio
La forma simbolica della funzione di trasferimento si ottiene semplicemente dividendo i due polinomi in forma simbolica
>> num_s/den_s ans = 3/(s+4) >> pretty(ans) 3 ----s + 4