Aus dem weiter oben verlinkten Wiki-Artikel habe ich mal den folgenden Satz entnommen:
"A
signed 32-bit integer can have a maximum value of 231 − 1 = 2,147,483,647, whereas the maximum representable IEEE 754 floating point value is (1 − 2−24) × 2128 ≈ 3.402823 × 1038."
Da die Summe aus verschiedenen Spuren (+ Effekt-DSP-Wege, Aux-Wege usw.) digital durch Summieren der Pegelwerte gebildet wird, reicht der Zahlenbereich des 32-bit-integer-Formats für "nur" rund 120 Spuren bei Vollaussteuerung jeder Spur aus (z.B. Peak bei 0 dBFs in jeder Spur). Danach folgt selbst hier Clipping. Bei 32-bit float ist der Zahlenbereich so groß, dass Clipping praktisch immer ausgeschlossen werden kann. 0 dBFS entspricht im Prinzip stets dem maximalen Zahlenwert des jeweiligen bit-Formats und diese Grenze wird physisch selbst bei den z.B. 999 maximal möglichen Spuren bei Samplitude nicht erreicht. Deshalb macht es Sinn,
intern die DAW mit 32-bit float rechnen zu lassen. Wie jedoch die DAW intern die 0dBFS-Grenze wirklich definiert und welchen Zahlenraum sie gegebenenfalls als Headroom reserviert, teilt sich nicht mit. Bei Samplitude können bei interner 32-bit-float-Berechnung die Spuren sogar sichtbar übersteuert sein ohne dass es am Ausgang hörbar clippen muss - wenn der Master-Fader entsprechend eingestellt ist. Denn für die Ausgabe an den DA-Wandler, die üblicherweise bei max. 24 bit verarbeiten können, muss der Wertebereich von der Software ja wieder an diesen Zahlenbereich angepasst werden.
Das bit-Format und das Quantisierungsrauschen hängen direkt miteinander zusammen. Jedes bit mehr bringt 6 dB mehr an Dynamik. Die so oft zu sehende "Treppe" zur darstellung der Abtsastung ist aber ein irreführendes Bild, denn diese existiert gar nicht. Jeder Samplewert ist
ein konkreter Zahlenwert zu
einem definierten Zeitpunkt. Bei 44,1 KHz alle 44,1-tausendstel Sekunden (Oversampling mal außen vor gelassen, in der WAV-Datei stimmt es dann aber wieder so).
Nun kann es aber sein, dass dieser Zahlenwert aufgrund der nicht darstellbaren Zwischenwerte bei integeren Zahlen, wie es ein 24-bit Wandler nun mal nur "abzählen" kann, nicht spot on auf der analogen Kurve liegt, sondern knapp daneben (Quantisierungsfehler). Dann wird dieses Signal entsprechend verzerrt und zwar mit einem aufmodulierten rechteckförmigen Signal (Quantisierungsrauschen).
Dieses Rauschen ist nun aber so fein, dass selbst bei 16-bit noch 96 dB Dynamikumfang erreicht werden und bei der so erheblich viel feiner auflösenden 24-bit-Abtastung 144 dB (wobei praktisch im besten Fall wegen der Grenzen im analogen Bereich typischerweise "nur" 120 dB maximal erreicht werden. Jedenfalls liegen bei den 17 Millionen Zahlenwerten des 24-bit-Formats die Samplepunkte generell viel dichter am analogen Signal als bei den "nur" 65 Tausend Zahlenwerten des 16-bit Formats weshalb das Quantisierungsrauschen bei ersterem so viel geringer ist.
Was passiert nun bei "Truncation"?
Als Beispiel habe ich hier mal die Umwandlung eines 5-bit Zahlenraums in einen 4-bit Zahlenraum durch Truncation dargestellt.
Hier zuerst der 5-bit Zahlenraum:
5 bit (2 hoch 5)
31 11111
30 11110
29 11101
28 11100
27 11011
26 11010
25 11001
24 11000
23 10111
22 10110
21 10101
20 10100
19 10011
18 10010
17 10001
16 10000
15 01111
14 01110
13 01101
12 01100
11 01011
10 01010
09 01001
08 01000
07 00111
06 00110
05 00101
04 00100
03 00011
02 00010
01 00001
00 00000
Im übrigen liegt bei der AD-Wandlung der Nulldurchgang des Signals üblicherweise in der Mitte, hier bei 16 (10000).
Nun wird das letzte bit (2 hoch 1, das bit ganz rechts außen) abgeschnitten:
31 1111
30 1111
29 1110
28 1110
27 1101
26 1101
25 1100
24 1100
23 1011
22 1011
21 1010
20 1010
19 1001
18 1001
17 1000
16 1000
15 0111
14 0111
13 0110
12 0110
11 0101
10 0101
09 0100
08 0100
07 0011
06 0011
05 0010
04 0010
03 0001
02 0001
01 0000
00 0000
Wie man sieht, ist nun auf der digitalen Seite jeder Wert doppelt vorhanden, so daß jeder zweite Wert, der nun unsinnig ist, entfällt:
15 1111
14 1110
13 1101
12 1100
11 1011
10 1010
09 1001
08 1000
07 0111
06 0110
05 0101
04 0100
03 0011
02 0010
01 0001
00 0000
Wie man sieht, ist aus dem 5-bit-Raum mit 32 Werten (0-31), der 4-bit-Raum mit nur noch 16 Werten geworden. Der Nulldurchgang liegt immer noch in der Mitte (jetzt 1000) und das ursprünglich mir 32 Werten kodierte Signal wird nun nur noch mit 16 Werten kodiert. Da die Zwischenwerte fehlen ist die Kodierung gröber und das Quantisierungsrauschen wird zunehmen. Aber das Signal selber bleibt erkennbar.
Wenn gleich zwei bit abgeschnitten werden wird der Zahlenraum immer kleiner, hier nur noch 3 bit:
07 111
06 110
05 101
04 100
03 011
02 010
01 001
00 000
Das ursprüngliche Signal ist zwar immer noch rekonstruierbar, aber die Verzerrungen/das Rauschen werden/wird immer größer.
Bei der Umwandlung von 24 bit zu 16 bit gilt es nun, die entstehenden Lücken, die durch den Wegfall der untersten bits entstehen so auf zu füllen, dass das Quantisierungsrauschen bzw. die Verzerrungen minimiert werden. Das ist nun nicht eigentlich ein Verdeckungseffekt, sondern eine Art Rekonstruktion. Indem nun ein leises digitales Rauschen zugefügt wird (Dither), wird erreicht, dass die untersten bits (die vom Pegel des Dithers erfasst werden), quasi zu "Tanzen" anfangen. Damit springen die Zahlenwerte, die ansonsten einfach verloren gegangen wären, auf einen höheren bit-Wert und werden somit erfasst. Dieser höhere bit-Wert ist nach dem Abschneiden der ursprünglich unteren bits (denn es wird immer abgeschnitten, auch bei Dithering) wiederum der unterste bit-Wert. Somit können nicht die untersten Pegelstufen des 24-bit-Formats "gerettet" werden, sondern das Dithering rekonstruiert (mehr oder weniger) alle sonst verloren gehenden Zwischenstufen, denn alle Zahlenwerte haben als Binärzahl "unterste" bist (s.o.).
Auch bei der AD-Wandlung spielt Dither eine Rolle, denn auch hier liegen viele Samplewerte ja minimal neben der analogen Signalkurve. Durch hinzufügen von hochfrequenten Rauschen in Zusammenhang mit Oversampling (hier genügt u.U. sogar schon das vom analogen Eingang kommende unvermeidliche System-Rauschen) wird ebenfalls ein (hochfrequentes) "Tanzen" der untersten bits angeregt das wiederum ein sehr hochfrequentes Quantisierungsrauschen erzeugt. Dieses liegt nun aber über der Hörgrenze von ca. 20 KHz und wird einfach vor der endgültigen Datenerstellung abgeschnitten. So wirkt Rauschen Rausch-vermindernd.
Chapeau vor dieser Ingenieursleistung!
Gruß, Jürgen
P.S.
Das weiter oben zu findende Zitat, wo ich im Zusammenhang mit dem 16-bit-Format von Frequenzumfängen schrieb ist natürlich so geschrieben unsinnig. Richtig muss es heißen, dass 44,1 KHz Samplerate und damit die obere Frequenzgrenze von 20 KHz als Frequenzumfang für uns Menschen genügt. 16 bit bringen mit ihren theoretisch maximalen 96 dB Dynamikumfang wiederum genügend Dynamik mit um jedwege Musik mit ausreichenden Reserven wieder geben zu können.
44.1 KHz/16-bit sind jedenfalls als Endverbraucher-Format mehr als ausreichend.
Nun ist es so, daß das Quantisierungsrauschen bei der AD-Wandlung immer nur in den untersten bits stattfindet (den äußerst rechten bits), denn der Samplewert wird ja immer nur ein klein wenig neben dem originalen Signal liegen (wenn er daneben liegt) und nicht weit entfernt - es wird sozusagen immer der nächst liegende Zahlenwert ausgespuckt.
Das Oversampling führt nun zusätzlich dazu, dass es viel mehr Samplewerte pro Zeiteinheit gibt und beides zusammen, das "Tanzen" und die Vermehrung der Datenwerte,
Nun ist es so, daß das Quantisierungsrauschen bei der AD-Wandlung immer nur in den untersten bits stattfindet (den äußerst rechten bits), denn der Samplewert wird ja immer nur ein klein wenig neben dem originalen Signal liegen (wenn er daneben liegt) und nicht weit entfernt - es wird sozusagen immer der nächst liegende Zahlenwert ausgespuckt.
Das Oversampling führt nun zusätzlich dazu, dass es viel mehr Samplewerte pro Zeiteinheit gibt und beides zusammen, das "Tanzen" und die Vermehrung der Datenwerte,