i
i
i
i
i
i
i
i
204 9. Signal Processing
discrete and continuous filters: the discrete filter is just the continuous filter sam-
pled at the integers. Also note that for simplicity we define f
tent,r
by scaling the
“standard size” tent filter f
tent
. From now on, we’ll take this scaling for granted:
once we define a filter f, then we can use f
r
to mean “the filter f stretched out
by r and also scaled down by r.” Note that f
r
has the same integral as f,andwe
will always make sure that the value of the integral is equal to 1.0.
The Gaussian Filter
The Gaussian function (Figure 9.21), also known as the normal distribution, is
an important filter theoretically and practically. We’ll see more of its special
properties as the chapter goes on:
Figure 9.21. The
Gaussian filter.
f
g
(x)=
1
√
2π
e
−x
2
/2
.
The Gaussian does not have finite support, although because of the exponential
decay, its values rapidly become small enough to ignore. When necessary, then,
we can trim the tails from the function by setting it to zero outside some radius.
The Gaussian makes a good sampling filter because it is very smooth; we’ll make
this statement more precise later in the chapter.
The B-spline Cubic Filter
Many filters are defined as piecewise polynomials, and cubic filters with four
pieces are often used as reconstruction filters. One such filter is known as the B-
spline filter (Figure 9.22) because of its origins as a blending function for spline
curves (see Chapter 15):
Figure 9.22. The B-spline
filter.
f
B
(x)=
1
6
⎧
⎪
⎨
⎪
⎩
−3(1 −|x|)
3
+3(1−|x|)
2
+3(1−|x|)+1 −1 ≤ x ≤ 1,
(2 −|x|)
3
1 ≤|x|≤2,
0 otherwise.
Among piecewise cubics, the B-spline is special because it has continuous first
and second derivatives—that is, it is C
2
. A more concise way of defining this
filter is F
B
= f
box
f
box
f
box
f
box
; proving that the longer form above is
equivalent is a nice exercise in convolution (see Exercise 3).
The Catmull-Rom Cubic Filter
Figure 9.23. The Catmull-
Rom filter.
Another piecewise cubic filter named for a spline, the Catmull-Rom filter (Figure
9.23), has the value zero at x = −2, −1, 1,and2, which means it will interpolate