• 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

DonH56

Master Contributor
Technical Expert
Forum Donor
Joined
Mar 15, 2016
Messages
7,915
Likes
16,748
Location
Monument, CO
Thanks for leaving the conversation with that. If it's so fundamental, I don't know why you or others can't explain it to me. Instead, all I get is DSP this or DSP that. DSPs have nothing to do with quantizing a voltage. "I'm not part of the gang but I'll kick you on the way out."
It is not easy to explain in a few words. I spent many years in class and have decades of experience in the field and do not claim to know it all. There are many references on sampling theory, quantization and data converters, and signal processing available online (Wikipedia is a start), in texts, and virtual and physical courses you can take. I did say you could look through some of the ASR articles linked in my signature; that might help provide a foundation for further questions.

One of my comments was deleted for "political content". Not sure which one. Anyway, thanks for all the comments. I explained why 32-bit float cannot mathematically be used to add precision to ADCs (over 24-bit fixed) in digitizing a current. I explain why a current cannot be measured directly as a mantissa/exponent pair. Sure, you could split the current into a bunch of exponential measurement and then split those buckets into mantissas, but I don't see how that would work better than 24-bit output. There are links here to my videos and explanations of 32-bit float. If one is interested, one can peruse them at their leisure.

Goodbye.
FP does not necessarily add (or reduce) precision; it adds range as you said earlier, unless the mantissa is larger (smaller) as in my example. There is no reason I can think of that current, or anything else, cannot be measured using floating-point converters; I have designed and tested such converters (albeit to measure voltage, not current, but the principles are the same).
 

maxotics

Member
Joined
Aug 8, 2023
Messages
52
Likes
4
cannot be measured using floating-point converters
Don, I understand full-well that you know more about this stuff than I do in the fingernail on my pinky. You understand 32-bit float (something few here seem to understand). If I can give you the short version. I know your time is limited.

Rode has been marketing their "Wireless Pro" device as eliminating the need of an analog gain setting to reduce clipping. They want to sell stuff. I get it. But I feel that crosses the line in making a scientific claim that the use of 32-bit float memory allows one to get an unclipped digitization of microphone data. Zoom, SoundDevices and TASCAM are all making that claim, to greater or lesser extents. Most likely, the manufactures of these ADC/DSP chips have integrated a digital signal processing function to clean up the digitized audio in a way that reduces the perceived sound of clipping. I don't dispute any of that. I would be fine as marketing those new chips as having a "Proprietary Anti-Clipping Technology" Those manufacturers can make up any words they want. I wasn't born yesterday ;) But no, you can't take a word I (we?) use, "32 bit float" and say it can do something it cannot (at the core ADC conversion point).

What responsibility do you or I have in protecting the technical meaning of "32-bit float"? The reason I make slip ups (and you made one, sorry, with 32-bit float) is that all this (I want to curse) marketing BS is distorting our ability to communicate in a precise way. Sorry I'm angry about it. It may look like I'm trying to prove some arcane technical point but my interest in much deeper and broader. Sadly, few seem to get it. If I can't come on an audio forum and say, "Rode says they prevent ADC clipping by using 32-bit float) and get a, "yeah, what can you do? The world is seriously falling apart" ;) reply, what does that suggest about other technical areas of society? Vaccines? Global warming?

Let's say I knew for certain that the mRNA vaccines gave 6-year-olds chronic life-long heart disease with no difference in a death outcome, how easy would that be to prove to others? If I can't educate people about the misuse of "32-bit float", something trivial as can be, because people are EMOTIONALLY afraid to recognize an error in their communication, what hope something as frightening as heart disease in children?

Words matter to me. Truth matters. At the age of 62 I feel stupid saying that. But I have nothing else better to do haha ;)

Thanks for your time.
 

antcollinet

Master Contributor
Forum Donor
Joined
Sep 4, 2021
Messages
7,766
Likes
13,129
Location
UK/Cheshire
So you're all ganging up on me? Let's say I don't have a "basic understanding" of DACs or ADCs work. Does that mean you do?

@antcollinet wrote "Then the digital sampling of that waveform (one individual sample is meaningless and useless - I have no idea why you are decrying thinking of waves and frequencies - without them we have no music) is just another analogue (in the meaning of representation) of the electrical signal."

He's complicating the question. When did I ever say we shouldn't talk about waves of frequencies? I simply said they have nothing to do with the simple counting of electrons in a current (and digitizing them.)

