Professional Documents
Culture Documents
2d Circular Convolution 2 PDF
2d Circular Convolution 2 PDF
2d Circular Convolution 2 PDF
2D Circular Convolution
*
Richard Baraniuk
This work is produced by OpenStax-CNX and licensed under the
Creative Commons Attribution License 1.0
1 1D Signals
Circular convolution for 1D1 signals (Figure 1).
Figure 1
N −1
(1)
X
y [n] = h [(n − k) modN ] x [k]
k=0
for 0 ≤ n ≤ N − 1.
1. Flip h around
2. Shift this function
3. Multiply by x
4. Add up to get y [n]
5. Repeat for each n
http://cnx.org/content/m12058/1.2/
OpenStax-CNX module: m12058 2
2 2D "Signals"
The domain has two dimensions.
Example 1
Images (N × N box of numbers), Figure 2.
3 2D LSI Systems
Figure 3.
http://cnx.org/content/m12058/1.2/
OpenStax-CNX module: m12058 3
h [m, n]
Compute output y via 2D circular convolution (Figure 4).
Figure 4: y = h~N x.
Figure 5: y = x~N h.
N −1 N −1
(5)
X X
y [m, n] = (h [(m − l) modN, (n − k) modN ] x [l, k])
k=0 l=0
http://cnx.org/content/m12058/1.2/
OpenStax-CNX module: m12058 4
4 Example Filters
4.1 1. Smoothers
Figure 6
http://cnx.org/content/m12058/1.2/
OpenStax-CNX module: m12058 5
Figure 7
Figure 8
Detects edges in any direction: Figure 9, Figure 10, Figure 10(b), Figure 10(c).
http://cnx.org/content/m12058/1.2/
OpenStax-CNX module: m12058 6
Figure 9
Figure 10
All vector space theory goes through to 2D images and general d-dimensional functions.
Example 2
−1 N
p NX −1
(10)
X p
k x kp = (|x [m, n] |)
m=0 n=0
N −1 N −1
(10)
X X
< x, y >= x [m, n] y [m, n]
m=0 n=0
http://cnx.org/content/m12058/1.2/