Jitter
L’audio digitale è spesso considerato immune da molti difetti che affliggono la registrazione e la trasmissione dei segnali audio analogici come la distorsione, il rumore o il crosstalk...
L’audio digitale è spesso considerato immune da molti difetti che affliggono la registrazione e la trasmissione dei segnali audio analogici come la distorsione, il rumore o il crosstalk. Un segnale audio digitale è fatto di numeri, no? E i numeri in forma di bit possono essere copiati e trasferiti praticamente senza errori da qualunque computer, non è vero?
Beh, ovviamente non è così semplice. È vero che un segnale audio digitale è in pratica una sequenza di numeri, ed è vero che qualunque computer moderno è in grado di copiare o trasferire questi numeri praticamente senza alcun errore. L’audio digitale in sé, in effetti, è quantomeno molto robusto, se non del tutto immune, nei confronti di alcuni dei problemi che abbiamo elencato sopra.
Ci sono però problematiche tipiche della registrazione e della trasmissione dei segnali audio digitali, che agiscono con modalità differenti rispetto a ciò che affligge i segnali analogici.
I valori numerici che costituiscono un segnale digitale rappresentano il segnale reale (quello, analogico, che è destinato a raggiungere orecchie degli ascoltatori) solamente in determinati istanti, detti istanti di campionamento. Questi istanti di campionamento sono a loro volta determinati, in generale, da un segnale di sincronismo che può essere generato all’interno del dispositivo di conversione (A/D o D/A) oppure può essere trasferito da un dispositivo all’altro, anche insieme al segnale digitale.
In parole povere, il segnale analogico è campionato in corrispondenza degli istanti determinati dal segnale di sincronismo, ottenendo una serie di valori successivi che sono poi espressi tramite numeri. Questi numeri sono poi registrati ed eventualmente trasmessi e ricevuti. All’atto della ricostruzione, questi numeri vengono riconvertiti nei corrispondenti valori di segnale, per poi essere riposizionati nella stessa sequenza e con la stessa cadenza temporale del segnale di partenza.
Uno dei difetti tipici dei segnali digitali è l’imprecisione del segnale di sincronismo, che a sua volta determina un’imprecisione nella scelta del valore da campionare, in sede di conversione A/D, oppure un errato posizionamento dei campioni durante la ricostruzione del segnale analogico, in sede di conversione D/A. Questa imprecisione nel segnale di sincronismo prende il nome di “jitter” (figura 1)
La figura 2 mostra in rosso la forma d’onda originale, in grigio gli istanti di campionamento affetti da jitter e in blu la forma d’onda distorta ottenuta posizionando negli istanti corretti la sequenza dei campioni disponibili. Dato che l’errore sul clock non è noto e non può essere memorizzato, restano memorizzati solamente i campioni scelti negli istanti sbagliati per cui l’errore di jitter nella conversione A/D non può più essere corretto.
La figura 3 mostra, invece, un segnale campionato correttamente ma ricostruito utilizzando un clock affetto da jitter, quindi posizionando i campioni corretti negli istanti sbagliati.
Jitter, in generale, rappresenta la deviazione dell’istante temporale di un evento rispetto all’istante nominale, in cui ci si può aspettare che questo evento si manifesti.
Per vari motivi, una certa quantità di jitter in un segnale periodico reale è inevitabile; tutto ciò che si può fare è cercare di mantenerne più basso possibile il valore.
Il “valore”, ovvero l’ampiezza, del jitter è la distanza temporale del fronte di salita o di discesa degli impulsi del segnale di sincronismo dall’istante nominale e si misura in secondi, o meglio in nanosecondi o picosecondi, oppure in percentuale rispetto al periodo di clock.
In genere il jitter che affligge i dispositivi audio elettronici è almeno parzialmente aleatorio, nel senso che lo scostamento dall’istante nominale è più o meno casuale, per cui una possibile caratterizzazione passa spesso attraverso un approccio di tipo statistico. In altri termini, affermare che, ad esempio, un dato segnale è affetto da un jitter di 150 ps significa che i fronti del segnale di clock si discostano non più di 150 ps da quelli di un segnale ideale in una data percentuale di casi.
Per vari motivi, uno tra i modi maggiormente significativi di caratterizzare il jitter è quello di analizzare lo spettro di frequenza del jitter stesso, identificandone le componenti significative.
In generale, la differenza tra il passaggio per lo zero degli impulsi di un segnale digitale reale e quello di un segnale digitale non affetto da jitter varia nel tempo e, in dipendenza dalle cause che generano questo scostamento, tale differenza può variare nel tempo in maniera caratteristica. Ad esempio può seguire un andamento sinusoidale, o comunque periodico, oppure può essere distribuita in maniera più o meno casuale con diverse distribuzioni statistiche.
La figura 4 mostra l’errore commesso a causa dell’errore di temporizzazione. A parità di scostamento dell’istante di campionamento, tale errore dipende dalla pendenza del segnale analogico; in particolare, cresce al crescere della frequenza e cresce al crescere dell’ampiezza del segnale. Con un segnale continuo, oppure in assenza di segnale, il jitter non produce alcun effetto. Al diminuire dell’intensità del segnale, inoltre, anche la distorsione dovuta al jitter diminuisce in proporzione.
Le cause del jitter
I convertitori A/D e D/A richiedono un segnale di sincronismo a basso o bassissimo jitter. Un oscillatore al quarzo può essere progettato e costruito in modo da presentare livelli di jitter molto bassi, però la frequenza di oscillazione di un oscillatore al quarzo è praticamente fissa mentre solitamente il segnale di sincronismo deve essere sincronizzato con quello di altri dispositivi. È possibile realizzare oscillatori al quarzo a frequenza (poco) variabile (qualche decimo di punto percentuale), però così il jitter dipenderebbe dalle caratteristiche del circuito al contorno. Gli oscillatori più precisi, ovvero con jitter minore, sono quelli a frequenza fissa.
Nel caso, piuttosto comune, in cui sia necessario sincronizzare più dispositivi tra loro si usa un circuito chiamato PLL, acronimo per Phase-Locked Loop, in italiano ‘anello ad aggancio di fase’. Un PLL è in grado di generare un segnale periodico agganciandosi ad un segnale di riferimento (nel nostro caso uno stream audio digitale o un segnale word-clock esterno) assorbendone le irregolarità più grossolane. Un circuito PLL, in pratica, si comporta come un filtro passa-basso per il jitter, tendendo a seguire lentamente le variazioni graduali di frequenza del segnale di riferimento, mentre tende ad ignorare le fluttuazioni più rapide. Quindi il jitter in bassa frequenza (le variazioni lente del segnale di riferimento) sarà riportato in uscita più o meno inalterato, mentre il jitter in alta frequenza dipenderà sostanzialmente dalle caratteristiche dell’oscillatore locale. Quando il segnale di partenza fosse particolarmente problematico e/o se fosse necessaria una precisione particolarmente elevata, è possibile inserire in cascata un secondo circuito PLL con una frequenza di taglio inferiore.
Il PLL è necessariamente progettato per riuscire ad agganciarsi ad un segnale di sincronismo all’interno di un range di frequenze determinato, compreso tra un minimo ed un massimo. Per questo il jitter ammesso all’ingresso di un’interfaccia è solitamente limitato, altrimenti i circuiti all’interno dell’interfaccia stessa possono avere delle difficoltà nella sincronizzazione e la perdita del sincronismo implica l’interruzione del riconoscimento del flusso di bit.
Il segnale di sincronismo si può degradare anche lungo i cavi di collegamento tra un dispositivo e l’altro. A causa delle inevitabili perdite, infatti, anche se il segnale di partenza fosse una buona approssimazione di una serie di impulsi quadri perfetti, il segnale di arrivo sarebbe necessariamente una buona approssimazione di una serie di impulsi esponenziali, in cui il passaggio per lo zero è leggermente spostato rispetto a quello del segnale di riferimento (figura 5).
Se gli impulsi fossero tutti uguali, cioè se il segnale in ingresso fosse una successione di zeri e uni alternati, allora il ritardo del passaggio per lo zero sarebbe costante e questo non sarebbe di fatto un problema dal punto di vista del riconoscimento del sincronismo. Quando il segnale di sincronismo deve essere estratto da uno stream audio digitale, però, il segnale di partenza sarà composto da impulsi larghi e da impulsi più stretti, a livello alto e a livello basso, in sequenza non deterministica: in questo caso il ritardo nel passaggio per lo zero non è più costante, introducendo quindi un jitter variabile che sarà eventualmente attenuato dalla rete ad aggancio di fase all’interno dei circuiti di ricostruzione del sincronismo.
Nel caso di pendenza limitata dei fronti del segnale di sincronismo (cioè sempre, in realtà, a meno di avere a disposizione circuiti con banda passante infinita) anche il rumore può contribuire a spostare l’istante di passaggio per lo zero rispetto al valore nominale.
I migliori risultati si ottengono con un clock interno a frequenza fissa generato da un buon oscillatore al quarzo oppure, quando si ha la necessità di sincronizzare diversi dispositivi, con un circuito PLL particolarmente preciso (ovvero con bassi livelli di jitter in alta frequenza) agganciato ad un clock esterno (word clock) anch’esso più possibile accurato, connesso a stella ai diversi dispositivi tramite cavi di buona qualità, non troppo lunghi e correttamente adattati in impedenza. I circuiti di trasmissione e di ricezione del clock dovrebbero essere a basso rumore e bilanciati, in modo da ridurre più possibile l’effetto del rumore raccolto lungo il tragitto. La sensibilità al rumore, ovvero il jitter indotto a parità di livello di rumore nel segnale, è maggiore quanto minore è la pendenza dei fronti di salita e di discesa degli impulsi, cioè l’effetto del rumore peggiora all’aumentare delle perdite nel cavo.