View Single Post
  #10 (permalink)  
Old 05-12-2006, 03:34 PM
Ray Andraka
Guest
 
Posts: n/a
Default Re: 64-point complex FFT with 32 bit floating-point representation

Franco Tiratore wrote:
> Hi, Ray.
> Thanks for your suggestions.
> What do you mean with the following two phrases?
>
>
>
>>Floating point trades accuracy for dynamic range.

>
>
>
> and
>
>
>
>>In the case
>>of OFDM, you have 64 point FFT, so at most you'll have a growth of 6
>>bits in your data.

>
>
>
> Ciao,
> Franco
>


Floating point is a numeric representation to fit a larger dynamic range
into a fixed number of bits. 32 bits can represent 2^32 unique values
regardless of the format. For fixed point representation, those 2^32
values are equally spaced between 0 and 2^32-1 for unsigned. Floating
point reserves some of the bits to indicate a scale factor to extend the
range of values that can be represented, but that comes at the price of
minimum resolution that varies depending on the scale. IEEE single
precision floating point gives you 24 bits of accuracy (instead of 32),
but that is scaled so that the msb of the 24 bit field is always
significant.

The FFT conserves energy, it can be looked at as redistributing the
input signal in time. If you have a full scale input that is at a
single frequency that has a period that is an integer sub-multiple of
the FFT size, all the energy from that signal will fall into a single
FFT bin. For an N point FFT, the output at that bin will be N times the
input signal amplitude. Since the input is at full scale already, there
is nothing you can do to the signal to increase the output at that bin
more than N* the full scale input. Adding any other frequency content
will move some of that energy to another FFT bin, diminishing the
spectral content in that bin. What I am saying, is the maximum output
value from an N point FFT is N times the maximum input value. For a 64
point FFT, the maximum output is no more than 64 times the maximum
input. For a fixed point representation, that would require the output
to have at most six more bits than the input to represent all possible
outputs without either overflowing or truncating the lsbs.
Reply With Quote