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

More About

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.

See Also

Introduced before R2006a

Was this topic helpful?

Get trial now