• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

32 Bit Float Explained

voodooless

Grand Contributor
Forum Donor
Joined
Jun 16, 2020
Messages
10,506
Likes
18,569
Location
Netherlands
I suggest you complain to Zoom for lying if their device manages 136dB according to this tester but they specified over 192dB.
192dB is the dynamic range of a floating an integer point number, not the actual dynamic range the equipment is able to record at.
 
Last edited:

sarumbear

Master Contributor
Forum Donor
Joined
Aug 15, 2020
Messages
7,604
Likes
7,328
Location
UK
192dB is the dynamic range of a floating point number, not the actual dynamic range the equipment is able to record at.
May I suggest you read the link that started this thread?
 

voodooless

Grand Contributor
Forum Donor
Joined
Jun 16, 2020
Messages
10,506
Likes
18,569
Location
Netherlands
May I suggest you read the link that started this thread?
Ah, correction, 32 bit integer has 192dB dynamic range. I doubt this device has the analog frontend and ADC to actually be that sensitive. That would be orders of magnetide better than anything out there.
 

sarumbear

Master Contributor
Forum Donor
Joined
Aug 15, 2020
Messages
7,604
Likes
7,328
Location
UK
Ah, correction, 32 bit integer has 192dB dynamic range. I doubt this device has the analog frontend and ADC to actually be that sensitive. That would be orders of magnetide better than anything out there.
It’s been tested to have 136dB dynamic range on that video. For some reason this was a negative :eek:
 

voodooless

Grand Contributor
Forum Donor
Joined
Jun 16, 2020
Messages
10,506
Likes
18,569
Location
Netherlands
It’s been tested to have 136dB dynamic range on that video. For some reason this was a negative :eek:
While very impressive, still very far of 192 dB and still within the 144 dB 24 bit integer gives us.
 

sarumbear

Master Contributor
Forum Donor
Joined
Aug 15, 2020
Messages
7,604
Likes
7,328
Location
UK
While very impressive, still very far of 192 dB and still within the 144 dB 24 bit integer gives us.
If the YouTube guys tests are to be relied on.
 

BeerBear

Active Member
Joined
Mar 9, 2020
Messages
264
Likes
252
I suggest you complain to Zoom for lying if their device manages 136dB according to this tester but they specified over 192dB.
Did they? I couldn't find any actual listed specs. In the manual they say that the dynamic range is "amazing" (and it is, compared to most devices out there).

Also, those input sliders are described in the "Adjust the waveform display size" section:

zoomsoftmanual.png


Which hopefully underscores the point that they're not for changing the actual device gain (which is fixed), but act more as a visual convenience. The DAW/app does receive a different input level, but it's all been amplified after the ADC has finished its job, same as if you changed the volume in post.

If they didn't put those sliders there, there wouldn't be a need for the 32bit float format either. But the problem is that people would record a loud signal and it would still be at something like -30dBFS in the DAW (because of the ADC headroom that prevents clipping). Confusion would ensue and Zoom support would be flooded with people who think there's something wrong... So this built in 32bit float "mixer" maybe prevents some confusion and makes users feel good about their gain staging. Still, I would have liked a more honest marketing.
 

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,634
Likes
1,693
25 equivalent bits of mantissa—besides the normalized (omitted) leading "1", don't forget the sign bit.
Yes. Here is where the 25 bits and >1500dB come from:

Also explanations about the 25 bits from two SoX developers, robs and Mans Rullgard (mansr in this forum):

For those who are interested in the formats, recently I reported my findings to the WavPack developer (Bryant) about exploiting the relationship between fixed and floating point formats to improve lossless compression efficiency, and a preview was published for evaluation, as well as an updated WavPack Adobe Audition plugin. Bryant also explained how WavPack encodes fixed and floating point files using different approaches.
The tool in my signature link was used to identify my findings.
 

sarumbear

Master Contributor
Forum Donor
Joined
Aug 15, 2020
Messages
7,604
Likes
7,328
Location
UK
Did they?
Posted above where they said it.

If they didn't put those sliders there, there wouldn't be a need for the 32bit float format either. But the problem is that people would record a loud signal and it would still be at something like -30dBFS in the DAW (because of the ADC headroom that prevents clipping). Confusion would ensue and Zoom support would be flooded with people who think there's something wrong... So this built in 32bit float "mixer" maybe prevents some confusion and makes users feel good about their gain staging. Still, I would have liked a more honest marketing.
Confusion will be caused by people who doesn’t understand the concept, which seems to include you from what you said above.
 

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,634
Likes
1,693
"For example, 8-bit audio––the bit depth of choice for the most iconic video games in the 80s and 90s––results in sounds that are flat and robotic since it only contains 256 possible amplitude values"

Seriously? :facepalm:
The iconic FM synthesizers used in 80s and 90s video games are based on floating point math too.
 

earlevel

Addicted to Fun and Learning
Joined
Nov 18, 2020
Messages
567
Likes
792
IEEE Standard is 1 sign bit + 8 exponent bits + 23 mantissa bits, thus 24-bit resolution (23 + sign). There are other FP formats but that is the only one I remember off-hand (not a digital guy so I could well be wrong).
You're missing the fact that the value is always* normalized, it always has a leading 1. That 1 is not stored, so you have the normalized bit, sign bit, 23 explicit mantissa bits = 25.

