Discrete-time Fourier transform


Discrete-time Fourier transform

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 digitally 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
Related transforms

Contents

Definition

Given a discrete set of real or complex numbers: x[n], \; n\in\mathbb{Z} (integers), the discrete-time Fourier transform (or DTFT) of x[n]\, is usually written:

X(\omega) = \sum_{n=-\infty}^{\infty} x[n] \,e^{-i \omega n}.

 

 

 

 

(Eq.1)

Relationship to sampling

Often the x[n]\, sequence represents the values (aka samples) of a continuous-time function, x(t)\,, at discrete moments in time: t = nT\,, where T\, is the sampling interval (in seconds), and 1/T = f_s\, is the sampling rate (samples per second).  Then the DTFT provides an approximation of the continuous-time Fourier transform:

 X(f) = \int_{-\infty}^\infty x(t)\cdot e^{- i 2\pi f t}\,dt.

To understand this, consider the Poisson summation formula, which indicates that a periodic summation of function X(f)\,  can be constructed from the samples of function x(t).\,  The result is:


X_{1/T}(f)\ \stackrel{\mathrm{def}}{=} \sum_{k=-\infty}^{\infty} X\left(f - k/T\right) 
= \sum_{n=-\infty}^{\infty} \underbrace{T\cdot x(nT)}_{x[n]}\ e^{-i 2\pi f T n}

 

 

 

 

(Eq.2)

X_{1/T}(f)\, comprises exact copies of X(f)\, that are shifted by multiples of ƒs and combined by addition.  For sufficiently large ƒs,  the k=0 term can be observed in the region [−ƒs/2, ƒs/2] with little or no distortion (aliasing) from the other terms.

With the following definition of a normalized frequency, the right-hand sides of Eq.2 and  Eq.1 are identical:  \omega = 2\pi \textstyle{\frac{f}{f_s}} = 2\pi f T.

Since f\, represents ordinary frequency (cycles per second) and f_s\, has units of samples per second, the units of f / f_s\, 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.   \omega\, is also a normalized frequency, with units of radians per sample.

Periodicity

Sampling x(t)\, causes its spectrum (DTFT) to become periodic. In terms of ordinary frequency, f\, (cycles per second), the period is the sample rate,  f_s\,.   In terms of normalized frequency, f / f_s\, (cycles per sample), the period is 1.  And in terms of \omega\, (radians per sample), the period is , which also follows directly from the periodicity of e^{-i \omega n}\,. That is:

e^{-i (\omega + 2\pi k) n} = e^{-i \omega n}\,

where both n and k are arbitrary integers. Therefore:

X(\omega + 2\pi k) = X(\omega)\,

The popular alternate notation X(e^{i \omega})\, for the DTFT X(\omega)\,:

  1. highlights the periodicity property, and
  2. helps distinguish between the DTFT and underlying Fourier transform of x(t)\,; that is, X(f)\, (or X(\omega)\,), and
  3. 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 (periodic summation), as discussed above. So the notation X(\omega)\, is also commonly used, as in the table to follow.

Inverse transform

The following inverse transforms recover the discrete-time sequence:

x[n]\, = \frac{1}{2 \pi}\int_{2\pi} X(\omega)\cdot e^{i \omega n} \, d \omega
= T \int_{\frac{1}{T}} X_{1/T}(f)\cdot e^{i 2 \pi f nT}\, df,

where \textstyle{\int_{\lambda}} is an integral over any interval of length λ. 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 an inverse [continuous-time] Fourier transform, which produces a sequence of Dirac impulses. That is:


\begin{align}
\int_{-\infty}^\infty X_{1/T}(f)\cdot e^{i 2 \pi f t}\, df
&=\int_{-\infty}^\infty \left(\sum_{n=-\infty}^{\infty} T\cdot x(nT)\ e^{-i 2\pi f T n}\right)\cdot e^{i 2 \pi f t}\, df \\
&=\sum_{n=-\infty}^{\infty} T\cdot x(nT) \int_{-\infty}^\infty e^{-i 2\pi f T n}\cdot e^{i 2 \pi f t}\, df \\
&=\sum_{n=-\infty}^{\infty} x[n]\cdot \delta(t - n T).
\end{align}

