Warum clippt 32bit fp nicht?

  • Ersteller fishnetz
  • Erstellt am
F

fishnetz

Registriert
20.12.11
Beiträge
315
Reaktionen
61
Punkte
543
0 dbFS bleiben doch 0 dbFS, warum hört man dann Cubase intern kein Clipping? Gibt die 32 bit fp Umgebung quasi einen unendlichen Headroom. weil so viele Dynamkstufen übrig sind oder wie kann man das verstehen?
 
24bit hat 144dB dynamikumfang. dieser dynamikumfang ist so gelegt, dass er von 0dBFS bis -144dBFS geht. 32bit FP hingegen hat 1680dB dynamikumfang. nun könnte man sagen, dass es von 0dBFS bis -1680dB FS geht, aber es ist anders spezifiziert, dann "nach unten raus" braucht man diese extreme auflösung nicht. daher clip 32bit FP auch über 0dBFS nicht. ob es nun bei +200dBFS clippt oder erst bei +999dBFS weiss ich nicht. das würde mich auch mal interessieren.
 
32bit FP hingegen hat 1680dB dynamikumfang

Da stoße ich mich jetzt etwas am Begriff "Dynamikumfang". Der theoretisch mögliche Dynamikumfang von 24 Bit bleibt bei 144 dB. Die zusätzlichen 8 bit von 32 fp erlauben einfach Schieben des Rasters.

Bei 48 Bit fixed point (das alte ProTools HD, das alte Sonic Solutions usw.) ist das etwas anders. Man kann nicht so schöne schieben und nicht mit so hohen Zahlenwerten für Headroom auf den Busch hauen, es gab aber Entwickler, die das gegenüber 32 floating point bevorzugten und es gab fast schon religiöse Kämpfe darum, was besser ist.

Da will ich jetzt aber nicht in die Tiefen gehen. 48 Bit fixed point nutzt kaum noch ein modernes System, ebenso wenig 32 float. Die meisten sind dann auf 64 Bit floating point gegangen. Da muss man sich dann auch nicht mehr streiten. 64 float ist beiden Systemen (32 float und 48 fixed) überlegen.
 
Da stoße ich mich jetzt etwas am Begriff "Dynamikumfang". Der theoretisch mögliche Dynamikumfang von 24 Bit bleibt bei 144 dB. Die zusätzlichen 8 bit von 32 fp erlauben einfach Schieben des Rasters.
"dynamikumfang" ist vielleicht nicht der richtige begriff, aber mir ist kein besserer eingefallen & er visualisiert den zusammenhang ganz gut. den dB-wert habe ich auch irgendwo abgeschrieben & nicht selbst ausgerechnet. der punkt ist aber, dass das raster nicht einfach nur geschoben wird, sondern die gewichtung in welchem bereich eine hohe auflösung exisitiert wird optimiert. vielleicht meintest du das aber auch.

eigentlich ist somit dass was ich oben geschrieben habe auch nicht ganz korrekt, denn es gibt keine festen schwellwerte. die werden quasi dynamisch angepasst. man kann also leise signale extrem genau abbilden, aber auch laute. das wiederum könnte man auf einen "effektiven dynamic range" umrechnen.
 
Was meinst du mit Schieben des Rasters?

Stichwort: Exponent.

Wikipedia hilft weiter ...

Ich nehm mal an, 1*2^0 entspricht 0 dBFS, also Mantisse 1, Exponent 0.

64 float ist beiden Systemen (32 float und 48 fixed) überlegen.

technisch ja. Die Frage ist aber, ob das gehoerte Relevanz hat.
 
Halt mal. Ist jetzt mit Schieben des Rasters gemeint, dass Dynamikabstufungen frei verschiebbar sind, oder dass sie weiter nach oben reichen, also über 0dbFS, aber fest sind?

so einfach kann man das nicht sehen. Dafür muss man sich mit der Floating Point Addition beschäftigen.
 
hier ein schönes beispiel um die unterschiede zu visualisieren:

beispiel 1:
Fixed: 0.874072875
Floating: 0.8740728

beispiel 2:
Fixed: 0.00008740
Floating: 874072875-4

beim beispiel 1 (große zahlen) unterscheiden sich fixed & floating nur recht wenig. fixed ist hier einen kleinen tick "genauer". im beispiel 2 (kleine zahlen) ist fixed sehr viel ungenauer & verliert präzision.

quelle: http://www.gearslutz.com/board/4507008-post20.html
 
Was meinst du mit Schieben des Rasters?

Stichwort: Exponent.

Wikipedia hilft weiter ...

Ich nehm mal an, 1*2^0 entspricht 0 dBFS, also Mantisse 1, Exponent 0.

64 float ist beiden Systemen (32 float und 48 fixed) überlegen.

technisch ja. Die Frage ist aber, ob das gehoerte Relevanz hat.

Hier ist das sehr schön erklärt
http://www.inf.fh-flensburg.de/lang/informatik/ieee-format.htm




beim beispiel 1 (große zahlen) unterscheiden sich fixed & floating nur recht wenig. fixed ist hier einen kleinen tick "genauer". im beispiel 2 (kleine zahlen) ist fixed sehr viel ungenauer & verliert präzision.

Das stimmt nicht ganz. In dem Wikipedia Artikel wird dazu anschaulich erklärt.


"
Der Vorteil der Gleitkomma darstellung besteht darin, dass alle Zahlen mit derselben relativen Genauigkeit dargestellt werden, sowohl betragsmäßig sehr kleine als auch sehr große Zahlen. Wenn bei der sehr kleinen Zahl 1,23456789 · 10-12 die letzte Ziffer aufgerundet wird, entsteht ein prozentual genauso großer Fehler, wie wenn bei der sehr großen Zahl 1,23456789 · 1014 die letzte Ziffer aufgerundet wird."

Und man darf nicht vergessen, ein Analogsingnal, das einmal mit 24 Bit digitalisiert wurde, kann nicht plötzlich durch eine andere Darstellung genauer werden. Im Fall von 24 Bit liegt die darstellbare Genauigkeit bei 144 dB. Der Rest ist Rauschen, egal wie ich mit dem Exponenten umgehe.

Weiter wird geschrieben.
"Das einfach genaue Format erlaubt lediglich eine Genauigkeit der Darstellung von ca. 7 Dezimalstellen. Dies ist relativ wenig; bei einer Zahl wie 12.345,678 ist die dritte Stelle nach dem Komma schon ungenau. Insbesondere bei numerischen Berechnungen mit längeren Folgen von Rechen operationen sinkt die Genauigkeit so stark, dass das einfach genaue Format nicht ausreicht.
Daher gibt es das doppelt genaue Format. Beim doppelt genauen Format werden die Zahlen mit 64 Bit dargestellt. Die Länge des Exponenten ist 11 Bit, die Länge der Mantisse ist 52 Bit. Der Bias des Exponenten beträgt 1023. Die Genauigkeit der Darstellung entspricht ca. 16 Dezimalstellen.
Heutzutage sind Speicherplatz und Rechenleistung so reichlich vorhanden, dass nur noch das doppelt genaue Format verwendet werden sollte"

Die höhere Genauigkeit von Double Precision (64 bit float) ergibt z.B. beim Summieren geringere Rundungsfehler.
 
Spielt bei Audio allerdings keine Rolle.
Hier reichen 32bit dicke.
 
Hier ist das sehr schön erklärt
http://www.inf.fh-flensburg.de/lang/informatik/ieee-format.htm
...

Die höhere Genauigkeit von Double Precision (64 bit float) ergibt z.B. beim Summieren geringere Rundungsfehler.

danke, hatte ich im ersten Semester im Studium. Ich glaub, sogar vorher in der Oberstufe. :)

Geringer heisst nicht, dass es automatisch relevant ist. Und selbst manche 32-Bit DAWs koennen 64 Bit auf dem Masterbus summieren, zum Beispiel Sonar, oder Reason.
 
Das stimmt nicht ganz. In dem Wikipedia Artikel wird dazu anschaulich erklärt.

der Wikipedia-eintrag spricht von absoluter genauigkeit. meine aussagen waren aber nicht absolut, sondern relativ (bezogen auf 32bit fixed point) - und dafür stimmen sie.

da wird halt nirgends auf summierung eingegangen. ist für die summierung auch praktisch irrelevant. man kann sich den worst-case fehler zwischen 64bit FP & 32bit FP ganz sicher ausrechnen. ich denke da reden wir über pegelunterschiede im bereich (wahrscheinlich *deutlich*) kleiner 0.000000000001dB. geschenkt.
 
Naja, zumindest ist mal klar, warum 32 bit float, 48 Bit fixed, 64 Bit float und 80 bit flaot (Console Software bei Metric Halo u.a.) intern kaum zum Clippen zu bringen ist.

Wenn man die Summenbusse von ProTools vergleicht, haben die alten nativen Systeme mit 32 Bit float, die alten HD Systeme mit 48 Bit fixed gerechnet und die neuen PT summieren mit 64 Bit float. Die Meinungen langjährigen PT User sind eindeutig - sie bevorzugen die Summierung mit 64 bit float.

Aber das ist dann ein anderes Thema.
 
Naja, zumindest ist mal klar, warum 32 bit float, 48 Bit fixed, 64 Bit float und 80 bit flaot (Console Software bei Metric Halo u.a.) intern kaum zum Clippen zu bringen ist.

Wenn man die Summenbusse von ProTools vergleicht, haben die alten nativen Systeme mit 32 Bit float, die alten HD Systeme mit 48 Bit fixed gerechnet und die neuen PT summieren mit 64 Bit float. Die Meinungen langjährigen PT User sind eindeutig - sie bevorzugen die Summierung mit 64 bit float.

Aber das ist dann ein anderes Thema.

... woher soll der langjährige User wissen, ob seine DAW nicht besser klingt, weil 64 BIt oder vielleicht eher wegen der neuen Goldsicherung, die er eingebaut hat, ode lags doch am Klang des neuen Channel-EQ? Nein, er HÖRT GANZ GENAU die Bits heraus, welch fulminante übersinnliche Leistung! :) Vielleicht ist stattdessen der Clock-Jitter des Wandlers von 1 ns auf 10 ps gefallen? Könnte doch auch sein ...

Vor allem, woher willst du genau, was der Protoolsuser denkt, hast du alle gefragt?
 
Die Meinungen langjährigen PT User sind eindeutig - sie bevorzugen die Summierung mit 64 bit float.
wenn man von fixed point kommt, ist das auch nicht verwunderlich. da bevorzugt man alles wo float drauf steht.

Denn woher soll der langjährige User wissen, ob seine DAW nicht besser klingt
besser klingen stimmt ja nicht so ganz. klanglich wird das keinen unterschied machen. man muss halt nur mehr mit dem gainstaging aufpassen. wenns bei fixed clippt, klingt float natürlich besser als fixed ;-)
 
Halt mal. Ist jetzt mit Schieben des Rasters gemeint, dass Dynamikabstufungen frei verschiebbar sind, oder dass sie weiter nach oben reichen, also über 0dbFS, aber fest sind?

so einfach kann man das nicht sehen. Dafür muss man sich mit der Floating Point Addition beschäftigen.

Was hat das mit der Addition zu schaffen? (ernstgemeinte Frage!)
 
Du willst damit jetzt hoffentlich nicht sagen, dass fixed processing keinen Headroom bietet: Selbst 32 Bit fixed point würde bei ordentlicher Arbeitsweise bereits genut Headroom bieten.
das es *keinen* headroom bietet habe ich nicht behauptet, sondern dass es deutlich weniger headroom als floating point hat. die arbeitsweise sollte nicht durch die verwendete technologie vorgeschrieben werden. es wird wohl kaum jemand der nun mit float arbeitet wieder auf fixed wechseln wollen. unzählige protools-user sprechen da eine klare sprache ;-)
 
naja, im Prinzip waeren fuer Audio 32 Bit Fixed Point BESSER als 32 Bit Floating Point ;)

Wenn man zum Beispiel drei Bit ueber 0 dBFS sicherheitshalber als Reserve laesst, also 18 dB, und wuerde die restlichen 29 Bit fuer die reine Aufloesung verwenden (also quasi Mantisse ohne Exponent). Da braucht man dann kein 64 Bit mehr, ein Bloedsinn der Industrie. Gut fuer gigantische Speicheradressierung, mehr nicht. 29 Bit sind als reine Mantisse 5 Bit mehr als mit Floating Point, das reicht dicke, auch fuer 200 Spuren.

es wird wohl kaum jemand der nun mit float arbeitet wieder auf fixed wechseln wollen. unzählige protools-user sprechen da eine klare sprache ;-)

Die User haben sowieso keine Ahnung. Was die jetzt denken, haengt davon ab, was man ihnen vorgaukelt. :)
 

Ähnliche Themen

tim_heinrich
Antworten
0
Aufrufe
931
tim_heinrich
tim_heinrich
tim_heinrich
    • Danke
  • Artikel
Antworten
3
Aufrufe
759
tim_heinrich
tim_heinrich
Paddy777
Antworten
5
Aufrufe
1K
Voel
Voel
Atlacamani
Antworten
15
Aufrufe
1K
Jax
Jax

Neue Antworten


Oft gelesene Themen

Zurück
Oben