Fc100 - floating point fast fourier transform, Functional description, Algorithm – Sundance FC100 v.2.3 User Manual

Page 2

Advertising
background image

FC100 - Floating Point Fast Fourier Transform

v2.3

Fast Fourier Transform product manual

October 2005

www.sundance.com

- 2 -



Functional description


The Discrete Fourier Transform (DFT), of length N (N=2

m

), calculates the sampled

Fourier transform of a discrete-time sequence with N points evenly distributed.

The forward DFT with N points of a sequence x(n) can be written as follows:

=

=

1

0

2

)

(

)

(

N

n

N

nk

j

e

n

x

k

X

π

with k = 0, 1, …, N-1

Equation 1: DFT


The inverse DFT is given by the following equation:

=

=

1

0

2

)

(

1

)

(

N

k

N

nk

j

e

k

X

N

n

x

π

with n = 0, 1, …, N-1

Equation 2 : Inverse DFT


Algorithm


The FFT core uses a decomposition of radix-2 butterflies for computing the DFT. With 5
different stages, the processing of the transform requires log32(N) stages. To maintain an
optimal signal-to-noise ratio throughout the transform calculation, the FFT core uses a
floating point architecture with 8-bit exponent for the real and imaginary part of each
complex sample. This FFT core employs the decimation in frequency (DIF) method.

This FFT core is designed for FFT computation larger or equal to 1k points and up to 1M
points. Since FPGAs memory resources are limited and relatively small, the memory
banks used for the processing of the transform are not integrated in the core. External
memory, such as QDR SRAM, ZBT RAM, DDR SDRAM or SDRAM is most suited for
transforms larger than 16384 points. For shorter transforms, memory banks can likely be
implemented inside the FPGA depending on which device is used.

Advertising
This manual is related to the following products: