Il campionamento digitale (2)
Coordinatore del Laboratorio Musicale: Prof: Gennaro  Vespoli (Facebook)

 

Home
Su

 

Abbiamo trattato nel tutorial precedente i principi fondamentali dell'audio digitale e del campionamento.
Con questo secondo tutorial andremo a vedere quali sono i dispositivi che consentono il passaggio dal segnale analogico a quello digitale e viceversa.
Non è sufficiente infatti il solo convertitore digitale/analogico ad effettuare tutto il lavoro necessario, per ragioni che in parte abbiamo già toccato di sfuggita e che qui andiamo ad approfondire.
E' molto inportante, per chi vuole avere a che fare con l'audio digitale ed in particolare con il campionamento, conoscere i vari passaggi del procedimento di conversione, perchè questo aiuterà a comprendere eventuali errori o difetti presenti nell'audio campionato, e quali sono i mezzi e le strategie per risolvere questi problemi.


La catena audio digitale


Diamo uno sguardo a cosa ccade al segnale analogico quando entra nel processo di campionamento.
Prima di tutto il segnale necessita di un'amplificazione, perchè il segnale microfonico sarebbe troppo debole per consentire un buon lavoro alla circuiteria che il segnale deve attraversare
Prima che il segnale venga analizzato dal convertitore, la banda del segnale deve essere limitata, come sappiamo dal teorema di Nyquist che abbiamo visto nel tutorial precedente: sappiamo infatti che se frequenze superiori alla metà della frequenza di campionameto entrassero nel dispositivo, avremmo il verificarsi del fastidioso fenomeno di aliasing, del quale perleremo più avanti.
Per evitare che ciò accada, viene posto un filtro passa-basso prima del convertitore, in modo che vengano tagliate dal segnale tutte le frequenze eccedenti una certa frequenza massima.
Questo filtro prende il nome di filtro anti-aliasing, ad indicare chiaramente la sua funzione. Si tratta in effetti di un normalissimo filtro passa-basso, tarato però in modo particolare, come poi vedremo.
Prima del filtro anti-aliasing viene inserito un altro dispositivo, necessario ad impedire la formazione di imprecisioni nel segnale digitale: questo dispositivo è il generatore di dither, e serve a generare un rumore di bassissima intensità detto appunto dither, la cui funzione è quella di impedire errori di quantizzazione durante il campionamento. Più avanti vedremo come funziona e che tipo di errori deve evitare questo dispositivo misconosciuto ma fondamentale.
A questo punto il segnale, dopo aver attraversato amplificazione, generatore di dither e filtro anti-aliasing, giunge finalmente alla fase di conversione vera e propria.
Questa viene effettuata in più fasi. Il primo elemento è il circuito di sample & hold, (che sta per campiona e mantieni): è in questo circuito, concettualmente assai semplice, che il segnale viene letto e mantenuto costante per il tempo di campionamento, in modo da consentire la formazione della caratteristica funzione a gradini che abbiamo visto negli esempi del tutorial precedente.
Il segnale passa a questo punto nel convertitore analogico-digitale, che è il cuore del processo di campionamento. E' qui infatti che viene calcolato, nel tempo di campionamento, il valore digitale del segnale che è stato letto e trattenuto dal sample & hold.
Il segnale viene a questo punto inviato al multiplexer, che opera in pratica un riordinamento dei dati: i dati vengono infatti inviati in parallelo dal convertitore, ed è il multiplexer a riordinarli in un flusso continuo di bit. A questo proposito dobbiamo ricordare che il segnale di cui stiamo parlando è in generale stereofonico, per cui segue fino a questo punto due strade separate per il canale destro e sinistro: solo con il multiplexing i due segnali vengono unificati.
Segue poi un circuito di correzione degli errori, che opera correzioni basate su sistemi di riconoscimento degli errori che poi vedremo, e infine il segnale viene opportunamente modulato secondo una delle tante modulazioni possibili. Velocemente vedremo quali sono i principali tipi di modulazioni, anche se dedicheremo poi un tutorial a questo importantissimo concetto che è alla base della produzione del suono sia campionato che di sintesi, come pure della trasmissione radiofonica.

