In mathematics, the discrete Fourier transform (DFT) converts a finite sequence of equally-spaced samples of a function into a same-length sequence of equally-spaced samples of the discrete-time Fourier transform (DTFT), which is a complex-valued function of frequency. The interval at which the DTFT is sampled is the reciprocal of the duration of the input sequence.[1] An inverse DFT (IDFT) is a Fourier series, using the DTFT samples as coefficients of complex sinusoids at the corresponding DTFT frequencies. It has the same sample-values as the original input sequence. The DFT is therefore said to be a frequency domain representation of the original input sequence. If the original sequence spans all the non-zero values of a function, its DTFT is continuous (and periodic), and the DFT provides discrete samples of one cycle. If the original sequence is one cycle of a periodic function, the DFT provides all the non-zero values of one DTFT cycle.
The DFT is the most important discrete transform, used to perform Fourier analysis in many practical applications. In digital signal processing, the function is any quantity or signal that varies over time, such as the pressure of a sound wave, a radio signal, or daily temperature readings, sampled over a finite time interval (often defined by a window function). In image processing, the samples can be the values of pixels along a row or column of a raster image. The DFT is also used to efficiently solve partial differential equations, and to perform other operations such as convolutions or multiplying large integers.
Since it deals with a finite amount of data, it can be implemented in computers by numerical algorithms or even dedicated hardware. These implementations usually employ efficient fast Fourier transform (FFT) algorithms; so much so that the terms "FFT" and "DFT" are often used interchangeably. Prior to its current usage, the "FFT" initialism may have also been used for the ambiguous term "finite Fourier transform".
The DFT has many applications, including purely mathematical ones with no physical interpretation. But physically it can be related to signal processing as a discrete version (i.e. samples) of the discrete-time Fourier transform (DTFT), which is a continuous and periodic function. The DFT computes N equally-spaced samples of one cycle of the DTFT. (see Fig.2 and)
The discrete Fourier transform transforms a sequence of N complex numbers
\left\{xn\right\}:=x0,x1,\ldots,xN-1
\left\{Xk\right\}:=X0,X1,\ldots,XN-1,
The transform is sometimes denoted by the symbol
l{F}
X=l{F}\left\{x\right\}
l{F}\left(x\right)
l{F}x
can be interpreted or derived in various ways, for example: can also be evaluated outside the domain
k\in[0,N-1]
N
N
N
N
The inverse transform is given by:
. is also
N
Xk
\left(ei{N}n}\right)
xn.
k
N
The normalization factor multiplying the DFT and IDFT (here 1 and
\tfrac{1}{N}
\tfrac{1}{N}.
\sqrt{\tfrac{1}{N}}
This example demonstrates how to apply the DFT to a sequence of length
N=4
Calculating the DFT of
x
results in
The DFT is a linear transform, i.e. if
l{F}(\{xn\})k=Xk
l{F}(\{yn\})k=Yk
a,b
l{F}(\{axn+byn\})k=aXk+bYk
Reversing the time (i.e. replacing
n
N-n
xn
k
N-k
\{xn\}
if
l{F}(\{xn\})k=Xk
then
l{F}(\{xN-n\})k=XN-k
If
l{F}(\{xn\})k=Xk
* | |
l{F}(\{x | |
n |
\})k=
* | |
X | |
N-k |
This table shows some mathematical operations on
xn
Xk
Property | Time domain xn | Frequency domain Xk | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Real part in time | \operatorname{Re}{\left(xn\right)} |
\left(Xk+
\right) | ||||||||||
Imaginary part in time | \operatorname{Im}{\left(xn\right)} |
\left(Xk-
\right) | ||||||||||
Real part in frequency |
\left(xn+
\right) | \operatorname{Re}{\left(Xk\right)} | ||||||||||
Imaginary part in frequency |
\left(xn-
\right) | \operatorname{Im}{\left(Xk\right)} |
The vectors
uk=\left[\left.
| ||||||
e |
\right| n=0,1,\ldots,N-1\right]T
T | |
u | |
k |
* | |
u | |
k' |
=
N-1 | |
\sum | |
n=0 |
| ||||||
\left(e |
\right)
| |||||
\left(e |
\right) =
N-1 | |
\sum | |
n=0 |
| ||||||
e |
=N~\deltakk'
where
\deltakk'
k=k'
If
Xk
Yk
xn
yn
N-1 | |
\sum | |
n=0 |
xn
* | |
y | |
n |
=
1 | |
N |
N-1 | |
\sum | |
k=0 |
Xk
* | |
Y | |
k |
where the star denotes complex conjugation. The Plancherel theorem is a special case of Parseval's theorem and states:
N-1 | |
\sum | |
n=0 |
2 | |
|x | |
n| |
=
1 | |
N |
N-1 | |
\sum | |
k=0 |
2. | |
|X | |
k| |
These theorems are also equivalent to the unitary condition below.
The periodicity can be shown directly from the definition:
Xk+N \triangleq
N-1 | |
\sum | |
n=0 |
xn
| |||||
e |
N-1 | |
= \sum | |
n=0 |
xn
| |||||
e |
\underbrace{e-i
Similarly, it can be shown that the IDFT formula leads to a periodic extension.
Multiplying
xn
| |||||
e |
Xk
Xk
Xk-m
xn
Xk
\{xn\}
if
l{F}(\{xn\})k=Xk
then
l{F}\left(\left\{xn ⋅
| |||||
e |
\right\}\right)k=Xk-m
and
l{F}\left(\left\{xn-m\right\}\right)k=Xk ⋅
| |||||
e |
The convolution theorem for the discrete-time Fourier transform (DTFT) indicates that a convolution of two sequences can be obtained as the inverse transform of the product of the individual transforms. An important simplification occurs when one of sequences is N-periodic, denoted here by
y | |
N |
,
\scriptstyleDTFT\displaystyle
\{y | |
N |
\}
\scriptstyleDTFT\displaystyle\{x\}.
x*
y | |
N |
= \scriptstyle{\rmDTFT}-1\displaystyle\left[\scriptstyle{\rmDTFT}\displaystyle\{x\} ⋅ \scriptstyle{\rmDTFT}\displaystyle
\{y | |
N |
\}\right] = \scriptstyle{\rmDFT}-1\displaystyle\left[\scriptstyle{\rmDFT}\displaystyle
\{x | |
N |
\} ⋅ \scriptstyle{\rmDFT}\displaystyle
\{y | |
N |
\}\right],
where
x | |
N |
x
(x | |
N |
)n \triangleq
infty | |
\sum | |
m=-infty |
x(n-mN).
Customarily, the DFT and inverse DFT summations are taken over the domain
[0,N-1]
X
Y
(x*
y | |
N |
)n\triangleq
infty | |
\sum | |
\ell=-infty |
x\ell ⋅
(y | |
N |
)n-\ell=\underbrace{l{F}-1
In practice, the
x
y | |
N |
y
(y | |
N |
)n=
infty | |
\sum | |
p=-infty |
y(n-pN)=y(n\operatorname{modN)}, n\inZ.
which gives rise to the interpretation as a circular convolution of
x
y.
Similarly, the cross-correlation of
x
y | |
N |
(x\star
y | |
N |
)n\triangleq
infty | |
\sum | |
\ell=-infty |
* | |
x | |
\ell |
⋅
(y | |
N |
)n+\ell=l{F}-1\left\{X* ⋅ Y\right\}n.
As seen above, the discrete Fourier transform has the fundamental property of carrying convolution into componentwise product. A natural question is whether it is the only one with this ability. It has been shown [2] that any linear transform that turns convolution into pointwise product is the DFT up to a permutation of coefficients. Since the number of permutations of n elements equals n!, there exists exactly n! linear and invertible maps with the same fundamental property as the DFT with respect to convolution.
It can also be shown that:
l{F}\left\{x ⋅ y\right\}k
N-1 | |
\triangleq \sum | |
n=0 |
xn ⋅ yn ⋅
| ||||||
e |
= | 1 |
N |
(X*YN) | |
k, |
X
Y
The trigonometric interpolation polynomial
p(t)=\begin{cases}
1 | |
N |
\left[X0+X1ei+ … +XN/2-1ei+XN/2\cos(N\pit)+XN/2+1e-i+ … +XN-1e-i\right] &Neven\\
1 | |
N |
\left[X0+X1ei+ … +X(N-1)/2ei+X(N+1)/2e-i+ … +XN-1e-i\right] &Nodd \end{cases}
where the coefficients Xk are given by the DFT of xn above, satisfies the interpolation property
p(n/N)=xn
n=0,\ldots,N-1
For even N, notice that the Nyquist component is handled specially.
This interpolation is not unique: aliasing implies that one could add N to any of the complex-sinusoid frequencies (e.g. changing
e-it
ei(N-1)t
xn
xn
p(t)
In contrast, the most obvious trigonometric interpolation polynomial is the one in which the frequencies range from 0 to
N-1
-N/2
+N/2
xn
Another way of looking at the DFT is to note that in the above discussion, the DFT can be expressed as the DFT matrix, a Vandermonde matrix, introduced by Sylvester in 1867,
F= \begin{bmatrix}
0 ⋅ 0 | |
\omega | |
N |
&
0 ⋅ 1 | |
\omega | |
N |
& … &
0 ⋅ (N-1) | |
\omega | |
N |
\\
1 ⋅ 0 | |
\omega | |
N |
&
1 ⋅ 1 | |
\omega | |
N |
& … &
1 ⋅ (N-1) | |
\omega | |
N |
\\ \vdots&\vdots&\ddots&\vdots\\
(N-1) ⋅ 0 | |
\omega | |
N |
&
(N-1) ⋅ 1 | |
\omega | |
N |
& … &
(N-1) ⋅ (N-1) | |
\omega | |
N |
\\ \end{bmatrix}
\omegaN=e-i
For example, in the case when
N=2
\omegaN=e-i=-1
F= \begin{bmatrix} 1&1\\ 1&-1\\ \end{bmatrix},
N=4
\omegaN=e-i=-i
F= \begin{bmatrix} 1&1&1&1\\ 1&-i&-1&i\\ 1&-1&1&-1\\ 1&i&-1&-i\\ \end{bmatrix}.
The inverse transform is then given by the inverse of the above matrix,
F-1=
1 | |
N |
F*
With unitary normalization constants , the DFT becomes a unitary transformation, defined by a unitary matrix:
\begin{align} U&=
1 | |
\sqrt{N |
where
\det
\pm1
\pmi
The orthogonality of the DFT is now expressed as an orthonormality condition (which arises in many areas of mathematics as described in root of unity):
N-1 | |
\sum | |
m=0 |
Ukm
* | |
U | |
mn |
=\deltakn
If X is defined as the unitary DFT of the vector x, then
Xk=
N-1 | |
\sum | |
n=0 |
Uknxn
and the Parseval's theorem is expressed as
N-1 | |
\sum | |
n=0 |
xn
* | |
y | |
n |
=
N-1 | |
\sum | |
k=0 |
Xk
* | |
Y | |
k |
If we view the DFT as just a coordinate transformation which simply specifies the components of a vector in a new coordinate system, then the above is just the statement that the dot product of two vectors is preserved under a unitary DFT transformation. For the special case
x=y
N-1 | |
\sum | |
n=0 |
2 | |
|x | |
n| |
=
N-1 | |
\sum | |
k=0 |
2 | |
|X | |
k| |
A consequence of the circular convolution theorem is that the DFT matrix diagonalizes any circulant matrix.
A useful property of the DFT is that the inverse DFT can be easily expressed in terms of the (forward) DFT, via several well-known "tricks". (For example, in computations, it is often convenient to only implement a fast Fourier transform corresponding to one transform direction and then to get the other transform direction from the first.)
First, we can compute the inverse DFT by reversing all but one of the inputs (Duhamel et al., 1988):
l{F}-1(\{xn\})=
1 | |
N |
l{F}(\{xN\})
(As usual, the subscripts are interpreted modulo N; thus, for
n=0
xN-0=x0
Second, one can also conjugate the inputs and outputs:
l{F}-1(x)=
1 | |
N |
l{F}\left(x*\right)*
Third, a variant of this conjugation trick, which is sometimes preferable because it requires no modification of the data values, involves swapping real and imaginary parts (which can be done on a computer simply by modifying pointers). Define as
xn
xn=a+bi
b+ai
i
* | |
x | |
n |
l{F}-1(x)=
1 | |
N |
\operatorname{swap}(l{F}(\operatorname{swap}(x)))
That is, the inverse transform is the same as the forward transform with the real and imaginary parts swapped for both input and output, up to a normalization (Duhamel et al., 1988).
The conjugation trick can also be used to define a new transform, closely related to the DFT, that is involutory—that is, which is its own inverse. In particular,
T(x)=l{F}\left(x*\right)/\sqrt{N}
T(T(x))=x
H(x)=l{F}\left((1+i)x*\right)/\sqrt{2N}
(1+i)
H(H(x))
x
H(x)
The eigenvalues of the DFT matrix are simple and well-known, whereas the eigenvectors are complicated, not unique, and are the subject of ongoing research. Explicit formulas are given with a significant amount of number theory.[3]
Consider the unitary form
U
Um,n=
1{\sqrt{N}}\omega | |
N |
(m-1)(n-1)=
1{\sqrt{N}}e | ||||||||
|
.
U4=I.
U
U
λ
λ4=1.
U
λ
Since there are only four distinct eigenvalues for this
N x N
The problem of their multiplicity was solved by McClellan and Parks (1972), although it was later shown to have been equivalent to a problem solved by Gauss (Dickinson and Steiglitz, 1982). The multiplicity depends on the value of N modulo 4, and is given by the following table:
size N | λ = +1 | λ = −1 | λ = −i | λ = +i | |
---|---|---|---|---|---|
4m | m + 1 | m | m | m − 1 | |
4m + 1 | m + 1 | m | m | m | |
4m + 2 | m + 1 | m + 1 | m | m | |
4m + 3 | m + 1 | m + 1 | m + 1 | m |
Otherwise stated, the characteristic polynomial of
U
\det(λI-U)= (λ-1)\left\lfloor{4}\right\rfloor} (λ+1)\left\lfloor{4}\right\rfloor} (λ+i)\left\lfloor{4}\right\rfloor} (λ-i)\left\lfloor{4}\right\rfloor}.
No simple analytical formula for general eigenvectors is known. Moreover, the eigenvectors are not unique because any linear combination of eigenvectors for the same eigenvalue is also an eigenvector for that eigenvalue. Various researchers have proposed different choices of eigenvectors, selected to satisfy useful properties like orthogonality and to have "simple" forms (e.g., McClellan and Parks, 1972; Dickinson and Steiglitz, 1982; Grünbaum, 1982; Atakishiyev and Wolf, 1997; Candan et al., 2000; Hanna et al., 2004; Gurevich and Hadani, 2008).
One method to construct DFT eigenvectors to an eigenvalue
λ
l{P} | ||||
|
\left(I+λ-1U+λ-2U2+λ-3U3\right)
For an arbitrary vector
v
u(λ)=l{P}λv
bf{U}u(λ)=λu(λ)
hence, vector
u(λ)
U
l{P}λ
λ
u(λ)=l{P}λv
u'(λ')=l{P}λ'v'
u\dagger(λ)u'(λ')=\deltaλλ'u\dagger(λ)v'
However, in general, projection operator method does not produce orthogonal eigenvectors within one subspace.[6] The operator
l{P}λ
U
\{vn\}
n=1,...,Nλ |
Nλ
Nλ
λ
\{un(λ)=l{P}λvn\}
n=1,...,Nλ |
λ
un(λ)
\{un(λ)\}
n=1,...,Nλ |
A straightforward approach to obtain DFT eigenvectors is to discretize an eigenfunction of the continuous Fourier transform,of which the most famous is the Gaussian function.Since periodic summation of the function means discretizing its frequency spectrumand discretization means periodic summation of the spectrum,the discretized and periodically summed Gaussian function yields an eigenvector of the discrete transform:
F(m)=\sumk\inZ\exp\left(-
\pi ⋅ (m+N ⋅ k)2 | |
N |
\right).
The closed form expression for the series can be expressed by Jacobi theta functions as
F(m)=
1{\sqrt{N}}\vartheta | \exp\left(- | ||||||
|
\pi | |
N |
\right)\right).
Two other simple closed-form analytical eigenvectors for special DFT period N were found (Kong, 2008):
For DFT period N = 2L + 1 = 4K + 1, where K is an integer, the following is an eigenvector of DFT:
F(m)=
L | ||
\prod | \left[\cos\left( | |
s=K+1 |
2\pi | |
N |
m\right)-\cos\left(
2\pi | |
N |
s\right)\right]
For DFT period N = 2L = 4K, where K is an integer, the following is an eigenvector of DFT:
F(m)=\sin\left(
2\pi | |
N |
m\right)
L-1 | ||
\prod | \left[\cos\left( | |
s=K+1 |
2\pi | |
N |
m\right)-\cos\left(
2\pi | |
N |
s\right)\right]
The choice of eigenvectors of the DFT matrix has become important in recent years in order to define a discrete analogue of the fractional Fourier transform—the DFT matrix can be taken to fractional powers by exponentiating the eigenvalues (e.g., Rubio and Santhanam, 2005). For the continuous Fourier transform, the natural orthogonal eigenfunctions are the Hermite functions, so various discrete analogues of these have been employed as the eigenvectors of the DFT, such as the Kravchuk polynomials (Atakishiyev and Wolf, 1997). The "best" choice of eigenvectors to define a fractional discrete Fourier transform remains an open question, however.
If the random variable is constrained by
N-1 | |
\sum | |
n=0 |
2 | |
|X | |
n| |
=1,
Pn=|X
2 | |
n| |
Qm=N
2 | |
|x | |
m| |
.
For the case of continuous functions
P(x)
Q(k)
D0(X)D
|
D0(X)
D0(x)
|X|2
|x|2
However, the Hirschman entropic uncertainty will have a useful analog for the case of the DFT. The Hirschman uncertainty principle is expressed in terms of the Shannon entropy of the two probability functions.
In the discrete case, the Shannon entropies are defined as
N-1 | |
H(X)=-\sum | |
n=0 |
PnlnPn
N-1 | |
H(x)=-\sum | |
m=0 |
QmlnQm,
H(X)+H(x)\geln(N).
The equality is obtained for
Pn
A
A
N
Qm
B=N/A
There is also a well-known deterministic uncertainty principle that uses signal sparsity (or the number of non-zero coefficients). Let
\left\|x\right\|0
\left\|X\right\|0
x0,x1,\ldots,xN-1
X0,X1,\ldots,XN-1
N\leq\left\|x\right\|0 ⋅ \left\|X\right\|0.
2\sqrt{N}\leq\left\|x\right\|0+\left\|X\right\|0
x0,\ldots,xN-1
X0,\ldots,XN-1
xn\inR \foralln\in\{0,\ldots,N-1\}\impliesXk=
* | |
X | |
-k\modN |
\forallk\in\{0,\ldots,N-1\}
X*
It follows that for even
N
X0
XN/2
N/2-1
x0,\ldots,xN-1
X0,\ldots,XN-1
xn\iniR \foralln\in\{0,\ldots,N-1\}\impliesXk=
* | |
-X | |
-k\modN |
\forallk\in\{0,\ldots,N-1\}
X*
It is possible to shift the transform sampling in time and/or frequency domain by some real shifts a and b, respectively. This is sometimes known as a generalized DFT (or GDFT), also called the shifted DFT or offset DFT, and has analogous properties to the ordinary DFT:
Xk=
N-1 | |
\sum | |
n=0 |
xn
| |||||
e |
k=0,...,N-1.
Most often, shifts of
1/2
a=1/2
Xk+N=-Xk
b=1/2
a=b=1/2
Another interesting choice is
a=b=-(N-1)/2
The term GDFT is also used for the non-linear phase extensions of DFT. Hence, GDFT method provides a generalization for constant amplitude orthogonal block transforms including linear and non-linear phase types. GDFT is a framework to improve time and frequency domain properties of the traditional DFT, e.g. auto/cross-correlations, by the addition of the properly designed phase shaping function (non-linear, in general) to the original linear phase functions (Akansu and Agirman-Tosun, 2010).
The discrete Fourier transform can be viewed as a special case of the z-transform, evaluated on the unit circle in the complex plane; more general z-transforms correspond to complex shifts a and b above.
xn
x | |
n1,n2,...,nd |
n\ell=0,1,...,N\ell-1
\ell
1,2,...,d
X | |
k1,k2,...,kd |
=
N1-1 | |
\sum | |
n1=0 |
~k1n1 | |
\left(\omega | |
N1 |
N2-1 | |
\sum | |
n2=0 |
\left(
~k2n2 | |
\omega | |
N2 |
…
Nd-1 | |
\sum | |
nd=0 |
~kdnd | |
\omega | |
Nd |
⋅
x | |
n1,n2,...,nd |
\right)\right),
where
\omega | |
N\ell |
=\exp(-i2\pi/N\ell)
k\ell=0,1,...,N\ell-1
n=(n1,n2,...,nd)
k=(k1,k2,...,kd)
N-1
N-1=(N1-1,N2-1,...,Nd-1)
Xk=
N-1 | |
\sum | |
n=0 |
e-ixn,
where the division
n/N
n/N=(n1/N1,...,nd/Nd)
The inverse of the multi-dimensional DFT is, analogous to the one-dimensional case, given by:
xn=
1 | |||||||||
|
N-1 | |
\sum | |
k=0 |
eiXk.
As the one-dimensional DFT expresses the input
xn
k/N
Xk
The multidimensional DFT can be computed by the composition of a sequence of one-dimensional DFTs along each dimension. In the two-dimensional case
x | |
n1,n2 |
N1
n2
y | |
n1,k2 |
N2
n1
X | |
k1,k2 |
An algorithm to compute a one-dimensional DFT is thus sufficient to efficiently compute a multidimensional DFT. This approach is known as the row-column algorithm. There are also intrinsically multidimensional FFT algorithms.
For input data
x | |
n1,n2,...,nd |
X | |
k1,k2,...,kd |
=
* | |
X | |
N1-k1,N2-k2,...,Nd-kd |
,
where the star again denotes complex conjugation and the
\ell
N\ell
\ell=1,2,\ldots,d
The DFT has seen wide usage across a large number of fields; we only sketch a few examples below (see also the references at the end). All applications of the DFT depend crucially on the availability of a fast algorithm to compute discrete Fourier transforms and their inverses, a fast Fourier transform.
When the DFT is used for signal spectral analysis, the
\{xn\}
x(t)
t
x(t)
A final source of distortion (or perhaps illusion) is the DFT itself, because it is just a discrete sampling of the DTFT, which is a function of a continuous frequency domain. That can be mitigated by increasing the resolution of the DFT. That procedure is illustrated at .
The discrete Fourier transform is widely used with spatial frequencies in modeling the way that light, electrons, and other probes travel through optical systems and scatter from objects in two and three dimensions. The dual (direct/reciprocal) vector space of three dimensional objects further makes available a three dimensional reciprocal lattice, whose construction from translucent object shadows (via the Fourier slice theorem) allows tomographic reconstruction of three dimensional objects with a wide range of applications e.g. in modern medicine.
See and .
The field of digital signal processing relies heavily on operations in the frequency domain (i.e. on the Fourier transform). For example, several lossy image and sound compression methods employ the discrete Fourier transform: the signal is cut into short segments, each is transformed, and then the Fourier coefficients of high frequencies, which are assumed to be unnoticeable, are discarded. The decompressor computes the inverse transform based on this reduced number of Fourier coefficients. (Compression applications often use a specialized form of the DFT, the discrete cosine transform or sometimes the modified discrete cosine transform.)Some relatively recent compression algorithms, however, use wavelet transforms, which give a more uniform compromise between time and frequency domain than obtained by chopping data into segments and transforming each segment. In the case of JPEG2000, this avoids the spurious image features that appear when images are highly compressed with the original JPEG.
Discrete Fourier transforms are often used to solve partial differential equations, where again the DFT is used as an approximation for the Fourier series (which is recovered in the limit of infinite N). The advantage of this approach is that it expands the signal in complex exponentials
einx
{d(einx)}/dx=ineinx
in
n
Suppose we wish to compute the polynomial product c(x) = a(x) · b(x). The ordinary product expression for the coefficients of c involves a linear (acyclic) convolution, where indices do not "wrap around." This can be rewritten as a cyclic convolution by taking the coefficient vectors for a(x) and b(x) with constant term first, then appending zeros so that the resultant coefficient vectors a and b have dimension . Then,
c=a*b
Where c is the vector of coefficients for c(x), and the convolution operator
*
cn=
d-1 | |
\sum | |
m=0 |
ambn-m mod d n=0,1...,d-1
But convolution becomes multiplication under the DFT:
l{F}(c)=l{F}(a)l{F}(b)
Here the vector product is taken elementwise. Thus the coefficients of the product polynomial c(x) are just the terms 0, ..., deg(a(x)) + deg(b(x)) of the coefficient vector
c=l{F}-1(l{F}(a)l{F}(b)).
With a fast Fourier transform, the resulting algorithm takes O(N log N) arithmetic operations. Due to its simplicity and speed, the Cooley–Tukey FFT algorithm, which is limited to composite sizes, is often chosen for the transform operation. In this case, d should be chosen as the smallest integer greater than the sum of the input polynomial degrees that is factorizable into small prime factors (e.g. 2, 3, and 5, depending upon the FFT implementation).
The fastest known algorithms for the multiplication of very large integers use the polynomial multiplication method outlined above. Integers can be treated as the value of a polynomial evaluated specifically at the number base, with the coefficients of the polynomial corresponding to the digits in that base (ex.
123=1 ⋅ 102+2 ⋅ 101+3 ⋅ 100
When data is convolved with a function with wide support, such as for downsampling by a large sampling ratio, because of the Convolution theorem and the FFT algorithm, it may be faster to transform it, multiply pointwise by the transform of the filter and then reverse transform it. Alternatively, a good filter is obtained by simply truncating the transformed data and re-transforming the shortened data set.
xn=
Xkei | Xk=
xne-i | Note | |||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
xnei | Xk-\ell | Frequency shift theorem | |||||||||||||||||||||||||||||||||||||||
xn-\ell | Xke-i | Time shift theorem | |||||||||||||||||||||||||||||||||||||||
xn\inR | Xk=X
| Real DFT | |||||||||||||||||||||||||||||||||||||||
an | \left\{\begin{matrix} N&ifa=ei\\
&otherwise \end{matrix}\right. {N-1\choosen} \left(1+e-i\right)N-1 \left\{\begin{matrix}
&if2n<Wor2(N-n)<W\\ 0&otherwise \end{matrix}\right. \left\{\begin{matrix} 1&ifk=0\\
&otherwise \end{matrix}\right. xn Xk Xk \sumj\inZ\exp\left(-
⋅ (n+N ⋅ j)2\right) \sqrt{cN} ⋅ \sumj\inZ\exp\left(-
⋅ (k+N ⋅ j)2\right) c>0 c
c GeneralizationsRepresentation theoryThe DFT can be interpreted as a complex-valued representation of the finite cyclic group. In other words, a sequence of n n Cn f n Zn\mapstoC f From this point of view, one may generalize the DFT to representation theory generally, or more narrowly to the representation theory of finite groups. More narrowly still, one may generalize the DFT by either changing the target (taking values in a field other than the complex numbers), or the domain (a group other than a finite cyclic group), as detailed in the sequel. Other fieldsSee main article: Discrete Fourier transform (general). Many of the properties of the DFT only depend on the fact that
\omegaN WN
=1 Other finite groupsSee main article: Fourier transform on finite groups. The standard DFT acts on a sequence x0, x1, ..., xN-1 of complex numbers, which can be viewed as a function → C. The multidimensional DFT acts on multidimensional sequences, which can be viewed as functions \{0,1,\ldots,N1-1\} x … x \{0,1,\ldots,Nd-1\}\toC. Further, Fourier transform can be on cosets of a group. AlternativesSee main article: Discrete wavelet transform. There are various alternatives to the DFT for various applications, prominent among which are wavelets. The analog of the DFT is the discrete wavelet transform (DWT). From the point of view of time–frequency analysis, a key limitation of the Fourier transform is that it does not include location information, only frequency information, and thus has difficulty in representing transients. As wavelets have location as well as frequency, they are better able to represent location, at the expense of greater difficulty representing frequency. For details, see comparison of the discrete wavelet transform with the discrete Fourier transform. See also
Further reading
External links
|