Accelerating the pace of engineering and science

# Documentation Center

• Trial Software
• Product Updates

# fft2

2-D fast Fourier transform

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.

## More About

expand 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.

## See Also

Was this topic helpful?