Ciò che abbiamo detto può essere efficacemente riassunto in un piccolo schema.

 


Tralasciando il circuito di amplificazione che è un elemento del quale ci occuperemo quando dedicheremo un tutorial agli amplificatori, vediamo una ad una le componenti della catena audio digitale.


Il generatore di dither


Per comprendere l'importanza di questo elemento e la sua funzione all'interno del processo di campionamento, dobbiamo ricordarci di ciò che sappiamo sulla quantizzazione del segnale digitale.
Ricordiamo che il sistema digitale è caratterizzato dal fatto di utilizzare una rappresentazione discreta dei valori di ampiezza, per cui, sapendo quanti bit sono dedicati alla dinamica del sistema, possiamo stabilire quanti valori discreti di ampiezza può assumere il segnale.

 


Ad esempio vediamo dalla tabella che in un sistema ad 8 bit avremo 512 "step" di ampiezza (ovvero di volume) disponibili, mentre con 16 bit ne avremo 65536, e così via.
Ovviamente, essendo nella realtà analogica l'ampiezza del segnale audio continua, può capitare che, nell'istante in cui il suono viene campionato, la sua ampiezza non sia esattamente pari ad una delle 2n ampiezze possibili nel sistema binario. Accadrà quindi che l'ampiezza analogica, "imprecisa" per il calcolatore, venga approssimata a quella binaria più vicina. In effetti in genere viene approssimata a quella superiore. Ciò, se può essere corretto nella maggioranza dei casi, può portare a degli errori in casi particolari, come è facile notare nei grafici che seguono.

 


Nel caso rafigurato nel grafico superiore, l'approssimazione effettuata è accettabile poichè conserva le caratteristiche del segnale originale, compatibilmente con la capacità di quantizzazione del sistema (che nell'esempio è molto bassa, appena 2 bit). Nel grafico inferiore, invece, l'approssimazione deforma il segnale originale, fino a renderlo irriconoscibile. Questo si chiama errore di quantizzazione.
Per prevenire gli errori di quantizzazione, viene sommato al segnale da campionare un altro segnale, detto Dither, che è un rumore analogico di ampiezza inferiore al passo di quantizzazione (circa un terzo), ossia inferiore alla distanza tra le linee parallele orizzontali nel nostro grafico.
Questo rumore non può essere percepito, perchè è di ampiezza troppo piccola per essere quantizzato, ma diminuisce sensibilmente la possibilità che si verifichino errori di quantizzazione, come è facile intuire in quest'altro grafico:

 



Il filtro anti-aliasing


Come abbiamo detto, a causa del limite posto dal teorema di Nyquist, siamo costretti a porre un filtro passa-basso prima del Sample & Hold. Ciò impedirà l'introduzione di frequenze superiori alla metà di quella di campionamento. Le frequenze superiori a tale frequenza generano infatti delle frequenze estranee, dette di aliasing.
Cosa accade esattamente? Accade che frequenze superiori alla metà di quella di campionamento sono troppo "veloci" perchè il sample & Hold possa intercettarne almeno due campioni ogni ciclo; ciò porterà all'incapacità dell'elaboratore di stabilire quale sia la frequenza originale, la quale sarà sostituita da frequenze che sono sottomultipli della frequenza originale ma inferiori alla metà della frequenza di campionamento. Si generano cioè frequenze che al convertitore sembrano ("alias") altre frequenze.
Ciò provoca una forte distorsione armonica del segnale campionato.
Per stabilire quale sarà la frequenza di alias introdotta, è sufficiente un semplice calcolo: se C è la frequenza di campionamento, F una frequenza più alta della metà della frequenza di campionamento, e N un numero intero, allora si crea una nuova frequenza campionata Fa= ± NC ± F.
In altre parole, le frequenze di alias o frequenze immagini appaiono nella banda principale e nelle sue immagini come speculari intorno alla frequenza di campionamento (e ai suoi multipli).

