Appunti di Elettronica delle Microonde Prof. Paolo Colantonio 13 dicembre 2002 Indice 1 Analisi di sistemi non lineari 2 1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Circuito fisico e suo modello. . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Generazione di frequenze in circuiti non lineari . . . . . . . . . . . . 6 1.4 Relazioni tra i coefficienti di Fourier e la potenza . . . . . . . . . . . 9 1.5 Analisi di circuiti lineari . . . . . . . . . . . . . . . . . . . . . . . . 11 1.6 Analisi di circuiti non lineari . . . . . . . . . . . . . . . . . . . . . . 12 1.7 Metodi di analisi nel dominio del tempo . . . . . . . . . . . . . . . . 14 1.7.1 Integrazione diretta nel dominio del tempo . . . . . . . . . . 15 1.7.2 Modellizzazione discreta del circuito . . . . . . . . . . . . . 20 1.7.3 Metodi di Shooting . . . . . . . . . . . . . . . . . . . . . . . 21 1.7.4 Vantaggi e svantaggi degli algoritmi di analisi nel tempo . . . 21 1 Capitolo 1 Analisi di sistemi non lineari 1.1 Introduzione Un circuito può essere definito come l’implementazione di un generico sistema fisico che attua una trasformazione di segnali. Il segnale, che nella sua definizione più generica può essere una qualsiasi grandezza fisica portatrice di informazione, nell’ambito in cui lavoriamo può essere una tensione o una corrente (presa ad una porta del circuito), o più in generale una combinazione lineare delle due, oppure qualsiasi integrale o derivata di questa combinazione (flusso elettromagnetico, carica, etc.). Chiameremo questa grandezza variabile di stato del sistema (o del circuito). Quindi iniettando ad una porta del circuito il segnale (tramite una sorgente), questo transiterà all’interno, verrà trasformato secondo la topologia e le caratteristiche dei componenti, e ad una diversa porta si potrà ’leggere’ la sua trasformazione. Risulta evidente allora la necessità di sviluppare dei metodi di analisi adeguati per lo studio dei circuiti a microonde. In generale ogni circuito elettronico contenente dispositivi a semiconduttore è potenzialmente un sistema non lineare. Anche le strutture passive d’altra parte hanno un comportamento non lineare quando il livello di potenza del segnale applicato è sufficientemente elevato. Si pensi per esempio ai resistori, in cui a causa degli effetti termici il legame tra tensione v e corrente i diviene non lineare; fenomeni non lineari si hanno anche nei connettori, sempre dovuti alle resistenze non lineari di contatto tra i due diversi metalli che costituiscono il connettore. 2 Analisi di sistemi non lineari Dal punto di vista pratico, il fatto che un circuito possa essere considerato lineare o no dipende principalmente dal livello di potenza (segnale) ad esso applicato. Dal punto di vista matematico, si supponga sia f la caratteristica di trasferimento di un circuito elettronico, ossia la funzione che descrive il circuito, e xo il punto di lavoro. Si può allora espandere in serie di Taylor la funzione f e scrivere: f (x + ∆x) = f (xo ) + dn f (xo ) ∆xn df (xo ) · ∆x + · · · + · + ··· dx dxn n! (1.1) Se ∆x è sufficientemente piccolo, si ha: ∆f = f (x + ∆x) − f (xo ) = df (xo ) df (xo ) · ∆x + O(∆x2 ) ≈ · ∆x dx dx (1.2) O(u) u assume un valore finito. Per cui df (xo ) · ∆x dx (1.3) dove O(u2 ) indica una funzione tale che limu→0 dalla (1.2) si ha: ∆f == Quindi si nota che ∆x e ∆f sono legate da una relazione di tipo lineare, il che significa che ogni sistema potrebbe comunque essere considerato lineare per livelli di segnale (∆x in questo caso) sufficientemente piccoli. E’ evidente che non esiste una separazione netta tra circuiti (o sistemi) lineari e non. Per esempio, gli amplificatori ’lineari’ a piccolo segnale (guadagno, low noise, etc.) possono necessitare in alcune applicazioni di una caratterizzazione di tipo non lineare. Analogamente, si può osservare che la progettazione di circuiti intrinsecamente non lineari, quali l’amplificatore di potenza in Classe A o l’oscillatore, viene effettuata ricorrendo a tecniche lineari. 1.2 Circuito fisico e suo modello. È importante sottolineare la differenza fra circuito fisico, che esiste nella realtà e presenta sempre un preciso e determinato comportamento, ed il suo modello matematico, che viene ricavato da una serie di ipotesi, studi e misure, e che è utilizzato per prevedere quello stesso comportamento. Il primo è assemblato in laboratorio o prodotto in una fabbrica, mentre il secondo è un modello matematico definito da un formalismo assiomatico. Lo studio di un circuito fisico basato su un modello circuitale segue determinate fasi, riportate in figura 1.1 e di seguito elencate: 3 Analisi di sistemi non lineari modellizzazione in cui si sceglie il modello circuitale per gli elementi da rappresentare e la topologia da utilizzare. In questa fase l’esperienza e l’intuito sono sicuramente molto più utili del formalismo matematico. analisi il circuito viene analizzato mediante opportuni metodi di analisi confronto che consiste nel raffronto tra correnti e tensioni (o altre grandezze elettriche) ottenute dall’analisi circuitale con quelle fornite dal banco di misura con cui viene caratterizzato il circuito fisico. E’ evidente che solo se il modello utilizzato è sufficientemente fedele alla realtà allora possiamo confidare nei risultati ottenuti dalle simulazioni. Nel caso di soluzioni ambigue o addirittura impossibili, occorrerà considerare i limiti del modello circuitale scelto ed investigare quali effetti, che in un primo momento sono stati trascurati, sono diventati critici per l’analisi del comportamento del circuito stesso. Figura 1.1: Fasi di un progetto 4 Analisi di sistemi non lineari Il modello matematico del circuito è costituito da due gruppi di equazioni: uno che implementa le leggi di Kirchhoff (equazioni lineari), e l’altro le relazioni costitutive degli elementi, semplici bipoli o elementi multiporta. Per quanto riguarda le caratteristiche degli elementi, queste possono essere considerate lineari o no, ed a costanti concentrate o distribuite. Se le relazioni costitutive degli elementi possono essere considerate di tipo lineare (regime di piccoli segnali), si parla di circuiti lineari e si possono applicare tutte le leggi che derivano dalla teoria di Fourier o di Laplace. Ovvero è definibile una funzione di trasferimento e tutti i segnali all’interno del circuito sono presenti unicamente alle frequenze di eccitazione del sistema. Come conseguenza non sarà possibile per esempio studiare circuiti moltiplicatori o divisori di frequenza, o circuiti con oscillazioni libere. Se il circuito è a costanti concentrate, allora è facilmente descrivibile mediante un sistema di equazioni differenziali ordinarie (ODE - ordinary differential equations) derivate dalla teoria dell’analisi delle reti, ovvero dai teoremi di Kirchhoff alle maglie ed ai nodi. La situazione diventa più complessa quando si ha a che fare con elementi a costanti distribuite (per esempio linee di trasmissione) poiché questi sono descritti mediante equazioni differenziali alle derivate parziali (PDE - partial differential equations). In entrambi i casi è comunque quasi sempre possibile determinare una soluzione analitica. È evidente però che modelli matematici non lineari rispecchiano più fedelmente la realtà delle cose, per cui il loro studio è assolutamente necessario per la comprensione di molti fenomeni fisici. In questo caso però le equazioni a cui si perviene sono di tipo non lineare: N-ODE o N-PDE a seconda se si tratta di circuiti a costanti concentrate o distribuite. Inoltre, in questo caso è presente anche un fenomeno di generazione di frequenze, come verrà illustrato in seguito. Mentre nel caso di sistemi ODE o PDE è sempre possibile trovare una soluzione analitica, nel caso di sistemi N-ODE o N-PDE spesso la soluzione è numerica. In quest’ultimo caso, gli approcci alla risoluzione numerica possono essere raggruppati in due classi: • Metodi di analisi nel dominio del tempo. In questo caso tutte le derivate nel tempo vengono sostituite da espressioni approssimate mediante una discretizzazione 5 Analisi di sistemi non lineari della variabile tempo. Le espressioni possono essere per esempio derivate dallo sviluppo in serie di Taylor troncato, ad esempio dx x(tk + ∆t) − x(tk ) ≈ dt tk ∆t (1.4) per cui la soluzione del sistema è trasformata nella soluzione di sistemi di equazioni algebriche nei vari istanti tk . • Metodi di analisi nel dominio della frequenza. In questo caso si assume che la soluzione possa essere rappresentabile mediante uno sviluppo in serie di Fourier (classica o generalizzata). Tale rappresentazione, a coefficienti incogniti, viene sostituita nel sistema delle equazioni ODE la cui risoluzione permette di determinare i coefficienti incogniti. 1.3 Generazione di frequenze in circuiti non lineari Si consideri un sistema a cui sia applicato un segnale x(t) e sia F [x(t)] l’uscita prodotta. Allora il sistema (o circuito) si dirà lineare se e solo se esso soddisfa il principio di sovrapposizione degli effetti, ossia F [αx1 (t) + βx2 (t)] = αF [x1 (t)] + βF [x2 (t)] (1.5) dove α e β son numeri reali. In caso contrario il sistema si dirà non lineare. La relazione (1.5) è molto importante, perché implica che due segnali applicati ad un circuito lineare vengono processati separatamente. In particolare, segnali a frequenze diverse non interagiscono tra loro nel circuito. Di conseguenza, le sole frequenze presenti nel circuito saranno quelle delle sorgenti indipendenti (compresa la dc). I circuiti lineari devono necessariamente essere costituiti da elementi lineari, ossia elementi definiti tramite equazioni che soddisfino il principio di sovrapposizione degli effetti. Per esempio, c’è una relazione lineare tra la tensione e la corrente in un resistore lineare, come pure tra la carica e la tensione in un condensatore lineare. Si consideri invece per esempio un resistore non lineare in cui tensione e corrente siano relazionate mediante la seguente relazione: i = a1 · v + a2 · v 2 + a3 · v 3 6 (1.6) Analisi di sistemi non lineari si tratta chiaramente di una relazione di tipo non lineare, che non soddisfa la relazione (1.5). Si consideri ora una tensione applicata data da v = V1 · cos(ω1 t) + V2 · cos(ω2 t) Allora la corrente definita dalla relazione 1.6 sarà data da h i i = a1 · V1 cos(ω1 t) + V2 cos(ω2 t) + h i2 + a2 · V1 cos(ω1 t) + V2 cos(ω2 t) + h i3 + a3 · V1 cos(ω1 t) + V2 cos(ω2 t) (1.7) (1.8) Usando relazioni trigonometriche si può espandere il secondo termine della (1.8) ottenendo h i i = a1 · V1 cos(ω1 t) + V2 cos(ω2 t) + ( V 2 V12 + a2 · 1 + cos 2ω1 t + 2 1 + cos 2ω2 t + 2 2 ) h i +V1 V2 cos ω1 + ω2 t + cos ω1 − ω2 t + ( 3 V13 3 V23 2 2 + a3 · + V1 V2 cos ω1 t + + V1 V2 cos ω2 t+ 2 2 2 2 (1.9) V13 V3 cos 3ω1 t + + 2 cos 3ω2 t+ 4 4 3 2 + V1 V2 (cos (2ω1 + ω2 ) t + cos (2ω1 − ω2 ) t) + 4 ) 3 2 + V1 V2 (cos (ω1 + 2ω2 ) t + cos (ω1 − 2ω2 ) t) 4 + E’ evidente dalla equazione (1.9) che nuove frequenze vengono generate dalla non linearità del resistore. In particolare, si osserva che termini del tipo v n generano frequenze che possono essere espresse mediante la seguente relazione: p, q ∈ N : ω = pω1 + qω2 |p| + |q| ≤ n (1.10) In figura 1.2 è riportato a titolo di esempio lo spettro delle frequenze generate in base all’equazione (1.9). Quando o p o q sono nulle, le frequenze generate sono denominate armoniche di ordine p di ω1 o di ordine q di ω2 ; altrimenti le nuove frequenze vengono denominate genericamente prodotti di intermodulazione di ordine |p| + |q|. 7 Analisi di sistemi non lineari Figura 1.2: Generazione di frequenze in base all’equazione (1.9) Nei sistemi analogici, la generazione di nuove frequenze è l’effetto più evidente della presenza di fenomeni non lineari. Nel dominio del tempo, le frequenze generate vengono considerate come fenomeni di distorsione. Alcuni dei prodotti di intermodulazione di ordine dispari sono particolarmente fastidiosi, in particolare il termine 2ω1 − ω2 o 2ω2 − ω1, in quanto corrispondono a frequenze vicine rispettivamente a ω1 e ω2 e quindi difficili da eliminare con l’inserimento di filtri, soprattutto se ω1 e ω2 sono tra loro molto vicine. Si noti inoltre dall’equazione (1.9) la presenza di un termine a frequenza nulla (dc). Questo fenomeno è indicato come fenomeno di auto-polarizzazione ed il termine viene comunemente indicato come componente raddrizzata. I circuiti che considereremo saranno: • amplificatori di potenza in cui le non linearità saranno responsabili di fenomeni di saturazione e di distorsione (in generale di intermodulazione); • moltiplicatori in cui si sfruttano le non linearità ed i fenomeni di generazione di armoniche per generare multipli della frequenza del segnale di ingresso • mixers in cui si sfruttano i prodotti di intermodulazione per generare traslazioni in frequenza verso l’alto o verso il basso. 8 Analisi di sistemi non lineari 1.4 Relazioni tra i coefficienti di Fourier e la potenza Nel caso in cui il segnale in esame sia di tipo periodico, è possibile ricorrere ad una sua rappresentazione mediante sviluppo in serie di Fourier, secondo la nota formula: k=∞ X x (t) = Xk · ejkωt (1.11) k=−∞ dove ω = 2πf = 2π T (1.12) è la pulsazione fondamentale e T = 1/f è il periodo del segnale x (t) nel tempo. I termini Xk sono detti coefficienti di Fourier e sono dati da Z 1 T Xk = x (t) · e−jkωt dt T 0 (1.13) Per segnali x (t) reali vale la seguente proprietà: X−k = Xk∗ (1.14) dove * indica l’operazione di coniugazione complessa. Possiamo sfruttare questa proprietà riscrivendo la formula (1.11) nel seguente modo: (k=∞ ) X x (t) = <e Wk · ejkωt (1.15) k=0 dove i coefficienti Wk , detti fasori, sono così definiti: W0 = X0 Wk = 2 · Xk = 2 · (1.16) Xk∗ per k = 1, 2, . . . ∞ Un’altra espressione equivalente è la seguente x (t) = a0 + k=1 X (ak cos kωt + bk sin kωt) (1.17) k=∞ dove Xk = Uk + jVk e a0 = X0 2 ak = 2Uk = T T Z 2 bk = −2Vk = T x (t) · cos kωtdt 0 Z T x (t) · sin kωtdt 0 9 (1.18) Analisi di sistemi non lineari Si supponga ora di avere una tensione i(t) ed una corrente v(t) periodiche e rappresentabili mediante serie di Fourier. Allora la potenza media dissipata alla frequenza ωn può essere espressa come 1 P (ωn ) = <e {Vn · In∗ } 2 (1.19) Un concetto molto importante, normalmente utilizzato nell’analisi dei circuiti, è la potenza dsponibile, definita come la massima potenza che una sorgente può erogare, ovvero in condizioni di adattamento complesso coniugato. Figura 1.3: Esempio di sorgente connessa ad un carico ZL Con riferimento alla figura 1.3, si può dimostrare che la massima potenza erogabile dalla sorgente (rappresentata mediante il generatore V e la sua impedenza interna ZS = RS + jXS ) si ha quando il carico ZL soddisfa la relazione ZL = RL + jXL = RS − jXS (1.20) ed è data da Pavo = V2 8RS (1.21) Ovviamente, nelle implementazioni pratiche sarà possibile considerare solo un numero finito di fasori (o di coefficienti di Fourier) con i quali approssimare le funzioni periodiche nel tempo. Da notare che i fasori rappresentano il peso che ognuna delle funzioni base di frequenza kω0 , o armonica, ha nella composizione del segnale, e nell’analisi lineare questa caratteristica è fondamentale. 10 Analisi di sistemi non lineari 1.5 Analisi di circuiti lineari Come visto nel §1.3 un sistema (o circuito) è lineare quando tra il segnale di ingresso x(t) e quello di uscita y(t) uscita esiste un legame di proporzionalità, ovvero se ⇒ y (t) = f [x (t)] k · y (t) = f [k · x (t)] (1.22) Inoltre per un sistema lineare vale il principio di sovrapposizione degli effetti, come evidenziato nell’equazione (1.5), ovvero la somma di più segnali all’ingresso provoca in uscita la somma delle risposte relative a ciascun segnale preso singolarmente. Quando si è interessati alla descrizione del sistema lineare nel regime permanente, facendo ricorso alla rappresentazione dei segnali mediante la loro trasformata di Fourier, si può utilizzare una funzione a valori complessi della generica frequenza ω e che prende il nome di funzione di trasferimento (f.d.t.) del sistema. Tale f.d.t. può per esempio rappresentare l’impedenza tra l’uscita e l’ingresso della rete in esame, la sua ammettenza o più genericamente il legame tra le rappresentazioni di Fourier del segnale di ingresso e quello di uscita. Si noti che, mediante l’applicazione delle proprietà della trasformata di Fourier, l’analisi di un sistema di equazioni differenziali nel tempo viene ridotto ad un sistema di equazioni algebriche in frequenza. Per esempio, la relazione tipica di un induttore lineare v(t) = L · di(t) dt , diventa nel dominio della frequenza V (ω) = jωL · I(ω). Se si sfrutta invece la rappresentazione mediante serie di Fourier, ovvero tramite fasori, ogni armonica kωo potrà essere trattata separatamente e si potrà scrivere, sempre per lo stesso esempio: Vk = jk · ωo L · Ik . Per l’analisi del circuito si dovranno prendere in considerazione tutte le relazioni costitutive degli elementi e quelle relative alla topologia del circuito, ovvero le equazioni di Kirchhoff ai nodi o alle maglie. In particolare, tra le equazioni topologiche si dovrà scegliere un insieme che unito alle relazioni costitutive formi un sistema ben condizionato. Tale scelta ovviamente non è unica ma esistono diverse possibilità: se questa scelta ricade sulle equazioni di Kirchhoff alle correnti (KCL: la somma algebrica delle correnti che lasciano ogni nodo è nulla) si avrà una formulazione nodale del proble- 11 Analisi di sistemi non lineari ma; altrimenti, utilizzando le equazioni di Kirchhoff alle maglie (KVL: la somma delle differenze di potenziale lungo qualsiasi maglia è nulla) si avrà una formulazione a rete. Nel caso di circuiti lineari ricordiamo inoltre che è possibile tramite il teorema di Norton (Thevenin) scegliere un insieme di porte e rappresentarli come una semplice matrice delle ammettenze (impedenze) e dei generatori equivalenti di corrente (tensione) applicati ad ogni porta. Questa caratteristica, come vedremo in seguito, può essere sfruttata per l’analisi dei circuiti non lineari. 1.6 Analisi di circuiti non lineari Un circuito ad elementi non lineari non soddisfa più il principio di sovrapposizione degli effetti. Due segnali applicati contemporaneamente daranno luogo ad una risposta che oltre a dipendere dalla somma delle singole risposte dipenderà anche da termini di correlazione tra i segnali stessi. Un segnale a singola frequenza fo in ingresso genererà in uscita tutte le armoniche multiple di fo , e ancora la presenza di diversi toni (ω1 , ω2 ) in ingresso si complicherà all’interno del circuito con la nascita delle pulsazioni ωm,n = |mω1 ± nω2 | dove m e n sono interi. A causa della generazione di nuove armoniche in circuiti dal comportamento non lineare, si verificano fenomeni come la distorsione, la saturazione e l’intermodulazione. Di conseguenza, l’analisi dovrà essere condotta considerando simultaneamente tutte le componenti armoniche delle variabili di stato del sistema; e in tali casi c’è il rischio di incorrere, nel caso di una errata modellizzazione dei dispositivi, in soluzioni fisicamente impossibili. Bisognerà quindi attentamente analizzare le soluzioni ottenute, sempre tenendo presenti gli aspetti fisici del sistema che si sta studiando. Si distinguono tre classi di algoritmi per l’analisi non lineare - algoritmi nel dominio del tempo - algoritmi nel dominio della frequenza - algoritmi misti tempo/frequenza Lo schema a seguire classifica i metodi più noti in letteratura in base alla caratterizzazione che adottano per i componenti circuitali. 12 Analisi di sistemi non lineari Figura 1.4: Metodi di analisi per circuiti non lineari Nel seguito faremo riferimento al seguente esempio. Figura 1.5: Circuito di esempio considerato per l’analisi non lineare Si consideri il circuito riportato in figura 1.5, dove is (t) = 1 + cos (2πt) C (v) = 2vτ (1.23) g (v) = v 2 e τ è una costante reale positiva. Il circuito è evidentemente non lineare a causa delle definizioni della capacità C non lineare e della resistenza descritta mediante la funzione g, per cui non soddisfa il principio di sovrapposizione degli effetti. Il primo passo per la risoluzione del circuito consiste nello scrivere le equazioni circuitali, ovvero le KCL o KVL, a seconda della convenienza. In questo esempio risulta immediato scrivere l’equazione di Kirchhoff delle correnti nell’unico nodo presente 13 Analisi di sistemi non lineari nel circuito, ovvero C (v) dv + g (v) = is (v) dt (1.24) L’equazione (1.24) è una equazione differenziale non lineare (N-ODE) nell’incognita v(t), per cui richiede anche la conoscenza delle condizioni iniziali per poter essere risolta e calcolare anche la risposta transitoria. In generale l’istante iniziale viene assunto a t = 0. Inoltre, l’equazione differenziale risulta essere anche non autonoma in quanto è presente un termine di forzatura cos (2πt). La risoluzione di una equazione N-ODE in genere richiede metodi numerici, ma in questo caso particolare gli elementi non lineari sono stati scelti in modo tale da poter ottenere una soluzione analitica. Infatti, dalle equazioni (1.24) e (1.23) si ha dv + v 2 = 1 + cos (2πt) dt (1.25) d v2 τ + v 2 = 1 + cos (2πt) dt (1.26) 2vτ ossia che risulta essere una N-ODE in v 2 e può essere risolta mediante tecniche standard, ottenendo: 2 v (t) = 2 + 4π 2 τ 2 v (0) − 1 + 4π 2 τ 2 2 t e− τ + 1 + cos (2πt) + 2πτ sin (2πt) 1 + 4π 2 τ 2 Quindi la soluzione dell’equazione (1.25) è data da: s t cos (2πt) + 2πτ sin (2πt) 2 + 4π 2 τ 2 2 v (t) = v (0) − e− τ + 1 + 2 2 1 + 4π 2 τ 2 1 + 4π τ (1.27) (1.28) Infine, la risposta in regime permanente è ottenibile dall’equazione 1.28 considerando il limite per t → ∞, ottenendo: r v (t)|steady−state = 1+ cos (2πt) + 2πτ sin (2πt) 1 + 4π 2 τ 2 (1.29) Nei prossimi paragrafi vedremo tecniche di soluzione numerica dell’equazione (1.25) e confronteremo i risultati ottenuti con quelli derivabili dalle equazioni (1.28) e (1.29). 1.7 Metodi di analisi nel dominio del tempo Questi metodi si basano sulla risoluzione, mediante formule di integrazione numerica, delle equazioni di stato integro-differenziali che regolano il sistema. 14 Analisi di sistemi non lineari 1.7.1 Integrazione diretta nel dominio del tempo L’equazione differenziale non-lineare che rappresenta il circuito può essere sempre scritta nella generica forma: ẋ (t) = f (x, t) (1.30) Nel caso di sistema di equazioni differenziali l’equazione (1.30) diventa Ẋ = f (X, t) (1.31) dove X = [x1 , x2 , . . . , xn ]T rappresenta un vettore di variabili di stato. L’idea di base per risolvere numericamente l’equazione (1.30) consiste nel ricorrere ad una discretizzazione della variabile temporale t. Si cerca quindi di esprimere la variabile incognita x all’istante di discretizzazione tn+1 , xn+1 , come una funzione dei valori assunti negli istanti precedenti xn , xn−1 , . . . , xn−N +1 dove N è un intero di valore piccolo (in genere N = 1). Ciò è possibile sostituendo l’espressione dx dt con una sua espressione approssimata, ovvero: ẋ = xn+1 − xn ∆t (1.32) dove ∆t rappresenta il passo di discretizzazione temporale. Esistono tre possibili scelte per riscrivere il sistema (1.30), ossia: • algoritmo esplicito (o metodo di Eulero diretto) xn+1 − xn = f (xn , tn ) ∆t (1.33) • algoritmo implicito (o metodo di Eulero inverso) xn+1 − xn = f (xn+1 , tn+1 ) ∆t (1.34) • algoritmo semi-implicito xn+1 − xn 1 = [f (xn+1 , tn+1 ) + f (xn , tn )] ∆t 2 15 (1.35) Analisi di sistemi non lineari Figura 1.6: Esempio grafico dell’algoritmo esplicito Figura 1.7: Esempio grafico dell’algoritmo implicito Figura 1.8: Esempio grafico dell’algoritmo semi-implicito 16 Analisi di sistemi non lineari E’ da osservare che tali metodi non sono immuni ad errori, perché ad ogni iterazione sono sfruttati i valori calcolati al passo precedente, a loro volta sono già affetti da errori di discretizzazione. Tali errori possono anche sommarsi tutti con lo stesso segno, portando quindi alla fine a risultati privi di significato. Le differenze sostanziali tra i tre algoritmi riguardano il grado di stabilità rispetto agli errori e la velocità di convergenza. L’algoritmo esplicito è sicuramente il più semplice ed il più veloce da implementare, in quanto il calcolo del punto xn+1 viene fatto a partire dai valori del passo precedente xn già noti. Tuttavia può presentare grossi errori nella risoluzione, dovuti al progressivo accumulo degli errori precedenti (figura 1.6). Con riferimento all’esempio in considerazione, rappresentato dall’equazione (1.25), l’equazione da risolvere risulta essere 2vn τ vn+1 − vn + vn2 − [1 + cos (2πtn )] = 0 h (1.36) dove h = tn+1 − tn (1.37) è il passo (intervallo) di discretizzazione scelto. Invertendo la relazione (1.36) si ottiene vn+1 = vn + h 1 + cos (2πtn ) − vn2 2vn τ (1.38) riportata in forma grafica in figura 1.9. Figura 1.9: Soluzione dell’equazione (1.25) utilizzando la soluzione esatta (1.28) o mediante algoritmo esplicito con h = 0.1 o h = 0.02. 17 Analisi di sistemi non lineari Per quanto riguarda gli algoritmi implicito e semi-implicito, questi presentano un miglior grado di stabilità. Infatti, per essi è sempre possibile determinare un opportuno passo di discretizzazione ∆t per cui l’errore sia limitato e si riduca al di sotto di un prefissato valore . Tale vantaggio però si ripercuote su una più difficile implementazione, dovuta al fatto che per il calcolo del punto successivo xn+1 , dato dalle equazioni (1.34) o (1.35),è richiesta la conoscenza della funzione f (xn+1 , tn+1 ), che è essa stessa una incognita del sistema essendo appunto incognita la variabile xn+1 . Tali equazioni vengono allora risolte riconducendo il problema alla ricerca dello zero di una funzione vettoriale non lineare, e più propriamente: F (xn+1 ) = xn+1 − xn − ∆t · f (xn+1 , tn+1 ) = 0 (1.39) per la (1.34), oppure 1 F (xn+1 ) = xn+1 − xn − ∆t · [f (xn+1 , tn+1 ) + f (xn , tn )] = 0 2 (1.40) per la (1.35). Si noti che xn è una variabile o più in generale un vettore noto, dato dalle variabili di stato al tempo tn , mentre xn+1 è l’incognita rispetto alla quale va ricercato lo zero della funzione F. I metodi comunemente usati per la risoluzione di una equazione del tipo F (xn+1 ) = (ν) 0 sono di tipo iterativo, per cui partendo da un valore iniziale xn+1 si calcola in mo(ν+1) do iterativo il valore successivo xn+1 fino a che non si converge ad una soluzione accettabile. Esempi di algoritmi iterativi sono il metodo del punto unito o il metodo di Newton. Metodo del punto unito Supponiamo si possa riuscire a scrivere l’equazione F (xn+1 ) = 0 nella forma F (xn+1 ) = xn+1 − g (xn+1 ) = 0 (1.41) Allora l’algoritmo di risoluzione può essere posto nella seguente forma h i (ν+1) (ν) xn+1 = g xn+1 = 0 ossia può essere descritto dalle seguenti regole: 18 (1.42) Analisi di sistemi non lineari 1. ipotizzare un valore iniziale x(ν) (inizialmente ν = 0) 2. calcolare il valore di x(ν+1) mediante la formula (1.42) 3. se x(ν+1) − x(ν) < con arbitrariamente fissato, allora stop, altrimenti tornare al punto 1 con ν = ν + 1. Nel caso dell’algoritmo implicito si ottiene F (xn+1 ) = xn+1 −xn − ∆t · f (xn+1 ) = 0 | {z } (1.43) (ν+1) (ν) xn+1 = xn + ∆t · f xn+1 (1.44) g(xn+1 ) da cui mentre nel caso dell’algoritmo semi-implicito si ha 1 F (xn+1 ) = xn+1 −xn − ∆t · [f (xn+1 ) + f (xn )] = 0 2 | {z } (1.45) g(xn+1 ) da cui (ν+1) xn+1 = xn + ∆t · i 1 h (ν) f xn+1 + f (xn ) 2 (1.46) E’ un algortimo che converge a soluzione esatta ma può risultare molto lento. Come valore iniziale del punto x0n+1 si può pensare di scegliere la soluzione raggiunta all’istante precedente, ossia xn Metodo di Newton Deriva dall’approssimazione mediante sviluppo in serie di Taylor della funzione F (xn+1 ). Sia infatti x0n+1 un valore inizialmente scelto. Allora potremmo pensare di scrivere: (0) (0) (0) F (xn+1 ) ≈ F xn+1 + F 0 xn+1 · xn+1 − xn+1 (1.47) Di conseguenza, affinché xn+1 sia soluzione occorre che sia soddisfatta la relazione F (xn+1 ) = 0, ossia (0) (0) (0) F xn+1 + F 0 xn+1 · xn+1 − xn+1 = 0 (1.48) da cui possiamo derivare la variabile incognita (ν+1) xn+1 h i (ν) F xn+1 (ν) h i = xn+1 − (ν) F 0 xn+1 19 (1.49) Analisi di sistemi non lineari L’algoritmo di Newton ha il vantaggio di richiedere un numero di iterazioni inferiore rispetto al metodo del punto unito, ma ad ogni passo richiede però un maggior sforzo computazionale in quanto è richiesto il calcolo della derivata F 0 . In complesso resta comunque più veloce. Si noti inoltre che tanto più ∆t viene scelto piccolo e tanto più il punto iniziale (0) xn+1 = xn è già abbastanza vicino alla soluzione, per cui sono richieste poche iterazioni su ν per convergere. E’ evidente che occorrerà fare un bilancio tra valori di ∆t piccoli, per cui sono richiesti molti istanti di campionamento ma con poche iterazioni per istante, in confronto a ∆t grandi per cui sono ridotti gli istanti di campionamento ma sono richieste molte iterazioni per ogni istante, andando incontro anche ad eventuali problemi di stabilità dell’algoritmo iterativo. In generale il numero di punti deve almeno soddisfare il teorema del campionamento, ovvero se si desidera rappresentare i segnali con un numero Nh di armoniche, il numero di campioni in un periodo T deve almeno essere pari a Np = 2Nh + 1 1.7.2 (1.50) Modellizzazione discreta del circuito E’ un metodo formalmente simile al precedente, ed è molto usato nei programmi di simulazione CAD (Computer Aided Design) che operano nel dominio del tempo, come ad esempio SPICE. Si basa sull’applicazione della tecnica di integrazione diretta ai singoli componenti circuitali, ovvero sulla rappresentazione mediante equazioni alle differenze finite delle equazioni differenziali con le quali i componenti circuitali sono modellati (le relazioni costitutive), da cui il nome di modellizzazione discreta. Per esempio, un condensatore lineare caratterizzato dalla relazione costitutiva: i (t) = C dv dt (1.51) potrebbe essere modellizzato mediante la relazione: in+1 + in vn+1 − vn =C 2 ∆t (1.52) Analoghe relazioni potrebbero essere usate per descrivere altri componenti. A queste equazioni vanno poi aggiunte quelle derivanti dalle leggi di Kirchhoff, arrivando a 20 Analisi di sistemi non lineari definire un sistema lineare in cui le incognite sono le tensioni e correnti relative all’istante (n+1)-simo, ed i dati noti sono le tensioni e le correnti del passo precedente n-simo. 1.7.3 Metodi di Shooting I metodi sin qui descritti presentano lo svantaggio di dover comunque risolvere l’analisi del transitorio, prima di poter calcolale la soluzione a regime permanente. Si sono allora sviluppati metodi appropriati per l’analisi del solo regime permanente, a cui invece si è più interessati. Tali metodi, noti come Shooting Methods, permettono di ottenere la soluzione a regime permanente senza bisogno di calcolare la soluzione durante il periodo transitorio che, come nel caso di circuiti a microonde, può essere molto oneroso e del tutto inutile. Tali metodi si basano sul principio che il regime permanente è caratterizzato da una risposta y(t) periodica di un certo periodo T 1 . Supponendo noto tale periodo T , ed ipotizzata una condizione iniziale y(to ), in regime permanente dovrà essere verificata la relazione : y (to + T ) = y (to ) (1.53) Il problema quindi può essere ricondotto alla determinazione del valore y(to ) che soddisfi questa relazione. L’algoritmo quindi è impostato sulla scelta del valore y(to ), sul calcolo di y(to + T ) mediante integrazione numerica a partire dall’istante to e fino all’istante to + T e sull’azzeramento della funzione errore così definita: ∆y = y (to + T ) − y (to ) (1.54) Si noti che l’istante iniziale to può essere definito in modo arbitrario. 1.7.4 Vantaggi e svantaggi degli algoritmi di analisi nel tempo Apparentemente i metodi che lavorano interamente nel dominio del tempo rappresentano il più diretto e naturale approccio al problema della simulazione ed inoltre convergono quasi sempre, anche se le non linearità sono molto forti. 1 Nel caso di una sola frequenza di eccitazione f , il periodo T è dato da T = 1/f . Nel caso invece di più frequenze di eccitazione f1 , f2 , · · · , fn , si dovrà considerare la frequenza f ∗ data dal massimo comune divisore fra tutte le fi e quindi il periodo T = 1/f ∗ 21 Analisi di sistemi non lineari Tali metodi tuttavia presentano alcuni inconvenienti. Il primo problema riguarda la descrizione nel dominio del tempo di alcuni componenti distribuiti, quali ad esempio le linee di trasmissione, che risulta molto più onerosa di una analoga descrizione fatta però nel dominio della frequenza. Un secondo problema riguarda gli errori di troncamento delle formule di integrazione numerica, che possono produrre un errore di simulazione; dato l’elevato numero dei passi di integrazione, tale errore potrebbe mascherare alcuni aspetti della risposta, quali per esempio la distorsione, rendendo tale approccio praticamente inutilizzabile. D’altra parte, per poter evidenziare tutti i fenomeni non lineari potrebbe essere necessario ricorrere ad un passo di discretizzazione molto piccolo, ripercuotendosi sul tempo di calcolo complessivo. Infine, un ultimo ma non meno importante inconveniente riguarda appunto la velocità di computazione richiesta per il calcolo della soluzione a regime permanente, che è il dato a cui spesso si è più interessati. Anche se quest’ultimo inconveniente può essere parzialmente risolto ricorrendo agli shooting methods, le altre problematiche evidenziate fanno si che nello studio di sistemi non lineari a microonde risultino molto più convenienti altri approcci, in cui viene sfruttata anche l’analisi nel dominio della frequenza, quali: • Metodo di Volterra • Metodo ordine x ordine • Harmonic Balance • Spectral Balance • Envelope Analysis che vedremo nei prossimi capitoli. 22