There is no "digital sampling of a waveform". He'd have to explain it here, slowly , explicitly, because as you said, I know nothing. How would one digitally sample a wave at the beach?

What he said is like someone with their house burning saying to go to the seashore and get water and when the person asks how much. He answers "3 waves".

A "sample" is a sample of something. Sure, it can be a sample of digital data, but in quantizing electrons to numbers it is a sample of current. Many here keep confusing the two. When I point it out, more jargon spills out.
And where do you get the idea we are sampling electrons. We are not. We‘re not sampling current either (normally). We are sampling voltage.
 

maxotics

Member
Joined
Aug 8, 2023
Messages
52
Likes
4
And where do you get the idea we are sampling electrons. We are not. We‘re not sampling current either (normally). We are sampling voltage.
EXACTLY! But read what you wrote as someone who is taking what you write at face value. The problem you and I are having in communicating is that we're using short-hand that has been corrupted by marketing speak, IMO. I understand that you're like, "yeah, yeah, lots of bs out there, but so what". The so what is I'm calling BS on some of them. Since it is practically impossible to output analog-to-digital data as mantissas and exponents you don't think about it. You read what I write and you're like "this guy is a dummy to talk about it in the first place." I'm not the one who says 32-bit float reduces clipping during the ADC process. Rode is! Thanks for not giving up on this conversation.
 

KMO

Addicted to Fun and Learning
Joined
Aug 9, 2021
Messages
629
Likes
903
I'm not the one who says 32-bit float reduces clipping during the ADC process. Rode is! Thanks for not giving up on this conversation.
It's a numeric representation, not an ADC process. If you have any sort of ADC process with higher range, using whatever tricks have has been previously discussed, then it gives you a way of transferring the output.

The point is that 32-bit float is a far more useful format than 32-bit integer for a whole range of audio applications. More range is more useful than more precision in more circumstances.

