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.
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 -