Conversione D/A (e A/D): clock, jitter e latenza

Sorgenti, Amplificatori, diffusori acustici, ecc.
(tranne i cavi)
Rispondi
Messaggio
Autore
Interference
Messaggi: 851
Iscritto il: 24/04/2019, 17:28

Conversione D/A (e A/D): clock, jitter e latenza

#1 Messaggio da Interference »

Premessa: in questo thread "migliore" o "migliorare" fanno riferimento alle proprietà elettriche del clock e non al risultato all'ascolto. È "migliore" un clock più stabile in frequenza, con jitter inferiore e così via. La configurazione che "suona meglio" (a giudizio di un dato ascoltatore) non è necessariamente quella "migliore".

Immagine
Antelope 10MX. Possibile punto di partenza o di arrivo per le nostre considerazioni.

Il ruolo principale del clock nella conversione D/A (ma anche in quella A/D) è assicurare che l'intervallo di tempo tra due campioni consecutivi sia sempre lo stesso. La deviazione da questa condizione ideale si chiama jitter e in una certa misura affligge tutti i sistemi di conversione reali.

Il jitter è, nei fatti, un errore nel tempo relativo tra i campioni.

Una traslazione temporale che riguarda tutti i campioni in misura eguale si chiama latenza (o ritardo). Tutti i sistemi di processamento digitale introducono una latenza. Spesso è trascurabile ma non sempre. Nel caso dei computer, che nella maggior parte dei casi non sono sistemi "realtime", la latenza può diventare elevata (decine di millisecondi).

Se si usa un computer per registrare mentre si suona, e si vuole ascoltare ciò che si sta registrando, il sistema deve garantire una latenza sufficientemente bassa da evitare che chi ascolta percepisca il "distacco" tra ciò che suona e ciò che si sente. Questo se si vuole ascoltare il flusso digitale acquisito. Per aggirare il problema intefacce audio forniscono un "direct monitor" analogico, ma è una soluzione che non è praticabile se si vuole ascoltare il mix digitale di più ingressi, o se si usa il PC per simulare effetti.

Per questo motivo nell'audio professionale si usano architetture audio software che minimizzano la latenza e che permettono di monitorarla (ASIO su Windows, JACK su Linux).

Se si ha un sistema audio/video e l'audio passa per un DSP è possibile che l'audio accumuli un ritardo rispetto al video, che si deve eventualmente correggere nelle impostazioni del sistema video.

I filtri FIR come quelli usati dal DRC possono essere (nel dominio matematico del segnale) non-causali, nel senso che l'output del filtro per il campione 'i' dipenderà da campioni sia precedenti e successivi al campione 'i'. Per rendere questo filtro realizzabile e quindi causale nel dominio fisico occorre ritardare il segnale: bisogna aspettare tutti i campioni successivi a 'i' su cui agisce la convoluzione del segnale (possono essere tanti, a seconda del numero di "tap" del filtro) e solo poi potrà essere calcolato il valore "filtrato" del campione 'i'.

Detto ciò, la latenza non implica jitter né un degrado della resa sonora.

Per un PC, uno streamer o simile, lavorare ad alta latenza è più facile e richiede meno attività della CPU.

(segue...)
Ultima modifica di Interference il 14/10/2024, 10:31, modificato 4 volte in totale.
Interference
Messaggi: 851
Iscritto il: 24/04/2019, 17:28

Re: Conversione D/A (e A/D): clock, jitter e latenza

#2 Messaggio da Interference »

Se il clock va un pochino più veloce, l'altezza del suono riprodotto aumenta. Se il clock va un pochino più lento, l'altezza del suono riprodotto diminuisce.

L'effetto del jitter è più o meno equivalente ad avere ad ogni campione un clock diverso, a volte un po' più veloce a volte un po' più lento.

Se questo errore è puramente casuale, e relativamente contenuto, l'effetto può ben essere trascurabile. Se facciamo un'analisi di spettro su una sinusoide, vediamo che il picco della frequenza viene "smussato".

A volte il jitter non è puramente casuale, ma "correlato", cioé presenta componenti sistematiche. Per esempio: alcuni campioni sono sistematicamente ritardati, altri sistematicamente anticipati. In questo caso avremmo l'effetto di produrre "bande laterali": componenti a frequenza leggermente più alta e leggermente più bassa rispetto alla fondamentale.



