[ Home | Redazione | HiFi Shows | FAQ | Ampli | Diffusori | Sorgenti | Tweakings | Inter.Viste ]

Interfacce Digitali - Il Jitter

Parte 1 - Il Nemico Digitale

[English version]

Che cosa è il jitter

Spesso si utilizza il termine jitter. Ma che cosa è in realtà il jitter, e quali sono i suoi effetti? In questo articolo tento di affrontare esaustivamente l'argomento. E, beh, sì, insomma, esaustivamente... forse farei meglio a dire fin dall'inizio che non è che sia cosi certo di esserci pienamente riuscito...

Con il termine clock in elettronica digitale si intende un segnale estremamente semplice costituito da una sequenza di zeri e di uno alternati, spesso con la durata dello zero uguale a quella dell'uno. Questo segnale così semplice trasferisce solo un tipo di informazione: una temporizzazione. In pratica rappresenta una semplicissima misura del tempo, come un metronomo, e come un metronomo è semplicemente utilizzata da circuiti più o meno complessi per cambiare il proprio stato (circuiti sincroni). Un esempio tipico è un orologio al quarzo, ed anche un generico sistema audio digitale.

Ogni clock nel mondo reale è affetto da un problema di precisione ed accuratezza. La precisione e l'accuratezza assoluta non esistono nella realtà. E' più facile vedere la differenza fra le due in prospettive temporali diverse, nel lungo e nel breve termine.

Continuando con l'esempio dell'orologio al quarzo, nel lungo termine si è abituati a convivere col fatto che l'orologio corra o resti indietro, cioè che la frequenza media del suo clock non sia esattamente quella nominale: questa è un problema di precisione. Chiaramente, qualsiasi orologio deve avere una buona precisione per essere utilizzabile. A breve termine, si può star sicuri che ciascun periodo di un secondo misurato dall'orologio è (leggermente) diverso dal periodo precedente o seguente, anche se ciò è impossibile da rilevare per noi. Questo significa che l'orologio non è neppure accurato.

Lo stesso avviene con qualsiasi clock: l'errore di accuratezza da cui ogni transizione ed ogni ciclo del clock sono affetti è il jitter del clock.

[jitter]

Come abbiamo detto, ogni sistema audio digitale è essenzialmente un sistema sincrono, e come tale è controllato da un clock, che, come qualsiasi clock nel mondo reale, è affetto da jitter.

Come probabilmente saprete, nel processo di registrazione audio digitale il segnale musicale analogico è campionato ad una frequenza fissa Fc (che negli standard audio correnti è di solito 44.1, 48, 96 o 192 kHz, ma potrebbe essere in linea di principio qualsiasi altra) e il livello di ciascun campione è convertito in un numero, che viene memorizzato su un supporto digitale.

Al momento della riproduzione, i campioni sono estratti dal supporto, convertiti di nuovo in un segnale analogico con la stessa cadenza con cui sono stato registrati, e filtrati con un filtro passa basso molto ripido

La teoria digitale prova che in questo modo è possibile ricostruire esattamente il segnale originale, a condizione che il segnale originale stesso non contenga componenti armoniche di frequenza superiore a Fc/2.

Ovviamente la tecnologia ha fatto passi da gigante ed il processo riportato sopra non è più esattamente quello in uso, ma le cose non sono cambiate più di tanto, alla fin fine.

In particolare, c'è un sottile punto che richiede molta attenzione, mentre era stato completamente perso di vista dagli inventori dell'audio digitale: cosa succede delle inevitabili differenze fra il clock di campionamento usato al momento della registrazione ed il clock usato al momento della riproduzione?

E' evidente che i due clock non possono essere esattamente uguali: ci sarà sempre una (piccolissima) differenza di frequenza, ma la temporizzazione di ciascun fronte del clock non sarà esattamente quella attesa, cioè ci sarà anche un errore di temporizzazione: molto piccolo, ma difficile e costoso da metter sotto controllo.

Questo è quello che capita ad una sinusoide quando viene campionata e riprodotta con un clock affetto da jitter. In pratica, come vedete, risulta distorta in un modo molto strano ed apparentemente non prevedibile.

[jitter]

E' chiaro che il problema è duplice: parte dell'errore è generato al momento della registrazione, e parte aggiunto al momento della riproduzione. Per la prima parte, non si può fare di meglio che assumere che il processo di registrazione (come in effetti normalmente capita) affronti il problema correttamente, e considerare la registrazione completamente priva di errore: infatti la registrazione in sé è solo una sequenza di numeri, non c'è alcuna informazione sul clock originale, che si assume sia ideale.