"HDR" type approaches to ADC may or may not work well, but that's a separate debate. Float transfer merely permits them, without mandating them, or any particular technique. I do at least agree that any marketing of such techniques getting hung up on the daft potential range of float is silly. Float is just a rather boring representation tool overcoming a technical limitation. There's no downside at all versus 24-bit fixed point, as float losslessly stores 24-bit data. (I know you witter on about imprecision, but as a mathematician, and someone who's implemented IEEE float arithmetic from scratch, I fail to understand your point. There is no imprecision, compared with 24-bit integer/fixed).

And just because someone markets something sensible badly, or using something sensible to market something bad, doesn't mean the sensible thing is bad. Don't go off on a weird "anti-float" crusade based on an ADC design you don't like. Bad ADCs don't make float representation bad.

It should be noted that non-linear representations of audio are far from new. They've been used for decades. Linear transmission and storage actually only became the norm relatively recently. Before we had oodles of space in CDs and the like, we used things like u-Law or A-law to get better quality out of 8-bit, or NICAM to get better quality out of 10-bit.

Float is effectively a reversion back to the more-sensible-for-audio logarithmic use of bits. You can only really bemoan it if you think we should have used the extra 8 bits for more linear precision. We were always going to round up to 32 bits at some point, because 24 bits is a dumb odd number, and 8 bits of exponent is far more sensible than 8 more mantissa bits. (Okay, maybe we could have split it and had only 4 exponent bits and 4 more mantissa, and that might be even more audio-suitable, but this existing standard is fine).
 

maxotics

Member
Joined
Aug 8, 2023
Messages
52
Likes
4
I fail to understand your point. There is no imprecision, compared with 24-bit integer/fixed
Put yourself in my shoes. I've made this point over and over and over again. 32-bit float is the same as 24-bit fixed once you remove the imprecisions. I've said, countless times it's useful for computer modeling. So why are you criticizing me on this? I respect that you don't think this an issue to care about. Still, you're accusing me of some "weird 'anti-float' crusade based on an ADC design you don't like." Where does that comes from???? Shesh ;) The last two paragraphs from my Medium story:

Because microphones output a limited number of usable milli-volt values for amplitude, well under 65,536, if not 4,096, (or 12-bit), we don’t need to widen our scale to record them — it’s just wasted memory. Even 24-bits is more than we need! Unused memory aside, it’s no harm to place our analog values in 32-bit float.

As long as we don’t believe its providing more discrete values for our microphone output than 24-bit. As long as we understand that, from a fidelity point of view, 24-bit EQUALS 32-bit float.
 

DonH56

Master Contributor
Technical Expert
Forum Donor
Joined
Mar 15, 2016
Messages
7,915
Likes
16,748
Location
Monument, CO
Don, I understand full-well that you know more about this stuff than I do in the fingernail on my pinky. You understand 32-bit float (something few here seem to understand). If I can give you the short version. I know your time is limited.
I know what I know, mostly, and sometimes realize what I don't know. I have no idea your knowledge level; the post I first saw was the one where you said quantization did not relate to an SNR number, and that is incorrect. Quantization noise sets a lower bound on noise and thus an upper bound on SNR. I may have misunderstood your context since I did not read all the preceding posts. You may have really big pinkies... :)

My background is primarily in transistor-level (IC) high-speed data converter design for radar, communication, digital imaging, electronic warfare, and so forth with a recent diversion into serial signal testing (the analog portion of SerDes embedding in large SOC's). I thought you were questioning my credentials and responded accordingly, should not have done that, sorry. I rarely bother as it tends to lead to a credential-pissing contest, a dismissal ("oh, you're an engineer, no wonder you don't understand what it sounds like"), or just glossed over as irrelevant.

The following comments are more general and not necessarily audio-related (as you will see).

Rode has been marketing their "Wireless Pro" device as eliminating the need of an analog gain setting to reduce clipping. They want to sell stuff. I get it. But I feel that crosses the line in making a scientific claim that the use of 32-bit float memory allows one to get an unclipped digitization of microphone data. Zoom, SoundDevices and TASCAM are all making that claim, to greater or lesser extents. Most likely, the manufactures of these ADC/DSP chips have integrated a digital signal processing function to clean up the digitized audio in a way that reduces the perceived sound of clipping. I don't dispute any of that. I would be fine as marketing those new chips as having a "Proprietary Anti-Clipping Technology" Those manufacturers can make up any words they want. I wasn't born yesterday ;) But no, you can't take a word I (we?) use, "32 bit float" and say it can do something it cannot (at the core ADC conversion point).
I did not read the Rode article and have no real desire -- the gulf between engineering and marketing is one we have dealt with "forever" and are unlikely to resolve here. Does not mean we should give up the good fight.

I skimmed but did not read in detail all the posts to this point (been busy with things more important to me than ASR, so that's on me). FP alone does not absolve or eliminate clipping, nor will any real-world system completely eliminate it, but it does allow (with appropriate ADC and system architecture) much greater dynamic range than a single ADC can provide. FP can reduce memory requirements but does not itself relate to clipping (or not) of the data conversion process. Using gain ranging before the ADC (or after a DAC) with FP words can provide higher dynamic range, but is a bear to implement IME.

Given a 32-bit ADC with XX Hz bandwidth is impractical, and a desire to capture a wide dynamic range, then using a multiplying ADC, floating-point ADC, or several ADCs with gain-ranged (or ranging) front ends to achieve the same dynamic range is one solution to the problem. For gain ranging, there are several choices, including multiple ADCs with fixed gains (choose the one for the signal level of interest), dynamically-switched amplifiers (gain stages) before the ADC, amplifiers with dynamically varying gain, and so forth. Any of those can yield much greater dynamic range than a stand-alone ADC, though achieving the 194 dB range (based upon SNR) of an ideal 32-bit ADC seems a very challenging goal. I have read about a few systems approaching that, but bandwidths were very low. But for context, I did help design a radar system with 160+ dB dynamic range, that used multiple gain stages, filters, and ADCs along the way. Resolution (again, not the same as precision) ranged from 6 to 11 bits over about 100 MHz to >1 GHz bandwidth. Processing improved the SNR (digital signal processing is relevant to me because the ADC's bits go somewhere, ultimately into a computer system, to be useful). Fixed and floating-point was used at various points for memory efficiency, which related to power, important in flight hardware (air and space).

The biggest objection to gain ranging was the "small signal and large signal in the same capture bandwidth" when you really do need all the resolution. There are myriads of examples of that, like nearby transmitters in the same band you are trying to detect far-away transmitters (finding a signal a channel away from the local radio station), pulling small objects from a high-intensity and/or reflective background ("dingy on the ocean"), etc.

What responsibility do you or I have in protecting the technical meaning of "32-bit float"? The reason I make slip ups (and you made one, sorry, with 32-bit float) is that all this (I want to curse) marketing BS is distorting our ability to communicate in a precise way. Sorry I'm angry about it. It may look like I'm trying to prove some arcane technical point but my interest in much deeper and broader. Sadly, few seem to get it. If I can't come on an audio forum and say, "Rode says they prevent ADC clipping by using 32-bit float) and get a, "yeah, what can you do? The world is seriously falling apart" ;) reply, what does that suggest about other technical areas of society? Vaccines? Global warming?
I'm recently retired, so none? :) I am not sure what slip-up I made with 32-bit float, but that is not and never was my day job; I am (was) an analog engineer playing in a mixed-signal world.

As for Rode, given the amount of marketing fluff I have read over the years, I would post a comment to them and perhaps various other places so people interested in understanding the issue would have someplace to go. I have no interest in making a legal challenge, just not worth the effort, and of course they count on that, but I also know many engineers who cringe at how marketing brochures counter real engineering and physics. Some of us have been able to get things changed, but it generally happens when either internal engineering makes enough of stink and presents a coherent case to upper management, or the marketing is enough that a major customer pushes back.

This is not the place to discuss vaccines, global warming, and such. Even if we could without it devolving into politics.

Let's say I knew for certain that the mRNA vaccines gave 6-year-olds chronic life-long heart disease with no difference in a death outcome, how easy would that be to prove to others? If I can't educate people about the misuse of "32-bit float", something trivial as can be, because people are EMOTIONALLY afraid to recognize an error in their communication, what hope something as frightening as heart disease in children?
I can only speak to engineering. There are numerous ethics committees and such, and signing up to be a member of the IEEE (for example) you agree to abide by their ethical guidelines, but I have no control over what Rode's marketing team does, or much of anything else. I can state my experience and analyses on places like ASR for audio and related things.

Communication is hard, and if you are hit upon or hit back, emotions are generally at play as we are all human (unless you are a chatbot, blah). When belief is attacked my first response is to attack back, maybe you are different? The trick (for me, again not always successfully) is to count ten, move past that, and respond rationally, something I do not claim to always (if ever) do. Heinlein: "Man is not a rational animal, he is a rationalizing one."

Words matter to me. Truth matters. At the age of 62 I feel stupid saying that. But I have nothing else better to do haha ;)

Thanks for your time.
I am not sure where I lied in my responses; truthfulness has been beat into me from a young age and I try very hard to never lie, certainly not intentionally. I am roughly your age FWIW, but as grandmother said long ago, usually about grandfather, "Age does not necessarily bring wisdom; sometimes it just turns young fools into old fools." My saying for decades has been "Experience comes from making lots of mistakes, and wisdom is learning from them." So far, I've lots of experience...
 

maxotics

Member
Joined
Aug 8, 2023
Messages
52
Likes
4
I am not sure where I lied in my responses
I apologize if I implied you had lied. No lies whatsoever, just a slight slip up in semantics not worth rehashing.

I have done what you suggested. I've put up YouTube videos, I've asked for proof in the comments of any YouTuber who claimed 32-bit float fixed clipping. I wrote a Medium story. I contacted Sound Devices, TASCAM and Zoom for clarification of their documentation. My guess is I got the response you would expect. Like you, I'm not interested in fighting some legal war over it. I'm sure we see things the same.

I've always been a tinkerer. I program computers. I built some home robotics stuff. But I'm not a real world engineer like you, or many people on this forum. Because of that, I may not KNOW WHAT THE F I'm talking about! I'm amused when people accuse me of not understanding something because that's my default position!

If you can dumb down to my level for a moment. I'm always trying to get good audio from my microphones for my YouTube videos (or other stuff). For a long time I didn't know the difference between "gain" and "volume". I understood there is a sample rate, bit depth, etc., but that wasn't clear how they were connected. Anyway, no matter what I tried, I always got too much noise, or distortion. I couldn't figure out which knob to turn where. Did I want -20db on the mic and more volume and less gain. More gain and less volume. That was me less than a year ago!

So I start reading up on it more heavily. I start working with audio files using Python. I ALWAYS start with the most fundamental data and work my way up. I trust no software or opinion. (From what you've wrote, I get a feeling your approach is not so dissimilar) So, I'm trying to figure it all out and Rode says that 32-bit float means you don't need to set analog gain. Put yourself in my shoes. Everything I think I know must be WRONG! The stuff you mentioned probably deals with multiple currents, etc., but I'm only working with a single current from a microphone--and it ain't strong and easy to amplify accurately (unless I'm wrong about that too! ;))

So despite what many read into what I'm saying, I'm not going out and saying "you guys are dummies." I'm ASKING. How is that true, Rode, Sound Devices, TASCAM and Zoom? I come here, how is that true, you audio nuts on ASR? I can't tell if people don't understand my question, if they don't really understand 32-bit float in a computing context, if I'm SO WRONG they don't know where to begin. Right this second, I do NOT believe it impossible that there is some things I am missing that, once I knew it, would prove to me I just didn't get a FUNDAMENTAL truth of electrical engineering.

Why can't everyone say immediately, "of course the ADC in a USB audio interface doesn't write out 32-bit float through its output pins" or whatever. No ADC chip does that. Any conversion to 32-bit float would be done AFTER the analog to digital conversion. I'm sorry that sounds like a statement, but what else am I supposed to do? I can't proceed in my studies if that's false because I wouldn't feel I understood anything! It would be too large a gapping hole in my understanding.

Don't get me wrong, I don't believe anyone here is malicious. That's why I have to step back and look at it from a human behavior point of view. Also, the aspect of fraud (those manufacturers and all those who make money on YT shilling for them) isn't completely new to me since I've exposed it in the financial space (but that's a long old story).

