Estou trabalhando no exemplo desta página: http://chimera.labs.oreilly.com/books/1234000001552/ch03.html
Entendo perfeitamente por que o nível máximo de um sistema de áudio seria 0 porque o log de 1 é 0.
No entanto, estou confuso sobre o mínimo. A definição de dBFS é
dBFS = 20 * log( [sample level] / [max level] )
Em um sistema de 16 bits, existem 2 ^ 16 = 65536 valores. Portanto, isso significa valores de -32768 a +32767. Excluindo 0, digamos que o valor mínimo seja 1. Portanto, inserindo isso na fórmula, obtemos:
dBFS = 20 * log( 1 / 32767 ) = -90.3
Mas o livro está dizendo que deveria ser -96dBFS. Onde eu estou errando?
Você faz a escala para sinais simétricos, mas essa noção é totalmente arbitrária. Cada bit adiciona 6 dB SNR (mais especificamente o ruído de sinal para quantização), porque dobra a escala e um fator 2 é 6 dB. Então 16 bits é 16 x 6 dB = 96 dB.
Números mais exatos: 20 log (2) = 6,02, portanto, 16 x 6,02 dB = 96,33 dB.
fonte
Você quase encontrou você mesmo! Pense em termos de valor não assinado, em vez de assinado, e você é perfeito. Na fórmula
dBFS = 20 * log( [sample level] / [max level] )
Considerar
[sample level]=1
e[max level]=65536
que o levará a:dBFS = 20 * log(1/65536)
dBFS = 20 * -4.816
dBFS = -96.3
fonte
Ao calcular o SNR, você está comparando a potência do sinal em grande escala (geralmente uma onda senoidal) com a potência do ruído de quantização. A energia é calculada com base no valor RMS da forma de onda.
O ruído de quantização é melhor modelado como uma onda dente de serra, cujo valor RMS é (IIRC)1 /12--√ o valor de pico. Quando comparado a uma onda senoidal da mesma amplitude de pico, é isso que fornece 6 dB adicionais.
fonte