<<

Convolution and Filtering: The 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 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 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 - 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.

(More on this later.)