16 Bit PCM - 96 dB Dynamikbereich - woher?

OP #7475142
Lesenswert?

Guten Morgen zusammen,

wenn ich einen 16-Bit-PCM-Audiodatenstrom habe, habe ich bekanntlich 96 dB Dynamikumfang. Sagt Wikipedia und auch alle andere Online-Quellen, die ich bislang gefunden habe.

Wenn ich versuche das selbst auszurechnen: 20*log10(((2^15)-1)/1) = 90,3

Der Schalldruck ist eine Leistungswurzelgröße, der größte Wert ist 2^15 - 1, der kleinste 1, und damit komme ich auf gut 90 dB Dynamik.

Woher kommen die 96 dB, die ich überall finde? Wie immer bin ich auch guten Literaturtipps gegenüber sehr aufgeschlossen.

Viele Grüße

(Alle Edits: Meine mentale Rechtschreibkorrektur ist noch nicht komplett gestartet.)

#7475167
Lesenswert?

Walter T. schrieb:

Verstehe ich nicht. Mit 1 Bit habe ich nur das Vorzeichen, also die gleiche Spannung wahlweise positiv oder negativ. Damit ist der RMS immer gleich.

ne. Mit 0 Bit kannst du genau 1 konstantes Spannungslevel ausgeben. Mit 1 Bit kannst du doppelt so viele Spannungslevel erzeugen usw.

Selbst wenn es Vorzeichenbehaftet 1 Bit ist: 0 entspräche dann Null, eine 1 entspräche dann -1, also selbst dann hast du 2 unterscheidbare Spannungen.

#7475286
Lesenswert?

es gibt keine Offsets und solchen Kram.

Die Dynamik ist das Verhältnis von der grössten zur kleinsten Darstellbaren Spannung. Bei 16 Bits ist die grösste Spannung 65536 mal so gross wie die Kleinste, das sind 96 dB, weil 20*log10(65536) = 96 ist.

ja, es ist natürlich, wenn man es genau nimmt, ein Faktor 65535, aber für alle praktischen Belange ist 65535 = 65536. Der Fehler ist im sub-0.1dB Bereich. Also rechnet man mit 2^16.

OP #7475336
Lesenswert?

Tobias P. schrieb:

Die Dynamik ist das Verhältnis von der grössten zur kleinsten Darstellbaren Spannung.

Ich bin da absolut keine Experte, aber das allein kann es ja nicht sein.

Ansonsten würde ich einfach meine Achsen exponnentiell skalieren, also 0 entspricht 1e-10 V, 1 entspricht 200 V und voilá habe ich mit 1 Bit mehr als 240 dB Dynamikumfang erreicht.

Oder banal: 0 entspricht 0V, 1 entspricht 1 V, mein Dynamikumfang ist unendlich!

Moderator #7475360
Lesenswert?

Walter T. schrieb:

Ich habe einen Offset von -0,5*LSB.

Der Offset spielt bei der Dynamik des Audiosignals keine Rolle, da er nicht zur Lautstärker beiträgt (üblicherweise wird er auf Analogseite mittels Koppelkondensatoren aus dem Signal entfernt).

Entscheidend ist allein das Verhältnis zwischen der größtmöglichen und der kleinstmöglichen (von 0 verschiedenen) Amplitude. Die Amplitude ist die halbe Differenz von oberem und unterem Scheitelwert.

Die größtmögliche Amplitude bei einem 16-Bit-DAC ist somit

a_max = ((2¹⁵-1)-(-2¹⁵))/2 = 2¹⁵-½

Die kleinstmögliche Amplitude ist

a_min = (1-0)/2 = ½

Anmerkung: Statt (1-0) könnte man genauso gut (87-86) schreiben, da der Offset keine Rolle spielt.

Die Dynamik in dB ist

20·log₁₀(a_max/a_min) = 20·log₁₀((2¹⁵-½)/½) = 20·log₁₀(2¹⁶-1) ≈ 96,3

OP #7475374
Lesenswert?

Wechseln wir von Werten auf Amplituden. Das klingt erst einmal sinnvoll.

Stichprobe beim "banalen" Fall 1-Bit:

Alles 0en -> Amplitude 0. Alles 1en -> Amplitude 0. Wechsel zwischen 0en und 1en -> Amplitude 0,5.

Dynamik: 20*log10(0.5/0,5) -> 0 dB.

Paßt.

Danke für die Erklärung!

Nachtrag: Aber wenn 1 Bit 0 dB Dynamik sind, passt das nicht mit 6 dB pro Bit mehr:

1 Bit-> 0dB 15 Bit -> 15 * 6 dB = 90 dB 16 Bit = 1 Bit + 15 Bit = 90 dB

Hänge ich hier jetzt bei irgendeinem Zaunpfahlproblem?

OP #7475392
Lesenswert?

Kannst Du irgendwelchen "echten Stoff" (Literatur) empfehlen, wo diese Definitionen mal sauber behandelt werden, um nicht auf "Näherungen von irgendeinem Typen aus dem Internet" angewiesen zu sein?

Irgendwie scheint alle "gute" Literatur zur akustischen Meßtechnik, die ich kenne, irgendwann in den 80ern stehengeblieben zu sein.

Edit: Die jetzige Herleitung ist SEHR brauchbar (nach Deinem Edit). Die Frage war eher allgemein.

Gast #7477701
Lesenswert?

Walter T. schrieb:

20*log10(((2^15)-1)/1) = 90,3

Da steckt der Fehler: Es sind 2^16. Wird hier gleich mehrmach falsch gemacht!

-> 20*log10(65535) = 96,x

Ein Signal kann innerhalb des Datenstroms von -32k bis 32k springen, damit ist die Dynamik 64k. Die darstellbare kleinste Größe ist 1.

Wenn man sich auf die Amplituden bezieht, die real abgebildet werden, müsste man die Bandbreite und die Anstiegszeit berücksichtigen. Die ist bei einem bandbegrenzten Signal erheblich geringer, daher nutzt ein Audiosignal die 96dB nur im Sonderfall aus, wenn f = Fs/2. Bei den heute üblichen 192kHz ist die Auslastung geringer. Daher würden sogar 1 Bit weniger reichen, um Audio darzustellen. Der Faktor geht mit Wurzel (192 / 48).

Yalu X. schrieb:

20·log₁₀((2¹⁵-½)/½) = 20·log₁₀(2¹⁶-1) ≈ 96,3

Ich würde beim Faktor 1/2 über die Rundung argumentieren. Das LSB ist maximal 0,5 digit falsch.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren