Fiveable

📚Signal Processing Unit 5 Review

QR code for Signal Processing practice questions

5.1 Linear Convolution in Time and Frequency Domains

5.1 Linear Convolution in Time and Frequency Domains

Written by the Fiveable Content Team • Last updated August 2025
Written by the Fiveable Content Team • Last updated August 2025
📚Signal Processing
Unit & Topic Study Guides

Linear convolution and its properties

Linear convolution is a fundamental operation in signal processing that combines two signals to produce a third. It describes how a linear time-invariant (LTI) system modifies an input signal, forming the basis for filtering, smoothing, and many other signal transformations.

Understanding convolution in both the time and frequency domains gives you two complementary tools. The time-domain approach builds strong intuition through a "slide-and-multiply" procedure, while the frequency-domain method leverages the Fourier transform for dramatically faster computation on long signals.

Definition and mathematical representation

Linear convolution takes two signals and produces a third that represents the output of an LTI system. One signal is the input, and the other is the system's impulse response (the system's output when the input is a single unit impulse).

For two discrete-time signals x[n]x[n] and h[n]h[n], linear convolution is defined as:

y[n]=x[n]h[n]=k=x[k]h[nk]y[n] = x[n] * h[n] = \sum_{k=-\infty}^{\infty} x[k] \, h[n-k]

where * denotes the convolution operator. At each output index nn, you're summing the products of x[k]x[k] with a time-reversed, shifted copy of hh.

If x[n]x[n] has length NN and h[n]h[n] has length MM, the output y[n]y[n] has length N+M1N + M - 1. This is worth memorizing since it comes up constantly in both computation and exam problems.

Properties and interpretation

Linear convolution satisfies several properties inherited from the LTI framework:

  • Commutativity: x[n]h[n]=h[n]x[n]x[n] * h[n] = h[n] * x[n]. You can swap which signal gets flipped and shifted without changing the result.
  • Associativity: (x[n]h1[n])h2[n]=x[n](h1[n]h2[n])(x[n] * h_1[n]) * h_2[n] = x[n] * (h_1[n] * h_2[n]). Cascading two systems is equivalent to convolving their impulse responses first, then convolving with the input.
  • Distributivity: x[n](h1[n]+h2[n])=x[n]h1[n]+x[n]h2[n]x[n] * (h_1[n] + h_2[n]) = x[n] * h_1[n] + x[n] * h_2[n]. Parallel systems add.
  • Additivity: If y1[n]=x1[n]h[n]y_1[n] = x_1[n] * h[n] and y2[n]=x2[n]h[n]y_2[n] = x_2[n] * h[n], then (x1[n]+x2[n])h[n]=y1[n]+y2[n](x_1[n] + x_2[n]) * h[n] = y_1[n] + y_2[n].
  • Homogeneity (scaling): (ax[n])h[n]=ay[n](a \cdot x[n]) * h[n] = a \cdot y[n] for any constant aa.
  • Shift invariance: If y[n]=x[n]h[n]y[n] = x[n] * h[n], then x[nk]h[n]=y[nk]x[n - k] * h[n] = y[n - k] for any integer shift kk.

The practical interpretation: convolution is a filtering operation. The impulse response h[n]h[n] acts as a filter that shapes the input. For example, a moving average filter with h[n]=[0.25,0.5,0.25]h[n] = [0.25, 0.5, 0.25] smooths the input by computing a weighted average of adjacent samples, suppressing rapid fluctuations.

Convolution of discrete-time signals

Time-domain computation

Computing convolution by hand (or understanding what the computer does) comes down to a slide-and-multiply procedure:

  1. Flip one signal (typically h[k]h[k]) to get h[k]h[-k].

  2. Shift the flipped signal by nn to get h[nk]h[n - k].

  3. Multiply x[k]x[k] and h[nk]h[n - k] element-by-element for all kk.

  4. Sum all the products to get y[n]y[n] at that particular shift.

  5. Repeat for every value of nn from the first overlap to the last.

Worked example: Let x[n]=[1,2,3]x[n] = [1, 2, 3] (length 3) and h[n]=[4,5]h[n] = [4, 5] (length 2). The output has length 3+21=43 + 2 - 1 = 4.

  • y[0]=14=4y[0] = 1 \cdot 4 = 4
  • y[1]=15+24=13y[1] = 1 \cdot 5 + 2 \cdot 4 = 13
  • y[2]=25+34=22y[2] = 2 \cdot 5 + 3 \cdot 4 = 22
  • y[3]=35=15y[3] = 3 \cdot 5 = 15