*(unless denormalized, for tiny numbers—DSP code always ensure this doesn't happen, because of the performance hit)
 

DonH56

Master Contributor
Technical Expert
Forum Donor
Joined
Mar 15, 2016
Messages
7,943
Likes
16,781
Location
Monument, CO
You're missing the fact that the value is always* normalized, it always has a leading 1. That 1 is not stored, so you have the normalized bit, sign bit, 23 explicit mantissa bits = 25.

*(unless denormalized, for tiny numbers—DSP code always ensure this doesn't happen, because of the performance hit)
OK. The times I used this was years ago for implementing various radar digital signal processing. AFAIK nothing was normalized so we saw 24-bit resolution. That was enough resolution, and FP kept interior (intermediate) values through the filters from blowing up. Sometime during the process is when we learned 32-bit integers were not good enough without a lot more intermediate overflow checks, expensive in terms of HW. This was before DSP chips were commonplace so the "DSP" used custom chips and bit-slice chips (AMD IIRC), but again I was only peripherally involved.

Of course, the digital guys wanted to know why we couldn't just design a 32-bit, 24 GS/s ADC and grab X-band signals directly. In ~1985. Pretty sure I couldn't do it even today.

Whatever, carry on - Don
 

kemmler3D

Major Contributor
Forum Donor
Joined
Aug 25, 2022
Messages
3,535
Likes
7,197
Location
San Francisco
It's maybe worth noting that DSP used in studios today is most likely using 64-bit float, which is considered adequate to avoid accumulating error / noise even after many, many repeated processing steps. 64-bit processing became common in DAWs years ago, shortly after 64-bit CPUs started to hit the consumer market.
 

earlevel

Addicted to Fun and Learning
Joined
Nov 18, 2020
Messages
567
Likes
792
Isn't fixed point just integer with a magnitude/bitshift? Addition/subtraction "just works". Multiplication/division requires an additional shift operation?
It ends up being more involved than you'd think, for DSP. Sure, you need to manage the fixed point by shifting results, but it doesn't end there. If you multiply two numbers, you need twice as many bits for the result. You don't always need the least significant bits, but many times you do. Consider multiplying two small numbers inside a filter, to be later multiplied by a larger number. It's very easy for that first multiply to truncate to zero, then get multiplied by the larger number and produce a large error. So you typically need to implement that as having a larger accumulator that your sample size. The accumulator needs significant headroom too, because things like FIR filters can grow and shrink as they iterate to the result, and if bits fall off either end you're in trouble (especially on the large side, where the error will be huge). And, you need to saturate—you can't allow sums to roll over. For instance, the 24-bit fixed point 56K family has 24-bit data (binary point to left of msb), and a pair of 56-bit accumulators (48 bits to the right of the point, 8 bits to the left), and automatically saturates (clips) results when writing back to 24-bit memory.

But the 56K manages all that in hardware, everything executes in a cycle (and some parallelism too). For a general CPU, you'd have to code such a model, as well as dealing with a certain amount of awkwardness it beings.

Floating point operations don't need to saturate every operation, usually just at the final sample output. Also, while it truncates every multiply (results of multiplying two 25-bit mantissas has to fit back in 25-bit mantissa), and while that can be an issue with 32-bit float (it can kill you on intermediate operations is some filter configurations), 64-bit float is nearly as fast and has so many bits (54-bit mantissa), that truncation doesn't matter. And you don't need to manage a special accumulator with extra range, you can just multiply and add regular variables, saturate at the end.
 

danadam

Major Contributor
Joined
Jan 20, 2017
Messages
1,014
Likes
1,582
The iconic FM synthesizers used in 80s and 90s video games are based on floating point math too.
I hoped that would be 8-bit floats, which they weren't if I read that correctly. Oh well, let's be generous and assume they meant something else, so that at least one part of their sentence is true.

(Just to be clear to anyone reading, my facepalm was for they implying that 8-bits sounds flat and robotic)
 

danadam

Major Contributor
Joined
Jan 20, 2017
Messages
1,014
Likes
1,582
It’s been tested to have 136dB dynamic range on that video. For some reason this was a negative :eek:
@BeerBear put the word "only" in quotes, so clearly it wasn't anything negative to him.

Posted above where they said it.
At the risk of joining @BeerBear in the "confused" group :) , the quoted part there says about floating point type capabilities, not about any device performance.

Did they? I couldn't find any actual listed specs. In the manual they say that the dynamic range is "amazing" (and it is, compared to most devices out there).
I'm not sure if anything can be inferred from it, but they specify maximum input level at +24 dBu (for TRS connection), which is 12.28 V. -136 dB is 1.9 µV, -192 dB is 3 nV. One of those two seems within the realms of possibility :) .
 

BeerBear

Active Member
Joined
Mar 9, 2020
Messages
264
Likes
252
I'm not sure if anything can be inferred from it, but they specify maximum input level at +24 dBu (for TRS connection), which is 12.28 V. -136 dB is 1.9 µV, -192 dB is 3 nV. One of those two seems within the realms of possibility :) .
Yeah, it looks like capturing very low levels is hard. So even with multi-ADC designs we might not see dynamic ranges over 192dB, except in some lab gear maybe, IDK.

BTW, Sound Devices list the dynamic range specs for their MixPre series that record at 32bit float and it's 142dBA.

So over 144dB looks doable. And I guess 32bit FP is still going to be the default choice for the format, rather than 32bit integer. Not just because of visual/UI reasons that I mentioned before, but also because you can't losslessly process 32bit integer in a 32bit FP app (there are still such DAWs around, despite the trend towards 64bit FP).
 

witwald

Senior Member
Forum Donor
Joined
Jul 23, 2019
Messages
484
Likes
512
...the device has a 32-bit float mode as well but that is accessible via an ASIO driver.
I'm a trifle confused here. I understand that the sampled data is being converted to and stored as a 32-bit float. However, isn't the analog-to-digital converter only going to be working at 24-bit integer precision?
 

bennetng

Major Contributor
Joined
Nov 15, 2017
Messages
1,634
Likes
1,693
To put these things into perspective, here's someone's measurement results with these recorders. Notice how the RME using old technology showing the highest dynamic range and lowest distortion.

Another traditional recording interface:

Amir's measurements of Zoom F6:

This review of course, caused some troubles to Zoom's tech support department, but even after firmware update the results are still pathetic (the PDF links contain measurement results)

So while it is good to show off your high dynamic range figures when using unfair gain settings, all other aspects suffered. Even the illustration below gives some hints that the potential transition between two ADCs happens at typical operation levels and bad transition algorithms can induce additional artifacts, more bits, float or not, won't help.
zoom.png
 
Top Bottom