Tutto ciò che si può fare è tentare di minimizzare l'errore aggiunto in fase di riproduzione. Questo è generalmente ampiamente predominante, data la differente quantità di denaro che è (ehm... sarebbe) ragionevole spendere in un clock per uno studio di registrazione rispetto al cd player di casa.

Tutti questi errori, che avvengono sia al momento della registrazione (conversione A/D) che al momento della riproduzione (conversione D/A) si chiamano sampling jitter.

Il sampling jitter è l'unica forma di jitter che in realtà ha effetti diretti sull'audio digitale, o meglio, sull'ascolto dell'audio digitale. Nei sistemi audio si possono identificare diverse altre forme di jitter, e le discuteremo nel seguito, ma solo perché alla fin fine possono indurre del sampling jitter.

Classificazione e componenti del jitter nei sistemi audio

In letteratura si possono trovare parecchie differenti classificazioni del jitter, dipendenti essenzialmente dal punto di vista di chi scrive.

Una classificazione piuttosto tecnica del jitter nell'audio digitale ([1]) distingue innanzi tutto fra interface jitter e sampling jitter.

[jitter]

E' più facile affrontare questi concetti facendo riferimento al caso di un DAC separato; in questo caso la struttura del DAC include un ricevitore audio che separa ed estrae clock e dati dal flusso SPDIF (o Aes o Toslink) in ingresso, e li passa al convertitore

L' interface jitter (chiamato anche "data link jitter") in questo caso è l'errore di temporizzazione da cui è affetto il flusso digitale proveniente dalla sorgente all'ingresso del ricevitore audio digitale del DAC.

Componenti tipici dell'interface jitter sono il transmitter jitter, il line induced jitter e l'interfering-noise induced jitter.

Il transmitter jitter è iniettato nel collegamento dati dall'apparato trasmittente, a causa di problemi del clock interno (intrinsic jitter), o a causa di una insufficiente reiezione del jitter presente al suo ingresso (transferred jitter, in pratica jitter passato all'apparato trasmittente in esame dalla sorgente di quest'ultimo, e trasferito a sua volta da quest'ultimo al canale di comunicazione in esame).

Le limitazioni imposte dalle normative sull'interface jitter sono decisamente molto ampie (+-20nsec): il problema che si intendeva affrontare con tali norme, ai tempi, era solo quello di evitare errori di trasmissione, e la possibilità che il jitter potesse essere percepibile per i suoi effetti sull'audio non venne neanche presa in considerazione.

Il Line induced jitter è invece causato dal mezzo trasmissivo. Qualsiasi canale di comunicazione ha una banda passante limitata e ciò causa una evidente deformazione delle forme d'onda che può essere studiata con un oscilloscopio ("occhio").

Per chiarire cosa avviene abbiamo bisogno di entrare maggiormente nei dettagli della codifica SPDIF. Secondo il codice bifase-mark utilizzato nell'interfaccia SPDIF, ciascun bit è inviato come due semibit di uguale durata che assumono lo stesso valore se il bit trasmesso è lo 0, e valore opposto se è 1 (mark). Una transizione è perciò sempre presente fra un bit e l'altro, e sulla base di queste è perciò possibile ricostruire il clock di bit. Inoltre, il flusso SPDIF invia i dati impaccati in frames, ciascuna contenente un campione preceduto da un preambolo che è identificato da una violazione della regola precedente (cioè non c'è alcuna transizione fra un bit e l'altro, in pratica ci sono almeno tre semi-bit consecutivi con lo stesso valore). Ciò rende possibile l'identificazione del punto di partenza del frame, e quindi di estrarre un clock a frequenza di campionamento.

La deformazione che ha luogo è tale che in pratica il livello di tensione che si ha dipende da quanto a lungo il segnale di linea resta allo stesso livello logico, perciò data la limitata velocità, anche il tempo richiesto per tornare al livello di zero volt alla transizione seguente dipende dalla storia più recente del segnale. Tanto per farla semplice, data la struttura del flusso SPDIF, ciò significa che tutte le transizioni (attraversamento degli 0 volt) dopo uno 0 sono in anticipo o ritardo rispetto alle transizioni dopo un 1. Questo effetto è noto come "intersymbol interference".

Chiaramente queste deviazioni sono una forma di jitter; e dato che dipendono dai dati, si tratta di "data dependent jitter".

