View Single Post
  #21   Report Post  
Harry Houdini
 
Posts: n/a
Default

Logan,

Really appreciate your input here. Thanks.

Is there any truth to the claim that the floating rounding operations
or requantization - as Randy put it earlier in the thread - adversely
affect the lower frequencies? (See the sources I mention)

Harry


On Mon, 21 Mar 2005 20:20:11 GMT, Logan Shaw
wrote:

Harry Houdini wrote:
From what I've been reading, (The Art of Digital Audio, Mastering
Audio, and Greg Duckett's "Superior Audio Requires Fixed-Point DSPs"
on Rane's website), there appears to be little doubt that as far as
audio is concerned, fixed point calculations are superior to floating
point calculations. 32-bit floating point predominates in our industry
(Protools, Nuendo, DP, etc) because the calculations are cheaper to
achieve from ready-made chips. Fixed point calculations are superior
(i.e., more accurate), leave nothing for the chip to assume, but have
*a lot* more work involved from the developer's point of view.


Not necessarily.

A few months ago, I ported a bitmap image resizing program from one
platform to another, and the platform I ported it to does not really
have floating point available. So, I used fixed point instead. I
wrote a little tiny library to do fixed point calculations (addition,
multiplication, etc., etc.), and it all worked out fine. In fact,
writing the library to do 32-bit fixed point (24-bit integer and
8-bit fraction) was really easy, and it only took me 2 or 3 hours.

It is more difficult to work with fixed point for one reason, though:
you have to be very careful to avoid overflow and underflow. With
floating point, this is taken care of for you automatically, and
unless you go to astronomically large or small values, you don't lose
precision unless it's really necessary. So, in that sense, floating
point is easier. However, with audio, it seems like it shouldn't
be all that hard to keep things in the right ranges, because the
values are always in generall the same range.

However, if there's any validity to the idea that 32-bit floating
point isn't accurate enough, then with today's hardware there is
an obvious solution that will take care of that problem quite
handily. Virtually all processors these days support IEEE double
precision floating point, which gives 11 bits for the exponent
and 52 bits for the mantissa plus one bit for the sign. Since
the sign can be counted as part of the signal if you want,
that means 53 bits of precision. 53 bits ought to be enough
for audio.

- Logan