Every Signal is a Sum of Sinusoids
Why do engineers care so much about the frequency domain? The answer lies in a remarkable mathematical fact: any signal can be expressed as a weighted sum of sinusoids. This is the essence of Fourier analysis, and it transforms signal processing from a problem of tracking waveforms over time into a problem of managing amplitudes and phases across frequencies. For a discrete-time signal, the natural tool for this transformation is the Discrete-Time Fourier Transform (DTFT).
Thinking in frequencies pays dividends throughout DSP. Filters are most naturally designed by specifying which frequencies to pass and which to reject. Noise that concentrates in a particular frequency band is easy to suppress once it is visible as a spectral peak. Speech, music, and RF signals each have characteristic frequency-domain signatures that reveal structure invisible in the time domain. The frequency domain is not just convenient — it is often the most natural home for the problems we want to solve.
The Discrete-Time Fourier Transform
The DTFT maps a discrete-time sequence x[n] to a continuous function of frequency X(ejω). Unlike the Z-transform, which uses a general complex variable z, the DTFT evaluates the Z-transform on the unit circle z = ejω. The result is a complex-valued function of the normalized angular frequency ω (radians per sample), which is periodic with period 2π.
The inverse DTFT recovers x[n] by integrating X(ejω) over one period:
In discrete time, frequency ω is measured in radians per sample, ranging from −π to π. To convert to physical frequency in Hz, multiply by fs/(2π). The Nyquist frequency fs/2 corresponds to ω = π.
ω = 2π f / fs — so ω = π corresponds to f = fs/2 (Nyquist)Key DTFT Properties
The DTFT inherits a rich set of properties from the Fourier transform family. These properties are not merely mathematical curiosities — they are practical tools that let you reason about how operations on a signal (shifting, scaling, filtering) manifest in the frequency domain without re-doing the integral each time.
The convolution–multiplication duality is arguably the most important property. It means that filtering — which is convolution in the time domain — becomes pointwise multiplication in the frequency domain. To design a low-pass filter, you simply specify H(ejω) = 1 for |ω| < ωc and H(ejω) = 0 otherwise, then find the corresponding h[n] via the inverse DTFT.
Common DTFT Pairs
A handful of DTFT pairs appear over and over in DSP. Memorizing these — or being able to derive them quickly — saves significant computation.
The Limitation: Continuous Frequency
The DTFT is mathematically elegant but computationally inconvenient. Its output X(ejω) is a continuous function of ω — it takes on infinitely many values. A digital computer can only store and manipulate a finite set of numbers. We cannot represent or compute the full DTFT on a machine without some approximation or sampling strategy.
A second issue is efficiency. Even evaluating X(ejω) at a single frequency ω0 requires summing over all N samples of x[n], which is O(N) per frequency point. Evaluating at K frequency points costs O(NK) — potentially enormous for long signals.
The DTFT maps a finite (or infinite) discrete-time sequence to a continuous frequency function. Digital systems need a discrete frequency representation — a finite set of numbers — to be computable. The solution is to sample the DTFT at N equally spaced frequencies.
Sampling the DTFT: The DFT
If we evaluate the DTFT at N equally spaced frequencies ωk = 2πk/N for k = 0, 1, …, N−1, we obtain the Discrete Fourier Transform (DFT):
The DFT is the DTFT sampled at N equally spaced points around the unit circle. Crucially, it is a finite, invertible transform: N complex numbers go in, N complex numbers come out, and the original sequence is exactly recoverable via the inverse DFT. This makes it the workhorse of computational spectral analysis.
However, sampling the DTFT in frequency is not free. Just as sampling in time creates periodicity in frequency (aliasing), sampling in frequency creates periodicity in time — the DFT implicitly treats x[n] as one period of a periodic signal. This circular (periodic) nature of the DFT has important consequences for windowing, zero-padding, and circular convolution, all of which are explored in the next lessons.
- Every signal is a weighted sum of sinusoids; the frequency domain reveals this decomposition, making filter design and noise analysis natural and intuitive.
- The DTFT maps a discrete-time sequence x[n] to a continuous, 2π-periodic function X(ejω) of normalized angular frequency ω (radians/sample).
- Normalized frequency ω = π corresponds to the Nyquist frequency fs/2; the relationship is ω = 2πf/fs.
- Convolution in time equals multiplication in frequency — the foundation of LTI filtering in the frequency domain.
- The DTFT is continuous in frequency and therefore not directly computable; a digital machine requires a finite, discrete frequency representation.
- Sampling the DTFT at N equally spaced frequencies yields the DFT: X[k] = Σ x[n] e−j2πkn/N, which is fully computable and invertible.
- The DFT implicitly treats x[n] as periodic with period N — a key property that drives windowing and zero-padding considerations.