RApporto S/N, rumore e dithering
Inviato: 30/09/2023, 15:20
il rapporto S/N o segnale/rumore misura il rapporto tra il valore RMS del segnale ed il valore RMS del rumore.
Nel seguito utililizziamo il fattore di cresta CF (rapporto tra il valore di picco ed il valore RMS).
CF = Vpicco / Vrms da cui risulta che Vrms = Vpicco/CF
Il valore di picco, per un segnale in forma digitale, si trova facilmente perchè è pari al valore massimo consentito dal convertitore A/D che a sua volta è pari a 2 elevato al numero di bit meno uno
per A/D a 16 bit => 2^(16-1) = 2^15 = 32768 con picco positivo 32767
per A/D a 24 bit => 2^(24-1) = 2^23 = 8388608 con picco positivo 8388607
il fattore di cresta di un programma musicale va da un minimo di circa 3 ad un massimo di 30 (28 è il valore più alto che ho misurato). Detto questo il valore RMS del segnale musicale è:
Srms = 2^(m-1)/CFs dove m è il numero di bit del convertitore.
lo stesso ragionamento si ripete per l'errore di quantizzazione (che è il minimo disturbo presente nel segnale digitale). l'errore di quantizzazione vale la metà del bit meno significatovo (LSB=1) ovvero 1/2.
Se il segnale è stato ditherizzato aggiungendo un rumore casuale con ampiezza di 2 bit picco-picco, il valore di picco del rumore (dither+quantizzazione) vale 1.5
Resta un problema: quanto vale il fattore di cresta del rumore?
- segnale telegrafico (successione casuale di 1 e 0) con media nulla CFrumore minimo = 1
- segnale sinusoidale puro CF = 1.414
- rumore con distribuzione uniforme CFrumore = 3.46
- rumore con distribuzione gaussina CFrumore = 3.75 (dithering)
alla fine
Rrms = Vpicco /CFr dove Vpicco vale 1.5 con dithering e 0.5 senza.
Ora possiamo calcolare il rapporto S/N = [2^(m-1)/CFs]/[Vpicco /CFr]
se interessa in dB basterà calcolare 20 volte il logaritmo in base 10 di S/R.
Si nota subito che se CFs=CFr
S/N A/D 16 bit senza dithering = 20 log (65534) = 96.3 dB
S/N A/D 16 bit con dithering = 20 log (65534) = 86.8 dB
che sono i numeri che siamo abituati a vedere e sentire.
Consideriano un caso forse più reale:
- CFrumore = 3.75 (con dithering distribuzione gaussiana)
- CFsegnale = 10 (file ad alta dinamica)
- Convertitore a 16 bit
Risulta S/N = 78.3 dB (87.8 senza dithering).
Se il rumore presenta una distribuzione dell'ampiezza uniforme piuttosto che gaussiana l' S/N cambia di frazioni di dB.
Per concludere la dinamica di un file digitale dipende dal fattore di cresta ed è più alta per i file con fattore di cresta più basso (i più compressi).
Anche con convertitori a 16 bit il campo dinamico è sufficiente per riprodurre oltre 60 dB di dinamica anche con i CF più elevati.
Non abbiamo considerato il rumore della catena (pre, ampli, ecc.) che deve essere basso. Se fosse uguale al rumore contenuto nel file il range dinamico diminuirebbe di 3 dB.
Con 24 bit l'errore di quantizzazione praticamente scompare (ampiamente non udibile) anche se ditherizzato. Resta il rumore elettrico della catena.
Nel seguito utililizziamo il fattore di cresta CF (rapporto tra il valore di picco ed il valore RMS).
CF = Vpicco / Vrms da cui risulta che Vrms = Vpicco/CF
Il valore di picco, per un segnale in forma digitale, si trova facilmente perchè è pari al valore massimo consentito dal convertitore A/D che a sua volta è pari a 2 elevato al numero di bit meno uno
per A/D a 16 bit => 2^(16-1) = 2^15 = 32768 con picco positivo 32767
per A/D a 24 bit => 2^(24-1) = 2^23 = 8388608 con picco positivo 8388607
il fattore di cresta di un programma musicale va da un minimo di circa 3 ad un massimo di 30 (28 è il valore più alto che ho misurato). Detto questo il valore RMS del segnale musicale è:
Srms = 2^(m-1)/CFs dove m è il numero di bit del convertitore.
lo stesso ragionamento si ripete per l'errore di quantizzazione (che è il minimo disturbo presente nel segnale digitale). l'errore di quantizzazione vale la metà del bit meno significatovo (LSB=1) ovvero 1/2.
Se il segnale è stato ditherizzato aggiungendo un rumore casuale con ampiezza di 2 bit picco-picco, il valore di picco del rumore (dither+quantizzazione) vale 1.5
Resta un problema: quanto vale il fattore di cresta del rumore?
- segnale telegrafico (successione casuale di 1 e 0) con media nulla CFrumore minimo = 1
- segnale sinusoidale puro CF = 1.414
- rumore con distribuzione uniforme CFrumore = 3.46
- rumore con distribuzione gaussina CFrumore = 3.75 (dithering)
alla fine
Rrms = Vpicco /CFr dove Vpicco vale 1.5 con dithering e 0.5 senza.
Ora possiamo calcolare il rapporto S/N = [2^(m-1)/CFs]/[Vpicco /CFr]
se interessa in dB basterà calcolare 20 volte il logaritmo in base 10 di S/R.
Si nota subito che se CFs=CFr
S/N A/D 16 bit senza dithering = 20 log (65534) = 96.3 dB
S/N A/D 16 bit con dithering = 20 log (65534) = 86.8 dB
che sono i numeri che siamo abituati a vedere e sentire.
Consideriano un caso forse più reale:
- CFrumore = 3.75 (con dithering distribuzione gaussiana)
- CFsegnale = 10 (file ad alta dinamica)
- Convertitore a 16 bit
Risulta S/N = 78.3 dB (87.8 senza dithering).
Se il rumore presenta una distribuzione dell'ampiezza uniforme piuttosto che gaussiana l' S/N cambia di frazioni di dB.
Per concludere la dinamica di un file digitale dipende dal fattore di cresta ed è più alta per i file con fattore di cresta più basso (i più compressi).
Anche con convertitori a 16 bit il campo dinamico è sufficiente per riprodurre oltre 60 dB di dinamica anche con i CF più elevati.
Non abbiamo considerato il rumore della catena (pre, ampli, ecc.) che deve essere basso. Se fosse uguale al rumore contenuto nel file il range dinamico diminuirebbe di 3 dB.
Con 24 bit l'errore di quantizzazione praticamente scompare (ampiamente non udibile) anche se ditherizzato. Resta il rumore elettrico della catena.