|
Contents | Previous | Next | Subchapters |
| Syntax |
ifft(z) |
| See Also | fft , ifft2d , idft |
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.
H(f) is defined as follows:
+infinity
/ __
h(t) = | H(f) exp(+2 pi \/-1 f t) df
/
-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))