L'Interfering-noise induced jitter è un'altra conseguenza della limitata pendenza delle transizioni. Se iniettiamo una piccola (rispetto al segnale) quantità di rumore nel canale SPDIF, questo si sommerà al segnale, modificando il suo valore istantaneo. Se il rumore è basso, e quindi non è in grado di trasformare uno zero in uno o viceversa, non ci sono errori di trasmissione, ma il livello del segnale verrà modificato anche durante le transizioni, cosicché il momento in cui avviene l'attraversamento della linea degli 0V risulterà alterato. Notare che se le transizioni fossero istantanee, e le pendenze perfettamente verticali, il problema non si porrebbe, quindi anche questa componente dipende in una certa misura dalle caratteristiche del canale.

[jitter]

Il Sampling jitter, come abbiamo visto, rappresenta invece la mancanza di accuratezza nella temporizzazione della conversione D/A.

Vediamo ora che succede all'interno di un DAC separato.

Il ricevitore ha essenzialmente il duro compito di estrarre i clock e i dati dal flusso SPDIF. Come abbiamo visto il flusso SPDIF trasmette due informazioni di temporizzazione, un clock di bit ed un clock di parola, che ha un frequenza uguale a quella di campionamento.

Comunque la situazione è ben lontano dall'essere ideale. Il canale SPDIF in ingresso è affetto da jitter d'interfaccia in tutte le sue forme: la temporizzazione delle sue transizioni è perturbata tanto da transmitter jitter, che da line induced ed interfering noise jitter. Le transizioni che dovrebbero essere utilizzate per recuperare il clock di trasmissione sono temporizzate in modo poco preciso e irrimediabilmente modificate in maniera sconosciuta durante il processo di trasmissione.

Mentre c'è poco da fare per ridurre gli effetti del transmitter jitter, e ci si può proteggere dall'interfering noise jitter solo utilizzando fibra ottica o cavi schermati in maniera particolarmente pesante, è possibile ridurre gli effetti del line induced jitter, che è intrinsecamente correlato ai dati e dipende essenzialmente dagli ultimi pochi semi-bit. Semplificando, i preamboli, che appaiono nel flusso ad una frequenza fissa multipla della frequenza di campionamento e che hanno una struttura fissa, sono punti in cui l'intersymbol interference è minima, e quindi i riferimenti ideali (o almeno i migliori disponibili) per l'estrazione del clock di conversione. Il jitter da cui sono affette queste transizioni è chiamato preamble jitter.

Qui sotto vedete una schermata di oscilloscopio digitale relativa ad un flusso dati SPDIF, ottenuta ripetendo molte volte l'acquisizione mentre si era sincronizzati sui preamboli. Come potete vedere i preamboli (le due aperture più larghe a sinistra ed al centro della schermata) mantengono una struttura assolutamente stabile in tutte le acquisizioni, mentre i dati mostrano una comportamento molto più dinamico e un jitter più elevato (notare che i primi dati dopo il preambolo sono pure stabili, essendo tutti a zero perché il flusso in esame è a 16bit, mentre l'interfaccia è strutturalmente predisposta al trasferimento di 24 bit, e i bit 16-23 sono riempiti di zeri).

[jitter]

La maggior parte dei ricevitori audio digitali usano strategie simili per limitare la sensibilità al jitter. Ad esempio nel recente ricevitore audio digitale CS8416 "il PLL è stato progettato in modo da utilizzare unicamente i preamboli del flusso in codice bifase per recuperare le informazioni relative all'aggancio del PLL", secondo il data sheet della Crystal/Cirrus: "Questo rende il PLL immune dagli effetti del data dependent jitter perché i preamboli non variano con i dati". Concetti simili vengono espressi anche nei datasheet dei vari receiver CS8412, CS8414, etc. Il DIR1703 della Texas Instruments fa (faceva?) uso di un "Sampling period adaptive controlled tracking system (SpAct)", che "è una innovativa architettura di ricostruzione del clock, che permette di ricavare un clock a bassissimo jitter da un ingresso dati SPDIF".

Il clock recuperato dai preamboli è utilizzato come riferimento per un PLL (phase locked loop, anelli ad aggancio di fase). Un PLL è un circuito ad anello chiuso (retroazionato) in cui un oscillatore controllato in tensione è pilotato dalla differenza di fase (adeguatamente filtrata) esistente fra l'uscita dell'oscillatore stesso (tipicamente diviso per un fattore prefissato) ed un clock esterno di riferimento. Non appena la differenza di fase fra il clock di riferimento e l'oscillatore cresce, l'errore stesso, mediato da appositi filtri passa basso, provoca un aumento della frequenza dell'oscillatore in modo da fargli mantenere l'aggancio con il riferimento.

