Convertitore analogico-digitale

Indice dei contenuti

    Il convertitore analogico-digitale, o ADC (Analog-to-Digital Converter), è il circuito che trasforma un segnale analogico continuo in una sequenza di codici numerici. È il punto di ingresso del mondo digitale per sensori, ricevitori radio, strumenti di misura, audio, acquisizione dati, controlli industriali, oscilloscopi, dispositivi biomedicali e sistemi embedded.

    La conversione non è un singolo atto istantaneo. In una catena reale si susseguono condizionamento analogico, filtraggio anti-aliasing, campionamento, eventuale sample-and-hold, quantizzazione dell’ampiezza e codifica binaria. Ogni passaggio introduce vincoli: banda, rumore, errore di guadagno, offset, jitter di clock, linearità, saturazione e consumo.

    Dal segnale analogico al codice

    Un ADC osserva una grandezza analogica, di solito una tensione, in istanti discreti separati dal periodo di campionamento T_s:

    T_s=\dfrac{1}{f_s},

    dove f_s è la frequenza di campionamento. Il segnale continuo x(t) diventa una sequenza di campioni:

    x[n]=x(nT_s).

    Ogni campione viene poi associato a uno dei livelli disponibili. Se l’ADC ha N bit, il numero ideale di codici è:

    L=2^N.

    Per un ADC unipolare ideale con ingresso tra 0 e V_{\text{ref}}, un modello elementare del codice intero è:

    D= \left\lfloor \dfrac{V_{\text{in}}}{\Delta} \right\rfloor, \qquad 0\le D\le 2^N-1,

    dove \Delta è il passo di quantizzazione. Il valore esatto del codice dipende dalla convenzione del convertitore, dalla presenza di saturazione, dall’allineamento dei livelli e dal formato numerico usato in uscita.

    Risoluzione e passo LSB

    Per un ADC ideale a N bit e fondo scala V_{FS}, il passo di quantizzazione, spesso chiamato LSB (Least Significant Bit), è:

    \Delta=LSB=\dfrac{V_{FS}}{2^N}.

    Un passo più piccolo permette di distinguere variazioni più piccole di ampiezza, ma non garantisce da solo una misura migliore. Se il rumore analogico, il rumore del riferimento, il jitter o la non linearità sono più grandi del passo, i bit nominali non corrispondono a informazione utile.

    La risoluzione in tensione va sempre confrontata con il range effettivamente usato. Se un segnale occupa solo una piccola porzione del fondo scala, molti codici restano inutilizzati e la risoluzione efficace peggiora. Per questo spesso si usa un amplificatore o un front-end di condizionamento prima dell’ADC, scegliendo guadagno e offset in modo da sfruttare il range senza saturare.

    Errore e rumore di quantizzazione

    Nel modello ideale di quantizzazione uniforme, il valore quantizzato differisce dal valore analogico di un errore e_q. Se non c’è saturazione e il segnale attraversa molti livelli, l’errore è compreso tra:

    -\dfrac{\Delta}{2} \le e_q \le \dfrac{\Delta}{2}.

    Se l’errore può essere approssimato come variabile uniforme indipendente dal segnale, la sua varianza è:

    \sigma_q^2= \dfrac{\Delta^2}{12},

    e il valore efficace del rumore di quantizzazione è:

    v_{q,\mathrm{rms}}= \dfrac{\Delta}{\sqrt{12}}.

    Queste ipotesi sono utili ma non automatiche. Con segnali molto piccoli, lenti o correlati ai livelli di quantizzazione, l’errore può diventare deterministico e produrre distorsione invece di rumore bianco. In alcune applicazioni si usa dithering, cioè rumore controllato, per rendere più regolare il comportamento statistico della quantizzazione.

    SNR ideale ed ENOB

    Per una sinusoide a fondo scala:

    SNR_q \simeq 6{,}02N+1{,}76\ \mathrm{dB}.

    Questa formula vale per un ADC ideale, con quantizzatore uniforme, sinusoide a piena scala, nessuna saturazione e rumore di quantizzazione non correlato. Ogni bit aggiuntivo migliora l’SNR ideale di circa 6\ \mathrm{dB}.

    Negli ADC reali si usa spesso l’ENOB (Effective Number Of Bits), numero effettivo di bit:

    ENOB= \dfrac{SNR_{\mathrm{dB}}-1{,}76}{6{,}02}.

    L’ENOB è spesso più importante dei bit nominali, perché include rumore, distorsione e imperfezioni reali. Un ADC dichiarato a 16 bit può avere 13 o 14 bit effettivi nella banda e nelle condizioni operative di interesse. Per confrontare dispositivi diversi bisogna quindi leggere anche SINAD, THD, SFDR, banda d’ingresso, frequenza di campionamento, riferimento e condizioni di misura.

    Campionamento e anti-aliasing

    Il campionamento richiede che lo spettro di un segnale sia compatibile con la frequenza di campionamento. Per un segnale reale in banda base, con banda utile B, il criterio ideale è:

    f_s\ge 2B.

    La frequenza:

    f_N=\dfrac{f_s}{2}

    è la frequenza di Nyquist. Le componenti oltre f_N possono ripiegarsi nella banda osservata producendo aliasing. L’aliasing è irreversibile dopo il campionamento: un filtro digitale posto dopo l’ADC non può distinguere una componente reale in banda da una componente alta già ripiegata.

    Per questo, prima dell’ADC si usa un filtro passa-basso analogico anti-aliasing. Nella pratica si sceglie spesso:

    f_s \gt 2B

    per lasciare una banda di transizione al filtro reale. Nessun filtro analogico ha taglio verticale: occorre margine tra la banda utile e la frequenza di Nyquist.

    Sample-and-hold, apertura e jitter

    Molti ADC includono o richiedono un circuito di sample-and-hold: durante una breve finestra il segnale viene campionato e poi mantenuto abbastanza stabile perché il convertitore possa completare la quantizzazione. Se il segnale cambia rapidamente durante l’apertura, compare un errore di apertura.

    Il jitter del clock, cioè l’incertezza temporale sull’istante di campionamento, trasforma pendenza del segnale in errore di ampiezza. In prima approssimazione:

    e_j \simeq \dfrac{dx}{dt}\,\sigma_t,

    dove \sigma_t è il jitter rms. Per una sinusoide di ampiezza A e frequenza f:

    \left\lvert\dfrac{dx}{dt}\right\rvert_{\max} = 2\pi f A.

    Questo spiega perché ADC ad alta risoluzione e alta frequenza richiedono clock molto puliti. A bassa frequenza il rumore di quantizzazione può dominare; ad alta frequenza il jitter può diventare il limite principale anche se il numero di bit nominale è elevato.

    Errori reali: offset, guadagno e linearità

    Un ADC reale non segue perfettamente la scala ideale. I principali errori statici sono:

    ErroreSignificato
    offsetil codice zero o il punto medio risultano spostati
    guadagnola pendenza della conversione differisce da quella ideale
    DNLlarghezze dei codici non uniformi
    INLdeviazione complessiva dalla retta ideale
    missing codeuno o più codici non compaiono mai
    saturazionel’ingresso supera il range convertibile

    La DNL (Differential Non-Linearity) misura quanto ogni passo reale differisce da un LSB ideale. La INL (Integral Non-Linearity) misura l’errore accumulato rispetto a una retta di riferimento. DNL elevata può produrre codici mancanti; INL elevata introduce distorsione, particolarmente visibile nei segnali sinusoidali e nelle misure di precisione.

    Architetture di ADC

    Le architetture principali privilegiano compromessi diversi tra risoluzione, velocità, consumo e complessità:

    ArchitetturaCaratteristicaUso tipico
    flashconversione molto rapida, molti comparatoriRF, oscilloscopi veloci
    SARbuon equilibrio tra velocità, risoluzione e consumomicrocontrollori, misura generale
    sigma-deltaalta risoluzione con sovracampionamento e filtraggio digitaleaudio, sensori, strumenti lenti
    pipelinealta velocità con risoluzione media-altacomunicazioni e acquisizione veloce
    integratingottima reiezione del rumore periodico, conversione lentamultimetri e misura di precisione

    Un ADC flash è veloce ma cresce rapidamente in area e potenza con i bit. Un SAR è molto diffuso perché compatto e versatile. Un sigma-delta ottiene alta risoluzione spostando rumore fuori banda e filtrando digitalmente, ma introduce latenza e non è adatto a ogni segnale transitorio. Un pipeline gestisce campionamenti elevati, ma richiede calibrazione e ha latenza interna.

    Scelta dell’ADC in un sistema

    La scelta non parte dal numero di bit, ma dal requisito di sistema. Bisogna definire:

    RequisitoDomanda pratica
    banda utilequal è la frequenza massima del segnale da acquisire?
    rangequale intervallo di tensione deve essere convertito?
    rumore ammissibilequal è il rapporto segnale-rumore richiesto?
    dinamicaservono molti bit effettivi o solo molti campioni al secondo?
    latenzail dato serve in controllo in tempo reale o in analisi offline?
    riferimentola precisione dipende da un riferimento stabile e poco rumoroso?
    interfacciaSPI, parallela, LVDS, JESD o bus integrato?

    Nei biosegnali, per esempio, servono spesso alta risoluzione, rumore basso e buon filtraggio prima della conversione; nella radio definita via software servono campionamento veloce, dinamica e clock di qualità; nei controlli industriali contano latenza, robustezza, isolamento e immunità ai disturbi.

    Relazione con DAC e catena digitale

    L’ADC è il complemento del convertitore digitale-analogico, ma i due problemi non sono simmetrici. L’ADC deve proteggere l’informazione prima che diventi discreta: se aliasing, saturazione o clipping sono entrati nella conversione, il dato digitale non contiene più il segnale originale. Il DAC, invece, deve ricostruire o generare una grandezza analogica a partire da un codice, affrontando immagini spettrali, glitch e filtro di ricostruzione.

    In una catena completa, ADC e DAC sono collegati da elaborazione digitale, memoria, compressione, filtraggio e comunicazione. Il progetto corretto assegna la banda e il rumore fin dall’ingresso analogico, non solo nel software.

    Errori comuni

    Un primo errore è pensare che più bit significhi sempre misura migliore. Se il front-end è rumoroso, se il riferimento è instabile o se l’ENOB è basso, i bit meno significativi contengono rumore e non informazione.

    Un secondo errore è trascurare il filtro anti-aliasing analogico. Filtrare dopo l’ADC non rimuove aliasing già avvenuto: il ripiegamento spettrale ha già contaminato i campioni.

    Un terzo errore è usare tutto il fondo scala solo in teoria. Se il segnale reale è molto più piccolo del range, la risoluzione effettiva diminuisce; se è troppo grande, l’ADC satura e il dato è perso.

    Un quarto errore è confrontare ADC usando solo frequenza di campionamento e bit nominali. Per una scelta seria servono ENOB, SNR, SINAD, SFDR, jitter, banda analogica, latenza, consumo, riferimento, interfaccia e condizioni di test.

    Voci correlate

    Ultimo aggiornamento: