Discrete Fourier transform
   HOME

TheInfoList



OR:

In
mathematics Mathematics is a field of study that discovers and organizes methods, Mathematical theory, theories and theorems that are developed and Mathematical proof, proved for the needs of empirical sciences and mathematics itself. There are many ar ...
, 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.  An inverse DFT (IDFT) is a
Fourier series A Fourier series () is an Series expansion, expansion of a periodic function into a sum of trigonometric functions. The Fourier series is an example of a trigonometric series. By expressing a function as a sum of sines and cosines, many problems ...
, using the DTFT samples as coefficients of
complex Complex commonly refers to: * Complexity, the behaviour of a system whose components interact in multiple ways so possible interactions are difficult to describe ** Complex system, a system composed of many components which may interact with each ...
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 In mathematics, physics, electronics, control systems engineering, and statistics, the frequency domain refers to the analysis of mathematical functions or signals with respect to frequency (and possibly phase), rather than time, as in time ser ...
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 used in the Fourier analysis of many practical applications. In
digital signal processing Digital signal processing (DSP) is the use of digital processing, such as by computers or more specialized digital signal processors, to perform a wide variety of signal processing operations. The digital signals processed in this manner are a ...
, the function is any quantity or
signal A signal is both the process and the result of transmission of data over some media accomplished by embedding some variation. Signals are important in multiple subject fields including signal processing, information theory and biology. In ...
that varies over time, such as the pressure of a
sound wave In physics, sound is a vibration that propagates as an acoustic wave through a transmission medium such as a gas, liquid or solid. In human physiology and psychology, sound is the ''reception'' of such waves and their ''perception'' by the ...
, a
radio Radio is the technology of communicating using radio waves. Radio waves are electromagnetic waves of frequency between 3  hertz (Hz) and 300  gigahertz (GHz). They are generated by an electronic device called a transmitter connec ...
signal, or daily
temperature Temperature is a physical quantity that quantitatively expresses the attribute of hotness or coldness. Temperature is measurement, measured with a thermometer. It reflects the average kinetic energy of the vibrating and colliding atoms making ...
readings, sampled over a finite time interval (often defined by a window function). In
image processing An image or picture is a visual representation. An image can be two-dimensional, such as a drawing, painting, or photograph, or three-dimensional, such as a carving or sculpture. Images may be displayed through other media, including a pr ...
, the samples can be the values of
pixel In digital imaging, a pixel (abbreviated px), pel, or picture element is the smallest addressable element in a Raster graphics, raster image, or the smallest addressable element in a dot matrix display device. In most digital display devices, p ...
s along a row or column of a
raster image upright=1, The Smiley, smiley face in the top left corner is a raster image. When enlarged, individual pixels appear as squares. Enlarging further, each pixel can be analyzed, with their colors constructed through combination of the values for ...
. The DFT is also used to efficiently solve
partial differential equations In mathematics, a partial differential equation (PDE) is an equation which involves a multivariable function and one or more of its partial derivatives. The function is often thought of as an "unknown" that solves the equation, similar to how ...
, and to perform other operations such as
convolution In mathematics (in particular, functional analysis), convolution is a operation (mathematics), mathematical operation on two function (mathematics), functions f and g that produces a third function f*g, as the integral of the product of the two ...
s or multiplying large integers. Since it deals with a finite amount of data, it can be implemented in
computer A computer is a machine that can be Computer programming, programmed to automatically Execution (computing), carry out sequences of arithmetic or logical operations (''computation''). Modern digital electronic computers can perform generic set ...
s by numerical algorithms or even dedicated hardware. These implementations usually employ efficient
fast Fourier transform A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT). A Fourier transform converts a signal from its original domain (often time or space) to a representation in ...
(FFT) algorithms; so much so that the terms "FFT" and "DFT" are often used interchangeably. Prior to its current usage, the "FFT"
initialism An acronym is a type of abbreviation consisting of a phrase whose only pronounced elements are the initial letters or initial sounds of words inside that phrase. Acronyms are often spelled with the initial letter of each word in all caps wi ...
may have also been used for the ambiguous term " finite Fourier transform".


Definition

The ''discrete Fourier transform'' transforms a
sequence In mathematics, a sequence is an enumerated collection of objects in which repetitions are allowed and order matters. Like a set, it contains members (also called ''elements'', or ''terms''). The number of elements (possibly infinite) is cal ...
of ''N''
complex number In mathematics, a complex number is an element of a number system that extends the real numbers with a specific element denoted , called the imaginary unit and satisfying the equation i^= -1; every complex number can be expressed in the for ...
s \left \ := x_0, x_1, \ldots, x_ into another sequence of complex numbers, \left \ := X_0, X_1, \ldots, X_, which is defined by: The transform is sometimes denoted by the symbol \mathcal, as in \mathbf = \mathcal \left \ or \mathcal \left ( \mathbf \right ) or \mathcal \mathbf. can be interpreted or derived in various ways, for example: can also be evaluated outside the domain k \in ,N-1/math>, and that extended sequence is N- periodic. Accordingly, other sequences of N indices are sometimes used, such as \left \frac, \frac - 1\right/math> (if N is even) and \left \frac, \frac\right/math> (if N is odd), which amounts to swapping the left and right halves of the result of the transform. The inverse transform is given by: . is also N-periodic (in index n). In , each X_k is a complex number whose polar coordinates are the amplitude and phase of a complex sinusoidal component \left(e^\right) of function x_n. (see
Discrete Fourier series In digital signal processing, a discrete Fourier series (DFS) is a Fourier series whose sinusoidal components are functions of a discrete variable instead of a continuous variable. The result of the series is also a function of the discrete variab ...
) The sinusoid's
frequency Frequency is the number of occurrences of a repeating event per unit of time. Frequency is an important parameter used in science and engineering to specify the rate of oscillatory and vibratory phenomena, such as mechanical vibrations, audio ...
is k cycles per N samples. The normalization factor multiplying the DFT and IDFT (here 1 and \tfrac) and the signs of the exponents are the most common conventions. The only actual requirements of these conventions are that the DFT and IDFT have opposite-sign exponents and that the product of their normalization factors be \tfrac. An uncommon normalization of \sqrt for both the DFT and IDFT makes the transform-pair unitary.


Example

