Trasformate di Laplace: un po’ di teoria ed un esempio F. Fontanelli Settembre 2010 La trasformata di Laplace e’ un metodo per risolvere in modo rapido sistemi di equazioni differenziali e integro– differenziali a coefficienti costanti. Il metodo funziona trasformando il sistema di equazioni differenziali in un sistema algebrico. La soluzione del sistema dovrà poi essere “antitrasformata” per ottenere la soluzione del sistema originale. Data una funzione f (t) regolare che soddisfi le seguenti condizioni: • è continua a tratti • |f (t)| < M exp(αt) con M, α > 0 definiamo così la sua trasformata di Laplace: F(s) = Z ∞ exp(−st)f (t)dt sǫC 0 Naturalmente la trasformata esiste se l’integrale improprio converge; una funzione come exp(t2 ) non ammette la trasformata, mentre per le funzioni esponenziali (di cui faremo ampio uso) exp(αt) la trasformata esiste nel semipiano Re(s) > α. 1 Proprietà Elenchiamo qui le principali proprietà della trasformata senza darne la dimostrazione: 1. La trasformata di Laplace è un’operazione lineare, ciò deriva in modo ovvio dalla linearità dell’integrazione: L(αf (t) + βg(t)) = αF(s) + βG(s) 2. Teorema di integrazione e derivazione. Questi sono i teoremi essenziali che permettono di trasformare l’operazione di derivazione in una moltiplicazione e quella di integrazione in una divisione (passaggio da equazioni differenziali ad equazioni algebriche): L(df (t)/dt) = sF(s) − f (0+ ) Z L( t f (t)dt −∞ ) = F(s)/s + 1 s Z 0+ f (t)dt −∞ La dimostrazione dei teoremi precedenti è lasciata come esercizio, in particolare per la dimostrazione degli ultimi due potete sfruttare l’integrazione per parti. 3. Teorema del ritardo: L(f (t − b)) = exp(−bs)F(s) (f (t) = 0 per t < 0) L(exp(αt)f (t)) = F(s − α) 1 4. Molto comodi per calcolare i valori iniziale e finale della soluzione senza dover risolvere esplicitamente il sistema sono i seguenti due teoremi: lim sF(s) = lim f (t) t→∞ s→0 lim sF(s) = lim+ f (t) s→∞ t→0 Il primo di questi due teoremi ha delle limitazioni, cioè lo si può applicare solo nel caso in cui i poli della funzione F(s) siano contenuti nel semipiano con ℜs < 0; la ragione di questa condizione la si comprende facilmente se si pensa che un polo nella funzione trasformata corrisponde ad un termine esponenziale nella f(t), i poli nel semipiano destro danno origine a esponenziali che divergono per t tendente a infinito, viceversa se il polo si trova nel semipiano sinistro. Quindi se f (t) tende ad una costante F(s) avrà un termine proporzionale a 1/s il cui coefficiente può essere estratto nel modo indicato. 5. Teorema del ritardo: Sia F1 (s) la trasformata di una funzione ritardata di una quantità λ > 0: Z ∞ F1 (s) = f (t − λ)exp(−st)dt 0 allora si dimostra che F1 (s) = exp(−sλ)F(s) 6. Teorema della convoluzione (molto importante): La trasformata di Laplace della convoluzione di due funzionui f1 e f2 è uguale al prodotto delle trasformate delle due funzioni, in formule: L(f1 (t) ⋆ f2 (t)) = F1 (s)F2 (s) 7. Teorema del prodotto per t: L{tf (t)} = − d F(s) ds 2 Antitrasformazione Un problema importante per l’utilizzo della trasformata di Laplace è il passaggio inverso dalla trasformata alla funzione originaria. Esiste una formula generale per il calcolo della antitrasformata che tuttavia non è di semplice uso; poichè nella maggior parte dei casi la trasformata ha la forma di una funzione algebrica razionale, ossia si può esprimere come rapporto di due polinomi con il grado del numeratore strettamente minore di quello del denominatore, considereremo solo questo caso particolarmente semplice. Sia F(s) = N (s) am sm + am−1 sm−1 + . . . + a1 s + a0 = D(s) sn + bn−1 sn−1 + . . . + b1 s + b0 Si noti che il coefficiente di sn deve essere 1. Nei sistemi fisici che di solito si incontrano è n > m, se così non fosse occorrerà preliminarmente fare la divisione e scrivere F(s) come somma di un polinomio in s più una funzione razionale. Il metodo presentato assomiglia molto a ciò che si fa normalmente per integrare una funzione razionale. Il primo passo della antitrasformazione è la fattorizzazione del denominatore, dovremo calcolare le n radici dell’equazione D(s) = 0 e riscriveremo la formula precedente come: F(s) = N (s) (s − s1 )(s − s2 ) . . . (s − sn ) Possiamo adesso sfruttare un importante teorema dell’algebra che ci permette di affermare che la funzione può essere scritta come una somma di funzioni razionali molto semplici (la cui antitrasformata è nota). Supponiamo inizialmente che tutte le radici s1 . . . sn siano distinte, allora F(s) può essere scritta come F(s) = C2 Cn C1 + + ... s − s1 s − s2 s − sn dove C1 . . . Cn sono costanti da determinare. Il metodo più veloce per determinare il generico Ck è il seguente: si moltiplicano ambo i membri per (s − sk ): (s − sk )Cn (s − s (s − sk )C1 (s − s k )N (s) k )Ck + ...+ = + . . . (s − sk ) (s − s1 )(s − s2 ) . . . (s − sk ) . . . (s − sn ) (s − s1 ) (s − sn ) si fanno le ovvie semplificazioni nei due membri e, ponendo s = sk , si ottiene: N (sk ) = Ck (sk − s1 ) . . . (sk − sk−1 )(sk − sk+1 ) . . . (sk − sn ) Se le radici non sono tutte distinte la funzione deve essere scritta in un modo leggermente diverso, si dimostra che se la radice sk ha molteplicità p la decomposizione conterrà i seguenti p termini: Ckp Ck2 Ck1 + ...+ + 2 (s − sk ) (s − sk ) (s − sk )p dove naturalmente Ck1 . . . Ckp sono costanti da determinare. Il trucco indicato precedentemente non permette di determinare tutte le p costanti, dovremo perciò modificarlo: per determinare Ckp potremo usare il solito stratagemma senza variazioni, ossia moltiplicheremo ambo i membri per (s − skp )p , effettueremo le opportune semplificazioni e quindi porremo s = skp . Per determinare le altre costanti Ck1 . . . Ckp−1 dobbiamo inizialmente agire come in precedenza ed arrivare quindi all’espressione: (s − skp )p C1 N (s) = + ... (s − s1 ) . . . (s − skp−1 )(s − skp+1 ) . . . (s − sn ) (s − s1 ) (s − skp )p Ckp−1 + (s − skp )p−1 Ck1 + (s − skp )p−2 Ck2 + . . . + (s − skp−1 ) (s − sk ) Ckp−1 + Ckp + (s − spkp+1 ) Ckp+1 (s − skp+1 ) + ...+ (s − skp )p Cn (s − sn ) Possiamo determinare gli altri coefficienti derivando l’espressione rispetto ad s: il termine Ckp sparirà e col solito trucco determineremo Ckp−1 , derivando ancora potremo determinare Ckp−2 , eccetera...(dispense MM pag. 57) In tutto quanto detto fin’ora non abbiamo mai fatto ipotesi sulle varie radici sk (i poli di F(s)), esse possono essere reali oppure possono presentarsi a coppie complesse coniugate, il caso complesso può essere trattato sostanzialmente in due modi: • procedendo formalmente come sopra e “ricordandosi” sono alla fine che se sk è un numero complesso scrivibile come sk = α + iβ allora l’antitrasformata di 1/(s − sk ) è exp(αt) exp(iβt) = exp(αt)(cos(βt) + i sin(βt) i termini immaginari si cancellano fra di loro poichè l’espressione iniziale è reale. Si può inoltre facilmente dimostrare che i due coefficienti da determinare al numeratore sono anch’essi complessi coniugati. • non fattorizzare le due radici complesse coniugate ma conservare il termine quadratico, notiamo infatti che la somma dei due termini con radici complesse coniugate è equivalente a questo termine : C1∗ As + B C1 + = 2 ∗ (s − s1 ) (s − s1 ) s + Ds + F il membro di destra può facilmente essere antitrasformato usando le tavole delle trasformate: (s + a) = exp(−at) cos(bt) (s + a)2 + b2 b = exp(−at) sin(bt) (s + a)2 + b2 3 Applicazioni Proveremo adesso ad usare la traformata di Laplace per risolvere le equazioni differenziali che descrivono il comportamento di alcuni semplici circuiti elettrici lineari. L’idea è quella di trasformare il sistema integro–differenziale in un sistema di equazioni algebriche in cui le incognite non sono più le f (t) ma le F(s). Il punto fondamentale è l’applicazione della trasformata ai due membri dell’equazione e lo sfruttamento in modo intensivo dei teoremi di derivazione ed integrazione visti in precedenza. Il sistema trasformato può essere risolto nel solito modo (regola di Cramer, sostituzione, ecc), quindi la soluzione deve essere antitrasformata. Vediamo la procedura con alcuni esempi. 3.1 Esempio 1 Analizziamo un banale circuito RC integratore la cui soluzione è ben nota. Possiamo immediatamente scrivere l’equazione differenziale: Z 1 t V (t) = RI(t) + I(t)dt C 0 Applicando il teorema dell’integrazione si ottiene (supponiamo il condensatore inizialmente scarico) V (s) = RI(s) + 1 I(s) sC Se V(t) è un gradino di ampiezza V0 che inizia a t = 0 si ha che V (s) = V0 /s, ponendo RC = τ si ottiene I(s) = V0 R(s + (1/τ ) e finalmente, usando le tavole per antitrasformare si ha: I(t) = V0 R exp ( − t/τ ) La tensione ai capi del condensatore Vc puo’ evidentemente essere calcolata integrando Z 1 t VC (t) = I(t)dt C 0 ma possiamo più efficacemente usare sempre la tecnica della trasformata per riscrivere l’equazione precedente come VC (s) = Il termine 1 s(s+1/τ ) può essere riscritto come A c + 1 V0 I(s) = sC τ s(s + (1/τ ) B (s+1/τ ) e con facili calcoli si trova A = τ , B = −τ da cui 1 1 VC (s) = V0 ( − ) s s + 1/τ la cui antitrasformata (usando le tabelle) è V (t) = V0 (1 − exp(−t/τ )) Se il condensatore non fosse stato inizialmente scarico avremmo dovuto modificare l’analisi, ad esempio avremmo potuto scrivere inizialmente Z 1 t I(t)dt + VC (0)) V (t) = RI(t) + ( C 0 Ossia I(s) = . V0 − VC (0) R(s + (1/τ )) 3.2 Esempio 2 Si voglia analizzare il circuito in fig.1 ed in particolare si desideri calcolare la tensione Vout nell’ipotesi che le condizioni iniziali siano: tensione ai capi dei due condensatori VC1 (0+) = VC2 (0+) = 0. Figura 1: Doppio circuito RC integratore Chiamando I1 e I2 le correnti in R1 e R2 possiamo subito scrivere le due equazioni differenziali derivate dalle leggi di Kirchhoff che trasformate diventano: (R1 + 1 )I1 sC1 − sC1 1 I2 1 I1 sC1 −( sC1 1 + R2 + = V (s) 1 sC2 )I2 =0 la cui soluzione si trova facilmente usando il metodo di Cramer, con ovvia notazione abbiamo: ∆ = −(R1 + 1 1 1 2 1 )( + R2 + )+( ) sC1 sC1 sC2 sC1 (R1 + sC1 ) 1 ( sC1 1 ) V (s) 0 −V (s)/sC1 = ∆ ∆ Se V (s) è uno scalino di ampiezza Vi si ha V (s) = Vi /s. Naturalmente Vout (s) = 1/(sC2 )I2 (s), dopo noiosi calcoli otteniamo: V (s)/sC1 I2 = R1 R2 1 1 R1 R2 + 1s ( R C1 + C2 + C1 ) + s2 C1 C2 I2 = e quindi finalmente Vout = Vi /s I2 = 2 sC2 s C1 C2 R1 R2 + s(R1 C2 + R1 C1 + R2 C2 ) + 1 Il denominatore di questa espressione è un polinomio e può quindi essere fattorizzato, chiamiamo s1 , s2 le due radici, potremo scrivere: Vi Vout = R1 R2 C1 C2 s(s − s1 )(s − s2 ) Seguendo la solita procedura scriveremo Vout = Vout = A B C Vi ( + + ) R1 R2 C1 C2 s − s1 s − s2 s s1 s1 − s2 s2 Vi − + ( ) (s1 − s2 ) s − s1 s − s2 s Adesso possiamo antitrasformare: Vout (t) = Vi (s2 exp(s1 t) − s1 exp(s2 t) + s1 − s2 ) (s1 − s2 ) Il risultato della simulazione del circuito con i valori indicati è mostrato in fig.2, il grafico è stato ottenuto per mezzo del programma LTSpice (liberamente scaricabile e perfettamente funzionante). Figura 2: Risposta allo scalino del doppio circuito integratore 3.3 Esempio 3 Si voglia analizzare il circuito in fig.3 ed in particolare si desideri calcolare la tensione VL nell’ipotesi che le condizioni iniziali siano: tensione ai capi del condensatore VC (0+) = 0 e corrente nell’induttanza I2 (0+) = 0. Supponiamo inoltre che Vi (t) sia un impulso rettangolare di ampiezza V e lunghezza T. R1 V R2 C L Figura 3: Circuito dell’esempio 3 Applicando le leggi di Kirchoff si scrivono immediatamente le due seguenti equazioni differenziali: Z 1 t Vi (t) = R1 I1 (t) + (I1 − I2 ) dt C −∞ Z 1 t dI2 (t) 0=− (I1 − I2 ) dt + R2 I2 + L C −∞ dt Dobbiamo ora prendere la trasformata di Laplace di ambo i membri, ricordando i 2 teoremi fondamentali: Rt f −1 (0+) L[ −∞ f (t)dt)] = F (s) e L[ dfdt(t) ] = [sF (s) − f (0+)] dove F (s) = L[f (t)] e f −1 rappresenta l’integrale s + s di f, le equazioni diventano: 1 1 )I1 (s) − I2 (s) Vi (s) = (R1 + Cs Cs 1 1 I1 (s) + (Ls + R2 + )I2 (s) Cs Cs Troviamo I2 (s), usando la regola di Cramer dobbiamo calcolare il determinante: 1 R1 + 1 − Cs Cs ∆(s) = − 1 Ls + R2 + 1 0=− Cs Cs R1 + R2 L = R1 Ls + (R1 R2 + ) + C Cs 1 R1 + V (s) Cs − 1 0 Cs I2 (s) = ∆(s) = V (s) Cs R1 Ls + (R1 R2 + L C) + R1 +R2 Cs 2 (t) Siccome VL (t) = L dIdt potremo scrivere VL (s) = L(sI2 (s) − I2 (0+)). Ricordando le condizioni iniziali i2 (0+) = 0, otteniamo: Ls V (s) VL (s) = R1 LCs2 + (R1 R2 C + L)s + (R1 + R2 ) Calcoliamo la trasformata di V(t) e inseriamola nella precedente, otteniamo: V (s) = VL (s) = R1 Z T V e−st dt = 0 LCs2 V (1 − e−sT ) s L(1 − e−sT )V + (R1 R2 C + L)s + (R1 + R2 ) Per trovare VL (t) dobbiamo calcolare la trasformata inversa diVL (s), per far ciò fattorizziamo il denominatore, otteniamo: VL (s) = dove s1 , s2 = − (1 − e−sT )V R1 C(s − s1 )(s − s2 ) 1 √ ′ R1 R2 C + L ± ∆ 2R1 LC 2R1 LC ∆′ = (R1 R2 C + L)2 − 4(R1 + R2 )R1 LC Dobbiamo espandere l’espressione in frazioni parziali: 1 1 V (1 − e−sT ) V (1 − e−sT ) − = R1 C(s − s1 )(s − s2 ) R1 C(s1 − s2 ) s − s1 s − s2 Per calcolare la trasformata inversa notiamo che l’espressione è della forma F (s)(1 − e−sT ), ricordando il teorema del ritardo e−sT F (s) = L{f (t−T )} possiamo spezzare il problema dell’inversione in 2 parti di cui la seconda è identica alla prima ma ritardata di un tempo T. Si noti che dal punto di vista fisico questo è legato al fatto che il nostro impulso Vi (t) può essere pensato come la sovrapposizione di due impulsi di ampiezza uguale ed opposta e traslati di un tempo T. La prima espressione da invertire è quindi: V 1 1 − R1 C(s1 − s2 ) s − s1 s − s2 costituita di due termini, ognuno dei quali è notoriamente legato ad un esponenziale: 0, t<0 V = L−1 V s1 t s2 t [e − e ], t ≥0 R1 C(s − s1 )(s − s2 ) R1 C(s1 −s2 ) Mentre il secondo termine è uguale al precedente ma ritardato: −1 L −V e−sT (s − s1 )(s − s2 ) = ( 0, t<T −V s1 (t−T ) R1 C(s1 −s2 ) [e − es2 (t−T ) ], t≥T Sommando i due contributi otteniamo: 0, t<0 V s1 t − es2 t ], 0≤t<T VL (t) = R1 C(s1 −s2 ) [e V −s1 T s1 t )e − (1 − es2 T )es2 t ], t ≥ T R1 C(s1 −s2 ) [(1 − e s1 , s2 possono essere reali (eventualmente coincidenti) o complesse coniugate a seconda del discriminante ∆′ , consideriamo i 3 casi separatamente: • Caso 1: ∆′ > 0 : s1 , s2 sono reali e negative, le equazioni precedenti forniscono la soluzione. • Caso 2: ∆′ = 0 : s1 = s2 = α . Potremmo riprendere l’espressione precedente relativa a ∆′ > 0 e calcolare il limite per (s1 − s2 ) → 0 ma è più semplice notare che in questo caso: VL (s) = V (1 − e−sT ) R1 C(s − α)2 e poichè −1 L VL (t) = • Caso 3: ∆′ < s2 = α − jω dove 0, = teαt t<0 V αt R1 C te 0 1 (s − α)2 0≤t<T V αt R1 C [(te ) − (t − T )eα(t−T ) ], t ≥ T : le radici sono complesse e coniugate, poniamo s1 = α + jω + 2R11 C < 0 p ω = 2R11LC 4(R1 + R2 )R1 LC − (R1 R2 C + L)2 α=− per cui R2 2L es1 t − es2 t sin(ωt) = eαt (s1 − s2 ) ω la soluzione è puramente reale (come deve essere) ed ha un prevedibile andamento oscillatorio smorzato: VL (t) = 0, V R1 C t<0 eαt sin ωt ω , V αt R1 Cω (sin(ωt)e 0≤t<T − eα(t−T ) sin(ω(t − T )), t ≥ T. 4 Risposta in frequenza La trasformata di Laplace può anche essere utilizzata per calcolare la risposta in frequenza e fase di un sistema lineare. Consideriamo quindi un generico sistema lineare e tempo–invariante, la sua funzione di trasferimento F(s) sia una funzione razionale con poli e zeri reali oppure complessi coniugati a coppie, è allora facile dimostrare che F (−jω) = F ∗ (jω). La risposta in frequenza del sistema si ottiene stimolando il sistema con un ingresso sinusoidale e calcolando l’uscita: sia l’ingresso v(t) = vi sin(ωt) , ricordando che L(sin ωt) = ω/(s2 + ω 2 ) avremo vo (s) = vi ω/(s2 + ω 2 )F (s). Dobbiamo antitrasformare e a priori dobbiamo considerare l’espressione esplicita di F (s) ma possiamo semplificare il problema tenendo conto che i poli di F(s) devono avere parte reale negativa 1 quindi daranno luogo a transitorii smorzati che tenderanno a zero per t → ∞, resteranno solo i due poli in ±jω dovuti all’ingresso, basta perciò antitrasformare la parte relativa a questi soli due poli immaginari puri: vo (s) = vi ( e usando le solite tecniche si trova che A A∗ + ) + termini che tendono a zero (s − jω) (s + jω) vo (s) = vi F (jω) F ∗ (jω) 1 ( − ) 2j (s − jω) (s + jω) Scrivendo F (jω) in forma polare F (jω) = H(jω) exp(jθ) dove H(jω) = |F (jω)| e θ = arg(F (jω)) si ottiene facilmente vo (t) = vi (t)H(jω) sin(ωt + θ) (ricordate che sin(ωt) = (exp(jωt) − exp(−jωt))/(2j) ) Ossia la risposta in ampiezza e fase si ottiene sostituendo s = jω nella F (s) e calcolandone il modulo e la fase. 4.1 Esempio 4 Consideriamo il seguente circuito (fig.4, circuito ad anticipo di fase): R1 Vout V C R2 Figura 4: Esempio 4 - rete ad anticipo di fase potremo scrivere immediatamente: C vout 1 d (vi − vout ) = (vi − vout ) + dt R1 R2 la cui trasformata è: Cs(Vi (s) − Vout (s)) + vout (s) 1 (vi (s) − vout (s)) = R1 R2 la funzione di trasferimento F (s) = vout (s)/vi (s) sarà data da: vout (s) (s + a) Cs + 1/R1 = = vi (s) Cs + 1/R1 + 1/R2 (s + b) con a = 1/R1 C e b = 1/R1 C + 1/R2 C. Chiediamoci adesso quale sia la risposta in frequenza e fase del sistema. Dovremo allora usare un generatore di tensione sinusoidale a frequenza ω: vi (t) = V sin(ωt) e avremo: vout (s) = V ω (s + a) s2 + ω 2 (s + b) 1 se così non fosse avremmo un oscillatore di cui non ha molto senso chiedere quale sia la risposta in frequenza e che comunque non è un sistema lineare evidentemente antitrasformando avremo tre termini: A/(s − jω), A∗ /(s + jω), C/(s + b), il terzo termine da’ origine ad un esponenziale decrescente (il transitorio) che non ci interessa perchè stiamo cercando la risposta stazionaria, dobbiamo determinare A( A∗ è il complesso coniugato del precedente come detto prima). F (jω) = H(ω) = (a2 + ω 2 ) (b2 + ω 2 ) (jω + a) (jω + b) θ(ω) = arctan(Im(F (jω))/Re(F (jω)) I diagrammi di Bode per il circuito sono mostrati in fig.4 dove è stato posto R1 = 1000Ω, R2 = 100Ω, C = 1µF . Figura 5: Esempio 4 - rete ad anticipo di fase Come si può notare con questo circuito si può ottenere un “anticipo di fase” consistente (dell’ordine di 50◦ ) in un ampio intervallo di frequenze. 4.2 Esempio 5 Consideriamo il seguente circuito (fig.6, circuito ad anticipo-ritardo di fase, spesso chiamato lead–lag): Figura 6: Esempio 5 - rete ad anticipo–ritardo di fase le equazioni differenziali sono: d vi − vout + C1 (vi − vout ) = i R1 dt Z t 1 idt + R2 i = vout C2 0 trasformando otteniamo: (vi − vout ) + sC1 (vi − vout ) = i(s) R1 1 i(s) + R2 i = vout sc2 da cui i(s) = vout R2 + 1/(sC2 ) sostituendo e raccogliendo i termini si ottiene: vi ( e finalmente: 1 1 1 + sC1 ) = vout ( + sC1 + ) R1 R1 R2 + 1/(sC2 ) vout (1 + s/(R1 C1 ))(1 + s/(R2 C2 )) = 2 vi s + (1/(R − 2C2 ) + 1/(R1 C1 ) + 1/(R2 C1 ))s + 1/(R1 C1 R2 C2 ) ponendo a = 1/(R1 C1 ), b = 1/(R2 C2 ) e chiamando c, d le radici del polinomio al denominatore otteniamo: (s + a)(s + b) vout = vi (s + c)(s + d) Anche in questo caso possiamo graficare i diagrammi di Bode (fig:7): Figura 7: Esempio 5 - Diagrammi di Bode per la rete ad anticipo–ritardo di fase come si vede questo circuito ha una risposta in fase caratterizzata da un profondo avvallamento seguito da un picco, da cui il nome.