CHAPTER 4

CONVOLUTION AND FILTERING

**4.1 OVERVIEW**

The term *filtering* refers to the systematic alteration of the frequency content of a signal or image. In particular, we sometimes want to “filter out” certain frequencies. The operation is often linear and usually (but not always) performed on the time domain version of the signal.

One important tool for filtering in the time domain is *convolution.* The form taken by convolution depends on the vector space in which the signals reside. We’ll begin by examining convolution for finite-length one-dimensional signals, then look at convolution in two-dimensions (images), and finally we’ll examine convolution for infinite and bi-infinite signals. We also introduce the *z-transform*, a powerful tool in signal and image processing.

**4.2 ONE-DIMENSIONAL CONVOLUTION**

**4.2.1 Example: Low-pass Filtering and Noise Removal**

Recall the example of Section 2.3, in which the function *x*(*t*) = 2.0 cos(2*π* · 5*t*) + 0.8 sin(2*π* · 12*t*) + 0.3 cos(2*π* · 47*t*) was sampled on the time interval [0, 1] at times *t* = *k*/128 for integers 0 ≤ *k* ≤ 127. The goal in that example was the removal of the 47 Hertz component in the sampled signal, perhaps because it represented noise. In that case the noise was deterministic, not random, but that doesn’t matter for the moment. We removed the high-frequency portion of the signal with frequency domain methods, by performing a DFT (though we hadn’t actually defined the DFT at that point), zeroing out the 47 Hertz component, and then re-synthesizing ...