All that said, I remain in limbo on this subject. Ready or not, I need to move on! Thanks again for your thoughtful replies.
 

MRC01

Major Contributor
Joined
Feb 5, 2019
Messages
3,493
Likes
4,127
Location
Pacific Northwest
I'll risk oversimplifying for clarity.

Capturing the analog signal from a microphone: 32-bit int (maybe even 24-bit) gives more than enough to capture every analog voltage the mic can produce, with digital sample precision below the theoretical analog noise.

So why even have a digital recording level? Just set digital full scale to the max voltage the mic can produce. You will clip if and only if you expose the mic to SPLs it can't handle, and in that case the clipping is both analog & digital. If you record too quiet and lose subtle detail, that detail won't be lost in the numeric domain, but it will be lost in the real world analog domain because the sounds were too quiet for the mic to capture - it was too far away, wrong kind of mic for the instrument, etc.

After recording, in DSP, you can shift the levels up/louder so the max actually captured is just below digital full scale. Still no need for float.

Any benefit from float is in post-processing, when you're mixing, etc. One simple example, in float you can mix 2 separately captured recordings by simply adding them. Even if each uses digital full scale, it won't overflow but instead just bump the exponent. Same with underflow: no loss of precision, just decrement the exponent. Use float for all the processing, then when you're done, do the same level shift back to integer at whatever bits you want for the final product: 32, 24 or 16.

