Contents Previous Next Subchapters

The Centered Finite Inverse Fourier Transform
Syntax ifft(z)
See Also fft , ifft2d , idft

Description
Returns a complex matrix containing the inverse centered finite Fourier transform of z, where z is an integer, real double-precision or complex matrix. If N is the number of rows in z, the (k,j)-th element of the return value is equal to
       N
     -----                  __
     >      z   exp[+2 pi \/-1 (i - N/2 - 1) (k - N/2 - 1) / N]
     -----   i,j
     i = 1
for k between 1 and N and j between 1 and the number of columns in z.

Example
The inverse Fourier transform of a function H(f) is defined as follows:
             +infinity
            /                  __
     h(t) = | H(f) exp(+2 pi \/-1 f tdf
            /
             -infinity
If the function H(f) is defined by:
            sin(2 pi T f)
     H(f) = -------------
                pi f
The inverse Fourier transform of H(f) is given by the following:
            /  1, if -T < t < T
     h(t) = {
            \  0, otherwise
The following program plots an approximation for the inverse transform that defines h(t), where T = 1/2, there are 2^10 points in the finite Fourier transform, of which 2^6 points are between -T and +T. The names dt and df are used for the spacing in the time and frequency grids. (Note the index N/2 +1 is a special case because f = 0 at that index.)

clear
N           = 2^10
M           = 2^6
T           = .5
dt          = 2 * T / M
df          = 1. / (N * dt)
t           = (seq(N) - N / 2 - 1) * dt
f           = (seq(N) - N / 2 - 1) * df
H           = sin(2 * pi * T * f) / (pi * f)
H(N/2 + 1)  = 1
h   = ifft(H) * df
gxaxis("linear", -1, +1, 4, 5)
gtitle("Real Part of h(t)")
gplot(t, double(h))