MarketDiscrete Fourier transform
Company Profile

Discrete Fourier transform

In mathematics, the discrete Fourier transform (DFT) is a discrete version of the Fourier transform that converts a finite sequence of numbers into another sequence of the same length, representing the amplitude and phase of different frequency components. In this way, it changes data from a description in terms of sampled values to a description in terms of oscillations. The inverse discrete Fourier transform reverses this process and recovers the original sequence.

Definition
The discrete Fourier transform transforms a sequence of N complex numbers \left \{ \mathbf{x}_n \right \} := x_0, x_1, \ldots, x_{N-1} into another sequence of complex numbers, \left \{ \mathbf{X}_k \right \} := X_0, X_1, \ldots, X_{N-1}, which is defined by: {{Equation box 1|title=Discrete Fourier transform X_k = \sum_{n=0}^{N-1} x_n \cdot e^{-i2\pi \tfrac{k}{N}n}     }} The transform is sometimes denoted by the symbol \mathcal{F}, as in \mathbf{X} = \mathcal{F} \left \{ \mathbf{x} \right \} or \mathcal{F} \left ( \mathbf{x} \right ) or \mathcal{F} \mathbf{x}. As a linear transformation on a finite-dimensional vector space, the DFT expression can also be written in terms of a DFT matrix. When scaled appropriately, it becomes a unitary matrix, and the DFT can thus be viewed as a transformation from one orthonormal basis to another. 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^{i 2 \pi \tfrac{k}{N}n}\right) of the function x_n. (See Discrete Fourier series.) The sinusoid's frequency is k cycles per N samples. The normalization factor multiplying the DFT and inverse DFT (IDFT), here 1 and \tfrac{1}{N}, 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{1}{N}. An uncommon normalization of \sqrt{\tfrac{1}{N}} for both the DFT and IDFT makes the transform-pair unitary. can also be evaluated outside the domain k \in [0,N-1], and that extended sequence is N-periodic. Accordingly, other sequences of N indices are sometimes used, such as \left[-\frac{N}{2}, \frac{N}{2} - 1\right] (if N is even) and \left[-\frac{N-1}{2}, \frac{N-1}{2}\right] (if N is odd), which amounts to swapping the left and right halves of the result of the transform. 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. can be interpreted or derived in various ways, for example: (Using the DTFT with periodic data) :C_k = \frac{1}{P}\int_P x(t)e^{-i 2\pi \tfrac{k}{P} t}\, dt. }} ==Example==
Example
This example demonstrates how to apply the DFT to a sequence of length N = 4 and the input vector \mathbf{x} = \begin{pmatrix} x_0 \\ x_1 \\ x_2 \\ x_3 \end{pmatrix} = \begin{pmatrix} 1 \\ 2-i \\ -i \\ -1+2i \end{pmatrix}. Calculating the DFT of \mathbf{x} using \begin{align} X_0 &= e^{-i 2 \pi 0 \cdot 0 / 4} \cdot 1 + e^{-i 2 \pi 0 \cdot 1 / 4} \cdot (2-i) + e^{-i 2 \pi 0 \cdot 2 / 4} \cdot (-i) + e^{-i 2 \pi 0 \cdot 3 / 4} \cdot (-1+2i) = 2 \\ X_1 &= e^{-i 2 \pi 1 \cdot 0 / 4} \cdot 1 + e^{-i 2 \pi 1 \cdot 1 / 4} \cdot (2-i) + e^{-i 2 \pi 1 \cdot 2 / 4} \cdot (-i) + e^{-i 2 \pi 1 \cdot 3 / 4} \cdot (-1+2i) = -2-2i \\ X_2 &= e^{-i 2 \pi 2 \cdot 0 / 4} \cdot 1 + e^{-i 2 \pi 2 \cdot 1 / 4} \cdot (2-i) + e^{-i 2 \pi 2 \cdot 2 / 4} \cdot (-i) + e^{-i 2 \pi 2 \cdot 3 / 4} \cdot (-1+2i) = -2i \\ X_3 &= e^{-i 2 \pi 3 \cdot 0 / 4} \cdot 1 + e^{-i 2 \pi 3 \cdot 1 / 4} \cdot (2-i) + e^{-i 2 \pi 3 \cdot 2 / 4} \cdot (-i) + e^{-i 2 \pi 3 \cdot 3 / 4} \cdot (-1+2i) = 4+4i \end{align} results in \mathbf{X} = \begin{pmatrix} X_0 \\ X_1 \\ X_2 \\ X_3 \end{pmatrix} = \begin{pmatrix} 2 \\ -2-2i \\ -2i \\ 4+4i \end{pmatrix}. ==Properties==
Properties
Linearity The DFT is a linear transform, i.e. if \mathcal{F}(\{x_n\})_k=X_k and \mathcal{F}(\{y_n\})_k=Y_k, then for any complex numbers a,b: :\mathcal{F}(\{a x_n + b y_n\})_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). The Plancherel theorem is a special case of Parseval's theorem and states: :\sum_{n=0}^{N-1} |x_n|^2 = \frac{1}{N} \sum_{k=0}^{N-1} |X_k|^2. These theorems are also equivalent to the unitary condition below. Periodicity The periodicity can be shown directly from the definition: : X_{k+N} \ \triangleq \ \sum_{n=0}^{N-1} x_n e^{-\frac{i 2\pi}{N} (k+N) n} = \sum_{n=0}^{N-1} x_n e^{-\frac{i 2\pi}{N} k n} \underbrace{e^{-i 2 \pi n}}_{1} = \sum_{n=0}^{N-1} x_n e^{-\frac{i 2\pi}{N} k n} = 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^{\frac{i 2\pi}{N} nm} for some integer m corresponds to a circular shift of the output X_k: X_k is replaced by X_{k-m}, where the subscript is interpreted modulo N (i.e., periodically). :\mathcal{F}^{-1}(\{x_n\}) = \frac{1}{N}\mathcal{F}(\{x_{N - n}\}) (As usual, the subscripts are interpreted modulo N; thus, for n = 0, we have x_{N-0} = x_0.) Second, one can also conjugate the inputs and outputs: :\mathcal{F}^{-1}(\mathbf{x}) = \frac{1}{N}\mathcal{F}\left(\mathbf{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 \operatorname{swap}(x_n) as x_n with its real and imaginary parts swapped—that is, if x_n = a + b i then \operatorname{swap}(x_n) is b + a i. Equivalently, \operatorname{swap}(x_n) equals i x_n^*. Then :\mathcal{F}^{-1}(\mathbf{x}) = \frac{1}{N}\operatorname{swap}(\mathcal{F}(\operatorname{swap}(\mathbf{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. Consider the unitary form \mathbf{U} defined above for the DFT of length N, where :\mathbf{U}_{m,n} = \frac 1{\sqrt{N}}\omega_N^{(m-1)(n-1)} = \frac 1{\sqrt{N}}e^{-\frac{i 2\pi}N (m-1)(n-1)}. This matrix satisfies the matrix polynomial equation: :\mathbf{U}^4 = \mathbf{I}. This can be seen from the inverse properties above: operating \mathbf{U} twice gives the original data in reverse order, so operating \mathbf{U} four times gives back the original data and is thus the identity matrix. This means that the eigenvalues \lambda satisfy the equation: :\lambda^4 = 1. Therefore, the eigenvalues of \mathbf{U} are the fourth roots of unity: \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 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 (Dickinson and Steiglitz, 1982). The multiplicity depends on the value of N modulo 4, and is given by the following table: Otherwise stated, the characteristic polynomial of \mathbf{U} is: :\det (\lambda I - \mathbf{U})= (\lambda-1)^{\left\lfloor \tfrac {N+4}{4}\right\rfloor} (\lambda+1)^{\left\lfloor \tfrac {N+2}{4}\right\rfloor} (\lambda+i)^{\left\lfloor \tfrac {N+1}{4}\right\rfloor} (\lambda-i)^{\left\lfloor \tfrac {N-1}{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; 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: : \mathcal{P}_\lambda=\frac{1}{4}\left( \mathbf{I}+\lambda^{-1}\mathbf{U}+\lambda^{-2}\mathbf{U}^2+\lambda^{-3} \mathbf{U}^3\right) For an arbitrary vector \mathbf{v}, vector \mathbf{u}(\lambda)=\mathcal{P}_{\lambda}\mathbf{v} satisfies: : \textbf{U}\mathbf{u}(\lambda)=\lambda \mathbf{u}(\lambda) hence, vector \mathbf{u}(\lambda) is, indeed, the eigenvector of DFT matrix \mathbf{U}. Operators \mathcal{P}_{\lambda} project vectors onto subspaces which are orthogonal for each value of \lambda. 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 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_{k\in\mathbb{Z}} \exp\left(-\frac{\pi\cdot(m+N\cdot k)^2}{N}\right). The closed form expression for the series can be expressed by Jacobi theta functions as • F(m) = \frac1{\sqrt{N}}\vartheta_3\left(\frac{\pi m}N, \exp\left(-\frac{\pi}N \right)\right). Several other simple closed-form analytical eigenvectors for special DFT period N were found (Casper-Yakimov, 2024): For DFT period N = 2L + 1 = 4K + 1, where K is an integer, the following is an eigenvector of DFT: • F(m) = \prod_{s=K+1}^L \left[\cos\left(\frac{2\pi}{N}m\right) - \cos\left(\frac{2\pi}{N}s\right)\right] For DFT period N = 2L = 4K, where K is an integer, the following are eigenvectors of DFT: • F(m) = \sin\left(\frac{2\pi}{N}m\right) \prod_{s=K+1}^{L-1}\left[\cos\left(\frac{2\pi}{N}m\right)- \cos\left(\frac{2\pi}{N}s\right)\right] • F(m) = \cos\left(\frac{\pi}{N}m\right)\prod_{s=K+1}^{3K-1} \sin\left(\frac{\pi(s-m)}{N}\right) For DFT period N = 4K - 1, where K is an integer, the following are eigenvectors of DFT: • F(m) = \sin\left(\frac{2\pi}{N}m\right)\prod_{s=K+1}^{3K-2} \sin\left(\frac{\pi(s-m)}{N}\right) • F(m) = \left(\cos\left(\frac{2\pi}{N}m\right)-\cos\left(\frac{2\pi}{N} K \right) \pm \sin\left(\frac{2\pi}{N}K\right)\right)\prod_{s=K+1}^{3K-2} \sin\left(\frac{\pi(s-m)}{N}\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. 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. 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_{n=0}^{N-1} |X_n|^2 = 1 , then :P_n=|X_n|^2 may be considered to represent a discrete probability mass function 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 states that :D_0(X)D_0(x)\ge\frac{1}{16\pi^2} 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. 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_{n=0}^{N-1} P_n\ln P_n and :H(x)=-\sum_{m=0}^{N-1} 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_{N-1} and X_0,X_1,\ldots,X_{N-1}, 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, one also has 2\sqrt{N} \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_{N-1} are real numbers, as they often are in practical applications, then the DFT X_0, \ldots, X_{N-1} is even symmetric: :x_n \in \mathbb{R} \quad \forall n \in \{0,\ldots,N-1 \} \implies X_k = X_{-k \mod N}^* \quad \forall k \in \{0,\ldots,N-1 \}, where X^*\, denotes complex conjugation. It follows that for even N X_0 and X_{N/2} are real-valued, and the remainder of the DFT is completely specified by just N/2-1 complex numbers. • If x_0, \ldots, x_{N-1} are purely imaginary numbers, then the DFT X_0, \ldots, X_{N-1} is odd symmetric: :x_n \in i \mathbb{R} \quad \forall n \in \{0,\ldots,N-1 \} \implies X_k = -X_{-k \mod N}^* \quad \forall k \in \{0,\ldots,N-1 \}, where X^*\, denotes complex conjugation. ==Generalized DFT (shifted and non-linear phase)==
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_{n=0}^{N-1} x_n e^{-\frac{i 2 \pi}{N} (k+b) (n+a)} \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_{k+N} = - 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 and sine 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. 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. 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_{n_1, n_2, \dots, n_d} 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_{k_1, k_2, \dots, k_d} = \sum_{n_1=0}^{N_1-1} \left(\omega_{N_1}^{~k_1 n_1} \sum_{n_2=0}^{N_2-1} \left( \omega_{N_2}^{~k_2 n_2} \cdots \sum_{n_d=0}^{N_d-1} \omega_{N_d}^{~k_d n_d}\cdot x_{n_1, n_2, \dots, n_d} \right) \right) , where \omega_{N_\ell} = \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 notation, where we define \mathbf{n} = (n_1, n_2, \dots, n_d) and \mathbf{k} = (k_1, k_2, \dots, k_d) as d-dimensional vectors of indices from 0 to \mathbf{N} - 1, which we define as \mathbf{N} - 1 = (N_1 - 1, N_2 - 1, \dots, N_d - 1): :X_\mathbf{k} = \sum_{\mathbf{n}=\mathbf{0}}^{\mathbf{N}-1} e^{-i 2\pi \mathbf{k} \cdot (\mathbf{n} / \mathbf{N})} x_\mathbf{n} \, , where the division \mathbf{n} / \mathbf{N} is defined as \mathbf{n} / \mathbf{N} = (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{n} = \frac{1}{\prod_{\ell=1}^d N_\ell} \sum_{\mathbf{k}=\mathbf{0}}^{\mathbf{N}-1} e^{i 2\pi \mathbf{n} \cdot (\mathbf{k} / \mathbf{N})} X_\mathbf{k} \, . 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{k} / \mathbf{N}. The amplitudes are X_\mathbf{k}. This decomposition is of great importance for everything from digital image processing (two-dimensional) to solving partial differential equations. 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_{n_1,n_2} the N_1 independent DFTs of the rows (i.e., along n_2) are computed first to form a new array y_{n_1,k_2}. Then the N_2 independent DFTs of y along the columns (along n_1) are computed to form the final result X_{k_1,k_2}. 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_{n_1, n_2, \dots, n_d} consisting of real numbers, the DFT outputs have a conjugate symmetry similar to the one-dimensional case above: :X_{k_1, k_2, \dots, k_d} = X_{N_1 - k_1, N_2 - k_2, \dots, N_d - k_d}^* , 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 ==
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. Spectral analysis When the DFT is used for signal spectral analysis, the \{x_n\} 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 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. 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 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 (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. 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 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. Partial differential equations 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 e^{inx}, which are eigenfunctions of differentiation: {\text{d} \big( e^{inx} \big) }/\text{d}x = in e^{inx}. 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 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{c} = \mathbf{a} * \mathbf{b} Where c is the vector of coefficients for c(x), and the convolution operator *\, is defined so :c_n = \sum_{m=0}^{d-1}a_m b_{n-m\ \mathrm{mod}\ d} \qquad\qquad\qquad n=0,1,\dots,d-1 But convolution becomes multiplication under the DFT: :\mathcal{F}(\mathbf{c}) = \mathcal{F}(\mathbf{a})\mathcal{F}(\mathbf{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 :\mathbf{c} = \mathcal{F}^{-1}(\mathcal{F}(\mathbf{a})\mathcal{F}(\mathbf{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). Multiplication of large integers 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 \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==
Generalizations
Representation theory The DFT can be interpreted as a complex-valued representation of the finite cyclic group. 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 fields. For more information, see number-theoretic transform and discrete Fourier transform (general). Other finite groups The standard DFT acts on a sequence x0, x1, ..., xN−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 GC where G is a finite group. In this framework, the standard DFT is seen as the Fourier transform on a cyclic group, 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==
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==
tickerdossier.comtickerdossier.substack.com