Appunti di Elettronica delle Microonde

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