Convolution and Filtering: the Convolution Theorem Linear
Total Page:16
File Type:pdf, Size:1020Kb
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) 200 175 150 125 100 75 50 25 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) 20 Fourier Transform: 15 10 F(f (t) cos(2πst)) = F(f (t)) ∗ F(cos(2πst)) 5 1 1 = F(u) ∗ [ δ(u − s) + δ(u + s)] -4 -2 22 4 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. (More on this later.).