Sei sulla pagina 1di 11

Architetture di ADC

Passi della conversione analogico-digitale (21/11/2017)

La conversione analogico-digitale può essere modellizzata in tre passi distinti: campionamento,


quantizzazione, e codifica. Il cui processo può essere sintetizzato dal seguente schema:

1) Il campionamento corrisponde ad una discretizzazione del segnale lungo l’asse


temporale;

2) La quantizzazione corrisponde ad una discretizzazione lungo l’asse delle ampiezze;

3) La codifica corrisponde all’assegnazione di un codice al campione quantizzato.

Un fattore da considerare è quello relativo al tempo di campionamento. Se prendiamo in considerazione il


seguente grafico:

Possiamo notare che il campionamento relativo alla linea rossa è troppo largo, infatti esso non consentirà
un’ottima ricostruzione del segnale. Inoltre può capitare di acquisire campioni che non riflettono
l’andamento del segnale reale (come mostra la linea tratteggiata verde che acquisisce sempre lo stesso
valore d’ampiezza della sinusoide).

In pratica dobbiamo adattare il campionamento in base al segnale che osserviamo. Per capire il numero di
campioni necessari dobbiamo studiare il segnale nel dominio della frequenza. Si utilizza quindi Fourier.

Ricordando che per i segnali periodici x(t+T)=x(t), tutte le frequenze fn che lo compongono devono essere
tutte una il multiplo dell’altra. Infatti se la frequenza è un multiplo di quella fondamentale, siamo sicuri che
la fase sia uguale per tutte le componenti dopo il periodo fondamentale.
Questo vale però per un segnale periodico. Quindi cosa fare se il segnale non è periodico?

RISPOSTA: Lo supponiamo periodico ma in tempo infinito.

Nei segnali digitali ho una serie di valori discreti, perciò non si può risolvere l’integrale, si passa quindi ad
una sommatoria. Otteniamo dunque la seguente relazione:

tenendo conto che

Poiché non possiamo contare per un tempo infinito, ipotizziamo che esso sia uguale alla finestra di
osservazione:

Ponendo T= N* TC possiamo semplificare. Infatti le frequenze che possiamo osservare sono discrete e
multiplo della frequenza fondamentale. Quindi, dato che:

avremo

Allora lo spettro di un segnale campionato sarà quindi obbligatoriamente discreto.


PROPIETA’ DELLA TRASFORMATA

Simmetria coniugata 
Nel caso in cui x (t ) sia reale, risulta 
X (f )  = X* (  − f )
e quindi la parte reale di X (f ) è pari, e quella immaginaria dispari, ossia
modulo |X (f )| pari e fase arg{X (f )} dispari;

Linearità
Discende molto semplicemente dalla proprietà distributiva dell’integrale che definisce la
trasformata. Pertanto:
se z(t) = ax(t) + by(t) allora Z(f) = aX(f) + bY(f)

Moltiplicazione:

La TDF del prodotto di due segnali è uguale all’integrale di convoluzione dei segnali. L’integrale di
convoluzione è un operatore utilizzato, per esempio, per descrivere come vengono modificati i segnali
quando passano attraverso sistemi lineari tempo-invarianti.

Da quest’ultima proprietà otteniamo la seguente relazione

dove C(f) viene chiamato treno di impulsi


( conosciuto anche con il nome di pettine di Dirac ) ed è una distribuzione periodica costruita da una
somma di delta di Dirac.
Un pettine di Dirac è una serie infinita di funzioni delta di Dirac intervallati a una distanza T. Ovvero ogni
impulso del treno è spaziato di un periodo pari alla frequenza di campionamento.

Di cui ne faccio la trasformata ricordando che la trasformata di un prodotto è la convoluzione. Ottengo


quindi:

Mi aspettavo un singolo spettro, invece ottengo altre


frequenze multiple (ALIAS) della principale e
distanziate di un periodo pari alla frequenza di
campionamento.

Esiste una frequenza limite, che se non viene rispettata, lo spettro e la sua
replica si sovrappongono. Questa frequenza limite è proprio la frequenza di
campionamento. Tale fenomeno è detto aliasing.

Per evitare tale problema si utilizza il criterio di Nyquist-Shannon: fc ≥ 2* fmax. Più aumento la frequenza di
campionamento, minore sarà l’errore introdotto nella rappresentazione della forma del segnale originale.
ESEMPIO:

Se ad esempio abbiamo f=1100 Hz e frequenza di campionamento


fc=500 Hz per:

