Sei sulla pagina 1di 27

Università degli studi di Roma

S apienza

Università degli studi di Roma S apienza Facoltà di Ingegneria Progetto di un filtro passabanda a

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

Indice

1 Specifiche di progetto

 

3

2 Impostazione del progetto

 

4

2.1

Funzioni di trasferimento

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

4

3 Scomposizione del filtro in celle biquadratiche in cascata

 

5

3.1

Parametri e ottimizzazione delle biquadratiche

 

.

.

.

.

.

.

.

.

.

6

4 Implementazione circuitale ideale

 

8

4.1 Vincoli tecnologici

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9

4.2 Dimensionamento

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

10

5 Simulazioni circuitali

 

14

5.1 Realizzazione del filtro

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

14

5.2 COA

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

14

5.3 Caratterizzazioni

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

16

6 Appendice: listati Matlab

 

20

6.1 Mask.m .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

20

6.2 Tesina.m

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

22

6.3 Probe.m

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

26

|A|dB

1 Specifiche di progetto

Si richiede di progettare un filtro passabanda che presenti attenuazione mi- nore 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.

40

35

30

25

20

15

10

5

0

Specifiche di attenuazione

1. 40 35 30 25 20 15 10 5 0 Specifiche di attenuazione 0 10 20
1. 40 35 30 25 20 15 10 5 0 Specifiche di attenuazione 0 10 20
1. 40 35 30 25 20 15 10 5 0 Specifiche di attenuazione 0 10 20
1. 40 35 30 25 20 15 10 5 0 Specifiche di attenuazione 0 10 20
1. 40 35 30 25 20 15 10 5 0 Specifiche di attenuazione 0 10 20
1. 40 35 30 25 20 15 10 5 0 Specifiche di attenuazione 0 10 20
1. 40 35 30 25 20 15 10 5 0 Specifiche di attenuazione 0 10 20

0

10

20

30

40

50

Frequenza f [MHz]

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 Z in = Z out =50 Ω, le alimentazioni sono fissate a 1.5 V, il filtro deve operare su segnali (sia in ingresso che uscita) a valor medio nullo.

2

Impostazione del progetto

Tra le varie implementazioni possibili per la realizzazione del filtro, la scel-

ta

`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 neces-

sario 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 avva-

lendosi 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 specifi- che 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 ne-

cessari `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’ul- teriore 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 Chebi- scef. 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 sod- disfare la maschera per via delle non idealit`a di un’implementazione circuitale reale.

|A|dB

40

35

30

25

20

15

10

5

0

Maschera normalizzata

◦ |A|dB 40 35 30 25 20 15 10 5 0 Maschera normalizzata 0 0.5 1

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

Pulsazione normalizzata ω n

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 bi- quadratici 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 biquadra- tiche in cascata

Bastano poche istruzioni in Matlab per ricavare la funzione di trasferi- mento completa del filtro di Cauer, che per compattezza non verr`a riportata

|A|dB

40

35

30

25

20

15

10

5

0

Maschera normalizzata

|A|dB 40 35 30 25 20 15 10 5 0 Maschera normalizzata 0 0.5 1 1.5

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

Pulsazione normalizzata ω n

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.

´