Sampling the DTFT

A common practice is to compute an arbitrary number of samples (N) of one cycle of the periodic function X1 / T :

\underbrace{X_{1/T}\left(\frac{k}{NT}\right)}_{X[k]} = \sum_{n=-\infty}^{\infty} x[n]\cdot e^{-i 2\pi \frac{kn}{N}} \quad \quad k = 0, \dots, N-1

Since the kernel, e^{-i 2\pi \frac{kn}{N}},\,  is N-periodic, it can readily be shown that this is equivalent to the following discrete Fourier transform (DFT):


X[k] = \sum_{N} x_N[n]\cdot e^{-i 2\pi \frac{kn}{N}},

 

 

 

 

(Eq.3)

where \textstyle{\sum_{N}} is a summation over any interval of length N, and x_N\, is another periodic summation:

x_N[n]\ \stackrel{\text{def}}{=}\ \sum_{m=-\infty}^{\infty} x[n-mN],

which is also the inverse DFT. In other words, our sampling of the DTFT causes the inverse transform to become periodic.

In order to evaluate Eq.3 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\cdot N,\,  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 [1] [2] [3] .  Multi-block window functions can provide excellent isolation (low spectral leakage) between the DTFT samples, which is usually a priority when implementing an FFT filter-bank (channelizer). With a conventional window function of length L, the DTFT would be undersampled (i.e. too much isolation), and important detail might be missed. But when the window function has a main lobe width on the order of length N, the resolutions of the sampling and the DTFT remain well-matched. Those kinds of windows are usually created using FIR filter design algorithms.


When L \le N,\,  the DFT is usually written in this more familiar form:

X[k] = \sum_{n=0}^{N-1} x[n]\cdot e^{-i 2\pi \frac{kn}{N}}.

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:

x[n] = e^{i 2\pi \frac{1}{8} n}, 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: f = \begin{matrix} \frac{1}{8}\end{matrix} = 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 (\begin{matrix} \frac{1}{8}\end{matrix} = \begin{matrix} \frac{8}{64}\end{matrix}) with exactly 8 (an integer) cycles per 64 samples.

DFT for L = 64 and N = 64
DFT for L = 64 and N = 256

Relationship to the Z-transform

The DTFT is a special case of the Z-transform. The bilateral Z-transform is defined as:

X(z) = \sum_{n=-\infty}^{\infty} x[n] \,z^{-n}

So the special case is: z = e^{i \omega}\,.   Since |e^{i \omega}| = 1\,, it is the evaluation of the Z-transform around the unit circle in the complex plane.

Table of discrete-time Fourier transforms

Some common transform pairs are shown below. The following notation applies:

  • n \! is an integer representing the discrete-time domain (in samples)
  • \omega \! is a real number in (-\pi,\ \pi), representing continuous angular frequency (in radians per sample).
    • The remainder of the transform (|\omega| > \pi \,) is defined by: X(\omega + 2\pi k) = X(\omega)\,
  • u[n] \! is the discrete-time unit step function
  • \operatorname{sinc}(t) \! is the normalized sinc function
  • \delta (\omega) \! is the Dirac delta function
  • \delta [n] \! is the Kronecker delta \delta_{n,0} \!
  •  \operatorname{rect}(t) is the rectangle function for arbitrary real-valued t:
\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}
  • \operatorname{tri}(t) is the triangle function for arbitrary real-valued t:
\operatorname{tri}(t) = \and (t) = 
\begin{cases}
1 + t; & - 1 \leq t \leq 0 \\
1 - t; & 0 < t \leq 1 \\
0 & \mbox{otherwise} 
\end{cases}
Time domain
 x[n] \,
Frequency domain
  X(\omega) \,
