# Documentation

### This is machine translation

Translated by
Mouse over text to see original. Click the button below to return to the English verison of the page.

# fft2

2-D fast Fourier transform

## Syntax

`Y = fft2(X)Y = fft2(X,m,n)`

## Description

`Y = fft2(X)` returns the two-dimensional discrete Fourier transform (DFT) of `X`. The DFT is computed with a fast Fourier transform (FFT) algorithm. The result, `Y`, is the same size as `X`.

If the dimensionality of `X` is greater than `2`, the `fft2` function returns the 2-D DFT for each higher dimensional slice of `X`. For example, if ```size(X) = [100 100 3]```, then `fft2` computes the DFT of `X(:,:,1)`, `X(:,:,2)` and `X(:,:,3)`.

`Y = fft2(X,m,n)` truncates `X`, or pads `X` with zeros to create an `m`-by-`n` array before doing the transform. The result is `m`-by-`n`.

## Data Type Support

`fft2` supports inputs of data types `double` and `single`. If you call `fft2` with the syntax ```y = fft2(X, ...)```, the output `y` has the same data type as the input `X`.

collapse all

### Algorithms

`fft2(X)` can be simply computed as

`fft(fft(X).').'`

This computes the one-dimensional DFT of each column `X`, then of each row of the result. The execution time for `fft` depends on the length of the transform. It is fastest for powers of two. It is almost as fast for lengths that have only small prime factors. It is typically several times slower for lengths that are prime or which have large prime factors.

 Note   You might be able to increase the speed of `fft2` using the utility function `fftw`, which controls how MATLAB® software optimizes the algorithm used to compute an FFT of a particular size and dimension.