Discrete-time Fourier transform
From Wikipedia, the free encyclopedia
In mathematics, the discrete-time Fourier transform (DTFT) is one of the specific forms of Fourier analysis. As such, it transforms one function into another, which is called the frequency domain representation, or simply the "DTFT", of the original function (which is often a function in the time-domain). But the DTFT requires an input function that is discrete. Such inputs are often created by sampling a continuous function, like a person's voice.
The DTFT frequency-domain representation is always a periodic function. Since one period of the function contains all of the unique information, it is sometimes convenient to say that the DTFT is a transform to a "finite" frequency-domain (the length of one period), rather than to the entire real line.
| Fourier transforms |
|---|
| Continuous Fourier transform |
| Fourier series |
| Discrete Fourier transform |
| Discrete-time Fourier transform |
|
|
Contents |
[edit] Definition
Given a discrete set of real or complex numbers:
(integers), the discrete-time Fourier transform (or DTFT) of
is usually written:
[edit] Relationship to sampling
Its name implies that the {x[n]} sequence represents the values (aka samples) of a continuous-time function,
, at discrete moments in time:
, where
is the sampling interval (in seconds), and
is the sampling rate (samples per second). The DTFT provides an approximation of the continuous-time Fourier transform:
As shown in the sampling theorem article, if we were to conceptually use the values
to modulate this Dirac comb function:
,
the result is a function whose Fourier transform is the sum of "copies" of
superimposed at intervals of
:
As we shall now see, this periodic function is a DTFT. And under certain readily-apparent conditions, the k=0 term can be observed with little or no distortion (aliasing) from the other terms. The modulated comb is:
Therefore:
With the associations:
-
![x[n] = T\cdot x(nT)\,](../../../../math/c/e/9/ce920af302a9f79dbf7cddfab1a04202.png)
,
is identical to the expression for
.
Normalized frequency
Since
represents ordinary frequency (cycles per second) and
has units of samples per second, the units of
are cycles per sample. It is common notational practice to replace this ratio with a single variable, called normalized frequency, which represents actual frequencies as multiples (usually fractional) of the sample rate.
, as defined above, is also a normalized frequency, but its units are radians per sample. The normalized frequency has the added bonus that the function X(ω) is periodic with period 2π. So the inverse transform need only be evaluated in the interval 2π.
[edit] Periodicity
Sampling
causes its spectrum (DTFT) to become periodic. In terms of ordinary frequency,
(cycles per second), the period is the sample rate,
. In terms of normalized frequency,
(cycles per sample), the period is 1. And in terms of
(radians per sample), the period is 2π, which also follows directly from the periodicity of
. That is:
where both n and k are arbitrary integers. Therefore:
The popular alternate notation
for the DTFT
:
- highlights the periodicity property, and
- helps distinguish between the DTFT and underlying Fourier transform of
; that is,
(or
), and - emphasizes the relationship of the DTFT to the Z-transform.
However, its relevance is obscured when the DTFT is formed by the frequency domain method (superposition), as discussed above. So the notation
is also commonly used, as in the table to follow.
[edit] Inverse transform
The following inverse transforms recover the discrete-time sequence:
The integrals span one full period of the DTFT, which means that the {x[n]} samples are also the coefficients of a Fourier series expansion of the DTFT. Infinite limits of integration change the transform into a continuous-time Fourier transform [inverse], which recovers the Dirac impulses as well. That is:
[edit] Finite-length sequences
For practical evaluation of the DTFT numerically, a finite-length sequence is obviously needed. For instance, a long sequence might be modified by a rectangular window function, resulting in:
, where
is the modified sequence length.
This is often a useful approximation of the spectrum of the unmodified sequence. The difference is a loss of clarity (resolution), which improves as L increases.
It is common to evaluate X(ω) at an arbitrary number (N) of uniformly-spaced frequencies across one period (2π):
, for 
which gives:
When
, this can also be written:
, because we define
for
.
With that cosmetic adjustment, the
sequence is now recognizable as a discrete Fourier transform (DFT). While N defines the resolution at which we sample the DTFT, L limits the inherent resolution of the DTFT itself. So they are usually similar (or equal) values. And while it is common to choose N > L, the only reason to include the zero-valued terms in the summation is to take advantage of a fast Fourier transform algorithm for computing the DFT. However, when that is done it is often given undue significance, such as zero-padded DFT and/or interpolated DFT. But obviously the exact same DFT can be calculated straightforwardly without the zero-valued terms. One can also compute the DTFT for the case of N < L (or for other frequency samplings) where it is not equivalent to a DFT.
To illustrate why N > L is common, consider the sequence:
, and L = 64.
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:
. 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 (
) with exactly 8 (an integer) cycles per 64 samples.
[edit] Difference between the DTFT and other Fourier transforms
Essentially, the DTFT is the reverse of the Fourier series, in that the latter has a continuous, periodic input and a discrete spectrum. The applications of the two transforms, however, are quite different.
The DFT and the DTFT can be viewed as the logical result of applying the standard continuous Fourier transform to discrete data. From that perspective, we have the satisfying result that it's not the transform that varies, it's just the form of the input:
- If it is discrete, the Fourier transform becomes a DTFT.
- If it is periodic, the Fourier transform becomes a Fourier series.
- If it is both, the Fourier transform becomes a DFT.
[edit] Relationship to the Z-transform
The DTFT is a special case of the Z-transform. The bilateral Z-transform is defined as:
So the special case is:
. Since
, it is the evaluation of the Z-transform around the unit circle in the complex plane.
[edit] Table of discrete-time Fourier transforms
Some common transform pairs are shown below. The following notation applies:
is an integer representing the discrete-time domain (in samples)
is a real number in
, representing continuous angular frequency (in radians per sample).
- The remainder of the transform
is defined by: 
- The remainder of the transform
is the discrete-time unit step function
is the normalized sinc function
is the Dirac delta function
is the Kronecker delta 
is the rectangle function for arbitrary real-valued t:
is the triangle function for arbitrary real-valued t:
Time domain![]() |
Frequency domain![]() |
Remarks |
|---|---|---|
![]() |
![]() |
|
![]() |
![]() |
integer M |
![]() |
![]() |
integer M |
![]() |
![]() |
|
![]() |
![]() |
real number a |
![]() |
![]() |
real number a |
![]() |
![]() |
real number a |
![]() |
![]() |
integer M |
![]() |
![]() |
real number a |
![]() |
![]() |
real number W![]() |
![]() |
![]() |
real numbers W, a![]() |
![]() |
jω | it works as a differentiator filter |
![]() |
![]() |
real numbers W, a![]() |
![]() |
![]() |
|
![]() |
![]() |
Hilbert transform |
![]() |
real numbers A, B complex C |
[edit] Properties
This table shows the relationships between generic discrete-time Fourier transforms. We use the following notation:
is the convolution between two signals
is the complex conjugate of the function x[n]
represents the correlation between x[n] and y[n].
The first column provides a description of the property, the second column shows the function in the time domain, the third column shows the spectrum in the frequency domain:
| Property | Time domain ![]() |
Frequency domain ![]() |
Remarks |
|---|---|---|---|
| Linearity | ![]() |
![]() |
|
| Shift in time | ![]() |
![]() |
integer k |
| Shift in frequency (modulation) | ![]() |
![]() |
real number a |
| Time reversal | ![]() |
![]() |
|
| Time conjugation | ![]() |
![]() |
|
| Time reversal & conjugation | ![]() |
![]() |
|
| Derivative in frequency | ![]() |
![]() |
|
| Integral in frequency | ![]() |
![]() |
|
| Convolve in time | ![]() |
![]() |
|
| Multiply in time | ![]() |
![]() |
|
| Correlation | ![]() |
![]() |
[edit] Symmetry Properties
The Fourier Transform can be decomposed into a real and imaginary or into even and odd.

or

Time Domain![]() |
Frequency Domain![]() |
|---|---|
![]() |
![]() |
![]() |
![]() |
[edit] References
- Alan V. Oppenheim and Ronald W. Schafer (1999). Discrete-Time Signal Processing, 2nd Edition, Prentice Hall Signal Processing Series. ISBN 0-13-754920-2.
- William McC. Siebert (1986). Circuits, Signals, and Systems. MIT Electrical Engineering and Computer Science Series. Cambridge, MA: MIT Press.
- Boaz Porat. A Course in Digital Signal Processing. John Wiley and Sons, pp. 27-29 and 104-105. ISBN 0-471-14961-6.
|
||||||||||||||
![X(\omega) = \sum_{n=-\infty}^{\infty} x[n] \,e^{-i \omega n}.](../../../../math/7/6/3/76369d772b8bb257c576b44f1aa05468.png)



![= \int_{-\infty}^\infty \left[T \sum_{n=-\infty}^{\infty} x(nT)\, \delta(t - n T)\right] e^{- i 2\pi f t}\,dt](../../../../math/4/1/2/4127f6ad6ffcd84c3501350bef629076.png)
![= \sum_{n=-\infty}^{\infty} T\cdot x(nT) \int_{-\infty}^\infty \left[\delta(t - n T)\cdot e^{- i 2\pi f t}\right]\,dt](../../../../math/9/c/2/9c29fd575067d4b2d8a8851d2629bb7b.png)