So y[n]=[4,13,22,15]y[n] = [4, 13, 22, 15].

Computational complexity

Time-domain convolution of signals with lengths NN and MM requires NMN \cdot M multiplications and (N1)(M1)(N-1)(M-1) additions, giving an overall complexity of O(NM)O(NM). When both signals are roughly the same length, this simplifies to O(N2)O(N^2).

This becomes expensive fast. Convolving two signals each of length 1000 requires roughly 1 million multiplications. For real-time audio or image processing, that's often too slow, which is exactly why the frequency-domain approach exists.

Frequency-domain convolution using Fourier transforms

Convolution theorem

The convolution theorem is one of the most powerful results in signal processing:

Convolution in the time domain equals pointwise multiplication in the frequency domain.

Mathematically, if y[n]=x[n]h[n]y[n] = x[n] * h[n], then:

Y(ejω)=X(ejω)H(ejω)Y(e^{j\omega}) = X(e^{j\omega}) \cdot H(e^{j\omega})

where X(ejω)X(e^{j\omega}), H(ejω)H(e^{j\omega}), and Y(ejω)Y(e^{j\omega}) are the DTFTs of x[n]x[n], h[n]h[n], and y[n]y[n], respectively. The multiplication here is ordinary pointwise multiplication of complex-valued functions, which is far simpler than the summation in the convolution formula.

This theorem holds for both continuous-time and discrete-time signals and applies across Fourier transform variants (DTFT, DFT, continuous Fourier transform).

Frequency-domain convolution procedure

To perform linear convolution via the frequency domain using the DFT/FFT:

  1. Zero-pad both x[n]x[n] and h[n]h[n] to length N+M1N + M - 1 (where NN and MM are their original lengths).

  2. Compute the FFT of both zero-padded signals.

  3. Multiply the two FFT results pointwise (element by element).

  4. Compute the inverse FFT of the product to get y[n]y[n] in the time domain.

The zero-padding in step 1 is critical. Without it, the DFT computes circular convolution (which wraps around), not linear convolution. Padding to length N+M1N + M - 1 ensures the circular result matches the linear result exactly.

Using the FFT, each transform costs O(LlogL)O(L \log L) where L=N+M1L = N + M - 1, and the pointwise multiplication costs O(L)O(L). The total complexity is O(LlogL)O(L \log L), which is a massive speedup over O(NM)O(NM) for long signals. For two signals of length 1000, you go from ~1 million operations to roughly 30,000.

Effects of linear convolution on signals

Signal characteristics modification

The impulse response h[n]h[n] completely determines how an LTI system modifies the input. Its duration, shape, and frequency response all shape the output:

  • Amplitude/frequency content: Convolution can attenuate or amplify specific frequency bands. A low-pass filter preserves low frequencies while suppressing high-frequency content. A high-pass filter does the opposite. The system's frequency response H(ejω)H(e^{j\omega}) tells you exactly which frequencies get boosted or cut.
  • Phase response: The phase of H(ejω)H(e^{j\omega}) determines how different frequency components are shifted in time. A linear phase filter introduces a constant group delay across all frequencies, which preserves the signal's shape (just delayed). Nonlinear phase can distort the signal's waveform even if the magnitude response is flat.
  • Duration: Convolution generally spreads signals out in time. The output is longer than either input, which is why the output length is N+M1N + M - 1.

Interpretation and applications

Analyzing convolution results means looking at both domains. The time-domain output shows you the waveform shape, while the frequency-domain product X(ejω)H(ejω)X(e^{j\omega}) \cdot H(e^{j\omega}) reveals exactly which frequencies were kept, removed, or shifted.

Common applications of linear convolution include:

  • Filtering: Removing unwanted frequency components or noise (e.g., bandpass filters in communications)
  • Signal smoothing: Reducing high-frequency noise with averaging or Gaussian kernels
  • Signal enhancement: Emphasizing desired features, such as sharpening edges in images
  • Signal synthesis: Generating new signals by convolving with designed impulse responses (e.g., adding reverb to dry audio by convolving with a room impulse response)

Real-world examples span many fields: audio equalizers and reverb effects, image blurring and edge detection kernels, and communication systems using matched filtering for optimal signal detection or channel equalization to undo distortion.