What is incorrect about this?
 

maxotics

Member
Joined
Aug 8, 2023
Messages
52
Likes
4
Just set digital full scale to the max voltage the mic can produce.
That is exactly what Zoom does with their "wedding" recorder. Not sure what to call it. They set the gain to optimize to the microphone. You can't change it. I read that exactly the way you see it. Makes the most sense. I'd rather use the mic to get the signal its best able to deliver, than delude myself into believing I can get good quality from another mic where I've over-pre-amped the current. Like in photography, I never pay attention to the ISO. I set my shutter and aperture to what I want and the noise is what the noise will be! However, it seems Zoom sort of suggests they do that because they're using 32-bit float. I've beat that horse to death ;)
 

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,724
Likes
10,418
Location
North-East
So despite what many read into what I'm saying, I'm not going out and saying "you guys are dummies." I'm ASKING. How is that true, Rode, Sound Devices, TASCAM and Zoom?
These devices prevent clipping not by outputting float samples, but by having multiple ADCs that convert different signal ranges and then combine them into a new sample value that, for a single ADC, would exceed 0dBFS. No magic, just some arithmetic (yes, DSP). Floating point samples are convenient for representing values that exceed 0dBFS, but not required.
 

MRC01

Major Contributor
Joined
Feb 5, 2019
Messages
3,493
Likes
4,127
Location
Pacific Northwest
These devices prevent clipping not by outputting float samples, but by having multiple ADCs that convert different signal ranges and then combine them into a new sample value that, for a single ADC, would exceed 0dBFS. No magic, just some arithmetic (yes, DSP). Floating point samples are convenient for representing values that exceed 0dBFS, but not required.
Why not simply set digital full scale to the max voltage the mic can produce?
It sounds like the answer is that while the numeric resolution is sufficient, the ADC precision or sensitivity is not, so the ADC is the limiting factor?
 

