---
title: Fast Fourier transforms
framework: accelerate
role: collectionGroup
role_heading: API Collection
path: accelerate/fast-fourier-transforms
---

# Fast Fourier transforms

Transform vectors and matrices of temporal and spatial domain complex values to the frequency domain, and vice versa.

## Overview

Overview tip: Where possible, use discrete Fourier transforms  (DFTs) instead of fast Fourier transforms (FFTs). DFTs provide a convenient API that offers greater flexibility over the number of elements the routines transform. vDSP’s DFT routines switch to FFT wherever possible. For more information about DFTs, see Discrete Fourier transforms.

## Topics

### Essentials

- [Understanding data packing for Fourier transforms](accelerate/understanding-data-packing-for-fourier-transforms.md)
- [Performing Fourier transforms on interleaved-complex data](accelerate/performing-fourier-transforms-on-interleaved-complex-data.md)
- [Finding the component frequencies in a composite sine wave](accelerate/finding-the-component-frequencies-in-a-composite-sine-wave.md)
- [Halftone descreening with 2D fast Fourier transform](accelerate/halftone-descreening-with-2d-fast-fourier-transform.md)

### Objects that Simplify FFTs

- [vDSP.FFT](accelerate/vdsp/fft.md)
- [vDSP.FFT2D](accelerate/vdsp/fft2d.md)
- [vDSP.FourierTransformDirection](accelerate/vdsp/fouriertransformdirection.md)
- [vDSP.Radix](accelerate/vdsp/radix.md)

### FFT Setup

- [FFTSetup](accelerate/fftsetup.md)
- [FFTSetupD](accelerate/fftsetupd.md)
- [FFTRadix](accelerate/fftradix.md)

### Functions for 1D Real FFT

- [In-Place Functions for 1D Real FFT](accelerate/in-place-functions-for-1d-real-fft.md)
- [Out-of-Place Functions for 1D Real FFT](accelerate/out-of-place-functions-for-1d-real-fft.md)

### Functions for 1D Multiple-Signal Real FFT

- [In-Place Functions for 1D Multiple-Signal Real FFT](accelerate/in-place-functions-for-1d-multiple-signal-real-fft.md)
- [Out-of-Place Functions for 1D Multiple-Signal Real FFT](accelerate/out-of-place-functions-for-1d-multiple-signal-real-fft.md)

### Functions for 1D Complex FFT

- [In-Place Functions for 1D Complex FFT](accelerate/in-place-functions-for-1d-complex-fft.md)
- [Out-of-Place Functions for 1D Complex FFT](accelerate/out-of-place-functions-for-1d-complex-fft.md)

### Functions for 1D Multiple-Signal Complex FFT

- [In-Place Functions for 1D Multiple-Signal Complex FFT](accelerate/in-place-functions-for-1d-multiple-signal-complex-fft.md)
- [Out-of-Place Functions for 1D Multiple-Signal Complex FFT](accelerate/out-of-place-functions-for-1d-multiple-signal-complex-fft.md)

### Functions for 2D Real FFT

- [In-Place Functions for 2D Real FFT](accelerate/in-place-functions-for-2d-real-fft.md)
- [Out-of-Place Functions for 2D Real FFT](accelerate/out-of-place-functions-for-2d-real-fft.md)

### Functions for 2D Complex FFT

- [In-Place Functions for 2D Complex FFT](accelerate/in-place-functions-for-2d-complex-fft.md)
- [Out-of-Place Functions for 2D Complex FFT](accelerate/out-of-place-functions-for-2d-complex-fft.md)

### Constants

- [FFTDirection](accelerate/fftdirection.md)
- [FFT_FORWARD](accelerate/fft_forward.md)
- [FFT_INVERSE](accelerate/fft_inverse.md)
- [FFT_RADIX2](accelerate/fft_radix2.md)
- [FFT_RADIX3](accelerate/fft_radix3.md)
- [FFT_RADIX5](accelerate/fft_radix5.md)
- [kFFTDirection_Forward](accelerate/kfftdirection_forward.md)
- [kFFTDirection_Inverse](accelerate/kfftdirection_inverse.md)
- [kFFTRadix2](accelerate/kfftradix2.md)
- [kFFTRadix3](accelerate/kfftradix3.md)
- [kFFTRadix5](accelerate/kfftradix5.md)

## See Also

### Fourier and Cosine Transforms

- [Understanding data packing for Fourier transforms](accelerate/understanding-data-packing-for-fourier-transforms.md)
- [Finding the component frequencies in a composite sine wave](accelerate/finding-the-component-frequencies-in-a-composite-sine-wave.md)
- [Performing Fourier transforms on interleaved-complex data](accelerate/performing-fourier-transforms-on-interleaved-complex-data.md)
- [Reducing spectral leakage with windowing](accelerate/reducing-spectral-leakage-with-windowing.md)
- [Signal extraction from noise](accelerate/signal-extraction-from-noise.md)
- [Performing Fourier Transforms on Multiple Signals](accelerate/performing-fourier-transforms-on-multiple-signals.md)
- [Halftone descreening with 2D fast Fourier transform](accelerate/halftone-descreening-with-2d-fast-fourier-transform.md)
- [Discrete Fourier transforms](accelerate/discrete-fourier-transforms.md)
- [Discrete Cosine transforms](accelerate/discrete-cosine-transforms.md)
