AUDIO DSP HUB

CH-02 · Restoration

Float PCM architecture

The number format behind a session decides how much level can be pushed through it and what happens at the edge. This article compares fixed-point integer storage with 32-bit floating point, and explains why one of them reshapes the meaning of a level meter.

Fixed-point integers

A fixed-point sample is a whole number with an agreed full-scale limit. In 16-bit storage the range runs from a most-negative value to a most-positive value, with every step the same size. Sixteen bits give roughly 96 dB between the smallest representable step and full scale, while 24 bits stretch that to about 144 dB. The steps are uniform, which is a virtue: quantisation error stays constant in size no matter how quiet the passage becomes.

The limit is hard. A sample that would exceed full scale cannot be stored, so it is bent to the nearest representable value and the shape of the wave is lost. That flattening is clipping, and it is not reversible from the stored file alone. A few clipped peaks may pass unnoticed on quiet material, but a run of them adds harmonics that no later stage can separate from the recording. Working in integers therefore means leaving headroom as insurance, and watching every stage of the chain for overs.

Floating point

A floating-point sample stores a fraction and an exponent, so its precision scales with its size. Values far above full scale are representable, and values far below it keep their relative shape. That is why a mixing stage is almost always kept in 32-bit float: a chain of effects can raise and lower level without the rounding that integer steps would impose, and intermediate results can pass briefly above full scale without permanent damage as long as the level is brought back before the final conversion.

Two cautions follow. First, a float value above full scale is invisible on a converter but very real in a chain: it will clip the moment it reaches a fixed-point output. Second, and more subtly, float precision near zero is excellent, so a very quiet track can be raised by a large amount with little added hiss — but it carries no extra information that was not captured at the input. Floating point preserves what is there; it does not invent what is missing.

What each format does at the edge

The table below sums up the practical difference. Read the third column as the answer to a single question: if a sample exceeds full scale, is the damage permanent or is it only a warning?

Storage formats and their edge behaviour
FormatNominal rangeBehaviour above full scale
16-bit integerabout 96 dBhard clip, irreversible
24-bit integerabout 144 dBhard clip, irreversible
32-bit floatwide, exponent-scaledpreserved until output
Oscilloscope screen showing a waveform trace and graticule
An oscilloscope trace of a signal near the rail: once a fixed-point stage clips, the flattened crest cannot be recovered.

Inside a float chain the +3 and +6 rows are warnings, not failures. The signal is intact and can be brought down before the converter. At the moment of conversion to a fixed-point delivery format those same rows become permanent clipping, which is why the final gain step is a measurement rather than a guess.

Keep the working chain in 32-bit float, watch a true-peak meter rather than a sample meter, and place the single conversion to the delivery format at the very end of the graph.