LA CONVERSIONE ANALOGICO-DIGITALE x conversione A/D Y • La conversione analogico/digitale (A/D) realizza una trasformazione della grandezza analogica in ingresso x, solitamente una tensione, in un codice digitale (numero binario) Y in uscita. • Il valore numerico in uscita è rappresentato con un numero finito di cifre (bit). • La conversione è caratterizzata da una quantizzazione in ampiezza. • Il processo di conversione richiede un intervallo di tempo finito per la sua esecuzione. 1 IL CONVERTITORE ANALOGICO-DIGITALE • Il dispositivo elettronico che attua la conversione A/D prende il nome di convertitore analogicodigitale (ADC). • Esso è essenzialmente caratterizzato da un ingresso analogico Vin, da un ingresso per il segnale di clock per scandire gli istanti di conversione e da una uscita digitale C. C Vin ADC clock 2 I CONVERTITORI A/D: DEFINIZIONI • Numero di bit: è il numero di cifre binarie su cui viene convertito in forma numerica il valore di tensione di ingresso. Il convertitore A/D può quindi avere in uscita solamente un numero finito di valori pari a 2n. • Tensione di fondo scala Vfs: è il valore di tensione corrispondente al doppio della tensione in ingresso per cui ha valore “1” solo il bit più significativo (MSB). Esistono definizioni leggermente diverse ma equivalenti – Esempio: – n = 3 bit – Vfs = 10 V – C = 100 – C x 2 = 1000 → → Vin = 5 V Vfs = 10 V 3 I CONVERTITORI A/D: DEFINIZIONI • Risoluzione del convertitore R o passo di quantizzazione : è la più piccola variazione nella tensione di ingresso che può causare una variazione nel codice numerico di uscita: R= V fs 2 n Rappresenta anche la tensione associata al bit meno significativo (LSB) del codice in uscita : è la “costante” del convertitore Vin = R ⋅ C 4 Risoluzione 5 I CONVERTITORI A/D: DEFINIZIONI • Tempo di conversione tc: è il tempo impiegato dal convertitore ad eseguire la conversione del valore di tensione in ingresso nel corrispondente codice numerico. 6 • Un ADC è in grado di fornire in uscita un codice numerico proporzionale al valore della tensione in ingresso, a meno della sua risoluzione. risoluzione codici LA CARATTERISTICA DI CONVERSIONE Caratteristica ideale 111 transizione ideale 1 LSB banda di quantizzazione 010 001 000 Vin 7 codici 111 L’errore di quantizzazione transizione ideale 1 LSB banda di quantizzazione 010 001 000 ε Vin • L’incertezza propria della quantizzazione è pari a 1 LSB Vin -1 LSB 8 codici 111 L’errore di quantizzazione transizione ideale 1 LSB banda di quantizzazione 010 001 000 ε +½ LSB -½ LSB • L’incertezza propria Vin della quantizzazione è sempre pari a 1 LSB, ma distribuita nella Vin fascia -½LSB, +½LSB 9 Caratteristica ideale e Retta di trasferimento • L’incertezza propria della quantizzazione è sempre pari a 1 LSB, ma distribuita nella fascia -½LSB, +½LSB 10 • Provoca una traslazione della caratteristica di conversione parallelamente a se stessa • Tutti i codici emessi sono modificati della stessa quantità • E’ recuperabile mediante calibrazione fino a rientrare nella fascia: ± ½LSB codici LA CARATTERISTICA DI CONVERSIONE REALE Errore di offset 111 Errore di offset caratt. ideale caratt. reale 010 001 000 Vin 11 • Provoca una rotazione della caratteristica di conversione con centro l’origine degli assi • Tutti i codici emessi sono moltiplicati della stessa quantità • E’ recuperabile mediante calibrazione fino a rientrare nella fascia: ± ½LSB codici LA CARATTERISTICA DI CONVERSIONE REALE Errore di guadagno 111 Errore di guadagno caratt. ideale caratt. reale 010 001 000 Vin 12 • Può accadere che l’ampiezza delle singole bande di quantizzazione non sia costante e pari a 1 LSB. • La linea che unisce i punti medi delle bande di quantizzazione non è più una retta. codici LA CARATTERISTICA DI CONVERSIONE REALE Errore di non linearità 111 caratt. ideale caratt. reale 010 001 000 Vin 13 • E’ la differenza, su ogni singola banda di quantizzazione, tra l’ampiezza di banda effettiva e 1 LSB. codici LA CARATTERISTICA DI CONVERSIONE REALE Non linearità differenziale 111 caratt. ideale caratt. reale 010 001 000 Vin 14 • Se per una banda l’errore di non linearità differenziale supera 1 LSB, si perde un codice. codici LA CARATTERISTICA DI CONVERSIONE REALE Omissione di codice 111 caratt. ideale Omissione di codice caratt. reale 010 001 000 Vin 15 Un esempio di omissione di codice Tratto da: Nicholas “Nick” Gray “ABCs of ADCs” Rev 2, August 2004, Copyright © 2003, 2004 National Semiconductor Corporation. 16 • Si ottiene integrando gli errori di non linearità differenziale sull’intero campo di misura dell’ADC. codici LA CARATTERISTICA DI CONVERSIONE REALE Non linearità integrale 111 caratt. ideale caratt. reale 010 001 000 Vin 17 L’errore di non linearità integrale: differenti definizioni 1. La massima deviazione della linea caratteristica di trasferimento (la congiungente i punti centrali dei gradini reali di quantizzazione) dalla retta ideale; 2. Il massimo scostamento della “migliore retta interpretativa” (determinata per es. con i minimi quadrati) da quella ideale; 3. Deviazione della linea caratteristica di trasferimento dalla retta ideale al termine della caratteristica di trasferimento; Leggere sempre le specifiche per sapere quel definizione è stata usata !! 18 L’errore di non linearità • I due indici visti, quello di non linearità differenziale e quello di non linearità integrale, danno un’idea del comportamento dell’ADC. • Un elevato valore di non linearità integrale indica che gli errori di non linearità deformano la caratteristica nella stessa direzione. • Un basso valore di non linearità integrale, accompagnato da un elevato valore di non linearità differenziale, indica che gli errori di non linearità hanno valore elevato, e verso opposto nei differenti punti della caratteristica. 19 Il dithering • Si può, in alcuni casi, ridurre l’effetto delle non linearità e della quantizzazione sull’incertezza di uscita, adottando una tecnica detta dithering dithering. • Le non linearità sono in genere misurati per mezzo delle non linearità differenziale (DNL) e integrale (INL). • Per ridurre le non linearità differenziali si fa variare il segnale di ingresso su più codici attigui in modo da mediare l’errore sovrapposto al segnale. • Il dither è un segnale/rumore non correlato a valore medio nulla e a densità di probabilità costante nell’intervallo (-½ LSB - +½LSB) che viene sommato al segnale in ingresso e sottratto in uscita. 20 Il dithering • Lo scopo del dither è quello di delocalizzare e rendere casuali gli errori di non linearità differenziale dei singoli codici. • Così facendo il DNL finale risulta più uniforme e non presenterà invece la tipica periodicità dei convertitori ADC reali. • Detto Vs il segnale da acquisire e nd il dither, il segnale in ingresso al convertitore è quindi: Vin = Vs + nd • In questo modo il segnale in ingresso al convertitore copre l’intera banda di quantizzazione. 21 Il dithering • Si supponga di acquisire N campioni Vinj della tensione in ingresso, e di farne la media: 1 N 1 N Vin = ∑ Vin j = ∑ Vs + nd j N j =1 N j =1 ( ) • Poiché l’incertezza di quantizzazione ha valore medio nullo, si ha, per N → ∞: Vin = Vs • Si è quindi ridotta l’incertezza dovuta alla quantizzazione. 22 Dither: miglioramento della risoluzione Per ridurre gli effetti della quantizzazione si è inizialmente pensato di sommare rumore bianco al segnale di ingresso. Nel 1960 Widrow scopri che gli effetti della quantizzazione possono essere diminuiti se l’errore di quantizzazione è indipendente dal segnale. Successivamente Schuchman determinò quale tipo di segnale di dither deve essere utilizzato onde avere un errore di quantizzazione indipendente dal segnale di ingresso da convertire. In particolare si dimostra che per un ADC ideale il segnale di dither ottimo è un rumore bianco con valore efficace pari a 1/3 LSB. Vanderkooy and Lipshitz dimostrarono poi che mediante un segnale di dither la risoluzione di un ADC può essere migliorata sino al di sotto di 1 LSB. 23 Esempio Tratto da: Leon Melkonian, “Improving A/D Converter Performance Using Dither”, National Semiconductor, Application Note 804, February 1992, © 1995 National Semiconductor Corporation. Segnale di ingresso Segnale di uscita distorto 24 Esempio: segnale sinusodiale piccolo Esempio: segnale sinusoidale di ampiezza picco – picco pari a 1 LSB. È rappresentato mediante due soli codici. Se il segnale sinusoidale è centrato sulla soglia di commutazione fra due codici il segnale di uscita (ricostruito) rappresenta una onda quadra. È una rappresentazione assai approssimativa di una sinusoide. Le informazioni al di sotto di 1 LSB non sono rappresentate e quindi non esistono o, meglio, non sono disponibili. 25 Esempio: segnale sinusodiale piccolo Aggiungendo allo stesso segnale un segnale di dither (rumore) l’uscita commuta molto spesso fra un codice e l’altro. In questo caso informazioni di valore inferiore ad 1 LSB possono essere ottenute considerando per quanto tempo l’uscita si trova in uno dei due codici. L’informazione non è più portata solo dai livelli ma anche dal tempo. Effettuando una media nel tempo la risoluzione può essere aumentata significativamente al di sotto di 1 LSB. 26 Esempio: segnale sinusodiale piccolo È stata linearizzata la caratteristica di trasferimento. Lo spettro della potenza del segnale di uscita dimostra come la distorsione armonica dovuta alla quantizzazione è stata ridotta. Vediamo una interpretazione alternativa. In assenza di segnale di dither ogni segnale di ingresso è assegnato ad uno e a solo un codice. Non c’è differenza fra due segnali analogici con ampiezza riconducibile allo stesso “gradino della caratteristica di trasferimento” (errore di quantizzazione) . In presenza di dither ad ogni livello del segnale di ingresso è assegnata una distribuzione di probabilità di appartenere ad un “gradino della caratteristica di trasferimento” dei molti codici possibili (per esempio un dither molto ampio porta il segnale ad invadere più gradini). Se ne deduce che differenti livelli del segnale di ingresso che però sono mappabili allo stesso “gradino della caratteristica di trasferimento” sono assegnati a differenti distribuzioni di probabilità 27 Esempio: segnale sinusodiale piccolo Se ne deduce che differenti livelli del segnale di ingresso che però sono mappabili allo stesso “gradino della caratteristica di trasferimento” sono assegnati a differenti distribuzioni di probabilità. Ecco perché è possibile affermare che la risoluzione di un ADC con dither può essere migliorata sino al di sotto di 1 LSB. Esempio: 1 V FS ⋅ n = 1.6 mV 3 2 Si analizza un segnale da 1 kHz Vpp = 1 LSB Vrms dither = con dither Senza dither n = 10 bit, VFS = 5 V 28 Altro dithering Un segnale di dither di tipo bianco è adatto ai seguenti casi: • • Segnali AC con ampia banda; ADC con caratteristica di trasferimento simile a quella ideale. Se, invece, l’ADC ha DNL significante il segnael di dither più adatto è a banda stretta centrata alla frequenza di Nyquist. Per quanto riguarda l’ampiezza questa dovrebbe essere dell’ordine di alcuni LSB (tipicamente 4 o 5 LSB). 29 Comportamento in presenza di segnali variabili • Le incertezze trattate precedentemente sono relative ad una situazione di regime statico. • In regime dinamico, è possibile supporre, in prima approssimazione, che le incertezze non si discostino da quelle valutate in regime statico, purché la variazione del segnale durante la conversione non esca dalla fascia ±½LSB. 30 Comportamento in presenza di segnali variabili • Si supponga di avere un segnale in ingresso sinusoidale, di frequenza f e di ampiezza pari al fondo scala. • La massima variazione del segnale in ingresso si ha in corrispondenza del passaggio per lo zero. • La risoluzione dell’ADC vale Vfs/2n e quindi deve essere: • Esempio: 1 sin(ωt ) ≅ ωt ≤ n 2 1 ω≤ t ⋅ 2n 1 f ≤ 2πt c 2 n – n = 8; tc = 20 µs – f ≤ 31 Hz 31 Il Sample & Hold • Nel caso in cui la variazione del segnale in ingresso sia superiore a ±½LSB è necessario anteporre al convertitore A/D un dispositivo di campionamento e tenuta (o Sample & Hold). Vusc Vin C Vcontr 32 Il Sample & Hold • Fase di campionamento (Sample) – interruttore chiuso – tensione sul condensatore pari alla tensione Vin Vusc Vin C Vcontr 33 Il Sample & Hold • Fase di mantenimento (Hold) – interruttore aperto – tensione Vusc pari alla tensione sul condensatore. Vusc Vin C Vcontr 34 Errore di quantizzazione • L’errore di quantizzazione può essere schematizzato come rumore bianco a valor medio nullo, di ampiezza massima pari a 1 LSB (indicato con Q=quantizzazione), uniformemente distribuito nell’intervallo ± 1/2 LSB con densità di probabilità costante pari a 1/LSB nello stesso intervallo. • La varianza è data da: Q 2 s 2 adc Q 2 1 2 1 1 3Q2 = ∫ x ⋅ f (x )⋅dx = ∫ x ⋅ ⋅dx = x dx = x ∫ Q Q -Q 2 3 Q -Q 2 -Q 2 -Q 2 2 Q 2 2 1 3Q2 1 Q3 Q3 1 Q3 Q2 = x -Q 2 = + = ⋅ = 3Q 3Q 8 8 3Q 4 12 35 Errore di quantizzazione e, essendo: Q=Vfs/2n, 2 sadc = 2 Vfs n (12 ⋅ 4 ) e il valore efficace del rumore di quantizzazione, pari alla radice quadrata della varianza risulta: Q 1 LSB s adc = = 12 12 • Fissato il numero di bit n del convertitore, è quindi fissato l’errore quadratico medio di quantizzazione. 36 Rumore di quantizzazione • La quantità 2 sadc = 2 Vfs n (12 ⋅ 4 ) può però essere vista anche come il valore quadratico medio di un rumore (rumore di quantizzazione) che, sovrapposto ad un segnale comunque variabile all’interno di una banda di quantizzazione, provoca l’emissione dello stesso codice (corrispondente alla banda). • Ha quindi senso risolvere rispetto ad n ed ottenere: Vfs2 - 1.7925 n = log4 2 s adc 37 Rumore complessivo • Supposto un segnale in ingresso sinusoidale, con valore efficace: V = Vfs 2 2 V2 n = log 4 2 - 0.2925 si ha: s adc dove il rapporto V2//s2adc rappresenta un rapporto segnale rumore. • Il rumore di quantizzazione può non essere l’unico rumore presente. • Si consideri un rumore sa che si sovrappone al segnale, e lo si supponga scorrelato al rumore si quantizzazione. Si ha allora un rumore complessivo il cui valore quadratico medio è: 2 ss2 = sa2 + sadc 38 Bit effettivi • Sostituendo il valore quadratico medio del rumore complessivo nella espressione del numero di bit si ottiene: V 2 - 0.2925 neff = log4 2 s s • V/ss rappresenta il rapporto segnale rumore (SNR) complessivo e neff rappresenta la effettiva risoluzione (numero numero di bit effettivi) effettivi del convertitore al variare di SNR. • Si ha allora: 16 16 bit 12 bit 10 bit 8 bit 6 bit 14 12 10 N. di bit eff. 8 6 4 2 0 120 100 80 60 40 20 SNR [dB] 39 16 Bit effettivi 16 bit 12 bit 10 bit 8 bit 6 bit 14 12 10 N. di bit eff. 8 6 4 2 0 120 100 80 60 40 20 SNR [dB] • Quando sa è trascurabile rispetto a sadc, la risoluzione effettiva coincide con la risoluzione nominale. • Quando sa aumenta, la risoluzione effettiva diminuisce e tende asintoticamente allo stesso valore • E’ inutile avere convertitori con elevata risoluzione nominale in presenza di forti rumori (generati internamente o esternamente al convertitore)! 40