E possibile ridurre la complessit`a del filtro approssimando il numeratore di quinto grado ad un termine s 3 . 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 biqua- dratiche sono commentati direttamente all’interno del listato Matlab riportato

Magnitude (dB)

Phase (deg)

100

50

0

50

100

150

200

250

300

350

400 1080

720

360

0

360

Diagramma di bode del sistma/cascata di biquad

360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10
360 0 − 360 Diagramma di bode del sistma/cascata di biquad 10 7 10 8 10

10 7

10 8

10 9

10 10

Frequency ω 10 6 (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 · 10 8 rad/s, Q 1 = 8.2,

ω 2 = 1.86 · 10 8 rad/s, Q 2 = 3.4,

ω 3 = 1.54 · 10 8 rad/s; Q 3 = 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

T 1 =

T 2 =

T 3 =

s

2.9 · 10 17 s 2 + 1.6 · 10 9 s + 1

s

2 · 10 17 s 2 + 5.4 · 10 10 s + 1

s

4.2 · 10 17 s 2 + 8 · 10 10 s + 1

|T dB |

160

140

120

100

80

60

Confronto f.

ne ideale/realizzata

160 140 120 100 80 60 Confronto f. n e ideale/realizzata 10 2 Pulsazione ω [Mrad/sec]
160 140 120 100 80 60 Confronto f. n e ideale/realizzata 10 2 Pulsazione ω [Mrad/sec]
160 140 120 100 80 60 Confronto f. n e ideale/realizzata 10 2 Pulsazione ω [Mrad/sec]
160 140 120 100 80 60 Confronto f. n e ideale/realizzata 10 2 Pulsazione ω [Mrad/sec]

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 se- gnale, i valori che si ottengono sono i seguenti:

k 1 = 1.58 · 10 9 ,

k 2 = 8.8 · 10 10 ,

k 3 = 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

|A|dB

40

35

30

25

20

15

10

5

0

Funzione sintetizzata

◦ |A|dB 40 35 30 25 20 15 10 5 0 Funzione sintetizzata 0 1 2
◦ |A|dB 40 35 30 25 20 15 10 5 0 Funzione sintetizzata 0 1 2
◦ |A|dB 40 35 30 25 20 15 10 5 0 Funzione sintetizzata 0 1 2
◦ |A|dB 40 35 30 25 20 15 10 5 0 Funzione sintetizzata 0 1 2
◦ |A|dB 40 35 30 25 20 15 10 5 0 Funzione sintetizzata 0 1 2
◦ |A|dB 40 35 30 25 20 15 10 5 0 Funzione sintetizzata 0 1 2
◦ |A|dB 40 35 30 25 20 15 10 5 0 Funzione sintetizzata 0 1 2
◦ |A|dB 40 35 30 25 20 15 10 5 0 Funzione sintetizzata 0 1 2

0

1

2

3

4

5

Frequenza f [Hz]

6

7

x 10 7

Figura 6: Risposta del filtro sintetizzato, in blu la funzione di Cauer, in rosso la sua approssimazione con numeratore pari a s 3

circuito che realizza le funzioni di trasferimento calcolate. Un metodo efficiente per implementare una funzione biquadratica passabanda con un solo amplifi- catore `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

design -

c 1999 CRC Press LLC

Magnitude (dB)

Phase (deg)

10

0

10

20

30

40

50 180

0

180

360

540

720

Bode Diagram

40 − 50 180 0 − 180 − 360 − 540 − 720 Bode Diagram 10
40 − 50 180 0 − 180 − 360 − 540 − 720 Bode Diagram 10
40 − 50 180 0 − 180 − 360 − 540 − 720 Bode Diagram 10
40 − 50 180 0 − 180 − 360 − 540 − 720 Bode Diagram 10
40 − 50 180 0 − 180 − 360 − 540 − 720 Bode Diagram 10
40 − 50 180 0 − 180 − 360 − 540 − 720 Bode Diagram 10
40 − 50 180 0 − 180 − 360 − 540 − 720 Bode Diagram 10

10 8

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 compa- iono 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 vie- ne immediatamente rimosso per avere la minima sensibilit`a per il parametro di

1Aac

0Adc

C2 R2 COA C1 R1 OUT+ IN 0 OUT- Ra Rb 0 0
C2
R2
COA
C1
R1
OUT+
IN
0
OUT-
Ra
Rb
0
0

Figura 8: Biquadratica passabanda di Dellyannis implementata con un COA

merito Q, come indicato dal Deliyannis, ponendo C 1 = C 2 = C. La funzione di trasferimento risultante per il circuito `e:

T(s) =

1 + K

R 1 C

s

s 2 +

2

R

2

C

K C s +

R

1

1