Storicamente le soluzioni di "ottimizzazione software" (a partire dal famoso cMP2) nascono sull'idea che l'attività elettrica della CPU e delle altre componenti coinvolte nella riproduzione audio influenzino il clock del DAC e producano jitter "correlato". Se l'ipotesi può avere un senso, non può essere generalizzata a tutte le situazioni ma soprattutto dovrebbe essere verificata da opportune prove strumentali (che spesso latitano).

(segue)
Ultima modifica di Interference il 14/10/2024, 10:32, modificato 1 volta in totale.
Interference
Messaggi: 851
Iscritto il: 24/04/2019, 17:28

Re: Conversione D/A (e A/D): clock, jitter e latenza

#3 Messaggio da Interference »

Uno dei potenziali problemi del clock è la deriva (drift).

Il clock non è al 100% stabile, ma influenzato da fattori interni (invecchiamento) e ambientali (come la temperatura). La frequenza di clock è costante entro certi limiti. Solitamente, le deviazioni sono espresse in p.p.m. (parti per milione) e relazionate ad un dato tempo di attività o cambiamento di temperatura.

Per aumentare la stabilità degli oscillatori a cristallo (XO) si compensano le variazioni di temperatura (temperature compensated, TCXO) o si ingloba l'oscillatore in una camera a temperatura costante (oven controlled, OCXO).

A salire, i riferimenti atomici (cesio o rubidio) sono tra i più stabili. Quelli al cesio sono i migliori ma anche i più costosi (storicamente, vedasi HP 5061A e 5071A). Quelli al rubidio sono oramai abbastanza accessibili, per modo di dire. Esistono riferimenti più stabili ma limitati a intervalli di tempo di alcune ore come i maser a idrogeno, usati per sincronizzare i radiotelescopi.

Molto importante: la stabilità di un oscillatore poco o nulla ci dice sul suo jitter [1].



La deriva è importante in ambito audio? La deriva del clock implica un leggero e progressivo spostamento di tonalità. Di norma, questo è talmente microscopico da essere pressoché rilevante. Si può stimare (v. [2]) che una variazione di temperatura di 0.0057 °C in fase di registrazione produce un'alterazione di frequenza comparabile a quella che un errore di 10 ppm nel clock produce in fase di riproduzione (o registrazione).

Un clock più stabile (a bassa deriva) suona meglio? Difficile attribuire "nero infrastrumentale", "tridimensionalità", "aria tra gli strumenti" e altri pseudoconcetti audiofili, che sono caratteristiche "istantanee" del suono, ad un'alterazione progressiva e cumulativa della tonalità.


[1] https://www.gerhardwestphalen.com/blog/ ... e-products
[2] https://www.grimmaudio.com/publications ... ds-or-ppm/


(segue...)
Ultima modifica di Interference il 14/10/2024, 10:32, modificato 1 volta in totale.
Interference
Messaggi: 851
Iscritto il: 24/04/2019, 17:28

Re: Conversione D/A (e A/D): clock, jitter e latenza

#4 Messaggio da Interference »

Lo scopo di un master clock è quello di agganciare diversi apparecchi ad un unico riferimento di frequenza.

I protocolli usati per la trasmissione digitale come S/PDIF e AES/EBU codificano il clock assieme all'informazione, e ciascun ricevitore implementa un circuito di clock recovery per generare il clock a partire dal segnale digitale in ingresso. Collegando più dispositivi in cascata, la propagazione da monte a valle del clock dovrebbe passare per diverse fasi di "recovery" e "generazione" con conseguente possibile degrado (jitter). Anche se esistono sistemi di reiezione del jitter che permettono di ridurre ampiamente il problema.

Se invece si hanno più dispositivi che effettuano una conversione, come per esempio diversi convertitori A/D, è importante che i campioni digitali dei diversi convertitori siano sincronizzati nel tempo.

Il ruolo del master clock è in generale quello di sincronizzare più dispositivi.



L'uso di un master clock garantisce un clock di conversione migliore?

Il modo per ottenere un clock con il jitter più basso possibile è quello di usare un oscillatore locale a breve distanza dal circuito che ne fa uso (per esempio il chip DAC).

L'oscillatore deve avere una frequenza pari o (sotto)multipla a quella del segnale da convertire: mentre è facile moltiplicare o dividere un segnale di clock per un fattore intero, non lo è altrettanto generare una frequenza che non sia multipla o sottomultipla di quella di riferimento. Questo è il motivo per cui tutti i DAC che si rispettino usano due cristalli, uno per i 44.1 kHz e uno per i 48 kHz (e multipli).