Remarks
\delta [n] \! 1 \!
\delta [n - M] \! e^{-i \omega M} \! integer M
\sum_{m = -\infty}^{\infty} \delta[n - M m] \! \sum_{m = -\infty}^{\infty} e^{-i \omega M m} = \frac{1}{M}\sum_{k = -\infty}^{\infty} \delta \left( \frac{\omega}{2\pi} - \frac{k}{M} \right) \, integer M
u[n]\! \frac{1}{1-e^{-i \omega}} + \sum\limits_{k =  - \infty }^\infty  {\pi \delta (\omega - 2\pi k)}\! The 1 / (1 − e iω) term must be interpreted as a distribution in the sense of a Cauchy principal value around its poles at ω = 2πk.
a^{n} u[n]\! \frac{1}{1-a e^{-i \omega}}\! | a | < 1
e^{-ian} \!  2\pi \delta (\omega + a)  \, real number a
\cos (a n) \! \pi \left[ \delta (\omega - a) + \delta (\omega + a) \right] real number a
\sin (a n) \! \frac{\pi}{i} \left[ \delta (\omega - a) - \delta ( \omega + a) \right] real number a
 \mathrm{rect} \left[ { ( n - M/2 ) \over M  } \right]  { \sin[ \omega (M+1) / 2 ] \over \sin( \omega / 2 ) } \,  e^{ -i \omega M / 2 } \! integer M
\operatorname{sinc} [(a + n)] e^{i a \omega} \! real number a
W\cdot \operatorname{sinc}^2(W n)\, \operatorname{tri} \left( { \omega \over 2\pi W } \right) real number W
0 < W \le 0.5
W\cdot \operatorname{sinc} ( W n) \operatorname{rect} \left( { \omega \over 2\pi W } \right) real numbers W
0 < W \le 1
 
\begin{cases}
0 & n=0 \\
\frac{(-1)^n}{n} & \mbox{elsewhere}
\end{cases}
jω it works as a differentiator filter
\frac{W}{(n + a)} \left\{ \cos [ \pi W (n+a)] - \operatorname{sinc} [ W (n+a)] \right\} j \omega \cdot \operatorname{rect} \left( { \omega \over \pi W } \right) e^{j a \omega} real numbers W, a
0 < W \le 1
\frac{1}{\pi n^2} [(-1)^n - 1] \! | \omega | \!

\begin{cases}
0; & n \mbox{ even} \\
\frac{2}{\pi n} ; & n \mbox{ odd}
\end{cases}

\begin{cases}
j & \omega < 0 \\
0 & \omega = 0 \\
-j & \omega > 0
\end{cases}
Hilbert transform
\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] Trapezoid signal.png 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.

Property Time domain x[n] \! Frequency domain X(\omega) \! Remarks
Linearity a x[n] + b y[n] \!  a X(e^{i \omega}) + b Y(e^{i \omega}) \!
Shift in time x[n - k] \! X(e^{i \omega}) e^{-i \omega k} \! integer k
Shift in frequency (modulation) x[n]e^{ian} \! X(e^{i (\omega-a)}) \! real number a
Time reversal x[- n] \! X(e^{-i \omega}) \!
Time conjugation x[n]^* \! X(e^{-i \omega})^* \!
Time reversal & conjugation x[-n]^* \! X(e^{i \omega})^* \!
Derivative in frequency \frac{n}{i} x[n] \! \frac{d X(e^{i \omega})}{d \omega} \!
Integral in frequency \frac{i}{n} x[n] \! \int_{-\pi}^{\omega} X(e^{i \vartheta}) d \vartheta \!
Convolve in time x[n] * y[n] \! X(e^{i \omega}) \cdot Y(e^{i \omega}) \!
Multiply in time x[n] \cdot y[n] \! \frac{1}{2\pi}\int_{-\pi}^{\pi}{X(e^{i \vartheta}) \cdot Y(e^{i (\omega-\vartheta)}) d\vartheta} \! Periodic convolution
Cross correlation \rho_{xy} [n] = x[-n]^* * y[n] \! R_{xy} (\omega) = X(e^{i \omega})^* \cdot Y(e^{i \omega}) \!
Parseval's theorem E = \sum_{n=-\infty}^{\infty} {x[n] \cdot y^*[n]} \! E = \frac{1}{2\pi}\int_{-\pi}^{\pi}{X(e^{i \omega}) \cdot Y^*(e^{i \omega}) d\omega} \!

Symmetry Properties

The Fourier Transform can be decomposed into a real and imaginary part or into an even and odd part.
X(e^{i \omega}) = X_R(e^{i \omega}) + iX_I(e^{i \omega}) \!
or
X(e^{i \omega}) = X_E(e^{i \omega}) + X_O(e^{i \omega}) \!

Time Domain
x[n] \!
Frequency Domain
X(e^{i \omega}) \!
x^*[n]\! X^*(e^{-i \omega}) \!
x^*[-n]\! X^*(e^{i \omega}) \!

Citations

  1. ^ Gumas, Charles Constantine (July 1997). "Window-presum FFT achieves high-dynamic range, resolution". Personal Engineering & Instrumentation News: 58–64. 
  2. ^ Dahl, Jason F (2003). "Chapter 3.4". Time Aliasing Methods of Spectral Estimation (PhD thesis). Brigham Young University. http://contentdm.lib.byu.edu/ETD/image/etd157.pdf. 
  3. ^ Lyons, Richard G. (June 2008). "DSP Tricks: Building a practical spectrum analyzer". EE Times. http://www.eetimes.com/design/embedded/4007611/DSP-Tricks-Building-a-practical-spectrum-analyzer. 

References

  • Alan V. Oppenheim and Ronald W. Schafer (1999). Discrete-Time Signal Processing (2nd Edition ed.). 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. 

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Short-time Fourier transform — The short time Fourier transform (STFT), or alternatively short term Fourier transform, is a Fourier related transform used to determine the sinusoidal frequency and phase content of local sections of a signal as it changes over time. STFT… …   Wikipedia

  • Discrete Fourier transform — Fourier transforms Continuous Fourier transform Fourier series Discrete Fourier transform Discrete time Fourier transform Related transforms In mathematics, the discrete Fourier transform (DFT) is a specific kind of discrete transform, used in… …   Wikipedia

  • Fourier transform — Fourier transforms Continuous Fourier transform Fourier series Discrete Fourier transform Discrete time Fourier transform Related transforms The Fourier transform is a mathematical operation that decomposes a function into its constituent… …   Wikipedia

  • Fourier transform spectroscopy — is a measurement technique whereby spectra are collected based on measurements of the temporal coherence of a radiative source, using time domain measurements of the electromagnetic radiation or other type of radiation.It can be applied to a… …   Wikipedia

  • Discrete Fourier transform (general) — See also: Fourier transform on finite groups This article is about the discrete Fourier transform (DFT) over any field (including finite fields), commonly called a number theoretic transform (NTT) in the case of finite fields. For specific… …   Wikipedia

  • discrete Fourier transform — noun The process of converting a discrete time based function into its frequency based representation …   Wiktionary

  • A derivation of the discrete Fourier transform — In mathematics, computer science, and electrical engineering, the discrete Fourier transform (DFT), occasionally called the finite Fourier transform, is a transform for Fourier analysis of finite domain discrete time signals. As with most Fourier …   Wikipedia

  • Non-uniform discrete Fourier transform — In applied mathematics, the non uniform discrete Fourier transform (NDFT) of a signal is a type of Fourier transform, related to a discrete Fourier transform or discrete time Fourier transform, but in which the input signal is not sampled at… …   Wikipedia

  • Fractional Fourier transform — In mathematics, in the area of harmonic analysis, the fractional Fourier transform (FRFT) is a linear transformation generalizing the Fourier transform. It can be thought of as the Fourier transform to the n th power where n need not be an… …   Wikipedia

  • Fast Fourier transform — A fast Fourier transform (FFT) is an efficient algorithm to compute the discrete Fourier transform (DFT) and its inverse. There are many distinct FFT algorithms involving a wide range of mathematics, from simple complex number arithmetic to group …   Wikipedia