Facciamo un esempio: supponiamo di avere un sistema che campiona a 44 kHz e supponiamo anche che una frequenza di 32 kHz si sia "infiltrata" dentro il nostro sistema di campionamento. Osserviamo che la prima frequenza che si crea nello spettro è Fa = C-F ossia 44-36 = 8 kHz. Dai campioni che sono a nostra disposizione, non c’è alcuna possibilità di decidere se la frequenza di 8 kHz è giusta o meno. Dopo il filtro passa-basso all’uscita la componente a 32 kHz sarà sparita ma quella a 8 kHz no, distorcendo il segnale in maniera irreparabile.
Le manifestazioni dell’effetto dell’aliasing non si fermano qui. Esistono infinite altre frequenze di aliasing. Nel nostro esempio, un campionamento a 44 kHz e una frequenza di 32 kHz producono delle frequenze di aliasing di 8, 52, 80, 96, 124, 140 kHz ecc. Sebbene solo la componente a 8 kHz ci dia fastidio in quanto facente parte della banda audio, è da notare che non ha importanza quanto sia alta la frequenza in ingresso: se questa eccede la metà della frequenza di campionamento, ci ritroveremo sempre una componente di aliasing nella banda principale.

Per ottenere un perfetto taglio in entrata delle frequenze superiori alla frequenza desiderata sarebbe necessario un filtro passa basso idealmente perfetto; poichè in realtà ciò è impossibile, e il filtro ha sempre una sua pendenzacaratteristica, in realtà si alza un po' la frequenza di campionamento oltre il necessario. Ad esempio, quando si vuole campionare uno spettro comprendente tutte le frequenze udibili all'orecchio umano, che vanno come sappiamo da 20 a 20.000 Hz, in base al teorema di Nyquist la frequenza di campionamento sufficiente sarebbe di 40.000 Hz; nella pratica però si utilizzano frequenze di campionamento un poco superiori (44.100 Hz) per evitare di avere problemi a causa della pendenza del filtro anti.aliasing.


Il Sample & Hold


Il circuito di Sample & Hold (campiona e mantieni) ha il compito di registrare in modo accurato il segnale per ogni istante di campionamento. Ricordiamo qui per maggiore chiarezza che se, ad esempio, la frequenza di campionamento è di 30.000 Hz, allora tra due istanti di campionamento intercorre 1/30.000 di secondo. Ciò vuol dire che è necessaria un'enorme accuratezza nel sistema che dà il tempo al circuito, altrimenti in lettura con un altro dispositivo si possono avere dei gravi errori di temporizzazione.
Il circuito Sample & Hold (brevemente S/H) è in realtà molto semplice: è costituito in buona sostanza da un condensatore e da un interruttore.

 


L'interruttore viene attivato dal clock, e pone il circuito in Hold per tutto l'intervallo tra un istante di campionamento ed un altro, mentre scatta su Sample solo nell'istante di campionamento. Data la brevissima durata di questo intervallo, si capisce che è il sistema di clock ad essere di fondamentale importanza per il corretto funzionamento del circuito S/H.
Eventuali errori dovuti alla temporizzazione sono detti jitter e introducono rumore nel segnale.
Per evitare errori di jitter udibili, è necessario che eventuali errori siano inferiori al nanosecondo.


Il convertitore A/D


Questo è il cuore del sistema. Qui viene stabilito quale intervallo di quantizzazione è il più vicino al corrente valore analogico campionato (inviato dal circuito S/H) e viene dato in uscita un numero binario che rappresenta questo intervallo, il tutto in un tempo di approssimativamente 20 nanosecondi (questo tempo varia, ovviamente, a seconda della frequenza di campionamento).
Spiegare in questo tutorial, che ha obiettivi soprattutto introduttivi, come funzioni un convertitore A/D, sarebbe piuttosto arduo, data la difficoltà della materia.
Quello che possiamo dire è che ci sono diversi tipi di convertitori e che ogni tipo di convertitore funziona sulla base di un diverso principio. I principi fondamentali sono però due. Il primo è quello di confronto del valore analogico con un valore di tensione variabile. Questo principio è sfruttato nei convertitori ad approssimazioni successive e nei convertitori paralleli. Il secondo principio è basato sulla rilevazione del tempo impiegato dal valore d'ingresso a decrescere a zero. Questo metodo è impiegato nei convertitori a integrazione.
Altri metodi utilizzati sono quello del convertitore a doppia rampa e quello, che si sta diffondendo grazie alla maggiore potenza delle apparecchiature, del sovracampionamento. Non scendiamo nei particolari di questi metodi: in futuro potremo dedicarvi un tutorial a parte per chi fosse interessato ad approfondire l'argomento.


