How can float numbers of same bit depth as fixed ones give better resolution (SNR in audio) while both can represent same number of unique values?

234 views

How can float numbers of same bit depth as fixed ones give better resolution (SNR in audio) while both can represent same number of unique values?

In: 0

9 Answers

Anonymous 0 Comments

Part of the bits in the number select a floating window that the remaining bits can vary within at the given instant. With an integer format you have only one window that spans the entire range.

Suppose your signal is gradually decreasing in loudness like at the end of a programme. In this example it can be in range from 0 to 15 (4 bits). At the beginning you use the whole range using sixteen coarse steps. It is ok because any tiny variations are masked by loud sound.

In the mid point of our interval the signal is between 0 and 7. With an integer format you can use only eight steps. The ear has adapted to quieter level and could start to discern more detail. Towards the end, the level is between 0 and 1, and the integer format has only 2 steps to work with. This is really bad. Our ear is now the most sensitive. And there are 14 steps on our scale that will never be used.

With floating point you can use additional bits to make a note about the range that current value is within. Let there be 4 ranges. In the beginning the range is 3 and nothing changes, but you have spent 2 extra bits for no gain. But in the mid point the selected range is 2. You still have the same sixteen steps. Near the end, the range is 0, but on our scale between 0..1 there are still sixteen steps. So now we can record 0,0.125,0.25,0.375…

Think about where you can hear noise in a practical example. It will be during quiet sections.

There are digital compression and analogue companding systems that work on a similar principle of adapting to the current level for improving the dynamic range.

Note that floating-point doesn’t permit both quiet and loud sounds to exist at the same time. When we are in range of 0..16, we can only work with whole steps and can’t add 0.25. Signal processing that involves addition of many quiet signals such as reverb still needs a generous number of bits for the intermediate results, but the final output can be more compact.

You are viewing 1 out of 9 answers, click here to view all answers.