R 1 R 2 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 contempo- raneamente. Dalla 1, in cui K = R a /R b , si osserva che T(s) non dipende da R a ed R b esplicitamente, ma solamente dal loro rapporto, per cui al posto delle due variabili R a ed R b posso considerarne una sola (cio`e K), quindi per il cir- cuito restano solamente 4 variabili indipendenti. Confrontando con la generica equazione di un passabanda (2) ottengo il sistema (3).

t(s) =

k 1 s s

s

2

2

ω 0

+

ω 0 Q + 1

=

k 1 ω

2

0

s

s 2 + ω 0 s + ω

Q

2

0

(2)

2

ω 0 =

ω

0

Q

=

k 1 ω

2

0

1

R 1 R 2 C 2

2

R 2 C

K

R 1 C

= 1 + K

R 1 C

(3)

´

E

possibile cercare di risolvere il sistema considerando C come parametro

per ricavare il valore di R 1 , R 2 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 (k 1 , ω 0 e Q). Ricavo K e lo sostituisco nella seconda equazione, che posso risolvere rispetto ad R 2 , ottenendo una funzione di R 1 oltre che di C, che, sostituita nella prima equazione del sistema (3), pu`o essere scritta nella forma:

2C 2 ω

2

0 ·

R 2 Q Ck 1 ω 0 ω 0 C · R 1 + 1

1

1

il cui determinante semplificato dividendo per ω 0 C `e

1

Q Ck

2

1

ω 0 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 , k 1 con esponente 10 9 , solo ω 0 ha esponente positivo 10 8 , 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 R 1 e si ricava il valore di R 2 dalla pulsazione desisiderata (pima equazione del sistema (3)). Ricavo K dalla seconda equazione, quindi scelgo R a ed R b che hanno come rapporto K. I dati ottenuti sono riassunti nella tabella 9. Nella stessa tabella al posto del k 1 compare il guadagno G della biquadratica, che per una cella biquadratica generica come quella mostrata nell’equazione (2)

Dimensionamento

Obiettivi

ω 0

Q

G

Biquad 1

Biquad2

1.86 10 8

2.25 10 8

3.4

8.2

2.91

0.556

C 2.2 pF R 1KΩ 1 R 1KΩ a R 5.98KΩ 2 R 4.67KΩ b
C
2.2 pF
R
1KΩ
1
R
1KΩ
a
R
5.98KΩ
2
R
4.67KΩ
b
K
0.214
G
10
r
0.167
Ricavati
Fissati

Biquad 3

1.54 10 8

8.2

6.02

1.8 pF

2 pF

1KΩ

1.7KΩ

1KΩ

1KΩ

6.11KΩ

6KΩ

3.6KΩ

1.9KΩ

0.277

0.526

25.9

23

0.164

1.283

1.7KΩ 1KΩ 1KΩ 6.11KΩ 6KΩ 3.6KΩ 1.9KΩ 0.277 0.526 25.9 23 0.164 1.283
1.7KΩ 1KΩ 1KΩ 6.11KΩ 6KΩ 3.6KΩ 1.9KΩ 0.277 0.526 25.9 23 0.164 1.283
1.7KΩ 1KΩ 1KΩ 6.11KΩ 6KΩ 3.6KΩ 1.9KΩ 0.277 0.526 25.9 23 0.164 1.283
1.7KΩ 1KΩ 1KΩ 6.11KΩ 6KΩ 3.6KΩ 1.9KΩ 0.277 0.526 25.9 23 0.164 1.283
1.7KΩ 1KΩ 1KΩ 6.11KΩ 6KΩ 3.6KΩ 1.9KΩ 0.277 0.526 25.9 23 0.164 1.283
1.7KΩ 1KΩ 1KΩ 6.11KΩ 6KΩ 3.6KΩ 1.9KΩ 0.277 0.526 25.9 23 0.164 1.283
1.7KΩ 1KΩ 1KΩ 6.11KΩ 6KΩ 3.6KΩ 1.9KΩ 0.277 0.526 25.9 23 0.164 1.283
1.7KΩ 1KΩ 1KΩ 6.11KΩ 6KΩ 3.6KΩ 1.9KΩ 0.277 0.526 25.9 23 0.164 1.283
1.7KΩ 1KΩ 1KΩ 6.11KΩ 6KΩ 3.6KΩ 1.9KΩ 0.277 0.526 25.9 23 0.164 1.283

Figura 9: Parametri di progetto per le tre biquadratiche

) moltiplicato per il

rapporto Q0 , che per la biquadratica di Deliyannis assume quindi l’espressione

nel termine pi`u a destra, `e pari al termine a numeratore (k 1 ω

2

0

1 + K

· Q

R 1 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 R 1 ed R 2 ; 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 rac- cogliere in R 1 tutta la resistenza vista al nodo di uscita, cio`e anche la resistenza del successivo stadio di ingresso.

5 Simulazioni circuitali

Ora che il filtro `e stato dimensionato passiamo al progetto elettronico, proce- dendo concretizzando il lavoro precedentemente svolto su un piano pi`u astratto,

per arrivare ad un circuito integrabile capace di svolgere la funzione di filtro co- me 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 cor-

rente. 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 10 4 . 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 pro-

posta 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 G. Palmisano, G. Palumbo, S. Pennisi - Cmos Current amplifier - c Klu- wer Academic Publisher.

Vdd

CMOSP20uQ12 0.5u Vb=0.725V Q11CMOSP220u0.5u R1 Q2CMOSP0.5u150u CMOSP0.5u50u Q14 100uAdc I1 Q8CMOSN0.5u10u Iin
CMOSP20uQ12 0.5u Vb=0.725V Q11CMOSP220u0.5u
R1 Q2CMOSP0.5u150u CMOSP0.5u50u Q14
100uAdc I1
Q8CMOSN0.5u10u
Iin Q1CMOSN0.5u150u Q7CMOSN0.5u100u 1.2pC1 1.5k
Q9CMOSN0.5u10u Out+ Q16CMOSN0.5u50u Q3CMOSN0.5u200u CMOSN0.5uQ4 200u
CMOSP0.5u50u Q5 Q10CMOSN0.5u100u CMOSP0.5u50u Q6
0
Vss
Q13CMOSN0.5u50u Q15 CMOSP0.5u50u Out-

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 parti- colar 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 resi- stenze e capacit`a, con un peggioramento dei valori, in particolare il rapporto r tra R a e R b 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 possi-

Output currents μA

Transcaratteristica

600

400

200

0

200

400

600

A Transcaratteristica 600 400 200 0 − 200 − 400 − 600 − 10 − 5

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 componen-

ti 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 cia-

scuna 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

Ra11k
Ra11k

Figura 12: Schema completo del filtro progettato

|T(f)| dB

Funzione di trasferimento

10

0

10

20

30

40

50

60

trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10
trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10
trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10
trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10
trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10
trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10
trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10
trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10
trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10
trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10
trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10
trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10
trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10
trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10
trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10
trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10
trasferimento 10 0 − 10 − 20 − 30 − 40 − 50 − 60 10

10 20

40

Frequenza (MHz)

30

50

60

70

80 90100100

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 cia- scuna 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 segna- le in uscita (quasi identica all’ampiezza della prima armonica) in µA, l’ampiezza

Uscita del filtro

Transcaratteristica e distorsioni

200

180

160

140

120

100

80

60

40

20

0

e distorsioni 200 180 160 140 120 100 80 60 40 20 0 0 50 100

0

50

100

150

200

250

Corrente in ingresso (μA)

Figura 14: Funzione di trasferimento complessiva del filtro con carico resi- stivo 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 2 a 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 trans- caratteristica 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 A 1 =72 µA per la fondamentale a 30 MHz e A 2 =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 2 a armonica per l’ingresso considerato, risulta quindi essere pari a HD 2 = 20 log 10 (A 1 ) 20 log 10 (A 2 ) = 35.141 dB. Tale punto `e evidenziato (sempre nel grafico in fig. 14) da un pallino

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 am- messa 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 µm 2 , per un totale di 730 µm 2 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 µm 2 . Per quanto riguarda

le

capacit`a, da misure effettuate sui transistor in Orcad e considerando una

mobilit`a µ n = 600 cm 2 /(V · s), si ottiene per l’ossido una capacit`a di C ox = 643 pF/mm 2 , per cui la capacit`a del COA di 1.2 pF occuper`a niente meno che

1866 µm 2 !

In definitiva ho circa 2600 µm 2 per ciascun COA, in totale quindi serviranno circa 18200 µm 2 per i 7 COA. Il valore di resistenza totale presente nel resto del circuito `e di 55.6 kΩ,

integrabili in 278 µm 2 , mentre le restanti 6 capacit`a occupano circa 1800 µm 2 per soli 11 pF! Dalla stima svolta quindi, il circuito richiede una superficie di 36800 µm 2 = 0.036 mm 2 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 svolgi- mento di questa tesina.

6.1

Mask.m

Il seguente `e uno script ausiliario utilizzato all’interno del file Tesina.m pre- sentato 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

 

xlabel( ’Pulsazione

\omega’ );

 

6

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

 

i f abs(Ap)<abs(Aa) %% Caso di un f i l t r o passabasso

 

16

 

xend=wa1.2; %Calcolo i l im i t i del g ra fico yend=Aa1.15; %aggiungendo i l 2015% a gli a s si

xlim ([0 ,xend ] );% e imposto i l grafico con i l im i t i calcolati

i

f

yend > 0 ylim ([0 ,yend ] );

% Caso funzione

di attenuazione

 

21

else

 

% Caso funzione

di trasmissione

 

ylim ([ yend , 0] );

 
 

end;

 

%Plot in banda passante area ([0 ,wp,wp] ,[Ap,Ap, yend] , ’BaseValue ’ ,yend ,

 

26

’FaceColor ’ , face , ’EdgeColor ’ , ’k ’ ); %Plot in banda attenuata area ([wa,wa, xend] ,[ 0 ,Aa,Aa] , ’ baseValue ’ , 0 , ’FaceColor ’ , face , ’EdgeColor ’ , ’k ’ );

 

31

elsei f abs(Ap) > abs(Aa) %% Caso di un f i l t r o passaalto

 
 

xend=wa1.2;

%com esopra

 

yend=Ap1.15;

 

xlim ([0 ,xend ] );

i

f yend>0 ylim ([0 ,yend ] ); % Caso funzione di

attenuazione

36

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 ,

 

41

 

’FaceColor ’ , face , ’EdgeColor ’ , ’k ’ );

 

else

fprintf( ’Errore!

fprintf ( ’Errore!

Controllare

fprintf ( ’Errore! Controllare i formati dei dati in ingresso ’ );

i

i

formati

formati

dei

dati

dati

fprintf ( ’Errore! Controllare i formati dei dati in ingresso ’ );

in

in

ingresso ’ );

end; % fine caso passaalto/basso per i n g re s si s cala ri

 

46

 

%%%

CASO VETTORIALE

%%%%%%%%%%%%%%%%%%%%%%%%

 

elsei f

i f

length(wp)==2 && length(wa)==2 % Maschera a banda abs(max(Aa))>abs(Ap) % Caso di un f i l t r o passabanda

 
 

xend=wa(2)1.2;

%

aggiungo i l 12% all ’ asse x

51

[ c , i]=max(abs(Aa) ); %

 

c non serve ,

 

i

`e

l ’ indice del

maggiore

yend=Aa( i )1.15; xlim ([0 ,xend ] );

% yend conserva i l segno

i f yend > 0 ylim ([0 ,yend ] ); % imposto i l im
i
f
yend > 0
ylim ([0 ,yend ] );
%
imposto i
l im i t i
y
in
else ylim ([ yend , 0] );
%
base al segno di yend
end;
56
i
f length(Aa)==1
%
v e ri fi c o
le bande attenuate nn hanno
Aa(2)=Aa(1);
%
se
att di f fe re n ti ,
in tal caso A=[Aa,A,
]
end;
area ([0 ,wa(1) ,wa( 1 )] ,[Aa(1) ,Aa(1) ,0] , ’BaseValue ’ , 0 ,
61
’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 ’ );
66
elsei f abs(max(Aa))<abs(Ap) % Fil t r o arrestabanda
xend=wa(2)∗1.2;
yend=Ap∗ 1.15;
xlim ([0 ,xend ] );
i
f yend>0 ylim ([0 ,yend ] );
71
else
ylim ([ yend , 0] );
end;
i
f length(Aa)==1
Aa(2)=Aa(1);
end;
76
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 ’ );
81
else fprintf( ’Errore!
Controllare
i
formati
dei
dati !
in
ingresso ’ );
end; % fine caso passa/arrestabanda per
i n g re s si
v e t t o r i a l i
else fprintf( ’Errore!
Controllare
i
formati
dei
dati
in
ingresso ’ );
86
end; % fine caso scalare/ve t t o riale
%
infine
correggo l ’ ordine del riportando la g r i g l i a
sopra le maschere
set(gca, ’ layer ’ , ’ top ’ );
%% Fine mask.m
91
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
% 1. SPECIFICHE DI PROGETTO
clear all ;
4

 

close all ; path=[’D:\ Studio\Teoria

dei

dei

circuiti

elettronici

elettronici
 

II

mod\Tesina\Immagini ’ ] ;

fa=[15,60]1e6; % Bordi della banda attenuata in Hz

 

fp=[25,35]1e6; % Bordi della banda passante in Hz

9

wa=fa

2pi

;

% La pulsazione `e

 

2 pigreco frequenza

wp=fp 2pi

;

Ap=0.2;

% Attenuazione

 

in banda passante (dB) in banda attenuata

 

Aa=35;

% Attenuazione

save=0;

% Salvo le figure

 

create solo se save=1

 

14

 

%

Creo la

figu ra con haldle Fh

 

nella quale

plotter`o le speci fiche

 

spec=figure ( ’Name’ , ’ Specifiche mask( fp , fa ,Ap,Aa);

spec= figure ( ’Name’ , ’ Specifiche mask( fp , fa ,Ap,Aa);

di

di

progetto ’ );

 

title ( ’\bfSpecifiche

di

attenuazione ’ , ’ fontsize ’ ,11);

 

19

xlabel( ’Frequenza

xlabel ( ’Frequenza
 

f

[Hz] ’ );

[Hz] ’ );

 

%

Salvo se save=1 l ’immagine come eps a c ol o ri con anteprima Tiff

 

fi g=[path,

\01Spec ’ ] ; % fi g rappresenta

i l

percorso e

i l

nome del

f i l e

i f

save

print(

depsc ’ ,

t i f f ’ , fig )

 

24

end;

 

%

1.1 Normalizzo la maschera

 

w0=sqrt (wp(1) wp(2)); %

calcolo

la

 

frequenza

centrale del f i l t r o f i l t r o

 

B=wp(2)wp(1); % Calcolo

la

banda del

29

%

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 ’ );

 

34

%

Banda i n f e ri o r e e superiore

 

mask(wpn,wan,Ap,Aa);

 

mask(wpn,[wan(2),wan(1)] ,Ap,Aa);

 

title ( ’\bfMaschera xlabel( ’Pulsazione

 

normalizzata ’ , ’ fontsize ’ ,11);

 

normalizzata

\omega n’ );

 

39

 

%

2. CALCOLO DELLA FUNZIONE DI TRASFERIMENTO NORMALLIZZATA DEL FILTRO

%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

wn=[0:0.02:(max(abs(wan)) 1.2)]; f =[0.2:20000:(fa (2)1.2)];

 

%

Vettore delle pulsazioni Vettore delle frequenze

 

%

44

%

Calcolo i l

valore assunto dalla s normalizzata per vari valori di f

Sn=((i 2pif ).ˆ2 + w0ˆ2 ) ./ (B( i 2pif ) );

 

%

Trovo i parametri del f i l t r o normalizzato di Cauer

 

[N,W3]=elli p o r d (max(wpn) ,min(abs(wan)) ,Ap,Aa, ’ s ’ ); [num, den]= e l l i p (N,Ap,Aa,W3, ’ s ’ );

 

49

Twn=polyval (num, i wn)./ polyval (den, i wn); %

F. ne

t ra s f

per s=jw

 

AdB=20log10 ( abs (Twn) ); figure (norm); plot (wn,AdB)

 

%

Modulo in dB

 
 

%

sovrappongo la funzione di

 

%

trasferimento alla maschera

fprintf ( ’\nOrdine

fprintf ( ’ \ nOrdine
 

del

del

filtro

di

di

di

Cauer \ t \ t%g\n ’ ,N)

 

54

 

%

Denormalizzo i l

f i l t r o e lo riporto sulla maschera passabanda

 

Tf=polyval (num,Sn)./ polyval (den,Sn);

 

AdB=20log10 ( abs (Tf ) ); figure(spec );

 

59

plot ( f ,AdB)

 

title ( ’\bfFunzione

di

trasferimento

(Cauer) ’ , ’ fontsize ’ ,11);

 

% SALVO I GRAFICI delle funzioni di

trasferimento

dei

f i l t r i

t rova ti

 

% Grafico dell ’ attenuazione dei

f i l t r i passabanda

trovati

in funz

. ne

di

f

64

fi g = [ path, ’\03 F i l t r ’

] ; % fi g rappresenta

i l

percorso

e

i l

nome del

f i l e

i

f save print( ’depsc ’ , ’t i f f ’ , fig )

 

end;

 

figure (norm)

69

%

Grafico dell ’ attenuazione

dei

f i l t r i

normalizzati in

funz

. ne

di

f

fi g = [ path, ’\02FiltrN ’ ]

; % fi g rappresenta

i l

percorso e

i l

nome del

f i l e

i

f save print( ’depsc ’ , ’t i f f ’ , fig )

 

end;

 

74

 

%

3. SINTESI DELLA FUNZIONE PASSABANDA

 

%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

[num, den] = lp2bp(num, den,w0,B); sys=t f (num, den );

 

79

Z=roots(num); P=roots(den );

 

%

4. SCOMPOSIZIONE IN CELLE BIQUADRATICHE

 

%−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

84

for

i =1:(length (P)/2)

% Trovo wo e Q di

ciascuna

biquadratica

 
 

wo( i)=sqrt ( real (P(2i 1))ˆ2+imag(P(2i 1))ˆ2

);

 

end;

 

for

i =1:(length(P)/2) Q( i)=wo( i )/(2 real (P(2i 1)));

 

89

end;

 

fprintf ( ’\n\nParametri

delle

biquad:\n\n ’ );% Stampo i

parametri a

%g,\ t\tw02

=

delle biquad: \ n \ n ’ ); % Stampo i parametri a %g, \ t
delle biquad: \ n \ n ’ ); % Stampo i parametri a %g, \ t

%g,\ t\tw03

=

delle biquad: \ n \ n ’ ); % Stampo i parametri a %g, \ t
delle biquad: \ n \ n ’ ); % Stampo i parametri a %g, \ t

%g\n ’ ,wo(1) ,wo(2) ,wo(3))

=

delle biquad: \ n \ n ’ ); % Stampo i parametri a %g, \ t
delle biquad: \ n \ n ’ ); % Stampo i parametri a %g, \ t

schermo

fprintf ( ’w01 fprintf ( ’Q1

=

%g,\ t\tQ2

=

%g,\ t\tQ3

=

%g\n\n ’ ,Q(1) ,Q(2) ,Q(3))

%

Riordino le biquad per Q crescente (Q2 `e

i l pi`u basso , seguono Q1=Q3)

 

94

t1=t f ([1 , t2=t f ([1 , t3=t f ([1 ,

0] ,[1/(wo(2)ˆ2),

0] ,[1/(wo(1)ˆ2),

0] ,[1/(wo(3)ˆ2),

1/(wo(2)Q(2)) ,

1/(wo(1)Q(1)) ,

1/(wo(3)Q(3)) ,

1])

1])

1])

%

i l sistema cascata di biquad

ha

f . ne di trasferimento

 

TB=(t1 t2 t3

);

 

99

%

distribuzione dei guadagni

 

clear magb mags MS MB f f=logspace (7,10,301);

 

%

Calcolo le ri s p in frequenza

da

sovrapporre alla maschera

 

[magb, phaseb]=bode(TB, f ); %magnitudine [mags, phases]=bode( sys , f ); %magnitudine e fase della
[magb, phaseb]=bode(TB, f );
%magnitudine
[mags, phases]=bode( sys , f );
%magnitudine
e fase della cascata di biquad
e fase del sistema
104
%
le matrici mag 3x3 riportate dal
o bode come
vettori
for
riportando
h=1:length( f )
h=1:length( f )
MS(h)=mags(1 ,1 ,h );
MB(h)=magb(1 ,1,h );
end;
for
end;
K=1/max(magb); % i l
valore del
modulo r e s ti t ui t o da bode `e lineare
%
calcolo le FDT dall ’
ingresso
fino
a l l e
biquad n. 2 (T2)
e
n.
3 (T3)
109
T2=t1 ∗ t2 ;
T3=t1 ∗ t2 ∗ t3
;
%
Calcolo
le
rispos te in freq delle
f . ni
pa r ziali
T1(=t1 ) , T2,
T3 `e TB
t1 frd=frd (t1 , f );
T2 frd=frd (T2, f );
%
in pa r ticola re mi
inte ressa
i l modulo,
memoriz.
nei
ri s p .
ve t to ri
mag
[ t1 mag,
f
]
=
frdata ( t1 frd );
114
[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
119
%
calcolo
i
k
con le formule 5.17, 5.19 del Deliyannis , secondo cui
%
k1=K∗Mn/M1, kj=M( j −1)/Mj, con M massimo
della ri 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
124
%
Visualizzo a
schermo i
r i s u l t a t i
fprintf( ’\n\nI
coefficienti
al
num
delle
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
129
%
sistema approssimato con la cascata di biquad (TB)
TB=k1 ∗ k2 ∗ k3 ∗ t1 ∗ t2 ∗ t3 ;
figure ; hold ;
bode( sys , ’b ’ );
bode(TB, ’ r ’ );
134
ti tl e ( ’Diagramma
di
bode
del
sistma/cascata
di
biquad ’ );
xlabel( ’Frequency
grid ;
\omega
10ˆ6 ’ );
%
Salvo la figura
fi g = [ path, ’\04Bode’ ]
; % fi g
rappresenta i l
percorso e
i l
nome del
f i l e
139
i f
save
print( ’−depsc ’ , ’−t i f f ’ , fig )
end;
%
Ricalcolo le ri s p in
frequenza da sovrapporre alla maschera
144
[magb, phaseb]=bode(TB, f );
[mags, phases]=bode( sys , f );
%
le matrici mag 3x3 riportate dal comando bode come vettori
for
riportando
h=1:length( f )
MS(h)=mags(1 ,1 ,h );
end;
for
h=1:length( f )
MB(h)=magb(1 ,1,h );
end;
149
%
.
clear magb mags phaseb phases ;
.
.
elimino le
v a r i a b i l i mag e phase diventate
i n u t i l i

% . . . bode r e s ti t ui s c e una
%
.
.
.
bode
r e s ti t ui s c e una freq
in rad/sec .
Riporto in
f=f /(2∗pi );
%
.
.
.
riporto le ampiezze come attenuazione
in
154
MS=−20∗log10 (MS);
MB=−20∗log10 (MB);
%
.
figure ( ’Name’ , ’ Ri s ul ta ti
.
.
infine traccio i
g ra fi c i delle risp con la maschera
della
sintesi ’ );
159
hold ;
mask( fp , fa ,Ap,Aa);
title ( ’\bfFunzione
xlabel( ’Frequenza
sintetizzata ’ , ’ fontsize ’ ,11);
f
[Hz] ’ );
plot ( f ,MS, ’ color ’ , ’b ’ );
plot ( f ,MB, ’ color ’ , ’ r ’ , ’ linewidth ’ ,1.5 );
164
%
Salvo se
save=1 l ’immagine come eps a c ol o ri con anteprima Tiff
fi g=[path,
’\05Sinth
’ ] ; % fi g
rappresenta
i l
percorso e
i l
nome del
f i l e
i
f save
print(
’−depsc ’ ,
’−t i f f ’ , fig )
end;
169
%% Traccio la risposta della cascata delle biquad in uscita ai vari stadi
f=logspace (8, log10(4e8) ,100);
figure ( ’name’ , ’ Risposte
intermedie
del
sistema ’)
hold ; grid
;
174
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
179
fi g=[path,
’\06Int ’ ] ;
% fi g
rappresenta
i l
percorso e
i l
nome del
f i l e
i
f save
print(
’−depsc ’
, ’−t i f f ’ , fig )
end;
%
infine calcolo i guadagni
184
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
delle
biquad
sono:\n ’ );
189
fprint f (
%% FINE
’G1=%g, \ tG2=%G, \ tG3=%g, \ n\n ’ ,G1,G2,G3);
dello sc rip 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 otte- nute, in particolare ampiezza di picco, fattore di merito e pulsazione e frequenza di risonanza

% probe .m 1 close all clear all 6 H=figure ( ’name’ , ’ funzioni
%
probe .m
1
close all
clear all
6
H=figure ( ’name’ , ’ funzioni
grid ; hold ;
set(gca, ’XScale ’ , ’ log ’ );
di
trasferimento ’ );
path=’D:\ studio\Teoria
dei
circuiti
elettronici
II
\Tesina\Orcad\Dat
esportati\Misure
finali ’ ;
11
f i l e =[path , ’\ t ran sca ra t te ri s tica
biquad=load( f i l e );
f=(biquad (: , 1 ) ) ’;
COA+.TXT’ ] ;
T=(biquad (: , 2 ) ) ’;
16
Tdb=20∗log10(T);
[Tpeak, ipeak]=max(Tdb);
fpeak( j)=f (ipeak );
21
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
26
for
i=ipeak : length( f )
dT=abs (Tdb(
i)−T3);
i
f abs (Tdb(
i)−T3)<dTmin
dTmin=dT;
31
imin=i ;
end;
end;
36
bw( j)=4∗abs( f (imin)−fpeak( j ))∗ pi ;
Q( j )=(2∗ pi ∗ fpeak ( j ))/bw( j );
bw=4∗abs ( f (imin)−fpeak) ∗ pi ;
Q=(2∗pi∗fpeak)/bw;
plot ( f ,Tdb)
41
fprintf ( ’\n\nFrequenza
fprintf( ’\nPulsazione
centrale
\t
centrale
\t
wo=
fo=%5.3e ’ , fpeak );
%5.3e ’ ,2∗ pi∗fpeak );
fprintf ( ’\nBanda
fprintf( ’\nFattore
in
rad/sec
\t
BW=
di
merito
\t
Q=
%3.2g ’ ,bw);
%4.2f ’ ,Q);