|
Contents | Previous | Next | Subchapters |
| Syntax |
idbldft(c) |
| See Also | idft , dbldft |
c,
where c is a double-precision matrix with an even number of rows.
The numbers 2, 3, 5, and 7 must be the only prime factors of the
number of rows in c.
This routine is faster and uses less memory than the idft
function but it only applies to the case where
the vector c represents a complex vector that is conjugate symmetric.
If N is half the number of rows in c and
for all k between 2 and N,
and all j is between 1 and the column dimension of c
define the complex matrix z by
z(1, j) = c(1, j)
z(N + 1, j) = c(2, j)
the real part of z(k, j) = c(2 k - 1, j)
the imaginary part of z(k, j) = c(2 k, j)
z(2 N + 2 - k, j) = the complex conjugate of z(k, j)
The return value of the idbldft function
is the matrix w defined by
w(k, j) = (1 / (2 N)) * sum_{i=1}^{2 N}
z(i, j) exp[ 2 pi sqrt{-1} (i - 1) (k - 1) / (2 N)]
Thus w is the column by column inverse discrete Fourier transform
of z (w is real because z is conjugate symmetric).
c = double({0, 1, 0, 0})
only the term with i = 3
in the summation defining w is nonzero.
Also note that 2 N is 4 and
element k of the inverse Fourier transform of c is
given by
w(k) = (1/4) exp[ pi sqrt{-1} (k - 1) ]
which is given by the following table
w(1) = +1/4
w(2) = -1/4
w(3) = +1/4
w(4) = -1/4
(Note that all of the elements of w are real.)
If you continue this example by entering
idbldft(c)
O-Matrix will respond
{
.25
-.25
.25
-.25
}