Il grande vantaggio delle trasmissioni asincrone, come per esempio USB, è quello di regolare la conversione con un clock di elevata qualità indipendentemente dalla sorgente.

In ambito hi-fi, dove il convertitore è unico (al più multicanale), si dovrebbero usare di preferenza protocolli asincroni. Ma le implementazioni moderne dei protocolli sincroni garantiscono anch'esse prestazioni elevate.

Un master clock esterno può migliorare il clocking di un convertitore che lavora in maniera sincrona se questo non ha una clock recovery all'altezza. Potrebbe essere il caso di convertitori con ricevitori S/PDIF o AES/EBU molto datati).

Un master clock esterno può migliorare il clocking di un covertitore che lavora in maniera asincrona? In genere no, a meno che il convertitore non sia progettato con i piedi o abbia un oscillatore locale di scarsa qualità (mi chiederei, perché?).

(segue...)
Ultima modifica di Interference il 14/10/2024, 10:33, modificato 1 volta in totale.
Interference
Messaggi: 851
Iscritto il: 24/04/2019, 17:28

Re: Conversione D/A (e A/D): clock, jitter e latenza

#5 Messaggio da Interference »

Il problema dei clock a 10 MHz

Quando si parla di master clock si dovrebbe fare distinzione in base alla frequenza di uscita del clock.

Un master clock come il Grimm CC1 (https://www.da-x.de/de/grimm-cc1-high-e ... clock.html) permette di impostare le uscite a frequenze di campionamento tipiche tra i 44.1 e i 192 kHz. Abbiamo infatti capito che idealmente un clock deve essere generato con alta precisione alla stessa frequenza di campionamento del segnale da convertire.



E quindi perché molti clock sono a 10 MHz?

I 10 MHz sono uno standard industriale per i riferimenti di frequenza. Ma 10 MHz non è multiplo intero né di 44.1 né di 48 kHz e ne consegue che il master clock a 10 MHz non può essere usato per temporizzare direttamente la conversione. Quello che succede all'interno di un convertitore con clock a 10 MHz è che un sintetizzatore di clock viene agganciato tramite PLL al master clock in ingresso.

Il risultato è che il clock in uscita sarà stabile in frequenza quanto il master clock, ma avrà un jitter dettato dalla bontà del sistema di sintesi usato [1]. Alcune misure effettuate da GoldenSound [2] evidenziano come l'uso di un master clock possa peggiorare gli effetti del jitter in un convertitore D/A.



Il jitter dei clock atomici

I clock atomici funzionano a grandi linee regolando la frequenza di un oscillatore ultra-preciso sulla risonanza di una transizione atomica del cesio o del rubidio. Questa risonanza ha una frequenza dettata dalla fisica e non dalle convenzioni ingegneristiche. Ne consegue che la frequenza dell'oscillatore primario deve essere agganciata alla frequenza di sintesi del clock tramite un PLL. Anche questo processo tenderà ad introdurre jitter.

Nota importante: il meccanismo con cui si sintetizzano i 10 MHz dal riferimento atomico, il meccanismo con cui si sintetizza il clock di conversione (44.1, 48.0 e multpli) dal clock a 10 MHz e il meccanismo con cui si sintetizza il clock da un segnale S/PDIF sono tutti simili tra loro e basati sul PLL (phase-locked loop).

Se pensiamo al nostro clock nel dominio della frequenza, il riferimento atomico garantisce che la frequenza sia centrata esattamente su quella desiderata ma non ci dice nulla sulla pulizia dello spettro (jitter).


[1] https://www.grimmaudio.com/publications ... ds-or-ppm/
[2] https://goldensound.audio/2022/04/14/gu ... mhz-clock/
Interference
Messaggi: 851
Iscritto il: 24/04/2019, 17:28

Re: Conversione D/A (e A/D): clock, jitter e latenza

#6 Messaggio da Interference »

Bibliografia essenziale:
- B. Putzeys (Grimm Audio): Picoseconds or PPM?
- D. Lavry (Lavry Engineering): Clock Jitter and Clock Accuracy for Digital Audio
- B. Katz: Jitter
- B. Katz: Mastering audio: the art and the science

Dai forum:
- Bob Katz su Gearspace
- John Siau su Gearspace
Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite