[linux-audio-dev] Fixed vs. floating point

cpolymeris at gmx.net cpolymeris at gmx.net
Fri Oct 14 05:44:16 UTC 2005


I am in the early planning stage of an audio processing application and I
have come to the point of making the choice between floating point or fixed
point (signed 2's complement) processing.
What do you think is better, and why? Why does jack use floating point? Why
does AES use fixed point in most of their standards?

I understand the technical difference between the formats, but...
I can't come to a conclussion.
The adavantages of floating point I see are:
- easier processing, specially amplification and mixing (multiplying by
fractions)
- more sse support, more packed array arithmetics
- relationship to voltage and SPL easier to understand. (1.0f vs. 2^31-1
max. values)

And its diadvantages compared to fixed point would be:
- generally slower, specially things like addition
- 30 bits of resolution for 32 bits of data in IEEE single-precision
(exponents larger than 0 not used for audio, neither are denormalized
numbers and redundant zeroes, infinities, etc), compared to the full 32 bits
of resolution of fixed point.
- non-linear saw-tooth-like precission (precission gets higher as mantissa
gets larger and then falls abruptly at the point the exponent is increased)

I am sure I fail to see the more important points and would be thankful for
any comments.

If it has been discussed on the list earlier, i am sorry to post it again. I
couldn't find it.

Greetigs, Dimitri

-- 
NEU: Telefon-Flatrate fürs dt. Festnetz! GMX Phone_Flat: 9,99 Euro/Mon.*
Für DSL-Nutzer. Ohne Providerwechsel! http://www.gmx.net/de/go/telefonie



More information about the Linux-audio-dev mailing list