![\int_{-\infty}^\infty X_T(f)\cdot e^{i 2 \pi f t}\, df \ = \ x_T(t) \ =\ \sum_{n=-\infty}^{\infty} x[n]\cdot \delta(t - n T)](../../../../math/4/b/f/4bf96ba28045785435a5a2eb335d07d4.png)
![X[k] = X(\omega_k) = \sum_{n=0}^{L-1} x[n] \,e^{-i 2 \pi \frac{k}{N} n}](../../../../math/a/b/6/ab6f585afa983e3422c75a31d1a300d7.png)
![X(z) = \sum_{n=-\infty}^{\infty} x[n] \,z^{-n}](../../../../math/e/b/f/ebf4077bf748b204499cd73d8ce9312d.png)
![\mathrm{rect}(t) = \sqcap(t) = \begin{cases}
0 & \mbox{if } |t| > \frac{1}{2} \\[3pt]
\frac{1}{2} & \mbox{if } |t| = \frac{1}{2} \\[3pt]
1 & \mbox{if } |t| < \frac{1}{2}
\end{cases}](../../../../math/0/2/d/02dfb78ddb6c1f88b062ca0d076ef26f.png)


![\delta [n - M] \!](../../../../math/c/e/b/cebeaaf3d6fd153519b2695b470d6888.png)

![\sum_{m = -\infty}^{\infty} \delta[n - M m] \,](../../../../math/a/5/a/a5aa502fc47d0844e656912dd8528194.png)





![\pi \left[ \delta (\omega - a) + \delta (\omega + a) \right]](../../../../math/c/7/1/c71572b56a2c55584aca53d3d0087e23.png)

![\frac{\pi}{i} \left[ \delta (\omega - a) - \delta ( \omega + a) \right]](../../../../math/3/9/4/394786f49727a8b7b0401964287fd4b0.png)
![\mathrm{rect} \left[ { ( n - M/2 ) \over M } \right]](../../../../math/a/5/4/a541ff492ffc8407bd3c86fe66cac8d7.png)
![{ \sin[ \omega (M+1) / 2 ] \over \sin( \omega / 2 ) } \, e^{ -i \omega M / 2 }](../../../../math/5/c/b/5cb8f3087bc79cc3bd93b254be97818c.png)
![\operatorname{sinc} [(a + n)]](../../../../math/9/2/8/9286090c98dd82681b0b861e9f94b2c6.png)




![W\cdot \operatorname{sinc} [ W (n + a)]](../../../../math/e/6/6/e6691f437e1eaa60bd7ba0102e7164bc.png)



![\frac{W}{(n + a)} \left\{ \cos [ \pi W (n+a)] - \operatorname{sinc} [ W (n+a)] \right\}](../../../../math/8/6/2/8624a9487c82f514e79176f6114247a5.png)

![\frac{1}{\pi n^2} [(-1)^n - 1]](../../../../math/f/d/a/fdacbf3334b45e29580b860fca739ac4.png)



![\frac{C (A + B)}{2 \pi} \cdot \operatorname{sinc} \left[ \frac{A - B}{2\pi} n \right] \cdot \operatorname{sinc} \left[ \frac{A + B}{2\pi} n \right]](../../../../math/8/9/a/89a66bb5c5d78e8b3515183adb53c10b.png)
![x[n] \!](../../../../math/f/0/4/f04e9932b1bdccb47bb15c5ef53475c8.png)

![a x[n] + b y[n] \!](../../../../math/4/b/5/4b56e446f69c22ab170df278170c46f9.png)

![x[n - k] \!](../../../../math/4/2/d/42db10711bdb344ce52c4b5d158fc80a.png)

![x[n]e^{ian} \!](../../../../math/e/7/c/e7cb66ead5d27230f042f546434d4de4.png)

![x[- n] \!](../../../../math/a/8/0/a8069ffea484ccd085714ea675baa9c4.png)


![x[-n]^* \!](../../../../math/6/1/d/61d36c43faf1a9c41e26b65f6ee40fe4.png)

![\frac{n}{i} x[n] \!](../../../../math/c/d/6/cd681af35671ec47be7f064d527b0a3c.png)

![\frac{i}{n} x[n] \!](../../../../math/c/0/5/c05ecf25cb260110eb20b2e0955394c1.png)

![x[n] * y[n] \!](../../../../math/5/b/8/5b8474366b0acdd770d83ed55c86ca59.png)

![x[n] \cdot y[n] \!](../../../../math/1/f/3/1f36378f8b0b62c337ef19cee614fa32.png)

![\rho_{xy} [n] = x[-n]^* * y[n] \!](../../../../math/2/8/4/2846b8930d6d16572ff0b34b59f08fa5.png)


![x^*[n]\!](../../../../math/c/6/2/c629e18c8a6821ac18eeeb8846dd57f9.png)

![x^*[-n]\!](../../../../math/3/e/1/3e1d724c56fc9874564ccd1f70b35d12.png)


