Discrete-time Fourier transform
In mathematics, the discrete-time Fourier transform (DTFT) is a form of Fourier analysis that is applicable to the uniformly-spaced samples of a continuous function. The term discrete-time refers to the fact that the transform operates on discrete data (samples) whose interval often has units of time. From only the samples, it produces a function of frequency that is a periodic summation of the continuous Fourier transform of the original continuous function. Under certain theoretical conditions, described by the sampling theorem, the original continuous function can be recovered perfectly from the DTFT and thus from the original discrete samples. The DTFT itself is a continuous function of frequency, but discrete samples of it can be readily calculated via the discrete Fourier transform (DFT) (see Sampling the DTFT), which is by far the most common method of modern Fourier analysis.
Both transforms are invertible. The inverse DTFT is the original sampled data sequence. The inverse DFT is a periodic summation of the original sequence. The fast Fourier transform (FFT) is an algorithm for computing one cycle of the DFT, and its inverse produces one cycle of the inverse DFT.
Definition
The discrete-time Fourier transform of a discrete set of real or complex numbers: x[n], for all integers n, is a Fourier series, which produces a periodic function of a frequency variable. When the frequency variable, ω, has normalized units of radians/sample, the periodicity is 2π, and the Fourier series is:
The utility of this frequency domain function is rooted in the Poisson summation formula. Let X(f) be the Fourier transform of any function, x(t), whose samples at some interval, T (seconds), are equal (or proportional to) the x[n] sequence, i.e. . Then the periodic function represented by the Fourier series is a periodic summation of X(f). In terms of frequency in hertz (cycles/sec):
The integer k has units of cycles/sample, and 1/T is the sample-rate, f_{s} (samples/sec). So X_{1/T}(f) comprises exact copies of X(f) that are shifted by multiples of f_{s} hertz and combined by addition. For sufficiently large f_{s} the k=0 term can be observed in the region [−f_{s}/2, f_{s}/2] with little or no distortion (aliasing) from the other terms. In Fig.1, the extremities of the distribution in the upper left corner are masked by aliasing in the periodic summation (lower left).
We also note that is the Fourier transform of Therefore, an alternative definition of DTFT is:^{[note 1]}
The modulated Dirac comb function is a mathematical abstraction sometimes referred to as impulse sampling.^{[1]}
Periodic data
When the input data sequence x[n] is N-periodic, Template:EquationNote can be computationally reduced to a discrete Fourier transform (DFT), because:
- All the available information is contained within N samples.
- converges to zero everywhere except integer multiples of known as harmonic frequencies.
- The DTFT is periodic, so the maximum number of unique harmonic amplitudes is
The kernel is N-periodic at the harmonic frequencies, So is an infinite summation of repetitious values, which does not converge for one or more values of k. But because of periodicity, we can reduce the limits of summation to any sequence of length N, without losing any information. The result is just a DFT. In order to interpret the DFT, it is helpful to expand the comb function, from Template:EquationNote, which is now NT-periodic, into a Fourier series:
which also shows that periodicity in the time domain causes the DTFT to become discontinuous and that it diverges at the harmonic frequencies. But the Fourier series coefficients that modulate the comb are finite, and the standard integral formula conveniently reduces to a DFT:
which is an N-periodic sequence (in k) that completely describes the DTFT.
Inverse transform
An operation that recovers the discrete data sequence from the DTFT function is called an inverse DTFT. For instance, the inverse continuous Fourier transform of both sides of Template:EquationNote produces the sequence in the form of a modulated Dirac comb function:
However, noting that X_{1/T}(f) is periodic, all the necessary information is contained within any interval of length 1/T. In both Template:EquationNote and Template:EquationNote, the summations over n are a Fourier series, with coefficients x[n]. The standard formulas for the Fourier coefficients are also the inverse transforms:
Sampling the DTFT
When the DTFT is continuous, a common practice is to compute an arbitrary number of samples (N) of one cycle of the periodic function X_{1/T}:
where x_{N} is a periodic summation:
The x_{N} sequence is the inverse DFT. Thus, our sampling of the DTFT causes the inverse transform to become periodic.
In order to evaluate one cycle of x_{N} numerically, we require a finite-length x[n] sequence. For instance, a long sequence might be truncated by a window function of length L resulting in two cases worthy of special mention: L ≤ N and L = I•N, for some integer I (typically 6 or 8). For notational simplicity, consider the x[n] values below to represent the modified values.
When L = I•N a cycle of x_{N} reduces to a summation of I blocks of length N. This goes by various names, such as "multi-block windowing" and "window presum-DFT". ^{[2]} ^{[3]} A good way to understand/motivate the technique is to recall that decimation of sampled data in one domain (time or frequency) produces aliasing in the other, and vice versa. The x_{N} summation is mathematically equivalent to aliasing, leading to decimation in frequency, leaving only DTFT samples least affected by spectral leakage. That is usually a priority when implementing an FFT filter-bank (channelizer). With a conventional window function of length L, scalloping loss would be unacceptable. So multi-block windows are created using FIR filter design tools. Their frequency profile is flat at the highest point and falls off quickly at the midpoint between the remaining DTFT samples. The larger the value of parameter I the better the potential performance. We note that the same results can be obtained by computing and decimating an L-length DFT, but that is not computationally efficient.
When L ≤ N the DFT is usually written in this more familiar form:
In order to take advantage of a fast Fourier transform algorithm for computing the DFT, the summation is usually performed over all N terms, even though N-L of them are zeros. Therefore, the case L < N is often referred to as "zero-padding".
Spectral leakage, which increases as L decreases, is detrimental to certain important performance metrics, such as resolution of multiple frequency components and the amount of noise measured by each DTFT sample. But those things don't always matter, for instance when the x[n] sequence is a noiseless sinusoid (or a constant), shaped by a window function. Then it is a common practice to use zero-padding to graphically display and compare the detailed leakage patterns of window functions. To illustrate that for a rectangular window, consider the sequence:
The two figures below are plots of the magnitude of two different sized DFTs, as indicated in their labels. In both cases, the dominant component is at the signal frequency: f = 1/8 = 0.125. Also visible on the right is the spectral leakage pattern of the L=64 rectangular window. The illusion on the left is a result of sampling the DTFT at all of its zero-crossings. Rather than the DTFT of a finite-length sequence, it gives the impression of an infinitely long sinusoidal sequence. Contributing factors to the illusion are the use of a rectangular window, and the choice of a frequency (1/8 = 8/64) with exactly 8 (an integer) cycles per 64 samples.
Convolution
The Convolution theorem for sequences is:
An important special case is the circular convolution of sequences x and y defined by x_{N} * y where x_{N} is a periodic summation. The discrete-frequency nature of DTFT{x_{N}} "selects" only discrete values from the continuous function DTFT{y}, which results in considerable simplification of the inverse transform. As shown at Convolution theorem#Functions of a discrete variable... sequences:
For x and y sequences whose non-zero duration is less than or equal to N, a final simplification is:
The significance of this result is expounded at Circular convolution and Fast convolution algorithms.
Relationship to the Z-transform
The bilateral Z-transform is defined by:
On the unit circle, z is constrained to values of the form Then one cycle of is equivalent to one period of the DTFT. What varies with sample-rate is the width of a signal's spectral distribution. When the width exceeds 2π, because of a sub-Nyquist rate, the distribution fills the circle, and aliasing occurs. With a DTFT in units of hertz (Template:EquationNote), it's not the bandwidth that changes, but the periodicity of the aliases.
Alternative notation
The notation, , is also often used to denote a normalized DTFT (Template:EquationNote), which has several desirable features:
- highlights the periodicity property, and
- helps distinguish between the DTFT and the underlying Fourier transform of x(t); that is, X(f) (or X(ω)), and
- emphasizes the relationship of the DTFT to the Z-transform.
However, its relevance is obscured when the DTFT is expressed as its equivalent periodic summation. So the notation X(ω) is also commonly used, as in the table below.
Table of discrete-time Fourier transforms
Some common transform pairs are shown in the table below. The following notation applies:
- ω = 2πfT is a real number representing continuous angular frequency (in radians per sample). (f is in cycles/sec, and T is in sec/sample.) In all cases in the table, the DTFT is 2π-periodic (in ω).
- X_{2π}(ω) designates a function defined on -∞ < ω < ∞.
- X(ω) designates a function defined on -π < ω ≤ π, and zero elsewhere. Then:
- δ(ω) is the Dirac delta function
- sinc(t) is the normalized sinc function
- rect(t) is the rectangle function
- tri(t) is the triangle function
- n is an integer representing the discrete-time domain (in samples)
- u[n] is the discrete-time unit step function
- δ[n] is the Kronecker delta δ_{n, 0}
Time domain x[n] |
Frequency domain X_{2π}(ω) |
Remarks |
---|---|---|
integer M | ||
integer M > 0 | ||
The term must be interpreted as a distribution in the sense of a Cauchy principal value around its poles at ω = 2πk. | ||
-π ≤ a < π |
real number a | |
-π < a < π |
real number a | |
real number a | ||
integer M | ||
real number a | ||
real number W 0 < W ≤ 0.5 | ||
real numbers W 0 < W ≤ 1 | ||
it works as a differentiator filter | ||
real numbers W, a 0 < W ≤ 1 | ||
Hilbert transform | ||
real numbers A, B complex C |
Properties
This table shows some mathematical operations in the time domain and the corresponding effects in the frequency domain.
- is the discrete convolution of two sequences
- x[n]* is the complex conjugate of x[n]
- X(e^{iω}) is the alternative notation (described above) for X(ω)
Property | Time domain x[n] | Frequency domain X(e^{iω}) | Remarks |
---|---|---|---|
Linearity | ax[n] + by[n] | aX(e^{iω}) + bY(e^{iω}) | |
Shift in time | x[n−k] | X(e^{iω})e^{−iωk} | integer k |
Shift in frequency (modulation) | real number a | ||
time scaling | |||
Time reversal | x[−n] | X(e^{-iω}) | |
Time conjugation | x[n]* | X(e^{−iω})* | |
Time reversal & conjugation | x[−n]* | X(e^{iω})* | |
Derivative in frequency | |||
Integral in frequency | |||
Convolve in time | |||
Multiply in time | Periodic convolution | ||
Cross correlation | |||
Parseval's theorem |
See also
Notes
- ↑ In fact Template:EquationNote is often justified as follows:
Citations
- ↑ {{#invoke:citation/CS1|citation |CitationClass=book }}
- ↑ {{#invoke:Citation/CS1|citation |CitationClass=journal }}
- ↑ Template:Cite web
References
- {{#invoke:citation/CS1|citation
|CitationClass=book }}
- {{#invoke:citation/CS1|citation
|CitationClass=book }}
- {{#invoke:citation/CS1|citation
|CitationClass=book }}