MATLAB Function Reference |

Inverse discrete Fourier transform

**Syntax**

**Description**

```
y = ifft(X)
```

returns the inverse discrete Fourier transform (DFT) of vector `X`

, computed with a fast Fourier transform (FFT) algorithm.

If `X`

is a matrix, `ifft`

returns the inverse DFT of each column of the matrix.

If `X`

is a multidimensional array, `ifft`

operates on the first non-singleton dimension.

```
y = ifft(X,n)
```

returns the `n`

-point inverse DFT of vector `X`

.

```
y = ifft(X,[],dim)
```

and `y = ifft(X,n,dim)`

return the inverse DFT of `X`

across the dimension `dim`

.

For any `X`

, `ifft(fft(X))`

equals `X`

to within roundoff error. If `X`

is real, `ifft(fft(X))`

may have small imaginary parts.

**Algorithm**

The algorithm for `ifft(X)`

is the same as the algorithm for `fft(X)`

, except for a sign change and a scale factor of `n`

`=`

`length(X)`

. As for `fft`

, the execution time for i`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.

**See Also**

`dftmtx`

and `freqz`

, in the Signal Processing Toolbox

if | ifft2 |