k=0 fa0=1100 Hz quindi non vedrò il segnale nel dominio del


tempo perché è fuori della banda del segnale;

k=1 fa1=600 Hz;

quando k=2 fa2=100 Hz allora vedo lo spettro del segnale non


com’è effettivamente ma come suo alias nella banda utile.

Si usano dei filtri anti-aliasing per evitare la presenza di alias, ma essi vanno però a ridurre la banda del
segnale. Se ad esempio abbiamo un segnale a 100 MHz, ne avrei 50 teorici, ma per evitare l’aliasing,
saranno 40 MHz.

Abbiamo dovuto imporre che il segnale fosse periodico per calcolare Fourier, ma potrei avere un segnale
effettivamente periodico, ma del quale non conosciamo il periodo. In tal caso otteniamo uno spectral
leakage. Tale fenomeno rappresenta una dispersione spettrale che causa un troncamento del segnale.

Come si può vedere nella figura, nel grafico nel dominio della frequenza ottengo una forma a campana
intorno a questo valore. Infatti, Fourier considera un segnale periodico e se non prendo quello corretto,
ripeterà comunque il segnale con una periodicità Tn=T/n. se n è intero avremo multipli interi del periodo.
Se non è intero non avrò un numero intero del periodo nel tempo di osservazione.
Quanti zzazione (05/12/2017)

Piccolo riepilogo del Prof.

Avendo una banda del segnale B la frequenza di campionamento fs dovrà essere scelta secondo la
relazione:

fs ≥ 2B affinché il campionamento non sia distruttivo nei confronti del segnale.

NOTA IMPORTANTE:

Il segnale è considerato discretizzato a causa del campionamento che è stato reso possibile grazie alla
supposizione che il segnale sia periodico.

Fine riepilogo

La quantizzazione discretizza il segnale nel dominio delle ampiezze (mentre il campionamento nel dominio
del tempo). I parametri base sono il valore di fondoscala e il numero di livelli con cui andiamo a
discretizzare. Preso un campo di misura con infiniti valori analogici, passo ad una serie di singoli valori.

Nella figura ho una caratteristica unipolare, che va da un valore 0


fino al valore di fondoscala VF. Se fosse bipolare avrei dei valori che
vanno da - VF a + VF come mostrato nella figura successiva.

Il numero totale di livelli è 2N, con N che è il numero di bit.


Ogni intervallo ha la stessa identica dimensione, si definisce
quindi un passo di quantizzazione come il rapporto tra il
range di misura e numero di livelli.
Unipolare

Bipolare
Inoltre noto
Q posso
determinare
la Vout (che
voglio sia
lineare) moltiplicando per il livello al quale siamo arrivati:
Vout= L*Q.

Esistono due tipi di quantizzazione: quella non silenziata e quella silenziata.


Non silenziata: si uniscono i vertici dei gradini ottenendo una retta
a 45°. Questo tipo di quantizzazione è poco utilizzato perché
presenta dei rumori di fondo. Infatti se il segnale d’ingresso è
inferiore ad un determinato valore di tensione corrispondente al
passo Q, ho un valore pari a 0, se invece tale tensione è superiore a
Q (anche di un infinitesimo) ho 1. Ciò può generare dei problemi in
presenza di rumore attorno allo 0 e le fluttuazioni possono far
considerare i valori in modo errato.

Silenziata: Per ottenere la quantizzazione


silenziata, spostiamo di mezzo pazzo (verso sinistra)
questa caratteristica. Il passo di quantizzazione è
sempre 2N e l’ultimo passo è Q/2. In pratica la retta
prende il centro degli intervalli.

Se il segnale fluttua attorno allo zero, il livello del rumore non avrà valore tale da
raggiungere il valore precedente o il successivo, tuttavia il passo finale non sarà più Q. La caratteristica
passerà in questo caso per il centro degli intervalli. Possiamo notare che anche nel caso silenziato l’errore
persiste, quindi la quantizzazione è intrinsecamente distruttiva, infatti parte dell’informazione sarà
inevitabilmente persa.

Si può determinare l’errore e di quantizzazione non silenziata : e(Vin)=Q(Vin)-Vin

Nel caso non silenziato l’errore è periodico.

Nel caso silenziato l’errore è centrato nello 0 ed ha perciò media nulla


e ampiezza uguale alla varianza dell’errore.

Lo spettro dell’errore è:
Lo spettro del rumore di quantizzazione ha potenza pari alla varianza
che è uniforme. L’area sarà maggiore o minore a seconda del fatto che
il rumore abbia potenza maggiore o minore.

La quantizzazione quindi produce questo errore, che possiamo chiamare rumore di quantizzazione. Questo
errore, essendo periodico, sarà uguale per tutti. Consideriamo allora solo quello di un singolo periodo e ne
ricaviamo lo scarto quadratico medio:

Da cui ricaviamo che e(x)=(Q/2)*x. Quindi la media è:

In pratica, la potenza del rumore sarà il quadrato di e_rms. Minore è il numero di bit più grande sarà Q e di
conseguenza il rumore. Viceversa più bit vengono utilizzati più la sua potenza è minore.

Adesso, andiamo a valutare il rapporto tra il segnale ed il rumore per un generico segnale sinusoidale,
considerando che l’ampiezza della sinusoide sia pari al valore di fondoscala. Valutiamo inoltre solo un
periodo:

A= Vf (la tensione di fondoscala) così da sfruttare tutto il campo di misura.

Ricordando che:
avremo

Da cui si può ricavare la potenza della


sinusoide

Adesso, considerando come detto prima


l’ampiezza come pari al campo di misura,
possiamo calcolare il rapporto segnale/rumore

Quindi 

Quindi:

Dove n è il numero di bit. Quindi il SNR dipende solo dal numero di bit con cui andremo a quantizzare il
segnale. Se ho bisogno di un SNR elevato dovrò aumentare il numero di bit. Questo è tuttavia un rumore
ideale, il componente utilizzato ha dei parametri che tengono conto delle non idealità.

ERRORI NEGLI ADC

Valutiamo adesso i parametri statici e dinamici per studiare altri tipi di errori.

PARAMETRI STATICI

Abbiamo bisogno di un valore di tensione noto per valutare la


caratteristica statica, collegando quindi un generatore all’unità
centrale. Sarà proprio l’unità centrale a decidere l’intensità della
tensione che bisogna generare.

Problema delle fluttuazioni


Se in un gradino sono prossimo al valore successivo, le fluttuazioni sulla linea temporale fanno in modo che
venga valutato il codice successivo. Posso, in questo caso, avere il 50%
dei codici. Ovvero una metà del codice sarà il codice H del gradino che
sto considerando, l’altra metà sarà il codice H+1 del gradino
successivo.

L’errore di OFFSET

Un errore tipico è quello di OFFSET. L’errore di offset è dato dagli


effetti parassitari dei componenti. Nella non uniformità lineare tutte
le tensioni di transizione sono traslate di una certa quantità, si
ottiene così questo tipo di errore.

L’errore di Gain

L’errore di Gain è una variazione della pendenza della retta


che intercetta il centro dei gradini. Otteniamo quindi una
variazione su tutta l caratteristica. Poiché la differenza tra i
valori aumenta passo per passo, questo errore può essere
compensato valutando la retta di regressione:

Gli errori di non linearità introducono rumore. Mi aspetto gradini tutti uguali, ma in realtà a causa della non
linearità non lo saranno. Infatti, poiché ho componenti reali ho dei passi di quantizzazione che non sono
della stessa misura e ottengo un errore non lineare, in cui non è possibile determinare una retta passante
per i vertici. La non linearità si divide in divide in due casi:

1. Il DNL (Differential non linearity);


2. L’ INL (Integral non linearity).
Il DNL indica di quanto un passo di quantizzazione reale si
discosta da quello ideale:

Dove Q a denominatore normalizza rispetto al passo di quantizzazione ideale. L’espressione tra le parentesi
quadre rappresenta il passo di quantizzazione reale.

Se DNL<-1 allora Tc(k+1)>Tc(k). In questo caso avremo un missing code perchè si ha che l’errore successivo
è più piccolo del corrente.

L INL è invece la differenza tra quello reale è quello compensato.

PARAMETRI DINAMICI

Per quanto riguarda invece i parametri dinamici si va a fare una quantificazione nel dominio dello spettro

Mi aspetto di vedere un impulso, una banda piatta dovuta al


rumore di quantizzazione (a seconda del numero di bit).

Gli effetti di non linearità sono armoniche e segnali spuri nel


dominio dello spettro che vanno a sommarsi al segnale.

ENOB (numero effettivo di bit) tiene conto di tutte le altre


distorsioni presenti effettivamente sul segnale convertito.
Noi vorremmo fosse uguale a N, cioè al numero di bit
nominale. Va ad identificare la qualità del convertitore
analogico digitale.