This example demonstrates how to apply the DFT to a sequence of length N = 4 and the input vector \mathbf = \begin x_0 \\ x_1 \\ x_2 \\ x_3 \end = \begin 1 \\ 2-i \\ -i \\ -1+2i \end. Calculating the DFT of \mathbf using \begin X_0 &= e^ \cdot 1 + e^ \cdot (2-i) + e^ \cdot (-i) + e^ \cdot (-1+2i) = 2 \\ X_1 &= e^ \cdot 1 + e^ \cdot (2-i) + e^ \cdot (-i) + e^ \cdot (-1+2i) = -2-2i \\ X_2 &= e^ \cdot 1 + e^ \cdot (2-i) + e^ \cdot (-i) + e^ \cdot (-1+2i) = -2i \\ X_3 &= e^ \cdot 1 + e^ \cdot (2-i) + e^ \cdot (-i) + e^ \cdot (-1+2i) = 4+4i \end results in \mathbf = \begin X_0 \\ X_1 \\ X_2 \\ X_3 \end = \begin 2 \\ -2-2i \\ -2i \\ 4+4i \end.


Properties


Linearity

The DFT is a linear transform, i.e. if \mathcal(\)_k=X_k and \mathcal(\)_k=Y_k, then for any complex numbers a,b: :\mathcal(\)_k=a X_k + b Y_k


Time and frequency reversal

Reversing the time (i.e. replacing n by N-n) in x_n corresponds to reversing the frequency (i.e. k by N-k). Mathematically, if \ represents the vector x then :if \mathcal(\)_k=X_k :then \mathcal(\)_k=X_


Conjugation in time

If \mathcal(\)_k = X_k then \mathcal(\)_k = X_^*.


Real and imaginary part

This table shows some mathematical operations on x_n in the time domain and the corresponding effects on its DFT X_k in the frequency domain.


Orthogonality

The vectors u_k = \left \; n=0,1,\ldots,N-1 \right\mathsf, for k=0,1,\ldots,N-1, form an orthogonal basis over the set of ''N''-dimensional complex vectors: :u^\mathsf_k u_^* = \sum_^ \left(e^\right) \left(e^\right) = \sum_^ e^ = N~\delta_ where \delta_ is the
Kronecker delta In mathematics, the Kronecker delta (named after Leopold Kronecker) is a function of two variables, usually just non-negative integers. The function is 1 if the variables are equal, and 0 otherwise: \delta_ = \begin 0 &\text i \neq j, \\ 1 &\ ...
. (In the last step, the summation is trivial if k=k', where it is and otherwise is a
geometric series In mathematics, a geometric series is a series (mathematics), series summing the terms of an infinite geometric sequence, in which the ratio of consecutive terms is constant. For example, 1/2 + 1/4 + 1/8 + 1/16 + ⋯, the series \tfrac12 + \tfrac1 ...
that can be explicitly summed to obtain zero.) This orthogonality condition can be used to derive the formula for the IDFT from the definition of the DFT, and is equivalent to the unitarity property below.


The Plancherel theorem and Parseval's theorem

If X_k and Y_k are the DFTs of x_n and y_n respectively then Parseval's theorem states: :\sum_^ x_n y^*_n = \frac \sum_^ X_k Y^*_k where the star denotes
complex conjugation In mathematics, the complex conjugate of a complex number is the number with an equal real part and an imaginary part equal in magnitude but opposite in sign. That is, if a and b are real numbers, then the complex conjugate of a + bi is a - ...
. The Plancherel theorem is a special case of Parseval's theorem and states: :\sum_^ , x_n, ^2 = \frac \sum_^ , X_k, ^2. These theorems are also equivalent to the unitary condition below.


Periodicity

The periodicity can be shown directly from the definition: : X_ \ \triangleq \ \sum_^ x_n e^ = \sum_^ x_n e^ \underbrace_ = \sum_^ x_n e^ = X_k. Similarly, it can be shown that the IDFT formula leads to a periodic extension of x_n.


Shift theorem

Multiplying x_n by a ''linear phase'' e^ for some integer ''m'' corresponds to a ''circular shift'' of the output X_k: X_k is replaced by X_, where the subscript is interpreted
modulo In computing and mathematics, the modulo operation returns the remainder or signed remainder of a division, after one number is divided by another, the latter being called the '' modulus'' of the operation. Given two positive numbers and , mo ...
''N'' (i.e., periodically). Similarly, a circular shift of the input x_n corresponds to multiplying the output X_k by a linear phase. Mathematically, if \ represents the vector x then :if \mathcal(\)_k=X_k :then \mathcal\left(\left\\right)_k=X_ :and \mathcal\left(\left\\right)_k=X_k \cdot e^


Circular convolution theorem and cross-correlation theorem

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_, because \scriptstyle \text \displaystyle \ is non-zero at only discrete frequencies (see ), and therefore so is its product with the continuous function \scriptstyle \text \displaystyle \.  That leads to a considerable simplification of the inverse transform. :x * y_\ =\ \scriptstyle^ \displaystyle \left scriptstyle \displaystyle \\cdot \scriptstyle \displaystyle \\right =\ \scriptstyle^ \displaystyle \left scriptstyle \displaystyle \\cdot \scriptstyle \displaystyle \\right where x_ is a periodic summation of the x sequence: (x_)_n\ \triangleq \sum_^ x_. Customarily, the DFT and inverse DFT summations are taken over the domain ,N-1/math>. Defining those DFTs as X and Y, the result is: : (x * y_)_n \triangleq \sum_^x_\ell \cdot (y_)_ = \underbrace_ \left \_n. In practice, the x sequence is usually length ''N'' or less, and y_ is a periodic extension of an N-length y-sequence, which can also be expressed as a ''circular function'': :(y_)_n = \sum_^\infty y_ = y_, \quad n\in\mathbb. Then the convolution can be written as: which gives rise to the interpretation as a ''circular'' convolution of x and y. It is often used to efficiently compute their linear convolution. (see Circular convolution, Fast convolution algorithms, and Overlap-save) Similarly, the
cross-correlation In signal processing, cross-correlation is a measure of similarity of two series as a function of the displacement of one relative to the other. This is also known as a ''sliding dot product'' or ''sliding inner-product''. It is commonly used f ...
of x and y_ is given by: :(x \star y_)_n \triangleq \sum_^ x_\ell^* \cdot (y_)_ = \mathcal^ \left \_n.


Uniqueness of the Discrete Fourier Transform

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 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.


Convolution theorem duality

It can also be shown that: :\mathcal \left \_k \ \triangleq \sum_^ x_n \cdot y_n \cdot e^ ::=\frac (\mathbf)_k, which is the circular convolution of \mathbf and \mathbf.


Trigonometric interpolation polynomial

The trigonometric interpolation polynomial :p(t) = \begin \displaystyle\frac \left \begin X_0 + X_1 e^ + \cdots &+ X_ e^ &\\ &+ X_ \cos(N\pi t) &\\ &+ X_ e^ &+ \cdots + X_ e^ \end \right & N\text \\ \displaystyle\frac \left \begin X_0 + X_1 e^ + \cdots &+ X_ e^ &\\ &+ X_ e^ &+ \cdots + X_ e^ \end \right & N\text \end where the coefficients ''X''''k'' are given by the DFT of ''x''''n'' above, satisfies the interpolation property p(n/N) = x_n for n = 0, \ldots, N-1. For even ''N'', notice that the Nyquist component \frac \cos(N\pi t) 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^ to e^) without changing the interpolation property, but giving ''different'' values in between the x_n points. The choice above, however, is typical because it has two useful properties. First, it consists of sinusoids whose frequencies have the smallest possible magnitudes: the interpolation is bandlimited. Second, if the x_n are real numbers, then p(t) is real as well. In contrast, the most obvious trigonometric interpolation polynomial is the one in which the frequencies range from 0 to N-1 (instead of roughly -N/2 to +N/2 as above), similar to the inverse DFT formula. This interpolation does ''not'' minimize the slope, and is ''not'' generally real-valued for real x_n; its use is a common mistake.


The unitary DFT

Another way of looking at the DFT is to note that in the above discussion, the DFT can be expressed as the
DFT matrix In applied mathematics, a DFT matrix is a ''square matrix'' as an expression of a discrete Fourier transform (DFT) as a transformation matrix, which can be applied to a signal through matrix multiplication. Definition An ''N''-point DFT is expres ...
, a Vandermonde matrix, introduced by Sylvester in 1867, :\mathbf = \begin \omega_N^ & \omega_N^ & \cdots & \omega_N^ \\ \omega_N^ & \omega_N^ & \cdots & \omega_N^ \\ \vdots & \vdots & \ddots & \vdots \\ \omega_N^ & \omega_N^ & \cdots & \omega_N^ \\ \end where \omega_N = e^ is a primitive ''N''th root of unity. For example, in the case when N = 2, \omega_N = e^=-1, and :\mathbf = \begin 1 & 1 \\ 1 & -1 \\ \end, (which is a
Hadamard matrix In mathematics, an Hadamard matrix, named after the French mathematician Jacques Hadamard, is a square matrix whose entries are either +1 or −1 and whose rows are mutually orthogonal. In geometry, geometric terms, this means that each pair of r ...
) or when N = 4 as in the above, \omega_N = e^=-i, and :\mathbf = \begin 1 & 1 & 1 & 1 \\ 1 & -i & -1 & i \\ 1 & -1 & 1 & -1 \\ 1 & i & -1 & -i \\ \end. The inverse transform is then given by the inverse of the above matrix, :\mathbf^=\frac\mathbf^* With unitary normalization constants 1/\sqrt, the DFT becomes a unitary transformation, defined by a unitary matrix: :\begin \mathbf &= \frac\mathbf \\ \mathbf^ &= \mathbf^* \\ \left, \det(\mathbf)\ &= 1 \end where \det() is the
determinant In mathematics, the determinant is a Scalar (mathematics), scalar-valued function (mathematics), function of the entries of a square matrix. The determinant of a matrix is commonly denoted , , or . Its value characterizes some properties of the ...
function. The determinant is the product of the eigenvalues, which are always \pm 1 or \pm i as described below. In a real vector space, a unitary transformation can be thought of as simply a rigid rotation of the coordinate system, and all of the properties of a rigid rotation can be found in the unitary DFT. 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 In mathematics, a root of unity is any complex number that yields 1 when exponentiation, raised to some positive integer power . Roots of unity are used in many branches of mathematics, and are especially important in number theory, the theory ...
): :\sum_^U_U_^* = \delta_ If X is defined as the unitary DFT of the vector x, then :X_k = \sum_^ U_ x_n and the Parseval's theorem is expressed as :\sum_^x_n y_n^* = \sum_^X_k 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 In mathematics, the dot product or scalar productThe term ''scalar product'' means literally "product with a Scalar (mathematics), scalar as a result". It is also used for other symmetric bilinear forms, for example in a pseudo-Euclidean space. N ...
of two vectors is preserved under a unitary DFT transformation. For the special case \mathbf = \mathbf, this implies that the length of a vector is preserved as well — this is just Plancherel theorem, :\sum_^ , x_n, ^2 = \sum_^ , X_k, ^2 A consequence of the circular convolution theorem is that the DFT matrix diagonalizes any circulant matrix.


