Abstract: An apparatus for calculating an N-point Discrete Fourier Transforms (DFTs) and/or Inverse DFTs (IDFTs) using the Cooley-Tukey algorithm is provided. The N-point DFT/IDFT is achieved by calculating a plurality of N1-point and N2-point DFTs. The apparatus comprises a storing unit, a calculating unit, and a controlling unit. The storing unit comprises a first memory for storing a plurality of first data and a second memory for storing a plurality of second data. The calculating unit comprises a one-dimensional systolic array for calculating the N1-point and N2-point DFT.