11
Le prove eseguite, riguardanti l’applicazione dell’algoritmo proposto ad un filtro
multi-standard in banda base, confermano in gran parte i risultati delle simulazioni e
mostrano l’efficacia della tecnica nelle condizioni pratiche operative ed in presenza di
rumore.
L’elaborato si compone di cinque capitoli. Nel Capitolo 1 è presente una sintetica
descrizione delle tradizionali procedure di tuning dei filtri attivi. Nel Capitolo 2 è
presente invece una descrizione della tecnica di tuning che verrà adottata, corredata da
alcune simulazioni. Nel Capitolo 3 verrà affrontato lo schema generale del sistema
sperimentale e il progetto di una scheda PCB per il tuning di un filtro per applicazioni
UMTS. Nel Capitolo 4 verrà affrontata la discussione dello sviluppo dell’algoritmo di
valutazione della funzione di cross-correlazione di una sequenza pseudo-random,
tramite FPGA. Nel Capitolo 5 saranno presentati i risultati ottenuti dalle misure
sperimentali. Infine verranno esposte le conclusioni del lavoro svolto.
12
CAPITOLO 1
TUNING DEI FILTRI ATTIVI
1.1 INTRODUZIONE
I filtri analogici sono blocchi fondamentali nel “processing” di segnali analogici e
“mixed-mode”. Ad esempio, nei sistemi di telecomunicazione, un filtro analogico,
posto prima dell’ADC, può essere usato per ridurre il rumore fuori banda, per
rigettare i canali adiacenti, e, in alcuni casi, per selezionare il canale desiderato [1]. Ci
sono molteplici tecniche per la realizzazione in silicio di filtri analogici da inserire in
un trasmettitore a singolo chip. I principali approcci per il “processing” dei segnali,
sono due: sistemi “sampled-data” e sistemi tempo continui.
I filtri “sampled-data”, che fanno riferimento principalmente a strutture basate su
capacità commutate (swithed-capacitor-SC), richiedono filtri anti-aliasing e,
possibilmente, filtri di “smoothing” (che non sono necessari quando il filtro precede
l’ADC). In aggiunta [3,4], devono avere una frequenza di campionamento che sia
minimo pari al doppio della frequenza più alta all’interno della maschera del filtro, in
accordo con il teorema di Nyquist. Di conseguenza, si richiede, per questi filtri,
grande larghezza di banda a guadagno unitario degli opamp, grande consumo di
potenza, incremento della complessità, … D’altra parte, i filtri SC garantiscono un’
accurata risposta in frequenza senza alcun sistema di tuning; questa caratteristica si
rivela molto importante quando canali diversi sono molto vicini, in frequenza, l’uno
all’altro.
Questa proprietà non si verifica nei filtri tempo–continui (CT). Tale tipologia di filtro,
non richiedendo un ulteriore filtraggio del segnale in ingresso o in uscita, presenta una
risposta in frequenza determinata da costanti di tempo costituite da componenti
incorrelati (C/g
m
o RC). Di conseguenza, anche se i filtri tempo-continui possono
13
impiegare opamp a più piccola larghezza di banda a guadagno unitario rispetto ai filtri
SC, richiedono necessariamente un sistema di “tuning” per allineare la loro risposta in
frequenza. Questo diventa particolarmente importante in considerazione dei seguenti
due obiettivi:
• compensare le variazione dei componenti rispetto al loro valore nominale ( a
causa dello spread tecnologico, della temperatura,…);
• effettuare l’operazione di tuning per differenti standard di frequenza (UMTS,
GSM, W-LAN), come richiesto, per esempio, in terminali di
telecomunicazione multistandard.
Alla luce di quanto detto, sono state proposte in letteratura diverse tecniche di tuning,
per modificare la risposta in frequenza di filtri tempo continui. Esse possono descritte
e confrontate in funzione dei seguenti parametri:
• accuratezza della risposta in frequenza: questa è certo un parametro cruciale e
dipende fortemente dall’implementazione del circuito di tuning. In sistemi di
tuning puramente analogici, questa può essere limitata da tipiche non idealità
dei circuiti analogici (guadagni, offset,…), mentre nelle soluzioni “mixed-
signal”, l’accuratezza è limitata anche dal numero di bit utilizzati nella parte
digitale;
• tempo di tuning: questo è importante in particolare quando la risposta in
frequenza del filtro deve essere allineata per diversi standard di comunicazione
in poco tempo;
• interazioni con le performance del filtro: esse devono essere indipendenti dalle
operazioni di tuning.
1.2 MASTER-SLAVE TUNING
Consideriamo ora il comune sistema di tuning master-slave [1], mostrato in Figura
1.1, che è composto da un filtro Slave che deve effettivamente processare il segnale e
da un filtro Master con compiti di tuning che deve essere adeguatamente collegato
con il primo. Nel circuito Master le costanti di tempo vengono fatte variare in modo
da compensare ogni possibile variazione della funzione di trasferimento. Ciò viene
fatto controllando uno o più valori dei componenti con un segnale di controllo
variabile. Tale segnale di controllo è poi passato al filtro Slave, la cui risposta in
frequenza viene di conseguenza regolata in modo da processare correttamente il
segnale in ingresso.
Figura 1.1 – Schema del tuning Master-Slave.
Il segnale di controllo delle costanti di tempo nel circuito Master può essere analogico
o digitale; entrambi presentano vantaggi e svantaggi, che verranno di seguito esposti.
Innanzitutto, un segnale di controllo analogico permette di aggiustare continuamente
le costanti di tempo con un riferimento di tensione analogico. Questo è il caso dei
15
filtri g
m
-C o MOSFET-C, nei quali la parte ‘resistiva’ delle costanti di tempo (ad
esempio la transconduttanza g
m
o la resistenza di uscita dei MOSFET) può essere
controllata da una tensione/corrente analogica. Questo approccio presenta tutti i tipici
vantaggi dei sistemi analogici (grande accuratezza per assenza di segnali quantizzati,
nessun fenomeno di “distribuzione” del segnale di clock, …). D’altra parte, richiede
che il sistema di tuning sia continuamente attivo incrementando così la potenza
dissipata.
Nell’approccio alternativo di tuning, è impiegata una parola digitale per indirizzare un
set di componenti unitari analogici, che determina la costante di tempo su cui
effettuare il tuning.
Questo approccio può essere usato, per esempio, nel tuning di filtri attivi RC, dove il
valore del resistore e/o del condensatore può essere propriamente regolato. In questo
caso l’accuratezza del sistema di tuning è correlata alla quantizzazione del
componente il cui valore deve essere tunato. Perciò, la lunghezza (numero di bit) della
parola di controllo corrisponde tipicamente all’accuratezza raggiungibile dal sistema.
Il vantaggio principale di questa soluzione è che, poiché il segnale di controllo è
digitale, può essere facilmente salvato in un registro e il circuito di tuning può essere
disabilitato durante il funzionamento standard. Si può notare che, a parte le
considerazioni fatte sopra sull’implementazione di un segnale di controllo analogico
o digitale, lo schema di tuning Master-Slave è effettivo solo se è possibile un buon
“matching” tra i due circuiti master e slave. Se questo requisito non è verificato, lo
schema proposto non è adottabile.
1.3 SCHEMA SELF-CALIBRATING
Nello schema di tuning Self-Calibrating, la funzione di trasferimento del filtro è
controllata direttamente [2,5]. Il filtro può operare in due configurazioni separate:
tuning o normale funzionamento. Durante la fase di calibrazione, un segnale di test
(Test Pattern) è applicato al suo ingresso e la relativa tensione di uscita è elaborata
16
tramite la circuiteria di tuning in modo da regolare il segnale di controllo. Tale
segnale resta poi costante durante il normale funzionamento del circuito, per
mantenere la risposta in frequenza del filtro tunata. Poiché il segnale di controllo deve
essere memorizzato durante il normale funzionamento, questa tecnica è
particolarmente efficace se si utilizza una soluzione mista analogico-digitale nella
quale la parola di controllo è memorizzata in un registro. Soprattutto, l’accuratezza
non dipende dal ‘matching’ tra i circuiti master e slave. D’altra parte, richiede uno
specifico schema di tuning, nel quale durante la fase di calibrazione, il segnale non
può essere processato (e questa, in alcuni casi, può essere una forte limitazione).
Figura 1.2 – Schema del tuning Self-Calibration.
1.4 CONFRONTO TRA I DIVERSI ALGORITMI DI TUNING
Per entrambi gli schemi di tuning (Master-Slave e Self-Calibrating) merita particolare
attenzione l’algoritmo che si deve implementare per il controllo delle costanti di
tempo. Parecchi algoritmi di tuning sono stati proposti in letteratura. I principali
parametri, che possono essere usati per confrontarli, sono i seguenti:
• tipo di segnale d’ingresso e complessità della sua circuiteria di generazione;
17
• controllo di un singolo parametro della risposta in frequenza (guadagno,
frequenza dei poli, …) o dell’intera risposta in frequenza;
• complessità e accuratezza richiesta del circuito di rilevazione dell’errore;
• complessità e accuratezza richiesta dal circuito che implementa l’algoritmo di
controllo.
L’implementazione di sistemi di filtraggio accurati in tecnologie sub-micrometriche
richiede particolare attenzione nell’effettuare la compensazione del “mismatch” di
dispositivi di dimensioni sempre più piccole. A tale scopo, possono essere impiegati
blocchi digitali di piccole dimensioni ed a basso consumo di potenza per effettuare il
tuning di tali sistemi. In altre parole, si rende necessario un sistema di filtraggio e
tuning di tipo “mixed-signal”, nel quale il numero di bit della parola di controllo
determina l’accuratezza raggiungibile dall’intero sistema.
Un altro importante problema riguarda il Test Pattern di ingresso da usare, che è
strettamente collegato al tipo di algoritmo impiegato nella procedura di tuning. In
sistemi puramente analogici, viene usato un singolo tono o una tensione dc. L’uso di
un singolo tono consente di effettuare una misura della risposta del filtro ad una certa
frequenza. In questo caso il rumore, che inevitabilmente contamina le misure, può
influenzare l’accuratezza del tuning e, oltre a ciò, occorre un’alta risoluzione
dell’ADC per campionare l’uscita. D’altra parte, l’uso di una tensione dc non include
la misura della risposta in frequenza ma è fortemente dipendente da errori in dc come
l’offset. In aggiunta, in entrambi i casi la generazione accurata del segnale di ingresso
può essere critica e risulta, di conseguenza, più complicata.
1.5 PSEUDO-RANDOM TUNING
Il tuning pseudo-random, costituisce un innovativo approccio tra le varie tecniche di
tuning fin qui trattate. Di più, quest’ultimo algoritmo può essere applicato sia allo
schema Master-Slave che al Self-Calibrating. L’algoritmo di tuning è basato
18
sull’applicazione di un segnale di ingresso “pseudo-random” e sulla valutazione di
pochi campioni della cross-correlazione tra il segnale pseudo-random e la
corrispondente risposta del filtro [13-20]. Questa informazione (valore dei campioni)
è usata propriamente per regolare i valori dei componenti passivi.
I vantaggi chiave della tecnica proposta possono essere schematizzati come segue:
• l’uso di una sequenza pseudo-random che può essere generata con un circuito
molto semplice che occupi un’area limitata sul chip.
• il tuning diretto della risposta in frequenza del filtro (e non di una sua
replica);
• l’uso di una circuiteria di tuning molto semplice che comprenda anche il
calcolo dei campioni della funzione di crosscorrelazione.
19
CAPITOLO 2
METODO DI TUNING MEDIANTE SEQUENZE PSEUDO -
CASUALI
2.1 CONCETTI GENERALI
Il tuning di un filtro attivo tempo continuo integrato consiste nel controllo di alcuni
parametri della sua risposta in frequenza (frequenza di cut-off, in band ripple,
guadagno statico ecc.) in modo tale che essi rientrino all’interno di un prefissato
margine di tolleranza intorno al loro valore nominale.
Per un circuito lineare tempo invariante (LTI), questi parametri sono legati alla
risposta all’impulso h(t) e, in particolare, il processo di tuning può essere compiuto
attraverso la conoscenza di h(t) o di una sua stima. In particolare è stato dimostrato
[15] che i parametri circuitali possono essere legati a un numero limitato di campioni
di h(t).
In pratica, il metodo di valutazione della risposta all’impulso di un filtro, mediante
l’applicazione diretta in ingresso di un impulso di breve durata, non può essere
utilizzato. Infatti, l’ampiezza (pertanto l’energia) di un impulso di breve durata è
severamente limitata dal range di linearità d’ingresso del circuito. Questo fa sì che la
risposta del circuito allo stimolo possa essere molto piccola in ampiezza e pertanto
facilmente corruttibile dal rumore. Questa difficoltà può essere superata usando un
rumore bianco come stimolo di ingresso ed eseguendo l'operazione di
crosscorrelazione tra ingresso e uscita.
In letteratura è largamente riportato [16,17] il fatto che la funzione di
crosscorrelazione fra ingresso e uscita R
xy
(t) di un circuito LTI produce una stima
della risposta all’impulso h(t), nel caso in cui il segnale di ingresso presenta uno
20
spettro approssimabile a rumore bianco. Per segnali tempo continui e ingressi x(t)
stazionari, la funzione di crosscorrelazione è data da:
∫
+≅
∞→
T
0
T
xy
τd)τt(y)τ(x
T
1
lim)t(R (2.1)
dove y(t) è la risposta del circuito [18]. Quando il segnale di ingresso x(t) è ergodico
si può esprimere la funzione di crosscorrelazione come una media statistica (valore
atteso):
)t(h)t(Rθd)θt(R)θ(h)]τt(y)τ(x[E)t(R
xxxxxy
∗=−=+=
∫
+∞
∞−
(2.2)
dove R
xx
(t) rappresenta la funzione di autocorrelazione di x(t).
Quando l’ingresso è un rumore bianco ideale, R
xx
(t) è una funzione δ(t) di Dirac,
perciò R
xy
(t) coincide con h(t).
Una sequenza pseudo-random di bit riproduce le stesse caratteristiche spettrali del
rumore bianco ideale a patto che la sua durata sia infinita. Comunque, in molti casi
particolari, una moderata lunghezza del bit-stream di ingresso porta a determinare una
approssimazione di h(t) accettabile, cioè la funzione di autocorrelazione del rumore
bianco ideale non presenta sensibili differenze dalla funzione di autocorrelazione di
una sequenza di bit pseudo-random di durata finita. Inoltre, l’ampiezza dei singoli
impulsi che costituiscono la sequenza di ingresso, può essere ridotta in modo da
rientrare nel range di linearità di ingresso del filtro mentre l’energia associata allo
stimolo di ingresso è sufficiente a garantire anche una buona indipendenza dal
21
rumore. Gli effetti del rumore di misura sono ulteriormente ridotti in quanto mediati
dall’applicazione dell’operazione di crosscorrelazione.
Ottenuta una buona stima della risposta all’impulso del filtro h(t)≅R
xy
(t), si può
determinare una “firma” del filtro, firma composta da un opportuno numero di
campioni della funzione di crosscorrelazione R
xy
(t). Un’importante proprietà a cui la
firma del circuito deve soddisfare riguarda la corrispondenza biunivoca tra lo spazio
(insieme di valori) della firma e quello della specifica da tunare; in particolare per un
punto all’interno dello spazio delle specifiche, corrispondente ad esempio al valore
nominale, deve esistere un solo punto nello spazio della firma. Se questa proprietà
non è verificata si può presentare un problema di aliasing nel senso che un circuito le
cui specifiche sono al di fuori della regione di accettabilità e che presenta una firma
nominale, non può essere distinto dal vero circuito nominale.
La procedura di selezione dei campioni, che compongono una firma con questa
proprietà, è basata sullo studio della sensibilità dei campioni della funzione di
crosscorrelazione R
xy
rispetto alla specifica del circuito che si intende controllare.
Questo procedimento sarà affrontato più dettagliatamente in seguito.
Nello schema di tuning on-line mostrato in Figura 2.1, il filtro è racchiuso tra un DAC
ed un ADC; ne consegue che l’operazione di crosscorrelazione è eseguita nel dominio
digitale.
Nello schema un LFSR (Linear Feedback Shift Register) genera la sequenza di bit di
ingresso pseudo-casuale. Alla fine dell’operazione di crosscorrelazione, il registro
(Accumulator register) memorizza il valore corrente del campione della funzione di
crosscorrelazione tra l’ingresso e l’uscita R
xy
(valore che costituisce la firma del
dispositivo). Sulla base di questa firma, il circuito di tuning opera sugli elementi
variabili del filtro in modo che la distanza tra l’attuale valore della firma e il suo
valore nominale sia ridotta. Tale procedura viene iterata fino a quando l’errore
diventa minimo.
22
Figura 2.1 – Schema di tuning
A differenza di quanto avviene nel caso generale di controllo di più specifiche del
circuito, ove si osserva un incremento della complessità di implementazione,
nell’ipotesi di un sistema tuning preposto al controllo di una sola specifica del
circuito, come nel caso del semplice controllo della frequenza di cut-off di un filtro
passa basso, questo lavoro è notevolmente semplificato. È possibile considerare una
firma costituita da un solo campione della funzione di crosscorrelazione sufficiente
per decidere se il filtro risulti più o meno veloce rispetto al filtro nominale. Tramite
l’adozione di questa tecnica si ottengono molti vantaggi rispetto alle tecniche
convenzionali.
23
2.2 DEFINIZIONE DI UNA FIRMA PER IL TUNING
La scelta del set di campioni della funzione di crosscorrelazione da assumere come
firma del filtro è eseguita partendo dalla caratterizzazione delle relazioni funzionali
esistenti con la specifica del circuito da controllare, s
j
, j = 1,…,n.
La situazione più vantaggiosa sia ha quando all’intervallo di tolleranza di ciascuna
specifica corrisponde, in modo monotono, l’intervallo di variabilità di almeno uno
degli n campioni della firma del circuito. In questo caso la procedura consiste
semplicemente nel tuning di una specifica alla volta, sulla base del confronto tra il
valore attuale del campione della R
xy
e quello relativo al circuito nominale.
Se questa situazione vantaggiosa non si verifica, è necessario uno studio delle
sensibilità dei campioni che costituiscono la firma del circuito rispetto alle specifiche
da tunare, s
j
. Tali sensibilità possono essere espresse in termini di derivate parziali:
∂
ij
=∂R
xy
(m
i
)/∂s
j
(2.3)
In questo modo è possibile identificare le condizioni che devono essere soddisfatte
nella scelta della firma, per approssimare il mapping ideale sopra descritto.
Si consideri un filtro caratterizzato da un vettore di specifiche S = (s
1
,s
2
,…s
n
). Sia S
il vettore dei valori nominali delle specifiche, e supponendo che esista un campione
R
xy
(m
1
) che verifica le seguenti condizioni:
)S(),......S()S(
n11211
∂∂>>∂ (2.4)
è stato dimostrato [19,20], con riferimento, ad esempio, alla specifica s
1
:
24
111
xy
1
xy
11
111
xy
1
xy
ss)m,S(R)m,S(R
0if
ss)m,S(R)m,S(R
<⇒<
>∂
>⇒>
(2.5)
In questo modo è possibile il tuning della specifica s
1
attraverso il confronto dell’ m
1
th
campione della funzione di crosscorrelazione con il corrispondente valore del
campione del circuito nominale.
Una volta eseguito il tuning di s
1
, il secondo campione m
2
della firma può essere
scelto seguendo la stessa procedura adottata per il primo, ma con una condizione
meno restrittiva dettata dal fatto che si suppone che la specifica di progetto s
1
sia stata
già regolata. Sotto queste ipotesi si può scrivere la seguente condizione di scelta:
)S(),......,S()S(
n22322
∂∂>>∂ (2.6)
In altre parole, se la prima specifica è già stata tunata il secondo campione della firma
(R
xy
(S,m
2
)) può essere scelto senza considerare la derivata parziale ∂
21
.
Iterando tale procedura, una firma completa del circuito può essere identificata come
un set minimo di campioni della R
xy
necessari a controllare tutte le specifiche del
filtro intorno ai loro valori nominali in un range definito dalle relative tolleranze.