Perciò i due clock mantengono esattamente la stessa frequenza media (sono "agganciati"), ma le caratteristiche dinamiche di variazione della frequenza dell'oscillatore possono essere controllate in larga misura con una attento progetto del filtro. In particolare, l'oscillatore può essere molto più stabile del riferimento, ed è perciò una sorgente ideale per il clock di conversione.

D'altro canto, qualsiasi oscillatore ha un jitter intrinseco: perciò l'oscillatore locale fornisce un proprio contributo al jitter del clock di conversione. Fra l'altro, maggiore è la stabilità di un PLL, cioè maggiore è la sua reiezione del jitter del riferimento, maggiore il suo jitter intrinseco.

li La storia non è ancora completa. Infatti, il sampling jitter differisce ancora dal jitter del clock di conversione, in quanto il sampling jitter dovrebbe essere osservato misurando la temporizzazione con cui la conversione ha luogo, includendo perciò qualsiasi effetto negativo dovuto al collegamento ed anche, in principio, all'interno del chip di conversione. E questi effetti possono anche essere non trascurabili.

Perciò, la relazione fra l'interface jitter ed il sampling jitter in un DAC (ma la cosa è vera in generale) è ben lontana dall'essere diretta, in quanto in pratica

Di conseguenza, è chiaramente possibile progettare sistemi in cui l'interface jitter ha un effetto estremamente limitato sul sampling jitter, e sarebbe certamente sbagliato assumere in generale l'esistenza di una semplice correlazione diretta fra i due. Di fatto, il jitter sui flussi dati può essere anche 100 o 1000 volte più elevato del sampling jitter [9].

E' comunque vero che i tipici ricevitori audio digitali integrati disponibili oggi hanno una buona reiezione solo al jitter ad alta frequenza (>10KHz), mentre il jitter a media e bassa frequenza (che secondo alcuni è il peggiore dal punto di vista audio) non è attenuato affatto. Quindi, il jitter a bassa frequenza di cui sia affetta la temporizzazione dei preamboli in un flusso SPDIF passa senza attenuazione nel clock locale.

In un CD player integrato la situazione è diversa, ma il risultato finale è molto simile. La connessione fra la meccanica ed i circuiti di conversione non è SPDIF, e il generatore del master clock è posizionato normalmente vicino al chip del DAC, ma il flusso dati proveniente dalla meccanica è ancora affetto da data link jitter, e ancora questo può avere (almeno potenzialmente) ben poco a che fare con il sampling jitter.

[jitter]

L'interfaccia qui è multifilare e sincrona, cioè i dati e il clock dei dati affluiscono su fili separati, il che spiega perché il jitter dei dati abbia poca rilevanza. Per di più, come potete vedere dallo schema sopra, sia la meccanica che il DAC sono slave dello stesso master clock, che è un oscillatore fisso al quarzo, senza alcun altro ingresso a parte l'alimentazione. Il master clock, ha perciò una notevole impatto sul suono, normalmente superiore a quello della stessa meccanica, anche se pure questa ha una sua importanza.

Le ragioni principali di questo effetto sono probabilmente da ricercarsi nel fatto che molto spesso meccanica, clock e circuiti di conversione hanno (parte dei) circuiti di alimentazione in comune e nel fatto che i circuiti del DAC sono sensibili ai disturbi elettromagnetici irradiati dalla meccanica. Di fatto, i servomeccanismi delle meccaniche sono motori elettrici che emettono campi magnetici variabili e possono talvolta assorbire spunti di corrente impulsivi molto elevati, soprattutto quando è necessaria qualche correzione di assetto. Questo a sua volta dipende dalla precisione meccanica del sistema (e dei CD), e quindi si spiega perché una buona meccanica permette di ottenere jitter più bassi.

Notare che anche questo potrebbe essere assimilato ad un interface jitter.

Indietro alla [Parte 1.1] | [Parte 1.2]
Avanti alla [Parte 2] | [Parte 3]

© Copyright 2005 Giorgio Pozzoli - www.tnt-audio.com

[ Home | Redazione | HiFi Shows | FAQ | Ampli | Diffusori | Sorgenti | Tweakings | Inter.Viste ]