Expressing the inverse DFT in terms of the DFT

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): :\mathcal^(\) = \frac\mathcal(\) (As usual, the subscripts are interpreted
modulo In computing and mathematics, the modulo operation returns the remainder or signed remainder of a division, after one number is divided by another, the latter being called the '' modulus'' of the operation. Given two positive numbers and , mo ...
''N''; thus, for n = 0, we have x_ = x_0.) Second, one can also conjugate the inputs and outputs: :\mathcal^(\mathbf) = \frac\mathcal\left(\mathbf^*\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 \operatorname(x_n) as x_n with its real and imaginary parts swapped—that is, if x_n = a + b i then \operatorname(x_n) is b + a i. Equivalently, \operatorname(x_n) equals i x_n^*. Then :\mathcal^(\mathbf) = \frac\operatorname(\mathcal(\operatorname(\mathbf))) 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(\mathbf) = \mathcal\left(\mathbf^*\right) / \sqrt is clearly its own inverse: T(T(\mathbf)) = \mathbf. A closely related involutory transformation (by a factor of \frac) is H(\mathbf) = \mathcal\left((1 + i) \mathbf^*\right) / \sqrt, since the (1 + i) factors in H(H(\mathbf)) cancel the 2. For real inputs \mathbf, the real part of H(\mathbf) is none other than the discrete Hartley transform, which is also involutory.


Eigenvalues and eigenvectors

The
eigenvalue In linear algebra, an eigenvector ( ) or characteristic vector is a vector that has its direction unchanged (or reversed) by a given linear transformation. More precisely, an eigenvector \mathbf v of a linear transformation T is scaled by a ...
s of the DFT matrix are simple and well-known, whereas the
eigenvector In linear algebra, an eigenvector ( ) or characteristic vector is a vector that has its direction unchanged (or reversed) by a given linear transformation. More precisely, an eigenvector \mathbf v of a linear transformation T is scaled by ...
s are complicated, not unique, and are the subject of ongoing research. Explicit formulas are given with a significant amount of number theory. Consider the unitary form \mathbf defined above for the DFT of length ''N'', where :\mathbf_ = \frac 1\omega_N^ = \frac 1e^. This matrix satisfies the matrix polynomial equation: :\mathbf^4 = \mathbf. This can be seen from the inverse properties above: operating \mathbf twice gives the original data in reverse order, so operating \mathbf four times gives back the original data and is thus the
identity matrix In linear algebra, the identity matrix of size n is the n\times n square matrix with ones on the main diagonal and zeros elsewhere. It has unique properties, for example when the identity matrix represents a geometric transformation, the obje ...
. This means that the eigenvalues \lambda satisfy the equation: :\lambda^4 = 1. Therefore, the eigenvalues of \mathbf are the fourth
roots of unity In mathematics, a root of unity is any complex number that yields 1 when raised to some positive integer power . Roots of unity are used in many branches of mathematics, and are especially important in number theory, the theory of group char ...
: \lambda is +1, −1, +''i'', or −''i''. Since there are only four distinct eigenvalues for this N\times N matrix, they have some multiplicity. The multiplicity gives the number of
linearly independent In the theory of vector spaces, a set of vectors is said to be if there exists no nontrivial linear combination of the vectors that equals the zero vector. If such a linear combination exists, then the vectors are said to be . These concep ...
eigenvectors corresponding to each eigenvalue. (There are ''N'' independent eigenvectors; a unitary matrix is never defective.) 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 Johann Carl Friedrich Gauss (; ; ; 30 April 177723 February 1855) was a German mathematician, astronomer, Geodesy, geodesist, and physicist, who contributed to many fields in mathematics and science. He was director of the Göttingen Observat ...
(Dickinson and Steiglitz, 1982). The multiplicity depends on the value of ''N''
modulo In computing and mathematics, the modulo operation returns the remainder or signed remainder of a division, after one number is divided by another, the latter being called the '' modulus'' of the operation. Given two positive numbers and , mo ...
4, and is given by the following table: Otherwise stated, the
characteristic polynomial In linear algebra, the characteristic polynomial of a square matrix is a polynomial which is invariant under matrix similarity and has the eigenvalues as roots. It has the determinant and the trace of the matrix among its coefficients. The ...
of \mathbf is: :\det (\lambda I - \mathbf)= (\lambda-1)^ (\lambda+1)^ (\lambda+i)^ (\lambda-i)^. 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 In mathematics, orthogonality is the generalization of the geometric notion of '' perpendicularity''. Although many authors use the two terms ''perpendicular'' and ''orthogonal'' interchangeably, the term ''perpendicular'' is more specifically ...
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 \lambda is based on the linear combination of operators:Candan, Ç. (2011). On the eigenstructure of DFT matrices SP education IEEE Signal Processing Magazine, 28(2), 105-108.Pei, S. C., Ding, J. J., Hsue, W. L., & Chang, K. W. (2008). Generalized commuting matrices and their eigenvectors for DFTs, offset DFTs, and other periodic operations. IEEE Transactions on Signal Processing, 56(8), 3891-3904. \mathcal_\lambda=\frac\left( \mathbf+\lambda^\mathbf+\lambda^\mathbf^2+\lambda^ \mathbf^3\right) For an arbitrary vector \mathbf, vector \mathbf(\lambda)=\mathcal_\mathbf satisfies: \textbf\mathbf(\lambda)=\lambda \mathbf(\lambda) hence, vector \mathbf(\lambda) is, indeed, the eigenvector of DFT matrix \mathbf. Operators \mathcal_ project vectors onto subspaces which are orthogonal for each value of \lambda. That is, for two eigenvectors, \mathbf(\lambda)=\mathcal_\mathbf and \mathbf'(\lambda')=\mathcal_\mathbf' we have: \mathbf^\dagger(\lambda) \mathbf'(\lambda')= \delta_\mathbf^\dagger(\lambda) \mathbf' However, in general, projection operator method does not produce orthogonal eigenvectors within one subspace. The operator \mathcal_ can be seen as a matrix, whose columns are eigenvectors of \mathbf, but they are not orthogonal. When a set of vectors \_, spanning N_-dimensional space (where N_ is the multiplicity of eigenvalue \lambda) is chosen to generate the set of eigenvectors \_ to eigenvalue \lambda, the mutual orthogonality of \mathbf_n(\lambda) is not guaranteed. However, the orthogonal set can be obtained by further applying orthogonalization algorithm to the set \_, e.g. Gram-Schmidt process. A straightforward approach to obtain DFT eigenvectors is to discretize an eigenfunction of the continuous
Fourier transform In mathematics, the Fourier transform (FT) is an integral transform that takes a function as input then outputs another function that describes the extent to which various frequencies are present in the original function. The output of the tr ...
, of which the most famous is the
Gaussian function In mathematics, a Gaussian function, often simply referred to as a Gaussian, is a function (mathematics), function of the base form f(x) = \exp (-x^2) and with parametric extension f(x) = a \exp\left( -\frac \right) for arbitrary real number, rea ...
. Since periodic summation of the function means discretizing its frequency spectrum and discretization means periodic summation of the spectrum, the discretized and periodically summed Gaussian function yields an eigenvector of the discrete transform: * F(m) = \sum_ \exp\left(-\frac\right). The closed form expression for the series can be expressed by Jacobi theta functions as * F(m) = \frac1\vartheta_3\left(\fracN, \exp\left(-\fracN \right)\right). Several other simple closed-form analytical eigenvectors for special DFT period ''N'' were found (Kong, 2008 and Casper-Yakimov, 2024): For DFT period ''N'' = 2''L'' + 1 = 4''K'' + 1, where ''K'' is an integer, the following is an eigenvector of DFT: * F(m) = \prod_^L \left cos\left(\fracm\right) - \cos\left(\fracs\right)\right/math> For DFT period ''N'' = 2''L'' = 4''K'', where ''K'' is an integer, the following are eigenvectors of DFT: * F(m) = \sin\left(\fracm\right) \prod_^\left cos\left(\fracm\right)- \cos\left(\fracs\right)\right/math> * F(m) = \cos\left(\fracm\right)\prod_^ \sin\left(\frac\right) For DFT period ''N'' = 4''K'' - 1, where ''K'' is an integer, the following are eigenvectors of DFT: * F(m) = \sin\left(\fracm\right)\prod_^ \sin\left(\frac\right) * F(m) = \left(\cos\left(\fracm\right)-\cos\left(\fracK\right)\pm\sin\left(\fracK\right)\right)\prod_^ \sin\left(\frac\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 In mathematics, in the area of harmonic analysis, the fractional Fourier transform (FRFT) is a family of linear transformations generalizing the Fourier transform. It can be thought of as the Fourier transform to the ''n''-th power, where ''n' ...
—the DFT matrix can be taken to fractional powers by exponentiating the eigenvalues (e.g., Rubio and Santhanam, 2005). For the
continuous Fourier transform In mathematics, the Fourier transform (FT) is an integral transform that takes a function (mathematics), function as input then outputs another function that describes the extent to which various Frequency, frequencies are present in the origin ...
, 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.


Uncertainty principles


Probabilistic uncertainty principle

If the random variable is constrained by :\sum_^ , X_n, ^2 = 1 , then :P_n=, X_n, ^2 may be considered to represent a discrete
probability mass function In probability and statistics, a probability mass function (sometimes called ''probability function'' or ''frequency function'') is a function that gives the probability that a discrete random variable is exactly equal to some value. Sometimes i ...
of , with an associated probability mass function constructed from the transformed variable, :Q_m = N , x_m, ^2 . For the case of continuous functions P(x) and Q(k), the
Heisenberg uncertainty principle The uncertainty principle, also known as Heisenberg's indeterminacy principle, is a fundamental concept in quantum mechanics. It states that there is a limit to the precision with which certain pairs of physical properties, such as position a ...
states that :D_0(X)D_0(x)\ge\frac where D_0(X) and D_0(x) are the variances of , X, ^2 and , x, ^2 respectively, with the equality attained in the case of a suitably normalized
Gaussian distribution In probability theory and statistics, a normal distribution or Gaussian distribution is a type of continuous probability distribution for a real number, real-valued random variable. The general form of its probability density function is f(x ...
. Although the variances may be analogously defined for the DFT, an analogous uncertainty principle is not useful, because the uncertainty will not be shift-invariant. Still, a meaningful uncertainty principle has been introduced by Massar and Spindel. 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 :H(X)=-\sum_^ P_n\ln P_n and :H(x)=-\sum_^ Q_m\ln Q_m , and the entropic uncertainty principle becomes :H(X)+H(x) \ge \ln(N) . The equality is obtained for P_n equal to translations and modulations of a suitably normalized Kronecker comb of period A where A is any exact integer divisor of N. The probability mass function Q_m will then be proportional to a suitably translated Kronecker comb of period B=N/A.


Deterministic uncertainty principle

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 and \left\, X\right\, _0 be the number of non-zero elements of the time and frequency sequences x_0,x_1,\ldots,x_ and X_0,X_1,\ldots,X_, respectively. Then, :N \leq \left\, x\right\, _0 \cdot \left\, X\right\, _0. As an immediate consequence of the
inequality of arithmetic and geometric means Inequality may refer to: * Inequality (mathematics), a relation between two quantities when they are different. * Economic inequality, difference in economic well-being between population groups ** Income inequality, an unequal distribution of in ...
, one also has 2\sqrt \leq \left\, x\right\, _0 + \left\, X\right\, _0. Both uncertainty principles were shown to be tight for specifically chosen "picket-fence" sequences (discrete impulse trains), and find practical use for signal recovery applications.


DFT of real and purely imaginary signals

* If x_0, \ldots, x_ are
real number In mathematics, a real number is a number that can be used to measure a continuous one- dimensional quantity such as a duration or temperature. Here, ''continuous'' means that pairs of values can have arbitrarily small differences. Every re ...
s, as they often are in practical applications, then the DFT X_0, \ldots, X_ is even symmetric: :x_n \in \mathbb \quad \forall n \in \ \implies X_k = X_^* \quad \forall k \in \, where X^*\, denotes
complex conjugation In mathematics, the complex conjugate of a complex number is the number with an equal real part and an imaginary part equal in magnitude but opposite in sign. That is, if a and b are real numbers, then the complex conjugate of a + bi is a - ...
. It follows that for even N X_0 and X_ are real-valued, and the remainder of the DFT is completely specified by just N/2-1 complex numbers. * If x_0, \ldots, x_ are purely imaginary numbers, then the DFT X_0, \ldots, X_ is odd symmetric: :x_n \in i \mathbb \quad \forall n \in \ \implies X_k = -X_^* \quad \forall k \in \, where X^*\, denotes
complex conjugation In mathematics, the complex conjugate of a complex number is the number with an equal real part and an imaginary part equal in magnitude but opposite in sign. That is, if a and b are real numbers, then the complex conjugate of a + bi is a - ...
.


Generalized DFT (shifted and non-linear phase)

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: :X_k = \sum_^ x_n e^ \quad \quad k = 0, \dots, N-1. Most often, shifts of 1/2 (half a sample) are used. While the ordinary DFT corresponds to a periodic signal in both time and frequency domains, a=1/2 produces a signal that is anti-periodic in frequency domain (X_ = - X_k) and vice versa for b=1/2. Thus, the specific case of a = b = 1/2 is known as an ''odd-time odd-frequency'' discrete Fourier transform (or O2 DFT). Such shifted transforms are most often used for symmetric data, to represent different boundary symmetries, and for real-symmetric data they correspond to different forms of the discrete
cosine In mathematics, sine and cosine are trigonometric functions of an angle. The sine and cosine of an acute angle are defined in the context of a right triangle: for the specified angle, its sine is the ratio of the length of the side opposite that ...
and
sine In mathematics, sine and cosine are trigonometric functions of an angle. The sine and cosine of an acute angle are defined in the context of a right triangle: for the specified angle, its sine is the ratio of the length of the side opposite th ...
transforms. Another interesting choice is a=b=-(N-1)/2, which is called the centered DFT (or CDFT). The centered DFT has the useful property that, when ''N'' is a multiple of four, all four of its eigenvalues (see above) have equal multiplicities (Rubio and Santhanam, 2005) 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.


Multidimensional DFT

The ordinary DFT transforms a one-dimensional sequence or array x_n that is a function of exactly one discrete variable ''n''. The multidimensional DFT of a multidimensional array x_ that is a function of ''d'' discrete variables n_\ell = 0, 1, \dots, N_\ell-1 for \ell in 1, 2, \dots, d is defined by: :X_ = \sum_^ \left(\omega_^ \sum_^ \left( \omega_^ \cdots \sum_^ \omega_^\cdot x_ \right) \right) , where \omega_ = \exp(-i 2\pi/N_\ell) as above and the ''d'' output indices run from k_\ell = 0, 1, \dots, N_\ell-1. This is more compactly expressed in
vector Vector most often refers to: * Euclidean vector, a quantity with a magnitude and a direction * Disease vector, an agent that carries and transmits an infectious pathogen into another living organism Vector may also refer to: Mathematics a ...
notation, where we define \mathbf = (n_1, n_2, \dots, n_d) and \mathbf = (k_1, k_2, \dots, k_d) as ''d''-dimensional vectors of indices from 0 to \mathbf - 1, which we define as \mathbf - 1 = (N_1 - 1, N_2 - 1, \dots, N_d - 1): :X_\mathbf = \sum_^ e^ x_\mathbf \, , where the division \mathbf / \mathbf is defined as \mathbf / \mathbf = (n_1/N_1, \dots, n_d/N_d) to be performed element-wise, and the sum denotes the set of nested summations above. The inverse of the multi-dimensional DFT is, analogous to the one-dimensional case, given by: :x_\mathbf = \frac \sum_^ e^ X_\mathbf \, . As the one-dimensional DFT expresses the input x_n as a superposition of sinusoids, the multidimensional DFT expresses the input as a superposition of plane waves, or multidimensional sinusoids. The direction of oscillation in space is \mathbf / \mathbf. The amplitudes are X_\mathbf. This decomposition is of great importance for everything from digital image processing (two-dimensional) to solving
partial differential equations In mathematics, a partial differential equation (PDE) is an equation which involves a multivariable function and one or more of its partial derivatives. The function is often thought of as an "unknown" that solves the equation, similar to how ...
. The solution is broken up into plane waves. 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_ the N_1 independent DFTs of the rows (i.e., along n_2) are computed first to form a new array y_. Then the N_2 independent DFTs of ''y'' along the columns (along n_1) are computed to form the final result X_. Alternatively the columns can be computed first and then the rows. The order is immaterial because the nested summations above commute. 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.


The real-input multidimensional DFT

For input data x_ consisting of
real numbers In mathematics, a real number is a number that can be used to measurement, measure a continuous variable, continuous one-dimensional quantity such as a time, duration or temperature. Here, ''continuous'' means that pairs of values can have arbi ...
, the DFT outputs have a conjugate symmetry similar to the one-dimensional case above: :X_ = X_^* , where the star again denotes complex conjugation and the \ell-th subscript is again interpreted modulo N_\ell (for \ell = 1,2,\ldots,d).


Applications

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 A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT). A Fourier transform converts a signal from its original domain (often time or space) to a representation in ...
.


Spectral analysis

When the DFT is used for signal spectral analysis, the \ sequence usually represents a finite set of uniformly spaced time-samples of some signal x(t)\,, where t represents time. The conversion from continuous time to samples (discrete-time) changes the underlying
Fourier transform In mathematics, the Fourier transform (FT) is an integral transform that takes a function as input then outputs another function that describes the extent to which various frequencies are present in the original function. The output of the tr ...
of x(t) into a discrete-time Fourier transform (DTFT), which generally entails a type of distortion called aliasing. Choice of an appropriate sample-rate (see '' Nyquist rate'') is the key to minimizing that distortion. Similarly, the conversion from a very long (or infinite) sequence to a manageable size entails a type of distortion called '' leakage'', which is manifested as a loss of detail (a.k.a. resolution) in the DTFT. Choice of an appropriate sub-sequence length is the primary key to minimizing that effect. When the available data (and time to process it) is more than the amount needed to attain the desired frequency resolution, a standard technique is to perform multiple DFTs, for example to create a
spectrogram A spectrogram is a visual representation of the spectrum of frequencies of a signal as it varies with time. When applied to an audio signal, spectrograms are sometimes called sonographs, voiceprints, or voicegrams. When the data are represen ...
. If the desired result is a power spectrum and noise or randomness is present in the data, averaging the magnitude components of the multiple DFTs is a useful procedure to reduce the
variance In probability theory and statistics, variance is the expected value of the squared deviation from the mean of a random variable. The standard deviation (SD) is obtained as the square root of the variance. Variance is a measure of dispersion ...
of the spectrum (also called a periodogram in this context); two examples of such techniques are the Welch method and the Bartlett method; the general subject of estimating the power spectrum of a noisy signal is called spectral estimation. 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 procedure is sometimes referred to as ''zero-padding'', which is a particular implementation used in conjunction with the
fast Fourier transform A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT). A Fourier transform converts a signal from its original domain (often time or space) to a representation in ...
(FFT) algorithm. The inefficiency of performing multiplications and additions with zero-valued "samples" is more than offset by the inherent efficiency of the FFT. * As already stated, leakage imposes a limit on the inherent resolution of the DTFT, so there is a practical limit to the benefit that can be obtained from a fine-grained DFT. Steps to Perform Spectral Analysis of Audio Signal 1.Recording and Pre-Processing the Audio Signal Begin by recording the audio signal, which could be a spoken password,
music Music is the arrangement of sound to create some combination of Musical form, form, harmony, melody, rhythm, or otherwise Musical expression, expressive content. Music is generally agreed to be a cultural universal that is present in all hum ...
, or any other
sound In physics, sound is a vibration that propagates as an acoustic wave through a transmission medium such as a gas, liquid or solid. In human physiology and psychology, sound is the ''reception'' of such waves and their ''perception'' by the br ...
. Once recorded, the audio signal is denoted as x where n represents the discrete time index. To enhance the accuracy of spectral analysis, any unwanted noise should be reduced using appropriate filtering techniques. 2.Plotting the Original Time-Domain Signal After
noise Noise is sound, chiefly unwanted, unintentional, or harmful sound considered unpleasant, loud, or disruptive to mental or hearing faculties. From a physics standpoint, there is no distinction between noise and desired sound, as both are vibrat ...
reduction, the audio signal is plotted in the time domain to visualize its characteristics over time. This helps in understanding the amplitude variations of the signal as a function of time, which provides an initial insight into the signal's behavior. 3.Transforming the Signal from Time Domain to Frequency Domain The next step is to transform the audio signal from the time domain to the frequency domain using the Discrete Fourier Transform (DFT). The DFT is defined as: X = \sum_^ x \cdot e^ where N is the total number of samples, k represents the frequency index, and X is the complex-valued frequency spectrum of the signal. The DFT allows for decomposing the signal into its constituent frequency components, providing a representation that indicates which frequencies are present and their respective magnitudes. 4.Plotting the Magnitude Spectrum The magnitude of the frequency-domain representation X is plotted to analyze the spectral content. The magnitude spectrum shows how the energy of the signal is distributed across different frequencies, which is useful for identifying prominent frequency components. It is calculated as: , X = \sqrt


Example

Analyze a discrete-time audio signal in the frequency domain using the DFT to identify its frequency components


Given Data

Let's consider a simple discrete-time audio signal represented as: x = \ where n represents discrete time samples of the signal. 1.Time-Domain Signal Representation The given time-domain signal is: x = 1, \quad x = 0.5, \quad x = -0.5, \quad x = -1


= 2.DFT Calculation

= The DFT is calculated using the formula: X = \sum_^ x \cdot e^ where N is the number of samples (in this case, N=4). Let's compute X for k=0,1,2,3 For k=0: X = 1 \cdot e^ + 0.5 \cdot e^ + (-0.5) \cdot e^ + (-1) \cdot e^ X = 1 + 0.5 - 0.5 - 1 = 0 For k=1: X = 1 \cdot e^ + 0.5 \cdot e^ + (-0.5) \cdot e^ + (-1) \cdot e^ X = 1 + 0.5(-j) + (-0.5)(-1) + (-1)(j) X = 1 - 0.5j + 0.5 - j = 1.5 - 1.5j For k=2: X = 1 \cdot e^ + 0.5 \cdot e^ + (-0.5) \cdot e^ + (-1) \cdot e^ X = 1 + 0.5(-1) + (-0.5)(1) + (-1)(-1) X = 1 - 0.5 - 0.5 + 1 = 1 For k=3: X = 1 \cdot e^ + 0.5 \cdot e^ + (-0.5) \cdot e^ + (-1) \cdot e^ X = 1 + 0.5j + (-0.5)(-1) + (-1)(-j) X = 1 + 0.5j + 0.5 + j = 1.5 + 1.5j


= 3.Magnitude Spectrum

= The magnitude of X represents the strength of each frequency component: , X = 0, \quad , X = \sqrt = \sqrt \approx 2.12 , X = 1, \quad , X = \sqrt = \sqrt \approx 2.12 The resulting frequency components indicate the distribution of signal energy at different frequencies. The peaks in the magnitude spectrum correspond to dominant frequencies in the original signal.


Optics, diffraction, and tomography

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.


Filter bank

See and .


Data compression

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 A discrete cosine transform (DCT) expresses a finite sequence of data points in terms of a sum of cosine functions oscillating at different frequency, frequencies. The DCT, first proposed by Nasir Ahmed (engineer), Nasir Ahmed in 1972, is a widely ...
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 JPEG ( , short for Joint Photographic Experts Group and sometimes retroactively referred to as JPEG 1) is a commonly used method of lossy compression for digital images, particularly for those images produced by digital photography. The degr ...
.


Partial differential equations

Discrete Fourier transforms are often used to solve
partial differential equations In mathematics, a partial differential equation (PDE) is an equation which involves a multivariable function and one or more of its partial derivatives. The function is often thought of as an "unknown" that solves the equation, similar to how ...
, where again the DFT is used as an approximation for the
Fourier series A Fourier series () is an Series expansion, expansion of a periodic function into a sum of trigonometric functions. The Fourier series is an example of a trigonometric series. By expressing a function as a sum of sines and cosines, many problems ...
(which is recovered in the limit of infinite ''N''). The advantage of this approach is that it expands the signal in complex exponentials e^, which are eigenfunctions of differentiation: /\textx = in e^. Thus, in the Fourier representation, differentiation is simple—we just multiply by in. (However, the choice of n is not unique due to aliasing; for the method to be convergent, a choice similar to that in the trigonometric interpolation section above should be used.) A
linear differential equation In mathematics, a linear differential equation is a differential equation that is linear equation, linear in the unknown function and its derivatives, so it can be written in the form a_0(x)y + a_1(x)y' + a_2(x)y'' \cdots + a_n(x)y^ = b(x) wher ...
with constant coefficients is transformed into an easily solvable algebraic equation. One then uses the inverse DFT to transform the result back into the ordinary spatial representation. Such an approach is called a spectral method.


Polynomial multiplication

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, :\mathbf = \mathbf * \mathbf Where c is the vector of coefficients for ''c''(''x''), and the convolution operator *\, is defined so :c_n = \sum_^a_m b_ \qquad\qquad\qquad n=0,1\dots,d-1 But convolution becomes multiplication under the DFT: :\mathcal(\mathbf) = \mathcal(\mathbf)\mathcal(\mathbf) 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 :\mathbf = \mathcal^(\mathcal(\mathbf)\mathcal(\mathbf)). With a
fast Fourier transform A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT). A Fourier transform converts a signal from its original domain (often time or space) to a representation in ...
, 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).


