Dentro un convertitore AD

La conversione analogica-digitale sfrutta il principio del teorema del campionamento visto nel seguente articolo. Lo schema generale del convertitore AD è illustrato nella figura seguente.

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 bilanciamento 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) può essere spiegato schematicamente da un circuito elettrico costituito da un condensatore e da un interruttore. Per campionare la tensione di ingresso l’interruttore si chiude momentaneamente per effettuare la lettura, quindi 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.

L’interruttore viene attivato dal clock con una frequenza pari a quella del sample rate. L’operazione di sampling e di holding fornisce una curva a gradini. Il segnale viene campionato.

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.

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. Ad esempio, se l’ampiezza varia tra –5 e +5 volt, il range delle ampiezze è di 10 volt e se la codifica digitale la divide in 16 regioni, ogni regione avrà un’ampiezza di 0,625 volt.

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 mentre per N = 5, le parole binarie possibili sono 32. La combinazione di 8 bit costituisce una parola binaria chiamata byte che offre un numero di valori paro a 256, mentre con 16 bit abbiamo 65.536 combinazioni.

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. Ad esempio, se consideriamo l’immagine seguente…

… dopo la quantizzazione avremo il risultato mostrato in figura.

Il risultato ottenuto è affetto da un errore di quantizzazione. Possiamo ridurre gli errori aumentando il numero di regioni ricordando che aumentando di un bit il codice binario si avrà il raddoppio delle regioni. Il massimo errore di quantizzazione è dato dalla metà della dimensione di una regione, in quanto assumendo che il codice corrisponda al valore di mezzo, al più il valore di tensione per un certo campione sarà agli estremi della regione. Aumentando il numero di regioni….

…l’errore di quantizzazione diminuisce.

Il numero di bit determinano la risoluzione del range di ampiezza e quindi influiscono la dinamica. Ogni volta che si aggiunge un bit alla parola binaria si raddoppia la dinamica ovvero si aggiungono 6 decibel. Ad esempio se ho 8 bit posso considerare un range di dinamica pari a 6 x 8 = 48 dB. Con 16 bit otteniamo 96 dB.

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. Ad esempio il segnale seguente…

… viene codificato in PCM come nella figura seguente.

I numeri romani indicano la successione dei campioni. Per semplificare abbiamo utilizzato dei campioni a 3 bit. I numeri (a base decimale) sopra i numeri romani indicano le ampiezze dei campioni. Infine, la successione di 0 e 1 rappresenta le parole binarie di 3 bit che costituiscono i campioni.

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 dell’articolo 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. La figura successiva riassume lo schema dell’intero processo di corversione analogica- digitale.

Annunci

Informazioni su silviorelandini

sound designer, docente di tecnologie musicali, direttore iitm
Questa voce è stata pubblicata in Scienza del Suono e contrassegnata con . Contrassegna il permalink.

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...