pkane

Master Contributor
Forum Donor
Joined
Aug 18, 2017
Messages
5,724
Likes
10,418
Location
North-East
Why not simply set digital full scale to the max voltage the mic can produce?
It sounds like the answer is that while the numeric resolution is sufficient, the ADC precision or sensitivity is not, so the ADC is the limiting factor?
Yes, this is an attempt to overcome ADC dynamic range limitation. You can get full ADC resolution for low-level signals but can still represent very loud signals that would exceed 0dBFS, albeit with fewer bits of resolution. This is probably not all that important for very loud signals anyway.
 

antcollinet

Master Contributor
Forum Donor
Joined
Sep 4, 2021
Messages
7,766
Likes
13,129
Location
UK/Cheshire
Why not simply set digital full scale to the max voltage the mic can produce?
It sounds like the answer is that while the numeric resolution is sufficient, the ADC precision or sensitivity is not, so the ADC is the limiting factor?
The whole point of the device is that it can accept "any" signal from "any" source (obviously with limits.

So you might have a mv signal from a mic.

Or a line level signal** of a few volts - the device can operate with both and anything between without the user having to set the gain from the different input levels, or worry if they've set it right and when thy get back they've clipped a load of important recordings.

**Actually I don't know what the minimum and maximum input ranges are. I've not been interested enough to read up on the details. But that is the principle.
 

MRC01

Major Contributor
Joined
Feb 5, 2019
Messages
3,493
Likes
4,127
Location
Pacific Northwest
The whole point of the device is that it can accept "any" signal from "any" source (obviously with limits.

So you might have a mv signal from a mic.

Or a line level signal** of a few volts - the device can operate with both and anything between without the user having to set the gain from the different input levels, or worry if they've set it right and when thy get back they've clipped a load of important recordings.

**Actually I don't know what the minimum and maximum input ranges are. I've not been interested enough to read up on the details. But that is the principle.
If we define the peak voltage level as 10 Volts, 32-bit integer precision takes us down to around 2.5e-9 or 2.5 nano volts. Check my calculation: 32 bits * 6 dB = 192 dB; 10^(192/20) = 3.98e9; 10 / 3.98e9 = 2.5e-9.

How small is that? By comparison, theoretical Johnson/Nyquist noise of a 1 ohm resistor at room temperature over 20 kHz bandwidth is about 18 nano volts. The noise of most high quality opamps is also higher than this. So it appears 32-bit int has enough numeric precision, in absolute terms, no need for scaling or exponents. The limitation must be somewhere else, and apparently it is the dynamic range of ADCs.

PS: alternate computation: 32 bits give 4.29e9 values, 10 volts divided into 4.29e9 equal parts is 2.3e-9 or 2.3 nano volts each.
 
Last edited:

maxotics

Member
Joined
Aug 8, 2023
Messages
52
Likes
4
Yes, this is an attempt to overcome ADC dynamic range limitation. You can get full ADC resolution for low-level signals but can still represent very loud signals that would exceed 0dBFS, albeit with fewer bits of resolution. This is probably not all that important for very loud signals anyway.
I don't understand this. Isn't 0dbFS arbitrary? This is, you can set 0dbFS (the scale in 'F') wherever you want with the data. If so, I don't get how there would be "very loud signals" above the reference voltage of the ADC. So if you set that at 10dbFS that's fine if you want it there, but isn't it a perversion when we talk about 0db in an ADC, with 0 out at the reference/maximum voltage. What am I missing? thanks!
 

MRC01

Major Contributor
Joined
Feb 5, 2019
Messages
3,493
Likes
4,127
Location
Pacific Northwest
So, suppose we need to chain multiple ADCs and combine them to get the wide dynamic range we want... 32-bit int is more than enough for each individual ADC but since they are at different scales, if each sets digital full scale to its max level, once we combine them it might overflow. One way around this is for each ADC to use 32-bit float. But as @pkane says above, that (using 32-bit float) is just one way, not the only way, to do it.

Put differently, once you chain multiple ADCs together, it's like being in the post-processing realm where you've got to combine multiple signals, each at N-bit resolution. Combining them may take more than N bits, even if the end result, after being normalized or scaled, fits into N bits.
 
Last edited:

DonH56

Master Contributor
Technical Expert
Forum Donor
Joined
Mar 15, 2016
Messages
7,915
Likes
16,748
Location
Monument, CO
I apologize if I implied you had lied. No lies whatsoever, just a slight slip up in semantics not worth rehashing.
OK.
I have done what you suggested. I've put up YouTube videos, I've asked for proof in the comments of any YouTuber who claimed 32-bit float fixed clipping. I wrote a Medium story. I contacted Sound Devices, TASCAM and Zoom for clarification of their documentation. My guess is I got the response you would expect. Like you, I'm not interested in fighting some legal war over it. I'm sure we see things the same.
Yup, that's life.

32-bit FP itself does nothing to prevent clipping; gain-ranging one or more ADCs in floating-point fashion can prevent ADC clipping in a practical sense, and then you'll clip the mic itself or hit the overall noise floor. No free lunch.

I've always been a tinkerer. I program computers. I built some home robotics stuff. But I'm not a real world engineer like you, or many people on this forum. Because of that, I may not KNOW WHAT THE F I'm talking about! I'm amused when people accuse me of not understanding something because that's my default position!
Well, again from a very brief peek at the last few posts, you seemed to be saying you understand what many do not about FP operation. It seems like we're all on the same track but using different words.

If you can dumb down to my level for a moment. I'm always trying to get good audio from my microphones for my YouTube videos (or other stuff). For a long time I didn't know the difference between "gain" and "volume". I understood there is a sample rate, bit depth, etc., but that wasn't clear how they were connected. Anyway, no matter what I tried, I always got too much noise, or distortion. I couldn't figure out which knob to turn where. Did I want -20db on the mic and more volume and less gain. More gain and less volume. That was me less than a year ago!
Setting gains in a cascaded system is a huge topic. You will always be fighting to find the optimum for your particular signals between the noise floor and distortion limit. Again, I have a number of articles on ASR that walk through various aspects. It's complicated.

Volume is fundamentally a unit of loudness, more or less, whilst gain refers to the factor by which a component (from a simple resistor up to a complete audio system) amplifies (or attenuates) the signal. Everything is related to everything else in a signal chain. I have an article about that (https://www.audiosciencereview.com/...opagate-through-my-system.33358/#post-1165118) but it all leads to "it depends upon your components".

Sample rate determines how wide in bandwidth you can capture (ADC) or reproduce (DAC) a signal. Higher sampling rate means greater bandwidth.
Bit depth is a measure of resolution, how many discrete levels an ADC or DAC can ideally produce.

Generally you adjust the mic so it is not overloaded by the loudest signal then adjust the rest of the chain to provide maximum signal at the ADC without clipping anywhere in the chain, which means leaving some amount for headroom because, well, Life.

So I start reading up on it more heavily. I start working with audio files using Python. I ALWAYS start with the most fundamental data and work my way up. I trust no software or opinion. (From what you've wrote, I get a feeling your approach is not so dissimilar) So, I'm trying to figure it all out and Rode says that 32-bit float means you don't need to set analog gain. Put yourself in my shoes. Everything I think I know must be WRONG! The stuff you mentioned probably deals with multiple currents, etc., but I'm only working with a single current from a microphone--and it ain't strong and easy to amplify accurately (unless I'm wrong about that too! ;))
My article on cascaded noise and distortion uses a Python program. It is based on earlier work dating back to my FORTRAN days, all of which has been used for real-world design and testing, so I am pretty confident it is accurate.

So despite what many read into what I'm saying, I'm not going out and saying "you guys are dummies." I'm ASKING. How is that true, Rode, Sound Devices, TASCAM and Zoom? I come here, how is that true, you audio nuts on ASR? I can't tell if people don't understand my question, if they don't really understand 32-bit float in a computing context, if I'm SO WRONG they don't know where to begin. Right this second, I do NOT believe it impossible that there is some things I am missing that, once I knew it, would prove to me I just didn't get a FUNDAMENTAL truth of electrical engineering.
I do have a series of articles covering the basics of signal conversion and processing, link in my sig nature or https://www.audiosciencereview.com/...and-inquisitive-minds.8121/page-3#post-808622

My guess is that marketing chose to present the concept as "floating point", obfuscating the actual process and engineering behind it, because they felt that would be easier for their customers to understand. And/or the marketeers themselves, who may well have "dumbed down" the explanation engineering provided, and that's what got into print.

Long ago I built a fan with no moving parts based upon electrostatic principles. Part of it was a transformer, but I needed 7 kV and had a 14 kV transformer, so I used a Variac to reduce the line voltage to the transformer. What ended up in the local paper (and parroted across the state) after winning the Science Fair was "a transformer steps down the wall voltage to 7 kV" or something like that. I should have known then what the rest of my life would be like...

Why can't everyone say immediately, "of course the ADC in a USB audio interface doesn't write out 32-bit float through its output pins" or whatever. No ADC chip does that. Any conversion to 32-bit float would be done AFTER the analog to digital conversion. I'm sorry that sounds like a statement, but what else am I supposed to do? I can't proceed in my studies if that's false because I wouldn't feel I understood anything! It would be too large a gapping hole in my understanding.
I do not know about all audio ADCs, but a number of them include processing on-chip, and I am aware (because I built them) of some ADC chips (ICs) that included gain-ranging on-chip and output a floating-point word (though it was 16 bits and not 32 way back then). Part of the problem may be that many ADC chips these days have far more than the just the actual ADC on-chip, particularly with the switch to delta-sigma converters built with large digital engines around them on the same chip. Long way of saying some ADC chips may actually put out 32 bits but the ADCs embedded inside are not fundamentally 32-bit ADCs.

I have that problem when audiophiles discuss DACs, which to me are a specific data-conversion device, but to them is a box including DAC, interface, filters, processing, volume control, perhaps switching, etc.

Don't get me wrong, I don't believe anyone here is malicious. That's why I have to step back and look at it from a human behavior point of view. Also, the aspect of fraud (those manufacturers and all those who make money on YT shilling for them) isn't completely new to me since I've exposed it in the financial space (but that's a long old story).

All that said, I remain in limbo on this subject. Ready or not, I need to move on! Thanks again for your thoughtful replies.
I am honestly not sure the subject at this point. A single 32-bit ADC covering the audio band is an unlikely beast at this time and IMO, but a box comprising one or more ADCs and some gain circuitry that produces a 32-bit floating-point output is easy enough, and that box would be called an ADC by marketing. To the end user it is a 32-bit ADC even though it would not behave the same as a single 32-bit ADC. For example, the dynamic range could exceed 24 bits, but the noise floor would be set to 24 bits by the internal precision (and likely higher due to other real-world errors). Even so I would be very surprised if it actually covered a full 32-bit (194 dB) dynamic range. As for resolution, using IEEE definitions, it would have at most a 24-bit mantissa and thus 24-bit ADCs inside (plus sign).

Perhaps that is the heart of the matter: is an 8-bit ADC that spans 160 dB dynamic range due to gain ranging and filters (a system I helped design), and outputs a 32-bit floating-point result, really an 8-bit ADC, a 32-bit ADC, or a 26-bit (160 dB SNR) ADC? The answer probably depends upon the application. The system guys are going to use 32 bits and complain I am not providing "true" 32-bit resolution for them to chew on. :)
 
Last edited:

NTK

Major Contributor
Forum Donor
Joined
Aug 11, 2019
Messages
2,720
Likes
6,015
Location
US East
I don't understand this. Isn't 0dbFS arbitrary? This is, you can set 0dbFS (the scale in 'F') wherever you want with the data. If so, I don't get how there would be "very loud signals" above the reference voltage of the ADC. So if you set that at 10dbFS that's fine if you want it there, but isn't it a perversion when we talk about 0db in an ADC, with 0 out at the reference/maximum voltage. What am I missing? thanks!
A lot of time the accuracy we want is the "reading accuracy", not full scale. For example, if I have a voltmeter that is 1 V full scale and 0.001 V resolution, usually I don't need the 0.001 V resolution when the signal is near 1 V (i.e. resolution = 0.1 % of reading), but need it when the signal is 20 mV (resolution = 5 % of reading).

Below is from the product page of a vacuum pressure transducer (source)
reading accuracy.png
 

maxotics

Member
Joined
Aug 8, 2023
Messages
52
Likes
4
A lot of time the accuracy we want is the "reading accuracy", not full scale. For example, if I have a voltmeter that is 1 V full scale and 0.001 V resolution, usually I don't need the 0.001 V resolution when the signal is near 1 V (i.e. resolution = 0.1 % of reading), but need it when the signal is 20 mV (resolution = 5 % of reading).

Below is from the product page of a vacuum pressure transducer (source)
View attachment 312053
Thanks, obviously I have a lot to learn on this subject.
 
Top Bottom