Multiplication of large integers

The fastest known
algorithms In mathematics and computer science, an algorithm () is a finite sequence of mathematically rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for per ...
for the multiplication of very large
integer An integer is the number zero (0), a positive natural number (1, 2, 3, ...), or the negation of a positive natural number (−1, −2, −3, ...). The negations or additive inverses of the positive natural numbers are referred to as negative in ...
s 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 \cdot 10^2 + 2 \cdot 10^1 + 3 \cdot 10^0). After polynomial multiplication, a relatively low-complexity carry-propagation step completes the multiplication.


Convolution

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.


Some discrete Fourier transform pairs

{, class="wikitable" style="text-align: center;" , + Some DFT pairs , - ! x_n = \frac{1}{N}\sum_{k=0}^{N-1}X_k e^{i 2 \pi kn/N} ! X_k = \sum_{n=0}^{N-1}x_n e^{-i 2 \pi kn/N} ! Note , - , x_n e^{i 2 \pi n\ell/N} \, , X_{k-\ell}\, , Frequency shift theorem , - , x_{n-\ell}\, , X_k e^{-i 2 \pi k\ell/N} \, , Time shift theorem , - , x_n \in \mathbb{R} , X_k=X_{N-k}^*\, , Real DFT , - , a^n\, , \left\{ \begin{matrix} N & \mbox{if } a = e^{i 2 \pi k/N} \\ \frac{1-a^N}{1-a \, e^{-i 2 \pi k/N} } & \mbox{otherwise} \end{matrix} \right. , from the geometric progression formula , - , {N-1 \choose n}\, , \left(1+e^{-i 2 \pi k/N} \right)^{N-1}\, , from the
binomial theorem In elementary algebra, the binomial theorem (or binomial expansion) describes the algebraic expansion of powers of a binomial. According to the theorem, the power expands into a polynomial with terms of the form , where the exponents and a ...
, - , \left\{ \begin{matrix} \frac{1}{W} & \mbox{if } 2n < W \mbox{ or } 2(N-n) < W \\ 0 & \mbox{otherwise} \end{matrix} \right. , \left\{ \begin{matrix} 1 & \mbox{if } k = 0 \\ \frac{\sin\left(\frac{\pi W k}{N}\right)} {W \sin\left(\frac{\pi k}{N}\right)} & \mbox{otherwise} \end{matrix} \right. , x_n is a rectangular window function of ''W'' points centered on ''n''=0, where ''W'' is an odd integer, and X_k is a sinc-like function (specifically, X_k is a Dirichlet kernel) , - , \sum_{j\in\mathbb{Z \exp\left(-\frac{\pi}{cN}\cdot(n+N\cdot j)^2\right) , \sqrt{cN} \cdot \sum_{j\in\mathbb{Z \exp\left(-\frac{\pi c}{N}\cdot(k+N\cdot j)^2\right) ,
Discretization In applied mathematics, discretization is the process of transferring continuous functions, models, variables, and equations into discrete counterparts. This process is usually carried out as a first step toward making them suitable for numeri ...
and periodic summation of the scaled
Gaussian function In mathematics, a Gaussian function, often simply referred to as a Gaussian, is a function (mathematics), function of the base form f(x) = \exp (-x^2) and with parametric extension f(x) = a \exp\left( -\frac \right) for arbitrary real number, rea ...
s for c>0. Since either c or \frac{1}{c} is larger than one and thus warrants fast convergence of one of the two series, for large c you may choose to compute the frequency spectrum and convert to the time domain using the discrete Fourier transform.


Generalizations


Representation theory

The DFT can be interpreted as a complex-valued representation of the finite
cyclic group In abstract algebra, a cyclic group or monogenous group is a Group (mathematics), group, denoted C_n (also frequently \Z_n or Z_n, not to be confused with the commutative ring of P-adic number, -adic numbers), that is Generating set of a group, ge ...
. In other words, a sequence of n complex numbers can be thought of as an element of n-dimensional complex space \mathbb{C}^n or equivalently a function f from the finite cyclic group of order n to the complex numbers, \mathbb{Z}_n \mapsto \mathbb{C}. So f is a class function on the finite cyclic group, and thus can be expressed as a linear combination of the irreducible characters of this group, which are the roots of unity. 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 fields

Many of the properties of the DFT only depend on the fact that e^{-\frac{i 2 \pi}{N is a primitive root of unity, sometimes denoted \omega_N or W_N (so that \omega_N^N = 1). Such properties include the completeness, orthogonality, Plancherel/Parseval, periodicity, shift, convolution, and unitarity properties above, as well as many FFT algorithms. For this reason, the discrete Fourier transform can be defined by using roots of unity in fields other than the complex numbers, and such generalizations are commonly called ''number-theoretic transforms'' (NTTs) in the case of
finite field In mathematics, a finite field or Galois field (so-named in honor of Évariste Galois) is a field (mathematics), field that contains a finite number of Element (mathematics), elements. As with any field, a finite field is a Set (mathematics), s ...
s. For more information, see number-theoretic transform and discrete Fourier transform (general).


Other finite groups

The standard DFT acts on a sequence ''x''0, ''x''1, ..., ''x''''N''−1 of complex numbers, which can be viewed as a function {0, 1, ..., ''N'' − 1} → C. The multidimensional DFT acts on multidimensional sequences, which can be viewed as functions : \{0, 1, \ldots, N_1-1\} \times \cdots \times \{0, 1, \ldots, N_d-1\} \to \mathbb{C}. This suggests the generalization to Fourier transforms on arbitrary finite groups, which act on functions ''G'' → C where ''G'' is a
finite group In abstract algebra, a finite group is a group whose underlying set is finite. Finite groups often arise when considering symmetry of mathematical or physical objects, when those objects admit just a finite number of structure-preserving tra ...
. In this framework, the standard DFT is seen as the Fourier transform on a
cyclic group In abstract algebra, a cyclic group or monogenous group is a Group (mathematics), group, denoted C_n (also frequently \Z_n or Z_n, not to be confused with the commutative ring of P-adic number, -adic numbers), that is Generating set of a group, ge ...
, while the multidimensional DFT is a Fourier transform on a direct sum of cyclic groups. Further, Fourier transform can be on cosets of a group.


Alternatives

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

* Companion matrix *
DFT matrix In applied mathematics, a DFT matrix is a ''square matrix'' as an expression of a discrete Fourier transform (DFT) as a transformation matrix, which can be applied to a signal through matrix multiplication. Definition An ''N''-point DFT is expres ...
*
Fast Fourier transform A fast Fourier transform (FFT) is an algorithm that computes the discrete Fourier transform (DFT) of a sequence, or its inverse (IDFT). A Fourier transform converts a signal from its original domain (often time or space) to a representation in ...
* FFTPACK * FFTW * Generalizations of Pauli matrices *
Least-squares spectral analysis Least-squares spectral analysis (LSSA) is a method of estimating a Spectral density estimation#Overview, frequency spectrum based on a least-squares fit of Sine wave, sinusoids to data samples, similar to Fourier analysis. Fourier analysis, the ...
*
List of Fourier-related transforms This is a list of linear transformations of function (mathematics), functions related to Fourier analysis. Such transformations Map (mathematics), map a function to a set of coefficients of basis functions, where the basis functions are trigonomet ...
* Multidimensional transform * Zak transform * Quantum Fourier transform


Notes


References


Further reading

* * * esp. section 30.2: The DFT and FFT, pp. 830–838. * * * (Note that this paper has an apparent typo in its table of the eigenvalue multiplicities: the +''i''/−''i'' columns are interchanged. The correct table can be found in McClellan and Parks, 1972, and is easily confirmed numerically.) * * * * * * * * * * "Digital Signal Processing" by Thomas Holton.


External links


Interactive explanation of the DFT

Matlab tutorial on the Discrete Fourier Transformation




* ttp://www.fftw.org FFTW: Fast implementation of the DFT - coded in C and under General Public License (GPL)
General Purpose FFT Package: Yet another fast DFT implementation in C & FORTRAN, permissive license










{{DEFAULTSORT:Discrete Fourier Transform Fourier analysis Digital signal processing Numerical analysis Discrete transforms Unitary operators cs:Fourierova transformace#Diskrétní Fourierova transformace pt:Transformada de Fourier#Transformada discreta de Fourier fi:Fourier'n muunnos#Diskreetti Fourier'n muunnos