Il Dithering è sempre utile?

di Mario Bon,  Mario Destuni e M. Kistanami 

8 ottobre 2016

Non si può parlare di dithering senza conoscere un poco la Teoria dei Segnali che si invita quindi a studiare anche nella forma di “Teoria Unificata dei segnali Osservabili”. La Teoria Unificata recupera l’isomorfismo tra i segnali fisici e le loro rappresentazioni (come “insieme rosso”) nei domini del tempo, della frequenza e digitale quindi consente di rappresentare i segnali con funzioni del tempo s(t) indipendentemente dal dominio dove sono definiti.

 

Qualsiasi conversione di un segnale da analogico a digitale produce un errore, detto di arrotondamento o di quantizzazione, perché i valori di un segnale analogico sono numeri reali mentre i corrispondenti valori quantizzati sono numeri interi (quindi si devono arrotondare i decimali). Nell’ambito dei segnali digitali, l’errore di arrotondamento non va confuso con l’errore di troncamento (vds in letteratura il “fenomeno di Gibbs”). La conversione da analogico a digitale è una trasformazione non invertibile e anche non lineare. Ne segue (a rigore a seguito di una doppia conversione A/D-D/A) che si può scrivere:

 

svero(t) = s(t) + rq(t)

 

dove s(t) è il segnale che esce dal convertitore A/D e rq(t) è il cosiddetto “rumore di quantizzazione”. In realtà il “rumore” di quantizzazione non è un rumore ma la differenza tra il segnale “vero” ed il segnale ottenuto dalla conversione. C’è anche un altro fenomeno che viene chiamato rumore ma rumore non è: il “rumore di spuntinatura” caratteristico della luce LASER. In effetti la parola “rumore” non è sempre usata propriamente:

per esempio si dovrebbe distingue tra rumore e disturbo. Errore, rumore e disturbo sono cose diverse.

 

Il ricampionamento è la operazione per cui un segnale convertito originariamente, per esempio, con un convertitore a 24 bit, viene portato ad un numero inferiore di bit (per esempio 16). Per masterizzare un file in alta risoluzione in un CD Audio si deve operare questo tipo di trasformazione. Si tratta di una trasformazione non lineare e non invertibile (una corrispondenza non lineare univoca).

Nella pratica, quando di fa un ricampionamento, si prende un segnale (per esempio) a 24 bit, definito su 16777215 valori, e lo si trasforma in un segnale (per esempio) a 16 bit, definito su 65535. Per approssimare 16777216 valori con 65535 si devono fare degli arrotondamenti. Se un segnale è destinato ad un CD Audio e non deve essere elaborato, conviene acquisirlo direttamente a 16 bit (piuttosto che a 24 per poi ridurlo a 16 così subisce una sola trasformazione anziché due).

Il problema dell’arrotondamento esiste quindi sia quando si fa la prima conversione che quando si opera un ricampionamento. Nel ricamponamento “in salita” (per esempio per passare da 16 a 24 bit) non c’è alcun arrotondamento. Perché serve ricampionare? Perché negli studi di registrazione si lavora a 24 bit ma i CD Audio ne vogliono 16.. quindi non c’è alternativa.

 

Nota

Arrotondamento: si dice quando un numero reale viene approssimato con il numero intero più vicino. Quindi 3.6 viene approssimato a 4 mentre 3.4 viene approssimato a 3. Il valore 3.5 è equidistante sia da 3 che da 4: con quale valore deve essere approssimato?  Per quanto riguarda il calcolo dell’IVA l’approssimazione va fatta a favore dello Stato. Ma per la conversione A/D di un file audio? Qualcuno ci perderà le notti…

In informatica si usa anche il termine “troncamento” (che in ambito audio ha un altro significato). Il troncamento consiste nel sopprimere la parte decimale: 3.4 e 3.6 diventano comunque 3. I convertitori A/D non troncano ma arrotondano.

 

