Convolution and Filtering: The Convolution Theorem
Convolution and Filtering: The Convolution Theorem CS 450: Introduction to Digital Signal and Image Processing
Bryan Morse BYU Computer Science
Convolution and Filtering: The Convolution Theorem Introduction
Linear Systems and Responses
Time/Spatial Frequency Input f F Output g G Impulse Response h Transfer Function H Relationship g = f ∗ h G = FH
Is there a relationship? Convolution and Filtering: The Convolution Theorem Convolution Theorem
The Convolution Theorem
Let F, G, and H denote the Fourier Transforms of signals f , g, and h respectively.
g = f ∗ h g = fh
implies implies
G = FH G = F ∗ H
Convolution in one domain is multiplication in the other and vice versa.
Convolution and Filtering: The Convolution Theorem Convolution Theorem
The Convolution Theorem
Thus, F(f (t) ∗ g(t)) = F(f (t))F(g(t))
Likewise, F(f (t)g(t)) = F(f (t)) ∗ F(g(t)) Convolution and Filtering: The Convolution Theorem Convolution Theorem
Filtering: Frequency-Domain vs. Spatial (Convolution)
Convolution and Filtering: The Convolution Theorem Convolution Theorem
Linear Systems and Responses
Time/Spatial Frequency Input f F Output g G Impulse Response h Transfer Function H Relationship g = f ∗ h G = FH
Relationship: the Transfer Function H(u) is the Fourier Transform of the impulse response h(u) Convolution and Filtering: The Convolution Theorem Applications of the Convolution Theorem
Example 1: Frequency Analysis of Convolution
If the impulse response is a Gaussian with standard deviation σ, what does this do to frequencies going through the system?
0.6 0.4 0.5 0.3 0.4
0.3 0.2 0.2 0.1 0.1
-10 -5 5 10 20 40 60 80 100 120 Time Domain Frequency Domain Impulse Response Transfer Function
Convolution and Filtering: The Convolution Theorem Applications of the Convolution Theorem
Example 2: Truncating a Signal What is the Fourier Transform of a truncated signal?
10 cos(2πst) + 10 if −π ≤ t ≤ π f (t) = 0 otherwise
20
15
10
5
-4 -2 2 4
(10 cos(2πst) + 10)(Rect2π(t))
F(10 cos(2πst) + 10) ∗ F(Rect2π(t))
(10 F(cos(2πst)) + 10 F(1)) ∗ F(Rect2π(t))
1 (10 [δ(u − s) + δ(u + s)] + 10 δ(u)) ∗ sinc(2π2u) 2
[5 δ(u − s) + 5 δ(u + s) + 10 δ(u)] ∗ sinc(2π2u)
5 sinc(2π2(u − s)) + 5 sinc(2π2(u + s)) + 10 sinc(2π2u) Convolution and Filtering: The Convolution Theorem Applications of the Convolution Theorem
Example 2 (cont’d)
20 200 175 15 150 125 10 100 75 5 50 25
-4 -2 2 4 50 100 150 200 250 Time Domain Frequency Domain
Convolution and Filtering: The Convolution Theorem Applications of the Convolution Theorem
Example 3: Frequency Multiplexing Suppose that we modulate (multiply) a carrier signal of a particular frequency s by a signal f (t):
f (t) cos(2πst)
Fourier Transform:
F(f (t) cos(2πst)) = F(f (t)) ∗ F(cos(2πst)) 1 1 = F(u) ∗ [ δ(u − s) + δ(u + s)] 2 2 1 1 = F(u − s) + F(u + s)] 2 2 This just shifts the signal in the frequency domain by the frequency s of the carrier (splits between s and −s). Convolution and Filtering: The Convolution Theorem Applications of the Convolution Theorem
Example 3 (cont’d)
Signal Carrier Frequency 20 Carrier Frequency 40 1 1 1 0.75 0.75 0.8 0.5 0.5 0.6 0.25 0.25
0.4 -3 -2 -1 1 2 3 -3 -2 -1 1 2 3 -0.25 -0.25 0.2 -0.5 -0.5 -0.75 -0.75 -3 -2 -1 1 2 3 -1 -1
4 4 4 3.5 3.5 3.5 3 3 3 2.5 2.5 2.5 2 2 2 1.5 1.5 1.5 1 1 1 0.5 0.5 0.5
100 200 300 400 500 50 100 150 200 250 50 100 150 200 250
Convolution and Filtering: The Convolution Theorem Applications of the Convolution Theorem
Example 3 (cont’d)
What if we add together multiple signals, each modulated by a different carrier?
Can carry multiple signals through a single medium, each carried by a different carrier frequency.
I Frequency multiplexing
I AM Radio
Just have to make sure the frequency-shifted signals don’t overlap in the frequency-domain. Convolution and Filtering: The Convolution Theorem Applications of the Convolution Theorem
Convolution in the Frequency Domain
One application of the Convolution Theorem is that we can perform time-domain convolution using frequency-domain multiplication: f ∗ g = F −1(F(f )F(g)) What is the computational complexity of doing it this way?
Convolution and Filtering: The Convolution Theorem Convolution and Correlation
Correlation
Convolution is Z ∞ f (t) ∗ g(t) = f (τ) g(t − τ) dτ −∞
Correlation is Z ∞ f (t) ∗ g(−t) = f (τ) g(t + τ) dτ −∞
Correlation is the “unflipped kernel” version of convolution that we saw earlier as weighted neighborhood masks. Convolution and Filtering: The Convolution Theorem Convolution and Correlation
Correlation in the Frequency Domain
Can also do correlation in the frequency domain:
Convolution f (t) ∗ g(t) ↔ F(s) G(s)
Correlation f (t) ∗ g(−t) ↔ F(s) G∗(s)
Convolution and Filtering: The Convolution Theorem Convolution and Correlation
Autocorrelation
Autocorrelation is the correlation of a function with itself:
f (t) ∗ f (−t)
Useful for finding periodicity in a function (as the shifted copies match the original, the output of the correlation is high).
In the Frequency Domain:
F(u) F ∗(u) = |F(u)|2
This is the same as the power spectrum. Convolution and Filtering: The Convolution Theorem Deconvolution
Deconvolution - Basic Idea
If G = FH, can’t you reverse the process by F = G/H? This is called deconvolution—the “undoing” of a convolution.
Problem: most systems have noise, which limits deconvolution.