EEL 6562 Image Processing & Computer Vision Linear and Circular Convolution Example
EEL 6562 Image Processing & Computer Vision Linear and Circular Convolution Example
Linear Convolution
One dimensional linear discrete convolution is dened as:
g (x) =
s=
3 1
f (x ) 1 2 3 -2 1 1
h (x )
0 1
0 1 2 3
This convolution can be performed graphically by reecting and shifting h(x), as shown in Figure 1. The samples of f (s) and h(s x) that line up vertically are multiplied and summed: g (0) = f (1)h(1) + f (0)h(0) = 0 + 1 = 1 g (1) = f (0)h(1) + f (1)h(0) = 1 + 3 = 4 g (2) = f (1)h(1) + f (2)h(0) = 3 + 2 = 1 g (3) = f (2)h(1) + f (3)h(0) = 2 + 1 = 1 g (4) = f (3)h(1) + f (4)h(0) = 1 + 0 = 1 The result of the convolution is as shown below:
4 g (x ) 1 1 3 0 1 2 -1
Notice that when f (x) is of length 4, and h(x) is of length 2, the linear convolution is of length 4 + 2 1 = 5.
1 4
Circular Convolution
One dimensional circular discrete convolution is dened as:
M 1
g (x) =
s=0
h(x)
For M = 4, the convolution can be performed using circular reection and shifts of h(x), as shown in Figure 2. The samples of f (s) and h((s x) mod M ) that line up vertically are multiplied and summed: g (0) = f (3)h(1) + f (0)h(0) = 1 + 1 = 2 g (1) = f (0)h(1) + f (1)h(0) = 1 + 3 = 4 g (2) = f (1)h(1) + f (2)h(0) = 3 + 2 = 1 g (3) = f (2)h(1) + f (3)h(0) = 2 + 1 = 1 The result of the convolution is as shown below:
4 2 g (x ) 1 3 0 1 2 -1
Notice that f (x) and h(x) are both treated as if they are of length 4, and the circular convolution is also of length 4.
3 1
f (s) 1 2 3 4 -2 1
f (s) 1 2 3 4 -2 1
f (s) 1 2 3 4 -2
-1 0 1
-1 0 1
-1 0 1
1 1 -1 0 1 2 3 4 h(0 s) 3 1 2 -1 0 1 -2
1 1 -1 0 1 2 3 4 h(1 s) f (s) 1 3 4 1 2 -1 0 1 -2 3
1 1 -1 0 1 2 3 4 h(2 s) f (s) 1 3 4
1 1 -1 0 1 2 3 4 h(3 s)
1 1 -1 0 1 2 3 4 h(4 s)
3 1
f (s) 1 2 3 -2 1
f (s) 1 2 3 -2
0 1
0 1