Quindi le operazioni di conversione e riconversione producono un errore di quantizzazione (o di arrotondamento) che si traduce nella produzione in un segnale aggiuntivo detto, impropriamente, "rumore di quantizzazione". Questo “rumore” è la differenza tra ciò che il segnale convertito è e ciò che dovrebbe essere. Il resto è garantito dal Teorema di Shannon (che non sarebbe male conoscere). Detto per inciso, il Teorema di Shannon non prevede la digitalizzazione del segnale ma opera sui valori “veri” dell’ampiezza dei campioni prelevati dal segnale. Ai fini della validità del Teorema di Shannon (ovvero le condizioni per poter ricostruire il segnale) operare con 8, 16, 24 o 32 bit non è la stessa cosa: si dovrebbe sempre operare con un numero infinito di bit. Operare con un numero infinito di bit non è possibile (Principio di Heisemberg) quindi accontentiamoci di alcune approssimazioni alle quali non è fisicamente possibile sfuggire. Ne segue che, in ricostruzione, il convertitore D/A non restituirà il segnale “vero” ma la versione analogica del segnale quantizzato .

 

Ora parliamo di come è fatto questo “rumore” di quantizzazione. Abbiamo già detto che non si tratta di un rumore. Infatti il rumore, per essere tale, deve possedere tre caratteristiche:

 

-          valere medio nullo

-          valore RMS diverso da zero

-          autocorrelazione diversa da zero solo al tempo zero.

 

Ne segue che il rumore non è un segnale periodico. I rumori più “amichevoli” (più facili da trattare matematicamente) sono, nell’ordine, quelli periodici seguiti dagli erodici cui seguono gli stazionari e infine i non stazionari. Il vantaggio dei segnali periodici è che basta analizzare (o elaborare) un solo periodo. Per tutti gli altri tipi di segnali si fa la stessa cosa: si definisce un intervallo di tempo che contiene il segnale ritenuto utile, se necessario si applica una finestra di pesatura e infine si tratta questa finestra pesata come se fosse il periodo del segnale. Perché si fa questo? Perché un analizzatore di spettro sa fare “solo” questo. E allora come si fa ad ottenere misure attendibili (con errore noto)? Nessuno ha detto che sia facile, sicuramente è possibile ma bisogna saperle fare.

 

Il “rumore” di quantizzazione è sempre correlato al segnale. Se potessimo convertire due volte lo stesso segnale (in assenza di rumore) otterremmo due volte la stessa serie di campioni. Tuttavia questa correlazione dipende dalla storia del segnale: è massima con i segnali periodici e minima con il rumore ed i segnali con andamento dell’ampiezza casuale. Tra questi due estremi la musica assomiglia di più ad un segnale con andamento dell’ampiezza casuale. Per questo motivo spesso, nei test, viene utilizzato il rumore rosa.

 

Non dovrebbe essere difficile, ragionando euristicamente, convincersi che il rumore di quantizzazione di un rumore casuale, pur correlato con il segnale stesso, sia a sua volta un segnale casuale. Anche un brano musicale (fatta eccezione per la musica tecno) assomiglia ad un rumore casuale. Da qui il nome “rumore di quantizzazione”.

Va anche detto che le previsioni sull’ampiezza e lo spettro del rumore di quantizzazione sono possibili sono con segnali particolari quali la sinusoide e in quei casi ove il rumore di quantizzazione possa essere considerato casuale.

 

Facciamo un esempio. Prendiamo una sinusoide a 441 Hz campionata a 44100Hz (standard CD Audio). Il segnale analogico presenta distorsione nulla per ipotesi. La sinusoide è perfettamente sincronizzata con la frequenza di campionamento e tale risulta essere anche l'errore di quantizzazione (e qui si dovrebbe specificare: in assenza di rumore).

Se applichiamo il segnale digitalizzato all'analizzatore di spettro questo mostrerà una riga corrispondente a 441 Hz più altre righe tra cui alcune più intense in corrispondenza alle armoniche di 441Hz.

Questa però non è distorsione (assente per ipotesi) ma lo spettro del rumore di quantizzazione che, in questo particolare caso, presenta dei picchi in corrispondenza delle armoniche del segnale digitalizzato ("si presenta" e non "è" ma è come se lo fosse).

In realtà, per ottenere questo risultato, basta applicare il segnale analogico direttamene all’ingresso di un analizzatore di spettro dotato di un convertitore A/D a 16 bit regolando opportunamente la base tempi dell’analizzatore a 44100 e acquisire un certo numero di periodi.

 

Prendiamo ora una sinusoide a 491 Hz campionata a 44100Hz e applichiamola all’ingresso dell’analizzatore di spettro. Questa non è perfettamente sincronizzata con la frequenza di campionamento quindi l'errore di quantizzazione non è più perfettamente periodico e, all'analizzatore di spettro, si vede meno distorsione rispetto al caso precedente anche se le righe spettrali sono ora “sbrodolate” (perché 491 Hz non è un sottomultiplo esatto di 44100 e abbiamo dovuto applicare una qualche finestra di pesatura. Per mettere tutti tranquilli supponiamo di aver acquisito un numero di periodi molto alto e di aver applicato una finestra di pesatura con un amplio tetto piatto per minimizzare l’allargamento della riga).

 

Il dithering.

Consideriamo il segnale sinusoidale a 441 Hz. Ogni volta che l’ampiezza del segnale passa per il valore analogico 3.6, il convertitore lo approssima al valore 4. La sinusoide passa per il valore 3.6 due volte per periodo (e due volte per il valore –3.6 che diventa –4). Questo (in assenza di rumore) avviene regolarmente ad ogni periodo.

Questa regolarità genere un rumore di quantizzazione con la stessa periodicità del segnale. Per correggere questa situazione si può introdurre una certa quantità di rumore casuale in modo che certe volte il valore 3.6 sia arrotondato a 4 e altre volte a 3. In questo modo contiamo di “distruggere” la periodicità del rumore di quantizzazione al prezzo di un rapporto S/N più basso (perché abbiamo sommato rumore).

Questo ragionamento vale (come detto) in assenza di rumore. Ma se il rumore c’è già? Se il segnale è già accompagnato da un rumore con ampiezza picco-picco superiore a un LSB del convertitore, aggiungere ulteriore rumore non migliora la situazione (il rumore di quantizzazione è già poco correlato al segnale) e finisce solo per peggiorare il rapporto S/N.

Ne segue che il dithering si applica quando serve, se serve. In particolare dovrebbe essere aggiunto da chi prepara il CD o il file audio e non dal dispositivo di lettura (se il lettore applica un dithering lo applica ai file che non lo hanno ma anche  ai file che già lo hanno peggiorando inutilmente il rapporto S/N).

Sicuramente un lettore CD che applichi il dithering mostrerà, ai test, una distorsione armonica inferiore rispetto ad uno che non lo applica. In sostanza il dithering, nei lettori, serve per produrre delle misure di distorsione armonica migliori. Questo non ha nulla a che vedere con la qualità della riproduzione se non per l’aggiunta di una quantità di rumore non udibile. Gli utenti guardano queste cose e tendono a preferire i lettori che applicano il dithering credendoli più lineari. Per fortuna il dithering aggiunto è di ampiezza così piccola da confondersi con il rumore di fondo e non far danni. 

 

Più il segnale diventa complicato e rapidamente variabile, più il rumore di quantizzazione tende ad avere uno spettro distribuito omogeneamente (senza picchi o buchi).

Per concludere: quando il rumore di quantizzazione presenta picchi (che sono il segno della correlazione) il dithering è utile (il rumore aumenta ma è spalmato ovunque), quando il rumore di quantizzazione è omogeneo il dithering non serve (perché lo spettro del rumore di quantizzazione è già spalmato ovunque).

Tutto ciò parte dal presupposto che i picchi nello spettro del rumore siano più disturbanti di un rumore omogeneo, cosa che succede in particolare quando questi picchi sono interpretabili come distorsione armonica (con i segnali periodici).

 

