La conversione analogica-digitale sfrutta il principio del teorema del campionamento visto nel capitolo 8. Lo schema generale del convertitore AD è illustrato nella figura di copertina di questo post.
Il FILTRO limita la larghezza di banda del segnale analogico.
Il CAMPIONATORE converte un segnale a valore continuo nel tempo in segnale discreto
Il QUANTIZZATORE converte un segnale a valore continuo nell’ampiezza in segnale discreto
Il CODIFICATORE definisce il codice di segnale digitale in base alle applicazioni che seguono.
Il passaggio dall’analogico a digitale è caratterizzato da un’operazione di discretizzazione del tempo, detta campionamento, e da una successiva di discretizzazione dell’ampiezza, detta quantizzazione. A ogni periodo di campionamento si preleva un campione dell’ampiezza del segnale, cioè il valore quantizzato del segnale analogico in quell’istante; il risultato è una sequenza di valori che corrispondono all’andamento del segnale. Più sono ravvicinati i valori più efficacemente sarà descritto l’andamento del segnale. In modo ancora più intuitivo, più brevi sono gli intervalli di tempo tra un campione e il successivo più simile all’originale analogico sarà il segnale risultante. Per intervalli di tempo infinitamente brevi i due segnali analogico e digitale dovrebbero coincidere.
È chiaro che occorre trovare un buon bilancaimento tra il numero dei campioni (ovvero la SR) e la qualità del suono che si vuole ottenere. Una migliore qualità del segnale presuppone un maggior numero di campioni nell’unità di tempo e di conseguenza uno spazio maggiore in memoria e una velocità superiore di trasferimento dati. La riproduzione dell’audio corrisponde a una lettura dei campioni e alla loro conversione in segnale analogico, operazione che deve avvenire con una velocità appropriata. Se i campioni che descrivono il segnale sono 44.100 per secondo, occorre che il dispositivo (hard disk, CD) sia abbastanza veloce da inviare 44.100 numeri al DAC. Se l’audio viaggiasse su Internet, allora la rete dovrebbe essere in grado di trasportare 44.100 campioni al secondo, altrimenti la riproduzione sarebbe difficile.
Il campionamento è effettuato dal circuito di Sample & Hold (che tradotto in italiano suona come “campiona e mantieni”). Il circuito ha il compito di registrare il segnale per ogni istante di campionamento discretizzando i tempi. Il circuito Sample & Hold (brevemente S/H) è costituito schematicamente da un condensatore e da un interruttore. Per campionare la tensione di ingresso l’interruttore si chiude momentaneamente per effettuare la lettura, quidni si riapre e in questo preciso istante il condensatore trattiene il valore di tensione finchè l’interruttore si chiude nuovamente per registrare un nuovo campione.
Abbiamo visto che, nel campionamento, andiamo a trasformare in valori numerici discreti quello che in origine è un segnale continuo. Il segnale che deriva dal circuito di campionamento è però ancora nel dominio analogico in quanto l’ampiezza di ogni campione può assumere infiniti valori tra i limiti massimo e minimo della tensione analogica. Questi valori dovranno essere rappresentati tramite il sistema binario ovvero determinando il numero di bit a disposizione per i valori dell'ampiezza del segnale. I numeri di lettura della tensione dovranno quindi essere associati (anzi, approssimati) ad uno dei valori possibili.
Per questo motivo, la caratteristica di un convertitore è espressa dalla Sample Rate e dal bit rate (ovvero dalla massima risoluzione della quantizzazione). Questa combinazione viene espressa ad esempio con la sigla 96/24 che stà a significare una sample rate massima di 96 kHz e una risoluzione massima di 24 bit. Vediamo quali sono i valori ammessi per la quantizzazione considerando il caso semplice che il convertitore metta a disposizione 4 bit per effettuare l’operazione. Le combinazioni possibili che offrono 4 bit sono 16, pari cioè a 2 elevato alla 4. L’operazione di quantizzazione sul singolo campione di ampiezza (tensione elettrica) ha l’obiettivo di assegnare al campione uno dei valori numerici che sono consentiti nella codifica digitale che divide il range delle ampiezze possibili in regioni: ogni campione ha un’ampiezza che deve cadere in una delle regioni. Il numero di regioni in cui è suddivisa la gamma delle ampiezze dipende quindi dai bit a disposizione per la codifica. Una parola binaria di N bit può assumere 2 elevato alla N valori o configurazioni differenti. Per N = 2, le parole binarie possibili sono 4 (2*2) mentre per N = 5, le parole binarie possibili sono 32 (2 elevato alla 5). La combinazione di 8 bit costituisce una parola binaria chiamata byte che offre un numero di valori paro a 256 (2elevato alla 8), mentre con 16 bit abbiamo 65.536 combinazioni (2 elevato alla 16).
Durante l’operazione di quantizzazione, i valori di tensione che vengono letti sono associati ad una certa regione e vengono quindi convertiti nel codice binario che rappresenta quella regione. Se facciamo riferimento alla tabella precedente la tensione 3,6 viene convertita nel valore 1101 mentre la tensione 0,15 al valore 1000.
È ovvio che durante il processo di quantizzazione avviene una perdita dell’informazione perché tutti i valori intermedi tra una rgione e la successiva saranno convertiti allo stesso valore binario.
L’operazione di quantizzazione associa ogni campione a una delle regioni di quantizzazione definite dalla lunghezza della parola binaria. L’operazione conclusiva della conversione è la generazione del codice associato al campione, e che identifica tutta la regione. I valori in successione della codifica sono associati a regioni successive di quantizzazione. Anche i codici sono parole binarie, che possono rappresentare valori interi senza segno o con segno. Le parole binarie sono memorizzate sui supporti per il digitale quali hard disk, cd, dvd, e sono trasmesse via telematica.
Esistono molti modi per codificare un segnale e quella più utilizzata avviene tramite la modulazione del codice dell’impulso (Pulse Code Modulation - PCM) grazie alla quale l’informazione digitale viene codificata in modo seriale. Se c’è, l’impulso viene codificato con un 1, l’assenza di impulso è rappresentata con lo 0.
Durante la codifica vengono aggiunti dei bit extra utilizzati per il controllo di eventuali errori nella codifica e, in alcuni casi, per la loro correzione. Lil sistema più semplice è costituito dal bit di parità, che viene aggiunto alla word fissa di bit. Se nella sequenza costituente la word il numero di bit a 1 è pari, allora il bit di parità viene posto a 0; se invece il numero di bit a 1 è dispari, allora il bit di parità verrà posto a 1. Nel caso in cui un bit per errore subisce un flip, ovvero varia da 0 a 1 o viceversa, il bit di parità permette di scoprirlo senza però dare alcuna indicazione per sapere dove è occorso l’errore anche se il sistema può richiedere al dispositivo una nuova lettura del dato o eventualmente una ritrasmissione. Ma c’è un altro problema in quanto con un bit di parità non è possibile rilevare i casi in cui si verificano due errori e in generale, in quelli dove gli errori sono in numero pari; inoltre, il bit di parità non può distinguere se gli errori sono in numeri dispari. Una delle soluzioni adottate è quella di aumentare il numero di bit di controllo in modo da rilevare un numero maggiore di errori e in alcuni casi di correggerli.
Questi bit aggiuntivi sono detti codici di correzione degli errori (Error Correcting Codes - ECC) e sono presenti in tutte le forme di archiviazione digitale.
A conlcusione del capitolo cerchiamo di riassumere tutto il processo di conversione: il segnale analogico entra nel convertitore A/D e passa per il circuito di sample & hold, dove il segnale viene letto e mantenuto costante per il tempo di campionamento, costituendo la formazione della funzione a gradini. Il segnale passa a questo punto nel quantizzatore, dove viene calcolato, nel tempo di campionamento, il valore digitale del segnale.
Il segnale viene a questo punto inviato al multiplexer, che opera un’operazione di miscelamento nel senso che crea un dato unico per un segnale ad esempio stereofonico (costituito dai dati del canale sinistro e da quelli del dato destro). Infatti, il segnale stereofonico segue due strade separate per il canale destro e sinistro e solamente grazie al multiplexing viene unito.
Segue un circuito di correzione degli errori, che opera correzioni basate su sistemi di riconoscimento degli errori e infine il segnale viene modulato.