Chapter Contents Previous Next
 Language Reference

## IFFT Function

computes the inverse finite Fourier transform

IFFT( f)

where f is an np ×2 numeric matrix.

The IFFT function expands a set of sine and cosine coefficients into a sequence equal to the sum of the coefficients times the sine and cosine functions. The argument f is an np ×2 matrix; the value returned is an n ×1 vector.

Note: If the element in the last row and second column of f is exactly 0, then n is 2np-2; otherwise, n is 2np-1.

The inverse finite Fourier transform of a two column matrix F, denoted by the vector x is
for i = 1, ... ,n, where qi = (-1)i Fnp,1 if n is even, or q=0 if n is odd.

Note: For most efficient use of the IFFT function, n should be a power of 2. If n is a power of 2, a fast Fourier transform is used (Singleton 1969); otherwise, a Chirp-Z algorithm is used (Monro and Branch 1976).

IFFT(FFT(X)) returns n times x, where n is the dimension of x. If f is not the Fourier transform of a real sequence, then the vector generated by the IFFT function is not a true inverse Fourier transform. However, applications exist where the FFT and IFFT functions may be used for operations on multidimensional or complex data (Gentleman and Sande 1966; Nussbaumer 1982).

The convolution of two vectors x (n ×1) and y (m ×1) can be accomplished using the following statements:

   a=fft(x//j(nice-nrow(x),1,0));
b=fft(y//j(nice-nrow(y),1,0));
z=(a#b)],+[;
b],2[=-b],2[;
z=ifft(z||((a#(b],2 1[))],+[));

where NICE is a number chosen to allow efficient use of the FFT and IFFT functions and also is greater than n+m.

Windowed spectral estimates and inverse autocorrelation function estimates can also be readily obtained.

 Chapter Contents Previous Next Top