Quindi l’opportunità di applicare il dithering dipende dalla forma dello spettro del rumore di quantizzazione: se lo spettro del rumore di quantizzazione assomiglia ad un rumore (rosa piuttosto che bianco) il dithering non serve ma se applico provoca danni relativi. Ecco perché tutti lo applicano di default (una cosa in meno cui pensare).

 

Il passo ulteriore (il noise shaping) è una tecnica che si può implementare indipendentemente dal dithering che non annulla il rumore ma lo sposta nelle regioni di frequenza dove dà meno fastidio.

 

 

La conversione A/D

 

Un convertitore A/D accetta un valore analogico in ingresso e lo trasmette all’uscita come numero intero con un errore pari metà dell’ampiezza del bit meno significato.

Per esempio un convertitore a 16 bit prevede 65535 livelli (compreso lo zero).

32768 vanno da –1 a –23768

32768 vanno da 0 a 33767

in questo modo vengono impiegati 15 bit per i segnali positivi e 15 bit per i segnali negativi. Il realtà quindi la conversione dei segnali alternati avviene a 15 bit con segno.

 

La massima ampiezza di una sinusoide vale quindi 32767, la minima ampiezza vale 1. il rapporto tra la massima e la minima ampiezza di una sinusoide è 32767. Il range dinamico (rapporto in dB tra max e min) vale 90.3 dB (in assenza di rumore).

 

Valori diversi si possono ottenere applicando criteri diversi. Per esempio considerando l’ampiezza picco-picco si recuperano subito 6 dB, applicando considerazioni statistiche sul livello di rumore si può salire a 98 dB. La musica non è una sinusoide ed il rumore è sempre presente quindi la dinamica disponibile sarà inferiore a 90 dB. Bastano? Un sistema con lo 0.1% di distorsione produce frequenze spurie a –60dB quindi anche 70 dB di range dinamico potrebbero essere giudicati sufficienti.

 

Ora supponiamo che il valore 32768 corrisponda all’ampiezza di 10 Volt. Questo significa che la minima variazione di tensione che fa scattare l’uscita dell’ A/D da un numero al successivo vale

 

10/65536 = 15.2587890625 microVolt.

 

Questo è il valore del bit meno significativo o LSB.

L’errore (pari a mezzo LSB) vale la metà di tale valore ovvero 7.63 microVolt circa.

Ora, se l’ampiezza del segnale da convertire è piccola l’errore percentuale è molto alto (fino a infinito per segnali inferiori a 7.3 uV che diventano nulli) mentre per i segnali grandi (prossimi a 10Volt in questo caso) l’errore tende a una parte su 32767 (molto piccolo). Questo tipo di convertitore sembra concepito per convertire valori alti e viene usato per la musica dove i segnali da convertire presentano una distribuzione dell’ampiezza che privilegia i valori bassi. Tra l’altro l’apparato uditivo tollera meglio la distorsione di forma sui picchi.

Sarebbe stato più indicato (per la musica) un convertitore capace di seguire con precisione i piccoli segnali e che magari “arrotondasse” i valori prossimi al fondo scala (più aderente alle caratteristiche dell’orecchio). In sostanza sarebbe stato meglio un convertitore con una caratteristica di trasferimento simile a quelli che si usano in telefonia e che, agli albori dell’HiFi digitale, erano stati provati con ottimi risultati. Poi furono fatte scelte diverse a favore della  conversione uniforme (più semplice da gestire).

Da qui una buona parte dei problemi che si incontrano nella riproduzione audio in HiFi.

In sostanza i convertitori A/D disponibili sono a “errore costante” mentre sarebbe meglio usare convertitori a “errore percentuale costante” o con qualche altro andamento. 

Ne segue anche che l’errore di quantizzazione è massimo per i piccoli segnali (dove l’audiofilo lo verrebbe minimo).

 

 

Caratteristica di un convertitore uniforme.

 

L’altro problema è il troncamento che origina il fenomeno di Gibbs (di cui non è il caso di parlare)

 

- fine -