Estoy trabajando en el ejemplo de esta página: http://chimera.labs.oreilly.com/books/1234000001552/ch03.html
Entiendo totalmente por qué el nivel máximo de un sistema de audio sería 0 porque el registro de 1 es 0.
Sin embargo, estoy confundido sobre el mínimo. La definición de dBFS es
dBFS = 20 * log( [sample level] / [max level] )
En un sistema de 16 bits hay 2 ^ 16 = 65536 valores. Entonces esto significa valores de -32768 a +32767. Excluyendo 0, digamos que el valor mínimo es 1. Así que al conectar esto a la fórmula se obtiene:
dBFS = 20 * log( 1 / 32767 ) = -90.3
Pero el libro dice que debería ser -96dBFS. ¿A dónde me estoy yendo mal?
Usted hace la escala para señales simétricas, pero esa noción es totalmente arbitraria. Cada bit agrega 6 dB SNR (más específicamente ruido de señal a cuantificación), porque duplica la escala, y un factor 2 es 6 dB. Entonces 16 bits es 16 x 6 dB = 96 dB.
Números más exactos: 20 log (2) = 6.02, por lo tanto, 16 x 6.02 dB = 96.33 dB.
fuente
¡Casi lo has encontrado tú mismo! Piensa en términos de valor sin signo en lugar de firmado, y eres perfecto. En la formula
dBFS = 20 * log( [sample level] / [max level] )
Considerar
[sample level]=1
y[max level]=65536
que te llevará a:dBFS = 20 * log(1/65536)
dBFS = 20 * -4.816
dBFS = -96.3
fuente
Al calcular la SNR, está comparando la potencia de la señal a gran escala. (generalmente una onda sinusoidal) con la potencia de ruido de cuantificación. La potencia se calcula en función del valor RMS de la forma de onda.
El ruido de cuantización se modela mejor como una onda de diente de sierra, cuyo valor RMS es (IIRC)1 /12--√ El valor pico. En comparación con una onda sinusoidal de la misma amplitud máxima, esto es lo que le proporciona los 6 dB adicionales.
fuente