Pourquoi les systèmes 16 bits ont-ils un dBFS minimum de -96?

8

Je travaille sur l'exemple de cette page: http://chimera.labs.oreilly.com/books/1234000001552/ch03.html

Je comprends parfaitement pourquoi le niveau maximum d'un système audio serait 0 car le journal de 1 est 0.

Cependant, je suis confus quant au minimum. La définition de dBFS est

dBFS = 20 * log( [sample level] / [max level] )

Dans un système 16 bits, il y a 2 ^ 16 = 65536 valeurs. Cela signifie donc des valeurs de -32768 à +32767. Excluant 0, disons que la valeur minimale est 1. Donc, le brancher sur la formule donne:

dBFS = 20 * log( 1 / 32767 ) = -90.3

Mais le livre dit qu'il devrait être de -96 dBFS. Où vais-je mal?

Aptary
la source

Réponses:

8

Vous avez utilisé et c'est le niveau de signal maximal . Le niveau de signal crête à crête est donc de 2 LSBp-p. Mais vous pouvez avoir un signal plus petit: -132767

Le plus petit signal est la moitié de celui-ci (c'est-à-dire 1 LSBp-p), donc un autre 6 dB vous ramène à -96 dBFS

Andy aka
la source
1
Ah! Je pense que j'ai compris. Donc, l'onde maximale a un pp de -32768 à 32767, c'est-à-dire (65536), et le minimum a un pic à pic de, disons 0 à 1, (c'est-à-dire 1), ce qui me donne -96 dB. (À l'origine, je pensais que le signal minimum était passé de -1 à 1.) Pensez-vous que mon raisonnement (de base) ici est correct?
Aptary
@Aptary sonne comme si vous l'aviez - la symétrie vous a dupé!
Andy aka
Brill, merci, vous donnera un vote positif quand j'aurai assez de représentants!
2013
3

Vous faites l'échelle pour les signaux symétriques, mais cette notion est totalement arbitraire. Chaque bit ajoute 6 dB SNR (plus précisément le bruit du signal à la quantification), car il double l'échelle et un facteur 2 est de 6 dB. Donc 16 bits est 16 x 6 dB = 96 dB.
Des nombres plus exacts: 20 log (2) = 6,02, donc 16 x 6,02 dB = 96,33 dB.

radagast
la source
3

Vous l'avez presque trouvé vous-même! Pensez en termes de valeur non signée au lieu de signée, et vous êtes parfait. Dans la formule

dBFS = 20 * log( [sample level] / [max level] )

Considérer

[sample level]=1et [max level]=65536qui vous conduira à:

dBFS = 20 * log(1/65536)

dBFS = 20 * -4.816

dBFS = -96.3

RawBean
la source
1

Lors du calcul du SNR, vous comparez la puissance du signal pleine échelle (généralement une onde sinusoïdale) à la puissance du bruit de quantification. La puissance est calculée sur la base de la valeur RMS de la forme d'onde.

Le bruit de quantification est mieux modélisé comme une onde en dents de scie, dont la valeur RMS est (IIRC) 1/12la valeur de crête. Par rapport à une onde sinusoïdale de la même amplitude de crête, c'est ce qui vous donne les 6 dB supplémentaires.

Dave Tweed
la source