# Difference between revisions of "Fourier transform, discrete"

A transform used for the harmonic analysis of functions given on a discrete set of points.

If a function is given on the set of points $t _ {k} = k \Delta t$ by its values $x _ {k}$, $k = 0 \dots N - 1$, $\Delta t = T/N$, where $T > 0$ is the period of the function, then the discrete Fourier transform of the vector $x = ( x _ {0} \dots x _ {N - 1 } )$ is the vector $\widehat{x} = Fx$, where $F$ is the matrix with entries

$$\mathop{\rm exp} \{ - 2 \pi i \omega _ {m} t _ {k} \} ,$$

$i$ is the imaginary unit, $\omega _ {m} = m \Delta \omega$, $m = 0 \dots N - 1$, $\Delta \omega = 1/T$. The components of the vector $\widehat{x}$ are analogues of the Fourier coefficients in the usual trigonometric expansions. The discrete Fourier transform is used to calculate approximately these coefficients, spectra, auto- and mutual-correlation functions, etc. A direct computation of the discrete Fourier transform requires about $N ^ {2}$ arithmetic operations and a great expenditure of machine time. The method of the fast Fourier transform (see [1]) enables one to reduce the number of operations considerably. When $N = n _ {1} \dots n _ {m}$, this method carries out the discrete Fourier transform approximately in $N ( n _ {1} + \dots + n _ {m} )$ operations, increasing the accuracy of the calculation. When $N = 2 ^ {m}$ there are algorithms which are particularly convenient in practice. There is a considerable number of programs realizing or using the fast Fourier transform to solve applied problems. The method of the fast Fourier transform includes widely known efficient methods for computing the discrete Fourier transform, for example, the Runge method (see [2] and Runge–Kutta method).

#### References

 [1] J. Cooley, J. Tukey, "An algorithm for the machine calculation of complex Fourier series" Math. Comp. , 19 (1965) pp. 297–301 [2] C.Z. Runge, Math. Phys. , 48 (1903) pp. 443

The fast Fourier transform of J. Cooley and J. Tukey exploits the special structure of the matrix $F$. For $N = 2 ^ {n}$ it turns out that the matrix $F$ can be factorized into $n$ matrices the rows of which contain only a few non-zero entries, the non-zero entries being equal or having opposite signs. For example, if $N = 8$, then $F = A B C$ where the rows of the factor matrices $A$, $B$ and $C$ each contain only 2 non-zero elements $a$ and $b$ such that either $a = b$ or $a = - b$( written out formulas for the case $N = 8$ can be found in [a1], p. 255). Thus, the computation of the vector $F x = A B C x$ requires only $n \cdot N = 24$ instead of $N ^ {2} = 64$" operations" . A detailed theoretical treatment of the fast Fourier transform as well as algorithmic information is provided by the monograph [a2].