Il multiplex


Abbiamo già detto ciò che ci interessa conoscere di questo dispositivo, che tra l'altro è largamente utilizzato in molte applicazioni digitali.
Brevemente, il multiplex ha il compito di ricevere due (o più, ma non è il nostro caso) segnali digitali e incrociarli in modo da trasmetterli come uno solo, e in modo che un de-multiplexer sia in grado di separare di nuovo i segnali in fase di riproduzione, mantenendo tutte le caratteristiche originali.


La correzione degli errori


Questo è un altro tema molto vasto, che potrà essere oggetto di futuri approfondimenti.
Esistono numerosi sistemi di correzione degli errori; in fase di registrazione ne vengono inseriti alcuni, in modo da poter compiere verifiche durante la riproduzione.
Il primo sistema utilizzato è quello della ridondanza: vengono aggiunti dei bit di parità e di check, dati ridondanti, generati basandosi su quelli originali, allo scopo di utilizzarli in fase di lettura per correggere eventuali errori. Inoltre, per prevenire l'eventualità che un difetto in un punto del supporto possa distruggere sia i dati che i bit destinati alla correzione, è previsto un processo di “sparpagliamento” dei dati chiamato interleaving. Tale sistema fa sì che i dati non siano posti sequenzialmente sul supporto, ma le varie parti di essi siano poste in zone fisicamente distanti del supporto stesso, minimizzando così la possibilità di un errore incorreggibile.
Uno schema molto esemplificato del processo di interleaving può essere realizzato come nella figura:

 



La modulazione


A questo punto, il nostro segnale digitale deve subire il processo di modulazione. Questa serve allo scopo di rendere più efficiente la rappresentazione dei dati binari in relazione al supporto sul quale andranno immagazzinati. È così un’onda modulata che viene effettivamente registrata e reinterpretata più tardi a livello di riproduzione. Per far si che il processo di lettura possa reinterpretarla correttamente, è necessario utilizzare lo stesso principio in scrittura e in lettura.
Esistono numerosi tipi di modulazione: quella di frequenza e quella d'ampiezza (FM ed AM), alla base delle trasmissioni radiofoniche, ed altre coma la PAM (Pulse Amplitude Modulation, ossia Modulazione a Codice d'Ampiezza), o la PPM (Pulse Position Modulation, ossia Modulazione a Codice d'Ampiezza) e ancora altre. Nel campionamento digitale viene utilizzata in genere la modulazione PCM (Pulse Code Modulation, ossia Modulazione a Posizione d'Impulso).
Nella PCM il dato binario viene codificato in maniera molto diretta (più diretta che in altre modulazioni), facendo corrispondere allo zero un certo stato, e all’uno uno stato inverso. Vediamo una semplice figura come esempio, senza addentrarci in spiegazioni complesse:

 


Con la modulazione PCM, in cui i dati binari vengono direttamente convertiti in impulsi, è facile modulare anche un segnale stereofonico. È per questo motivo che vengono multiplexati i due canali.


Dopo questa veloce panoramica sulla parte più teorica del campionamento, ci potremo dedicare nei prossimi tutorial ad esempi più pratici di utilizzo dei campionatori.

by Michelangelo Izzo Audiomaster

 

 

Coordinatore del Laboratorio Musicale: Prof. Gennaro Vespoli (Facebook)

Contatta l'autore del sito: gennarovespoli63@gmail.com