Università degli studi di Roma
Sapienza
Facoltà di Ingegneria
Progetto di un filtro passabanda a 30 MHz Tesina per il corso di “Teria dei circuiti elettronici II mod“
Studente Roberto Patrizi
Professore Giuseppe Scotti
Progetto di un ltro
Indice 1 Specifiche di progetto
3
2 Impostazione del progetto 2.1 Funzioni di trasferimento
. . . . . . . . . . . . . . . . . . . .
4 4
3 Scomposizione del filtro in celle biquadratiche in cascata 3.1 Parametri e ottimizzazione delle biquadratiche . . . . . . . . .
5 6
4 Implementazione circuitale ideale 4.1 Vincoli tecnologici . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Dimensionamento . . . . . . . . . . . . . . . . . . . . . . . .
8 9 10
5 Simulazioni circuitali 5.1 Realizzazione del filtro . . . . . . . . . . . . . . . . . . . . . . 5.2 COA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Caratterizzazioni . . . . . . . . . . . . . . . . . . . . . . . . .
14 14 14 16
6 Appendice: listati Matlab 6.1 Mask.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Tesina.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3 Probe.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20 20 22 26
2
Tesina di Teoria dei circuiti elettronici 2◦ mod
1
Specifiche di progetto
Si richiede di progettare un filtro passabanda che presenti attenuazione minore di 3 dB nella banda tra 25 MHz e 35 MHz (larghezza di banda di 10 MHz dunque), ed in particolare che abbia una attenuazione minore di 0.5 dB attorno alla frequenza di 30 MHz. Inoltre si richiede che a distanza di un fattore 2 dalla frequenza centrale, l’attenuazione del filtro sia almeno di 35 dB. I limiti delle bande attenuate saranno dunque 15 MHz e 60 MHz. Le specifiche del filtro da realizzare sono riassunte nella maschera in figura 1.
Specifiche di attenuazione 40
35
30
|A|dB
25
20
15
10
5
0
0
10
20
30 40 Frequenza f [MHz]
50
60
70
Figura 1: Maschera di attenuazione secondo le specifiche del filtro
Il filtro deve essere pensato per una realizzazione in tecnologia integrata, in particolare per le simulazioni con Spice sar`a utilizzata la libreria IBM a 0.35 µm. Sono richieste impedenze di ingresso e di uscita del filtro reali e pari a Zin = Zout =50 Ω, le alimentazioni sono fissate a 1.5 V, il filtro deve operare su segnali (sia in ingresso che uscita) a valor medio nullo. 3
Progetto di un ltro
2
Impostazione del progetto
Tra le varie implementazioni possibili per la realizzazione del filtro, la scelta `e ricaduta su un’approccio in corrente al problema, ci`o consente di avere maggiore libert`a sulle dinamiche che in tal modo non risentono della ridotta escursione di 3 V delle alimentazioni. Il filtro verr`a composto come cascata di celle biquadratiche. Vedremo ora quale filtro `e pi`u conveniente scegliere, i passaggi chiave che permettono il calcolo della sua funzione di trasferimento, e la sua scomposizione in biquadratiche.
2.1
Funzioni di trasferimento
Per calcolare la funzione di trasferimento del filtro prima cosa sar`a necessario normalizzare l’asse ω delle pulsazioni e ricavare l’ordine e il tipo del filtro normalizzato. Poich´e tra le specifiche del filtro non `e presente la monotonia, si eviter`a di usare un filtro di Butterworth per contenere la complessit`a avvalendosi del minore ordine richiesto da filtri di Chebischef o Cauer. Si eviter`a inoltre di sintetizzare un filtro di Bessel poich´e, non essendo richiesto da specifiche un ritardo di gruppo massimamente piatto, si evita il maggiore scostamento in ampiezza dalla caratteristica di trasferimento ideale che tale filtro presenta. Procedendo quindi in Matlab (il listato con la descrizione dei calcoli necessari `e presente in appendice), per il calcolo dell’ordine del filtro e della sua caratteristica di trasferimento elencata per ciascuno dei tipi elencati si ottiene la figura 2. Come si pu`o osservare il filtro ellittico o di Cauer (in verde) rispetta le specifiche con un ordine pi`u basso, infatti `e l’unico filtro in grado di rispettare la maschera con ordine pari a 2. In questo caso per`o, il vincolo sull’attenuazione a centro banda che non deve essere superiore a 0,5 dB impedisce l’utilizzo di filtri di ordine pari con ripple in banda passante. Come si pu`o osservare il filtro ellittico attraversa l’origine delle pulsazioni normalizzate con attenuazione pari a 3 dB, la stessa attenuazione che ritroverei nella frequenza centrale del filtro passabanda. Per poter utilizzare il filtro ellittico dovrei aggiungere anche a questo un’ulteriore polo, perdendo di fatto il vantaggio peculiare del filtro di presentare un’ordine pi`u basso (o equivalentemente un’attenuazione maggiore a parit`a di ordine), pertanto in questo caso sembrerebbe pi`u conveniente un filtro di Chebiscef. Vedremo invece che il filtro di Cauer fornisce dei valori dei paramentri pi`u convenienti, per cui sar`a utilizzato per la sintesi. Il filtro di Butterworth viene comunque scartato poich´e presenta margini minori con il rischio di non soddisfare la maschera per via delle non idealit`a di un’implementazione circuitale reale. 4
Tesina di Teoria dei circuiti elettronici 2◦ mod
Maschera normalizzata 40
35
30
|A|dB
25
20
15
10
5
0
0
0.5
1
1.5
2 2.5 3 3.5 Pulsazione normalizzata ωn
4
4.5
5
Figura 2: Funzioni di trasferimento dei filtri normalizzati. In blu `e tracciato il filtro di Butterworth di ordine 3, in rosso il filtro di Chebiscef di ordine 3, in verde il filtro di Cauer di ordine 2. Da una prima analisi con Matlab si ottengono le specifiche dei filtri biquadratici che andranno a costituire il filtro. Tali valori raggiungono l’ordine delle due decine, troppo elevato per poter essere implementato circuitalmente senza eccessive difficolt`a. Il problema non si presenta invece utilizzando un filtro ellittico di ordine 3. Inoltre `e possibile sfruttare la maggiore pendenza del filtro per imporre un ripple in banda passante di soli 0.1 dB. In questo caso per`o ho margini maggiori, e sopratutto ho dei valori di ω0 e Q nettamente pi`u favorevoli. Il passabasso di Cauer ottenuto con tali specifiche `e mostrato in figura 3
3
Scomposizione del filtro in celle biquadratiche in cascata
Bastano poche istruzioni in Matlab per ricavare la funzione di trasferimento completa del filtro di Cauer, che per compattezza non verr`a riportata 5
Progetto di un ltro
Maschera normalizzata 40
35
30
|A|dB
25
20
15
10
5
0
0
0.5
1
1.5
2 2.5 3 3.5 Pulsazione normalizzata ωn
4
4.5
5
Figura 3: Filtro di Cauer normalizzato, ottenuto modificando la specifica del ripple in banda passante a 0.1dB in queste righe e che `e possibile vedere facendo girare il listato in appendice e visualizzando la variabile sys. Quello che interessa `e che il numeratore `e un polinomio di quinto grado, mentre il denominatore `e di sesto grado. ´ possibile ridurre la complessit`a del filtro approssimando il numeratore di E quinto grado ad un termine s3 . Il filtro che si ottiene ha una risposta in frequenza analoga a quella del filtro di partenza come si evince dalla figura 4, a meno dei due zeri localizzati in prossimit`a della banda passante che scompaiono. La figura 5 mostra l’andamento delle due funzioni ponendo in risalto il comportamento in banda passante. Si pu`o osservare dalla figura 6 a pagina 9 come si riesca ancora a rispettare la maschera, con un margine minore ma un filtro decisamente pi`u semplice da realizzare.
3.1
Parametri e ottimizzazione delle biquadratiche
Tutti i passi per scomporre la funzione di trasferimento del sistema in biquadratiche sono commentati direttamente all’interno del listato Matlab riportato 6
Tesina di Teoria dei circuiti elettronici 2◦ mod
Diagramma di bode del sistma/cascata di biquad
100 50 0
Magnitude (dB)
−50 −100 −150 −200 −250 −300 −350 −400 1080
Phase (deg)
720
360
0
−360
7
8
10
9
10
10
10
10
Frequency ω 106 (rad/sec)
Figura 4: Diagramma di Bode del filtro di Cauer (in blu) e del filtro ottenuto dalla cascata di biquad (in rosso) con numeratore di grado 1 in appendice. I valori ottenuti per i parametri sono i seguenti: ω1 = 2.25 · 108 rad/s, Q1 = 8.2,
ω2 = 1.86 · 108 rad/s, Q2 = 3.4,
ω3 = 1.54 · 108 rad/s; Q3 = 8.2;
Le biquad sono state ottimizzate per la massima dinamica e minima figura di rumore, questo `e il motivo per cui sono state ordinate per Q crescente. Le relative celle biquadratiche che si ottengono utilizzando nell’ordine i parametri con pedice 2, poi 1 infine 3, sono dunque T1 = T2 = T3 =
2.9 · 10−17 s2 2 · 10−17 s2
s + 1.6 · 10−9 s + 1
s + 5.4 · 10−10 s + 1
4.2 · 10−17 s2
s + 8 · 10−10 s + 1 7
Progetto di un ltro
Confronto f.
ne
ideale/realizzata
160
140
|T dB |
120
100
80
60
10
2
Pulsazione ω [Mrad/sec]
Figura 5: Diagramma di Bode del filtro di Cauer (in blu) e del filtro ottenuto dalla cascata di biquad (in rosso) con numeratore di grado 1 Il valore dei coefficienti k a numeratore `e stato calcolato in modo da avere sempre la stessa dinamica in uscita da ciascuna biquad lungo il tragitto del segnale, i valori che si ottengono sono i seguenti: k1 = 1.58 · 10−9 ,
k2 = 8.8 · 10−10 ,
k3 = 4.78 · 10−9
La risposta in frequenza della funzione cos`ı sintetizzata `e riportata in figura 7 sovrapposta alla maschera con ripple di 0.1dB in banda passante. Si riportano inoltre le risposte parziali dall’ingresso del sistema sino all’uscita dalla prima, dalla seconda e dalla terza cella biquabratica, in particolare l’ultima delle tre curve corrispoder`a alla risposta del sistema sintetizzato.
4
Implementazione circuitale ideale
Adesso che il problema `e stato risolto matematicamente scendiamo ad un livello di astrazione inferiore andando ad implementare con componenti ideali il 8
Tesina di Teoria dei circuiti elettronici 2◦ mod
Funzione sintetizzata 40
35
30
|A|dB
25
20
15
10
5
0
0
1
2
3 4 Frequenza f [Hz]
5
6
7 7
x 10
Figura 6: Risposta del filtro sintetizzato, in blu la funzione di Cauer, in rosso la sua approssimazione con numeratore pari a s3 circuito che realizza le funzioni di trasferimento calcolate. Un metodo efficiente per implementare una funzione biquadratica passabanda con un solo amplificatore `e proposto da Deliyannis 1 insieme alla procedura per ottimizzarne i parametri. Prima di procedere vediamo quali sono i gradi di libert`a per il valore dei componenti in oggetto.
4.1
Vincoli tecnologici
La libreria IBM per mette la realizzazione di transistor MOS con lunghezza di canale minima L=0.35 µm e larghezza W=0.5 µm, le dimensioni massime sono dettate dall’occupazione di area del componente per quanto riguarda la larghezza di canale, mentre lunghezza pu`o variare entro limiti ristretti oltre i quali il processo non `e ottimizzato, per cui possono essere considerate massime le dimensioni L=0.5 µm e W=1 mm. I vincoli sui MOS saranno interessanti per 1
T. Deliyannis, Y. Sun, J. K. Fidler - Continuos-time active filter c design - 1999 CRC Press LLC
9
Progetto di un ltro
Bode Diagram
10
Magnitude (dB)
0
−10
−20
−30
−40
−50 180
Phase (deg)
0
−180
−360
−540
−720
8
10
Frequency (rad/sec)
Figura 7: Risposte intermedie della cascata di celle biquadratiche, valutate in uscita dalla prima cella (in blu), dalla seconda (in verde) e l’uscita finale del sistema (in rosso) quello che riguarda la struttura interna dei COA. In questa fase del progetto invece i vincoli da rispettare sono quelli sui componenti passivi: le resistenze debbono essere comprese tra 30 Ω e 100 kΩ (consideriamo una resistenza del polisilicio di 50 Ω/quadro), mentre le capacit`a tra 100 fF e 50 pF.
4.2
Dimensionamento
Consideriamo lo schema circuitale ideale della cella di Delliyannis mostrato in figura 8. La biquadratica ideale `e ideale se l’amplificatore che figura in essa `e ideale. Dimensionando opportunamente le resistenze ed i condensatori che compaiono nel circuito `e possibile ottenere una funzione di trasferimento passabanda con le caratteristiche desiderate. In prima istanza il circuito sembrerebbe avere 6 componenti indipendenti, quindi 6 gradi di libert`a. Un grado di libert`a viene immediatamente rimosso per avere la minima sensibilit`a per il parametro di 10
Tesina di Teoria dei circuiti elettronici 2◦ mod C2
R2
COA C1
R1
OUT+ IN
0 OUT-
Ra
Rb
1Aac 0Adc
0
0
Figura 8: Biquadratica passabanda di Dellyannis implementata con un COA
merito Q, come indicato dal Deliyannis, ponendo C1 = C2 = C. La funzione di trasferimento risultante per il circuito `e: 1+K s R1 C T (s) = K 1 2 2 s + − s+ R2 C R1 C R1 R2 C 2
(1)
Si osserva che sebbene il circuito abbia 6 componenti (quindi 6 gradi di libert`a) non `e possibile assegnare contemporaneamente sia ω0 , Q e K. Vediamo infatti cosa accade dimensionando il circuito per tutti i parametri contemporaneamente. Dalla 1, in cui K = Ra /Rb , si osserva che T(s) non dipende da Ra ed Rb esplicitamente, ma solamente dal loro rapporto, per cui al posto delle due variabili Ra ed Rb posso considerarne una sola (cio`e K), quindi per il circuito restano solamente 4 variabili indipendenti. Confrontando con la generica equazione di un passabanda (2) ottengo il sistema (3). k1 ω02 s k1 s = t(s) = 2 ω0 2 s s s + s + ω02 + + 1 Q ω02 ω0 Q
(2)
11
Progetto di un ltro
ω02 = ω0
1 R1 R2 C 2 K
2
− = Q R2 C R1 C 1+K 2 k1 ω0 =
(3)
R1 C
´ possibile cercare di risolvere il sistema considerando C come parametro E per ricavare il valore di R1 , R2 e K rispetto a C. Dalla terza equazione si osserva per`o che K `e una costante, non dipende cio`e dal parametro libero C, ma il suo valore `e fissato dalle specifiche del filtro (k1 , ω0 e Q). Ricavo K e lo sostituisco nella seconda equazione, che posso risolvere rispetto ad R2 , ottenendo una funzione di R1 oltre che di C, che, sostituita nella prima equazione del sistema (3), pu`o essere scritta nella forma: !
2C
2
ω02
· R12
1 − Ck1 ω0 ω0 C · R1 + 1 − Q
il cui determinante ∆ semplificato dividendo per ω0 C `e v u u t
1 − Ck12 ω0 Q
!2
−8
(4)
si osserva che per valori che abbiano un senso, il termine tra parentesi tonde `e sempre molto pi`u piccolo di 8, in quanto 1/Q sar`a dell’ordine di un decimo, il termine sottratto `e un prodotto tra termini esponenziali con esponenti prevalentemente negativi: C con esponente 10−12 , k1 con esponente 10−9 , solo ω0 ha esponente positivo 108 , ma pi`u piccolo degli altri due esponenti. In definitiva quindi il termine sotto radice sar`a semre negativo, vale a dire che non `e possibile rispettare tutte e tre le equazioni del sistema 3 con componenti integrabili. Nonostante l’alto numero di parametri iniziali quindi, ci si dovr`a accontentare di scegliere i valori dei componenti che permettano di fissare la frequenza ω0 e la selettivit`a Q, rinunciando in questa fase a tunare anche il guadagno. Si procede dunque nel modo seguente: Si fissa il valore della capacit`a C e della resistenza R1 e si ricava il valore di R2 dalla pulsazione desisiderata (pima equazione del sistema (3)). Ricavo K dalla seconda equazione, quindi scelgo Ra ed Rb che hanno come rapporto K. I dati ottenuti sono riassunti nella tabella 9. Nella stessa tabella al posto del k1 compare il guadagno G della biquadratica, che per una cella biquadratica generica come quella mostrata nell’equazione (2) 12
Tesina di Teoria dei circuiti elettronici 2◦ mod
Dimensionamento
Fissati
Obiettivi
Biquad 1 ω0 1.86 108
Biquad 3
2.25 108
1.54 108
Q
3.4
8.2
8.2
G
2.91
0.556
6.02
C
2.2 pF
1.8 pF
2 pF
R1
1KΩ
1KΩ
1.7KΩ
1KΩ
1KΩ
1KΩ
5.98KΩ
6.11KΩ
6KΩ
4.67KΩ
3.6KΩ
1.9KΩ
K
0.214
0.277
0.526
G
10
25.9
23
r
0.167
0.164
1.283
Ra
R2 Rb Ricavati
Biquad2
Figura 9: Parametri di progetto per le tre biquadratiche
nel termine pi`u a destra, `e pari al termine a numeratore (k1 ω02 ) moltiplicato per il rapporto Q/ω0 , che per la biquadratica di Deliyannis assume quindi l’espressione
1+K Q · R1 C ω 0
Si osserva che sebbene il parametro del guadagno sia stato posto nella tabella insieme agli obiettivi di dimensionamento, in questa fase non `e stato raggiunto come mostra lo stesso parametro nella terza parte della tabella con i valori ricavati. Il parametro r `e definito dal rapporto tra R1 ed R2 ; come indicato dal De√ liyannis la sensibilit`a della biquadratica `e proporzionale a r, per cui l’obiettivo `e quello di minimizzare il pi`u possibile il valore di r, come `e stato fatto nel dimensionamento, privilegiando per`o il contenimento dei valori in un intervallo pi`u limitato. Si nota infine che per come `e fatta la biquadratica `e possibile raccogliere in R1 tutta la resistenza vista al nodo di uscita, cio`e anche la resistenza del successivo stadio di ingresso. 13
Progetto di un ltro
5
Simulazioni circuitali
Ora che il filtro `e stato dimensionato passiamo al progetto elettronico, procedendo concretizzando il lavoro precedentemente svolto su un piano pi`u astratto, per arrivare ad un circuito integrabile capace di svolgere la funzione di filtro come richiesto. Per prima cosa si simula ciascuna delle tre celle biquadratiche con Orcad, un ulteriore operazionale viene aggiunto poi in ingresso per modificare il guadagno, infine si sostituisce una struttura reale per gli operazionali in corrente. Ciascun passo richiede aggiustamenti e correzioni per evitare contrastare la distorsione della funzione di trasferimento del filtro dovuta ad ogni modifica del circuito.
5.1
Realizzazione del filtro
Un amplificatore operazionale in corrente in Orcad pu`o essere realizzato con un blocco ideale F, che `e un componente a due porte che presenta in uscita alla seconda porta la corrente in ingresso alla prima porta moltiplicata per un fattore di guadagno selezionabile a piacere. In ingresso viene posta una resistenza di 1 Ω in serie, in uscita 1 MΩ in parallelo, il guadagno `e di 104 . Le simulazioni mostrano un’ottima corrispondenza con la teoria per i parametri ω0 e Q. Per la misura del fattore di merito Q e degli altri parametri di ciascuna cella biquadratica `e stato utilizzato uno script Matlab che legge le serie di dati calcolate da Orcad ed effettua le misure richieste. Lo script Probe `e riportato in appendice insieme agli altri listati. Le tre biquadratiche sono state poi connesse in serie, aggiungendo un ulteriore COA ideale in ingresso a ciascuna di esse per avere un guadagno pari ad 1.
5.2
COA
Il COA `e stato implementato utilizzando una variante dell’architettura proposta da Bruun 2 in cui si `e aggiunto un secondo stadio di guadagno, e le uscite sono state specchiate per estendere il range dinamico. Lo schema circuitale `e mostrato in figura 10, in cui Iin `e il nodo di ingresso connesso all’emettitore di Q1, Out- ed Out+ sono rispettivamente il nodo di ingresso invertente e non invertente. La transcaratteristica dell’amplificatore con le uscite cortocircuitate a massa `e mostrata invece in figura 11, l’asimmetria della risposta `e dovuta alla presenza del riferimento a massa solo nel ramo di uscita invertente. 2
c KluG. Palmisano, G. Palumbo, S. Pennisi - Cmos Current amplifier - wer Academic Publisher.
14
Tesina di Teoria dei circuiti elettronici 2◦ mod Vdd
I1
Vb=0.725V
Q2 CMOSP 0.5u 150u
Q1 CMOSN 0.5u 150u
Iin
CMOSP 0.5u 50u Q5
CMOSP 0.5u 50u Q14
Q11 CMOSP 220u 0.5u
Q12 CMOSP 20u 0.5u
C1
R1
1.2p
1.5k
CMOSP 0.5u 50u Q6
CMOSP 0.5u 50u Q15
Out-
Out+
Q3 CMOSN 0.5u 200u
100uAdc
Q4 CMOSN 0.5u 200u
0 Q8 CMOSN 0.5u 10u
Q7 CMOSN 0.5u 100u
Q9 CMOSN 0.5u 10u
Q16 CMOSN 0.5u 50u
Q10 CMOSN 0.5u 100u
Vss
Q13 CMOSN 0.5u 50u
Figura 10: Schema circuitale del COA Il guadagno dell’amplificatore misurato dalla transcaratteristica `e pari circa 900. La resistenza di ingresso `e di circa 40 Ω, si avvicina molto alla resistenza richiesta dalle specifiche di 50 Ω; la parte mancante potrebbe essere facilmente ottenuta dalla componente parassita resistiva delle interconnessioni, in particolar modo se il segnale venisse connesso direttamente al piedino d’ingresso del circuito del filtro finito e chiuso in package dovrei tener conto di questa resistenza serie. La resistenza d’uscita supera gli 8.5 kΩ, volendo adattare a 50 Ω si potrebbe connettere in parallelo all’uscita un carico resisitivo di 50 Ω. Tuttavia se il segnale subisse ulteriori elaborazioni sullo stesso chip sarebbe pi`u opportuno mantenere elevata l’impedenza di uscita. Il comportamento delle singole biquadratiche cambia non appena il COA ideale viene sostituito con il COA Reale, per cui per riportare le caratteristiche delle biquadratiche a quelle calcolate `e necessario modificare i valori delle resistenze e capacit`a, con un peggioramento dei valori, in particolare il rapporto r tra Ra e Rb si riduce, portando ad una maggiore sensibilizzazione del fattore di merito Q. Il guadagno di ogni biquadratica viene controllato ponendo in ingresso a ciascuna cella un ulteriore COA. Anche dopo questa fase `e necessario ritoccare i parametri, i cui valori sono riportati direttamente nello schema circuitale del filtro in figura 12. La funzione di trasferimento ottenuta simulando il circuito con Orcad `e riportata in figura 13; sullo stesso grafico `e stata sovrapposta la maschera delle specifiche di partenza con ripple di 3 dB. Come si pu`o notare la specifiche sono state pienamente rispettate. Connettendo insieme tutto il sistema come mostrato nella figura 12 `e possi15
Progetto di un ltro Transcaratteristica 600
Output currents μA
400
200
0
−200
−400
−600 −10
−5
0 Input current μA
5
10
Figura 11: Transcaratteristica del COA proposto bile effettuare gli ultimi ritocchi, tra cui oltre ad un’ulteriore modifica dei valori di resistenze e capacit`a presenti nel circuito occorre considerata l’inserzione di un ulteriore COA in uscita in configurazione di buffer che permette di pilotare carichi anche elevati senza percettibili distorsioni della funzione di trasferimento ottenuta, a parte una riduzione del guadagno che eventualmente pu`o essere compensata applicando un potenziomentro tra il nodo invertente del COA di uscita e massa. Come si pu`o osservare dalla figura 12, il valore dei componenti differisce anche notevolmente dal valore dei componenti calcolato riportato nella tabella 9 a pag. 13
5.3
Caratterizzazioni
Nello schema finale del filro dunque si hanno 3 operazionali per realizzare la funzione di trasferimento, 3 operazionali per aggiustare il guadagno di ciascuna biquad, infine un ulteriore operazionale serve da buffer di uscita. Ciascun operazionale ha 4 rami della coppia differenziale di uscita che assorbono circa 500 µA in condizioni statiche, 1 µA `e assorbito dal ramo di ingresso e circa 16
0
I2
Out+
Iin
R2
Out-
2.2p
C1A
R1
0
1k
R4
H3
Iin
COA
Iin
900
RR2
2k
Rb2
3.33k
R2B
Out-
0
Ra2 1k
1.7p
1.2k
COA
Iin
COA1
1k
Out+
2.66k
0
COA
3.32k
Rb3
4k
R2C
Out-
Out+
Out+
Out-
2p
R5
Rb1 4.07k
Out-
Out+
COA2
1.7p
C1B
Iin
COA
H1
C2C
10.3k
1.2k
0
4.22k
R2A
2.2p
C2B
RR1i
Out+
Out-
RR2i
COA
H2
1Aac 0Adc
COA
Iin
COA3
Ra1 1k
C2A
2p
Ra3 2k
0
RR1 9.8k
C1C
0
1.6k
R1C
COA
Iin
COA0
1k
Rf
Out+
Out-
0
RL 1k
Tesina di Teoria dei circuiti elettronici 2◦ mod
Figura 12: Schema completo del filtro progettato
17
Progetto di un ltro Funzione di trasferimento 10
0
|T(f)|dB
−10
−20
−30
−40
−50
−60 10
20
30 40 Frequenza (MHz)
50
60
70 80 90100 100
Figura 13: Funzione di trasferimento complessiva del filtro realizzato ottenuta dalla simulazione Orcad sovrapposta alla maschere di specifica 100 µA servono a polarizzare i due restanti rami. L’assorbimento in potenza in condizioni statiche quindi `e di poco meno di 10 mW per il singolo COA, che diventano 68.65 mW per il filtro completo. Un’altra analisi alla quale `e stato sottoposto il filtro `e lo studio della risposta nel dominio del tempo quando in ingresso `e posto un generatore di segnale sinusoidale a 30 MHz ed ampiezza variabile. La forma d’onda ottenuta in uscita al filtro `e stata utilizzata per la determinazione della transcaratteristica e delle distorsioni, riportate in figura 14. Sono state effettuate molteplici misure della sinusoide in uscita dal filtro ottenuta variando di volta in volta l’ampiezza del segnale in ingresso. Per ciascuna sinusoide in uscita `e stato misurato il livello di picco, poi, dopo un’analisi FFT su 60 periodi sono state misurate le ampiezze della fondamentale e della prima armonica. I punti ottenuti da una simulazione sono indicati nel grafico con una x, gli altri sono ottenuti per interpolazione lineare. Sullo stesso grafico in figura 14 `e stata riportata quindi l’ampiezza del segnale in uscita (quasi identica all’ampiezza della prima armonica) in µA, l’ampiezza 18
Tesina di Teoria dei circuiti elettronici 2◦ mod Transcaratteristica e distorsioni 200 180 160
Uscita del filtro
140 120 100 80 60 40 20 0
0
50
100 150 Corrente in ingresso (μA)
200
250
Figura 14: Funzione di trasferimento complessiva del filtro con carico resistivo di 1 kΩ. I punti indicati con una x corrispondono a misure effetive, le linee continue sono state ottenute per interpolazione lineare. In rosso `e tracciata una transcaratteristica lineare ideale di riferimento, in blu quella reale ottenuta dal filtro (µA in uscita dal filtro). In verde `e rappresentata l’ampiezza della 2a armonica (a 60 MHz) sempre in µA, infine `e tracciata in nero la separazione tra la fondamentale e la prima armonica (in dB)
della seconda armonica a 60 MHz sempre in µA, sul grafico in verde, una transcaratteristica di riferimento ideale (in rosso), e la differenza tra le ampiezze (espresse in dB) della prima e della seconda armonica. In particolare per un ingresso di 77 µA di picco si ha un’uscita di 73.71 µA di picco. Effettuando un’analisi FFT su 60 periodi dell’uscita si ottengono ampiezze di circa A1 =72 µA per la fondamentale a 30 MHz e A2 =1.26 µA per la seconda armonica a 60 MHz (la terza armonica a 90 MHz risulta sempre trascurabile). La separazione armonica, calcolata come differenza in dB tra l’ampiezza della fondamentale e l’ampiezza della 2a armonica per l’ingresso considerato, risulta quindi essere pari a HD2 = 20 log10 (A1 ) − 20 log10 (A2 ) = 35.141 dB. Tale punto `e evidenziato (sempre nel grafico in fig. 14) da un pallino 19
Progetto di un ltro verde sulla transcaratteristica, mentre in generale la separazione armonica `e pi`u in generale rappresentata dalla curva in nero, presente sempre nello stesso grafico, per la quale le ascisse sono da intendersi in dB. Il riferimento a 35 dB `e stato considerato come limite per la dinamica ammessa dal filtro. Se infatti la separazione armonica scende al di sotto di 35 dB, la maschera data nelle specifiche non sarebbe pi`u rispettata poich´e potrei avere un segnale a 60 MHz in uscita non sufficientemente filtrato cio´e con ampiezza superiore ai -35 dB imposti dalla maschera. Per concludere si `e stimata la superficie di silicio richiesta dal chip. I 16 transistor di ogni COA occupano ciascuno dai 5 ai 10 µm2 , per un totale di 730 µm2 per COA. In ogni COA ho una resistenza da 1.5 kΩ. Posso realizzare in tecnologia, aree resistive di 50 Ω/quadro, per cui servono 30 quadri in serie per realizzare la resistenza di compensazione. Se ogni quadro ha le dimensioni di 0.5 µm per lato, sar`a necessaria un’area di 7.5 µm2 . Per quanto riguarda le capacit`a, da misure effettuate sui transistor in Orcad e considerando una mobilit`a µn = 600 cm2 /(V · s), si ottiene per l’ossido una capacit`a di Cox = 643 pF/mm2 , per cui la capacit`a del COA di 1.2 pF occuper`a niente meno che 1866 µm2 ! In definitiva ho circa 2600 µm2 per ciascun COA, in totale quindi serviranno circa 18200 µm2 per i 7 COA. Il valore di resistenza totale presente nel resto del circuito `e di 55.6 kΩ, integrabili in 278 µm2 , mentre le restanti 6 capacit`a occupano circa 1800 µm2 per soli 11 pF! Dalla stima svolta quindi, il circuito richiede una superficie di 36800 µm2 = 0.036 mm2 per integrare tutti i componenti, alla quale va aggiunta la superficie necessaria per le connessioni.
6
Appendice: listati Matlab
In questa sezione sono riportati i sorgenti Matlab utilizzati per lo svolgimento di questa tesina.
6.1
Mask.m
Il seguente `e uno script ausiliario utilizzato all’interno del file Tesina.m presentato nella sezione seguente. Serve ad aggiungere ad un grafico le aree ombreggiate in grigio utilizzate per tracciare le maschere 1
function mask(wp,wa,Ap,Aa) hold on ; %Etichette grafico
20
Tesina di Teoria dei circuiti elettronici 2◦ mod
6
xlabel ( ’ Pulsazione \omega ’ ) ; ylabel ( ’ |A|dB’ ) ; %t i t l e ( ’\bfMaschera ’ , ’ fontsize ’ ,12); grid on ; face =[.6 , .6 , . 6 ] ; %colore della faccia in valore RGB
11
%%% CASO SCALARE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% i f length(wa)==1 && length(wp)==1
16
21
26
31
36
41
i f abs(Ap)
0 % Caso funzione di attenuazione ylim ([0 , yend ] ) ; else % Caso funzione di trasmissione ylim ( [ yend , 0 ] ) ; end; %Plot in banda passante area ([0 ,wp,wp] , [Ap,Ap, yend ] , ’BaseValue ’ ,yend , . . . ’ FaceColor ’ , face , ’EdgeColor ’ , ’k ’ ) ; %Plot in banda attenuata area ( [wa,wa, xend ] , [ 0 ,Aa,Aa] , ’ baseValue ’ , 0 , . . . ’ FaceColor ’ , face , ’EdgeColor ’ , ’k ’ ) ; e l s e i f abs(Ap) > abs(Aa) %% Caso di un f i l t r o passaalto xend=wa∗1.2; %com esopra yend=Ap∗1.15; xlim ([0 , xend ] ) ; i f yend>0 ylim ([0 , yend ] ) ; % Caso funzione di attenuazione else ylim ( [ yend , 0 ] ) ; % Caso funzione di trasmissione end; area ([0 ,wp,wp] , [Ap,Ap, 0 ] , ’BaseValue ’ , 0 , . . . ’ FaceColor ’ , face , ’EdgeColor ’ , ’k ’ ) ; area ( [wa,wa, xend ] , [ yend ,Aa,Aa] , ’ baseValue ’ ,yend , . . . ’ FaceColor ’ , face , ’EdgeColor ’ , ’k ’ ) ; else fprintf ( ’ Errore ! Controllare i formati dei dati in ingresso ’ ) ; end; % fine caso passaalto/basso per i n g r e s s i s c a l a r i
46
51
%%% CASO VETTORIALE %%%%%%%%%%%%%%%%%%%%%%%% e l s e i f length(wp)==2 && length(wa)==2 % Maschera a banda i f abs(max(Aa))>abs(Ap) % Caso di un f i l t r o passabanda xend=wa(2)∗1.2; % aggiungo i l 12% a l l ’ asse x [ c , i ]=max(abs(Aa) ) ; % c non serve , i `e l ’ indice del maggiore yend=Aa( i )∗1.15; % yend conserva i l segno xlim ([0 , xend ] ) ;
21
Progetto di un ltro i f yend > 0 ylim ([0 , yend ] ) ; % imposto i l i m i t i y in else ylim ( [ yend , 0 ] ) ; % base al segno di yend end; i f length(Aa)==1 % v e r i f i c o se l e bande attenuate nn hanno Aa(2)=Aa(1); % att d i f f e r e n t i , in t a l caso A=[Aa,A, ] end; area ([0 ,wa(1) ,wa( 1 ) ] , [Aa(1) ,Aa(1) ,0] , ’BaseValue ’ , 0 , . . . ’ FaceColor ’ , face , ’EdgeColor ’ , ’k ’ ) ; area ( [wp(1) ,wp(1) ,wp(2) ,wp( 2 ) ] , [ yend ,Ap,Ap, yend ] , . . . ’ baseValue ’ ,yend , ’ FaceColor ’ , face , ’EdgeColor ’ , ’k ’ ) ; area ( [wa(2) ,wa(2) ,xend ] , [ 0 ,Aa(2) ,Aa(2)] , ’ baseValue ’ , 0 , . . . ’ FaceColor ’ , face , ’EdgeColor ’ , ’k ’ ) ;
56
61
66
e l s e i f abs(max(Aa))0 ylim ([0 , yend ] ) ; else ylim ( [ yend , 0 ] ) ; end; i f length(Aa)==1 Aa(2)=Aa(1); end; area ([0 ,wa(1) ,wa( 1 ) ] , [Aa(1) ,Aa(1) ,yend ] , ’BaseValue ’ ,yend , . . . ’ FaceColor ’ , face , ’EdgeColor ’ , ’k ’ ) ; area ( [wp(1) ,wp(1) ,wp(2) ,wp(2)] ,[0 ,Ap,Ap, 0 ] , ’ baseValue ’ , 0 , . . . ’ FaceColor ’ , face , ’EdgeColor ’ , ’k ’ ) ; area ( [wa(2) ,wa(2) ,xend ] , [ yend ,Aa(2) ,Aa(2)] , ’ baseValue ’ ,yend , . . . ’ FaceColor ’ , face , ’EdgeColor ’ , ’k ’ ) ; else fprintf ( ’ Errore ! Controllare i formati dei dati ! in ingresso ’ ) ;
71
76
81
end; % fine caso passa/arrestabanda per i n g r e s s i v e t t o r i a l i 86
91
else fprintf ( ’ Errore ! Controllare i formati dei dati in ingresso ’ ) ; end; % fine caso scalare/ v e t t o r i a l e % i n f i n e correggo l ’ ordine del riportando la g r i g l i a sopra l e maschere set(gca, ’ layer ’ , ’ top ’ ) ; %% Fine mask.m
6.2
Tesina.m
Vediamo ora come `e stata sviluppata la parte teorica del progetto con la sequenza completa dei calcoli e la generazione dei grafici % Elt .m
4
% 1. SPECIFICHE DI PROGETTO clear a l l ;
22
Tesina di Teoria dei circuiti elettronici 2◦ mod
9
close a l l ; path=[ ’D:\ Studio\Teoria dei c i r c u i t i e l e t t r o n i c i I I mod\Tesina\Immagini ’ ] ; fa =[15,60]∗1e6 ; % Bordi della banda attenuata in Hz fp=[25,35]∗1e6 ; % Bordi della banda passante in Hz wa=fa∗2∗pi ; % La pulsazione `e 2 pigreco frequenza wp=fp∗2∗pi ; Ap=0.2; % Attenuazione in banda passante (dB) Aa=35; % Attenuazione in banda attenuata save=0; % Salvo l e figure create solo se save=1
14
19
24
29
34
% Creo la figura con haldle Fh nella quale plotter`o l e specifiche spec=figure ( ’Name’ , ’ Specifiche di progetto ’ ) ; mask( fp , fa ,Ap,Aa) ; t i t l e ( ’\bfSpecifiche di attenuazione ’ , ’ fontsize ’ ,11); xlabel ( ’Frequenza f [Hz] ’ ) ; % Salvo se save=1 l ’ immagine come eps a c o l o r i con anteprima Tiff f i g=[path, ’\01Spec ’ ] ; % f i g rappresenta i l percorso e i l nome del f i l e i f save print ( ’−depsc ’ , ’−t i f f ’ , f i g ) end; % 1.1 Normalizzo la maschera w0=sqrt (wp(1)∗wp(2)); % calcolo la frequenza centrale del f i l t r o B=wp(2)−wp(1); % Calcolo la banda del f i l t r o % Applico la trasformazione di normalizzazione del passabanda wpn=( (wp.ˆ2) − w0ˆ2 )./ (B ∗ wp) ; wan=( (wa.ˆ2) − w0ˆ2 )./ (B ∗ wa) ; % Traccio la maschera normalizzata norm=figure ( ’Name’ , ’Maschera normalizzata ’ ) ; % Banda i n f e r i o r e e superiore mask(wpn,wan,Ap,Aa) ; mask(wpn,[−wan(2),−wan(1)] ,Ap,Aa) ; t i t l e ( ’\bfMaschera normalizzata ’ , ’ fontsize ’ ,11); xlabel ( ’ Pulsazione normalizzata \omega n ’ ) ;
39
44
49
% 2. CALCOLO DELLA FUNZIONE DI TRASFERIMENTO NORMALLIZZATA DEL FILTRO %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− wn=[0:0.02:(max(abs(wan))∗1.2)]; % Vettore d e l l e pulsazioni f =[0.2:20000:( fa (2)∗1.2)]; % Vettore d e l l e frequenze % Calcolo i l valore assunto dalla s normalizzata per vari v a l o r i di f Sn=(( i ∗2∗pi∗f ).ˆ2 + w0ˆ2 ) ./ (B∗( i ∗2∗pi∗f ) ) ; % Trovo i parametri del f i l t r o normalizzato di Cauer [N,W3]=e l l i p o r d (max(wpn) ,min(abs(wan)) ,Ap,Aa, ’ s ’ ) ; [num, den]= e l l i p (N,Ap,Aa,W3, ’ s ’ ) ; Twn=polyval(num, i ∗wn)./ polyval(den , i ∗wn) ; % F. ne t r a s f per s=jw AdB=−20∗log10(abs(Twn) ) ; % Modulo in dB figure (norm) ; % sovrappongo la funzione di plot (wn,AdB) % trasferimento a l l a maschera fprintf ( ’\nOrdine del f i l t r o di Cauer\t\t%g\n ’ ,N)
23
Progetto di un ltro 54
59
64
69
% Denormalizzo i l f i l t r o e lo riporto s u l l a maschera passabanda Tf=polyval(num,Sn)./ polyval(den ,Sn) ; AdB=−20∗log10(abs(Tf ) ) ; figure (spec ) ; plot ( f ,AdB) t i t l e ( ’\bfFunzione di trasferimento (Cauer) ’ , ’ fontsize ’ ,11); % SALVO I GRAFICI d e l l e funzioni di trasferimento dei f i l t r i trovati % Grafico dell ’ attenuazione dei f i l t r i passabanda trovati in funz . ne di f f i g = [path, ’\03 F i l t r ’ ] ; % f i g rappresenta i l percorso e i l nome del f i l e i f save print ( ’−depsc ’ , ’−t i f f ’ , f i g ) end; figure (norm) % Grafico dell ’ attenuazione dei f i l t r i normalizzati in funz . ne di f f i g = [path, ’\02FiltrN ’ ] ; % f i g rappresenta i l percorso e i l nome del f i l e i f save print ( ’−depsc ’ , ’−t i f f ’ , f i g ) end;
74
79
84
89
94
99
% 3. SINTESI DELLA FUNZIONE PASSABANDA %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [num, den ] = lp2bp(num, den ,w0,B) ; sys=t f (num, den ) ; Z=roots(num) ; P=roots(den ) ; % 4. SCOMPOSIZIONE IN CELLE BIQUADRATICHE %−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− for i =1:(length(P)/2) % Trovo wo e Q di ciascuna biquadratica wo( i)=sqrt ( real (P(2∗ i −1))ˆ2+imag(P(2∗ i −1))ˆ2 ) ; end; for i =1:(length(P)/2) Q( i)=− wo( i )/(2∗ real (P(2∗ i −1))); end; fprintf ( ’\n\nParametri d e l l e biquad :\n\n ’ ) ;% Stampo i parametri a schermo fprintf ( ’w01 = %g,\ t\tw02 = %g,\ t\tw03 = %g\n ’ ,wo(1) ,wo(2) ,wo(3)) fprintf ( ’Q1 = %g,\ t\tQ2 = %g,\ t\tQ3 = %g\n\n ’ ,Q(1) ,Q(2) ,Q(3)) % Riordino l e biquad per Q crescente (Q2 `e i l pi` u basso , seguono Q1=Q3) t1=t f ([1 , 0] ,[1/(wo(2)ˆ2) , 1/(wo(2)∗Q(2)) , 1]) t2=t f ([1 , 0] ,[1/(wo(1)ˆ2) , 1/(wo(1)∗Q(1)) , 1]) t3=t f ([1 , 0] ,[1/(wo(3)ˆ2) , 1/(wo(3)∗Q(3)) , 1]) % i l sistema cascata di biquad ha f . ne di trasferimento TB=(t1∗t2∗t3 ) ; % distribuzione dei guadagni clear magb mags MS MB f f=logspace(7 ,10 ,301); % Calcolo l e r i s p in frequenza da sovrapporre a l l a maschera . . .
24
Tesina di Teoria dei circuiti elettronici 2◦ mod
104
109
114
119
124
129
134
139
144
149
[magb, phaseb]=bode(TB, f ) ; %magnitudine e fase della cascata di biquad [mags, phases]=bode( sys , f ) ; %magnitudine e fase del sistema % . . . riportando l e matrici mag 3x3 riportate dal o bode come vettori . . . for h=1:length( f ) MS(h)=mags(1 ,1 ,h ) ; end; for h=1:length( f ) MB(h)=magb(1 ,1 ,h ) ; end; K=1/max(magb) ; % i l valore del modulo r e s t i t u i t o da bode `e lin ear e % calcolo l e FDT dall ’ ingresso fino a l l e biquad n . 2 (T2) e n . 3 (T3) T2=t1∗t2 ; T3=t1∗t2∗t3 ; % Calcolo l e risposte in freq d e l l e f . ni p a r z i a l i T1(=t1 ) , T2, T3 `e TB t1 frd=frd (t1 , f ) ; T2 frd=frd (T2, f ) ; % in particolare mi interessa i l modulo, memoriz . nei r i s p . vettori mag [ t1 mag , f ] = frdata ( t1 frd ) ; [T2 mag, f ] = frdata (T2 frd ) ; % poi calcolo i l max della risposta in frequenza max t1=max(abs(t1 mag ) ) ; max T2=max(abs(T2 mag) ) ; max T3=max(abs(MB) ) ; % max T3 max Mn, cio`e i l max della risposta del s i s t % calcolo i k con l e formule 5.17 , 5.19 del Deliyannis , secondo cui % k1=K∗Mn/M1, kj=M( j −1)/Mj, con M massimo della r i s p in frequenza k1=K∗max T3/max t1 ; k2=max t1/max T2; k3=K/(k1∗k2 ) ; % sfrutto la condizione che k1∗k2∗k3=K % Visualizzo a schermo i r i s u l t a t i fprintf ( ’\n\nI c o e f f i c i e n t i al num d e l l e biquad dei f i l t r i sono:\n ’ ) ; fprintf ( ’k1 = %g,\ tk2 = %g,\ tk3 = %g\n ’ ,k1 , k2 , k3 ) ; % GRAFICO LE FUNZIONI di trasferimento del sistema di partenza ( sys ) e del % sistema approssimato con la cascata di biquad (TB) TB=k1∗k2∗k3∗t1∗t2∗t3 ; figure ; hold ; bode( sys , ’b ’ ) ; bode(TB, ’ r ’ ) ; t i t l e ( ’Diagramma di bode del sistma/cascata di biquad ’ ) ; xlabel ( ’Frequency \omega 10ˆ6 ’ ) ; grid ; % Salvo la figura f i g = [path, ’\04Bode ’ ] ; % f i g rappresenta i l percorso e i l nome del f i l e i f save print ( ’−depsc ’ , ’−t i f f ’ , f i g ) end; % Ricalcolo l e r i s p in frequenza da sovrapporre a l l a maschera . . . [magb, phaseb]=bode(TB, f ) ; [mags, phases]=bode( sys , f ) ; % . . . riportando l e matrici mag 3x3 riportate dal comando bode come vettori . . . for h=1:length( f ) MS(h)=mags(1 ,1 ,h ) ; end; for h=1:length( f ) MB(h)=magb(1 ,1 ,h ) ; end; % . . . elimino l e v a r i a b i l i mag e phase diventate i n u t i l i . . . clear magb mags phaseb phases ;
25
Progetto di un ltro
154
159
164
169
174
179
184
189
% . . . bode r e s t i t u i s c e una freq in rad/sec . Riporto in MHz. . . f=f /(2∗pi ) ; % . . . riporto l e ampiezze come attenuazione in dB . . . MS=−20∗log10(MS) ; MB=−20∗log10(MB) ; % . . . i n f i n e traccio i g r a f i c i d e l l e r i s p con la maschera figure ( ’Name’ , ’ R i s u l t a t i della s i n t e s i ’ ) ; hold ; mask( fp , fa ,Ap,Aa) ; t i t l e ( ’\bfFunzione sintetizzata ’ , ’ fontsize ’ ,11); xlabel ( ’Frequenza f [Hz] ’ ) ; plot ( f ,MS, ’ color ’ , ’b ’ ) ; plot ( f ,MB, ’ color ’ , ’ r ’ , ’ linewidth ’ ,1.5); % Salvo se save=1 l ’ immagine come eps a c o l o r i con anteprima Tiff f i g=[path, ’\05Sinth ’ ] ; % f i g rappresenta i l percorso e i l nome del f i l e i f save print ( ’−depsc ’ , ’−t i f f ’ , f i g ) end; %% Traccio la risposta della cascata d e l l e biquad in uscita ai vari stadi f=logspace(8 ,log10(4e8) ,100); figure ( ’name ’ , ’ Risposte intermedie del sistema ’ ) hold ; grid ; bode(k1∗t1 , f ) %blu bode(k1∗t1∗k2∗t2 , f ) %verde bode(k1∗t1∗k2∗t2∗k3∗t3 , f ) %rosso grid ; % Salvo la figura f i g=[path, ’\06Int ’ ] ; % f i g rappresenta i l percorso e i l nome del f i l e i f save print ( ’−depsc ’ , ’−t i f f ’ , f i g ) end; % i n f i n e calcolo i guadagni G1=k1∗wo(1)∗Q(1); G2=k2∗wo(2)∗Q(2); G3=k3∗wo(3)∗Q(3); % e l i stampo in output fprintf ( ’\nI guadagni d e l l e biquad sono:\n ’ ) ; fprintf ( ’G1=%g,\tG2=%G,\tG3=%g,\n\n ’ ,G1,G2,G3) ; %% FINE dello s c r i p t tesina .m
6.3
Probe.m
Infine si riporta il seguente script in grado di misurare da un file contenente l’output della simulazione Orcad i parametri delle curve di trasferimento ottenute, in particolare ampiezza di picco, fattore di merito e pulsazione e frequenza di risonanza 26
Tesina di Teoria dei circuiti elettronici 2◦ mod
1
% probe .m close a l l clear a l l
6
11
16
21
26
31
36
H=figure ( ’name ’ , ’ funzioni di trasferimento ’ ) ; grid ; hold ; set(gca, ’XScale ’ , ’ log ’ ) ; path=’D:\ studio\Teoria dei c i r c u i t i e l e t t r o n i c i I I mod. . . \Tesina\Orcad\Dat esportati\Misure f i n a l i ’ ; f i l e =[path, ’\ t r a n s c a r a t t e r i s t i c a COA+.TXT’ ] ; biquad=load( f i l e ) ; f=(biquad ( : , 1 ) ) ’ ; T=(biquad ( : , 2 ) ) ’ ; Tdb=20∗log10(T) ; [Tpeak, ipeak]=max(Tdb) ; fpeak( j)=f ( ipeak ) ; wpeak( j)=fpeak( j )∗2∗pi ; fpeak=f ( ipeak ) ; wpeak=fpeak∗2∗pi ; T3=Tdb( ipeak)−3; dTmin=4; % var d ’ appoggio che conterr`a i l deltaT for i=ipeak : length( f ) dT=abs(Tdb( i)−T3) ; i f abs(Tdb( i)−T3)
41
fprintf ( ’\n\nFrequenza centrale \t fo=%5.3e ’ , fpeak ) ; fprintf ( ’\nPulsazione centrale \t wo= %5.3e ’ ,2∗ pi∗fpeak ) ; fprintf ( ’\nBanda in rad/sec \t BW= %3.2g ’ ,bw) ; fprintf ( ’\nFattore di merito \t Q= %4.2f ’ ,Q) ;
27