Professional Documents
Culture Documents
Toeplitz matrices
T(m, n) = tm n
t0
t
1
T = t2
N 1
t1 t2 t( N 1)
t0 t1
t2
t1
t2 t1 t0 NN
T(m, n) = tm n
t0
t
1
T = t2
N 1
t1 t2 t( N 1)
t0 t1
t2
t1
t2 t1 t0 NN
Circulant matrices
Elements with constant value along the main
diagonal and sub-diagonals.
For a NxN matrix, its elements are determined by
a N-length sequence {cn | 0 n N 1}
c1 c2
c0
c
C(m, n) = c( m n ) mod N
c
c
0
1
N 1
C = cN 2
c1
c2 cN 1
C. Nikou Digital Image Processing (E12)
cN 1
c2
c1
c0 NN
c1 c2
c0
c
C(m, n) = c( m n ) mod N
c
c
0
1
N 1
C = cN 2
c1
c2 cN 1
C. Nikou Digital Image Processing (E12)
cN 1
c2
c1
c0 NN
Convolution by matrix-vector
operations
1-D linear convolution between two discrete
signals may be expressed as the product of a
Toeplitz matrix constructed by the elements of
one of the signals and a vector constructed by the
elements of the other signal.
1-D circular convolution between two discrete
signals may be expressed as the product of a
circulant matrix constructed by the elements of
one of the signals and a vector constructed by the
elements of the other signal.
Extension to 2D signals.
C. Nikou Digital Image Processing (E12)
1 0 0
1 1 0
H=
0 1 1
0 0 1 43
Length of f [n] = 3
Zero-padded h[n] in the first column
1 0 0
1
1 1 0 1 1
g = Hf =
=
2
0 1 1 0
2
0 0 1
2
g[n] = {1, 1, 0, 2}
C. Nikou Digital Image Processing (E12)
10
11
1 0 1
H = 1 1 0
0 1 1 33
Zero-padded h[n] in the
first column
C. Nikou Digital Image Processing (E12)
12
1 0 1 1 1
g = Hf = 1 1 0 2 = 1
0 1 1 2 0
g[n] == { 1, 1, 0}
Block matrices
13
A11
A
A = 21
AM 1
A12
A22
AM 2
A1N
A2 N
AMN
14
m
1 4 1
2 5 3
f [m,n]
M1=2, N1=3
1 1
1 -1
h [m,n]
M2=2, N2=2
15
m
1 4 1
2 5 3
f [m,n]
1 1
1 -1
h [m,n]
16
m
0 0 0 0
1 1 0 0
1 -1 0 0
h[m,n]
1 0 0
1 1 0
H1 =
0 1 1
0 0 1
1
1
H2 =
0
0
1
1
0
0
0
1
0
0
H3 =
0
0 0
0 0
0 0
0 0
17
m
1 4 1
2 5 3
1 1
1 -1
h [m,n]
f [m,n]
Using matrices H1, H2
and H3 as elements, a
doubly block Toeplitz
matrix H is then
constructed with 2
columns (the number of
rows of f [m,n]).
H1
H = H 2
H 3
H3
H1
H 2 126
18
m
1 4 1
2 5 3
f [m,n]
We now construct
a vector from the
elements of f [m,n].
1 1
1 -1
h [m,n]
2
5
3 (2 5 3)T
f = =
T
1 (1 4 1)
4
1
19
m
1 4 1
2 5 3
1 1
1 -1
h [m,n]
f [m,n]
H1
g = Hf = H 2
H 3
2
5
H3
3
H1
1
H 2
4
1
20
1 0 0 0 0 0
2
1 1 0 0 0 0
3
0 1 1 0 0 0
2
0
0
1
0
0
0
2
3
1 0 0 1 0 0 5 3
(2 3 2 3)T
1 1 0 1 1 0 3 10
T
g = Hf =
= = (3 10 5 2)
0 1 1 0 1 1 1
5
(1 5 5 1)T
0 0 1 0 0 1 4 2
0 0 0 1 0 0 1 1
0 0 0 1 1 0
5
0
0
0
0
1
1
5
0 0 0 0 0 1
1
C. Nikou Digital Image Processing (E12)
21
m
1 4 1
2 5 3
1 1
1 -1
h [m,n]
f [m,n]
m
1 5 5 1
3 10 5 2
2 3 -2 3
(2 3 2 3)T
T
g = (3 10 5 2)
(1 5 5 1)T
g [m,n]
C. Nikou Digital Image Processing (E12)
22
Another example
m
m
3 4
1 2
f [m,n]
M1=2, N1=2
1 -1
h [m,n]
M2=1, N2=2
23
m
3 4
1 2
f [m,n]
1 -1
h [m,n]
24
m
0 0 0
1 -1 0
h[m,n]
1 0
H1 = 1 1
0 1
25
m
3 4
1 2
1 -1
h [m,n]
f [m,n]
Using matrices H1 and
H2 as elements, a
doubly block Toeplitz
matrix H is then
constructed with 2
columns (the number of
rows of f [m,n]).
H1
H=
H 2
H2
H1 64
26
m
3 4
1 2
f [m,n]
We now construct a
vector from the elements
of f [m,n].
1 -1
h [m,n]
1
2 (1 2)T
f = =
T
3 (3 4)
4
27
m
3 4
1 2
f [m,n]
H1
g = Hf =
H 2
1 -1
h [m,n]
1
H 2 2
H1 3
4
28
1 0 0 0
1
1 1 0 0 1
1
0 1 0 0 2 2 (1 1 2)T
g = Hf =
= =
T
0 0 1 0 3 3 (3 1 4)
0 0 1 1 4 1
0 0 0 1
4
29
3 4
1 2
1 -1
h [m,n]
f [m,n]
m
3 1 4
1 1 -2
(1 1 2)T
g=
T
(3 1 4)
g [m,n]
C. Nikou Digital Image Processing (E12)
30
g = Hf
where H is a doubly block circulant matrix
generated by h [m,n] and f is a vectorized form
of f [m,n].
C. Nikou Digital Image Processing (E12)
31
HM 1
HM 1
H0
H1
HM 2
HM 2 H1
HM 1 H2
H0
H3
HM 3 H0
32
h
[
j
,0]
h
[
j
,
2]
Hj =
h[ j, N 1] h[ j, N 2] h[ j,0] NN
33
m
0 1 0
1 3 -1
1 2 1
f [m,n]
1 0 1
H 0 = 1 1 0
0 1 1
1 0 0
H1 = 0 1 0
0 0 1
0 0 0
1 0 0
1 -1 0
h [m,n]
0 0 0
H 2 = 0 0 0
0 0 0
34
m
0 1 0
1 3 -1
1 2 1
f [m,n]
H0
g = Hf = H1
H 2
H2
H0
H1
0 0 0
1 0 0
1 -1 0
h [m,n]
H1 (1 2 1)
T
H 2 (1 3 1)
H 0 ( 0 1 0 )T
35
0 1 0 0 0 0 0 0 1 1 1
1
0
0
1
0
1
0
0
0
1 3
g = Hf = 0 1 0 1 1 1 0 0 0 3 = 4
0 0 1 0 1 0 0 0 0 1 3
0 0 0 0 0 0 1 0 1 0 1
0 0 0 0 0 0 1 1 1 1 4
0 0 0 0 0 0 0 1 0 0 2
36
m
0 1 0
1 3 -1
1 2 1
f [m,n]
1 4 -2
3 4 -3
0 2 -1
0 0 0
1 0 0
1 -1 0
h [m,n]
( 0 2 1)T
T
g = ( 3 4 3)
T
(1 4 2 )
g [m,n]
C. Nikou Digital Image Processing (E12)
37
wN = e
2
j
w =e
nk
N
2 n
j
k
0 k N 1, 0 n N 1,
C. Nikou Digital Image Processing (E12)
38
F = Af
where
( w0 ) 0
N
1 0
(w )
A= N
( w N 1 )0
N
(w )
(w )
0 1
N
1 1
N
(w )
(w )
0
N
1
N
(w ) (w )
N 1 1
N
N 1 2
N
(w )
(w )
1 N 1
1
N
( wNN 1 )
0
N
N 1
39
f =A F
where
1
* T
A = (A )
N
1
0
( wN )
1 0
1 ( wN )
=
N
N 1 0
( wN )
( wN0 )
( wN0 )
(w )
(w )
1 1
N
1
N
(w ) (w )
N 1 1
N
N 1 2
N
( wN0 )
1 N 1
( wN )
N
1
( wNN 1 )
N 1
* T
40
41
[ H k ]m
l =mn
1
=
N
N 1
1
= h [ m n ]N k [ n] =
N
n =0
m ( N 1)
l =m
k ( m l )
N
h [l ]N w
N 1
h [ m n]
n=0
1 k m
= wN
N
k n
N
m ( N 1)
l =m
h [l ]N wNk l
m
1 k m 1
kl
kl
= wN h [l ]N wN + h [l ]N wN
N
l =0
l = m ( N 1)
42
N 1
N 1
1 k m 1
kl
kl
kl
= wN h [l ]N wN + h [l ]N wN h [l ]N wN
N
l =0
l = m +1
l = m ( N 1)
N 1
N 1
1 k m N 1
kl
kl
kl
= wN h [l ]N wN + h [l ]N wN h [l ]N wN
N
l =0
l = m +1
l = m +1
43
[ H k ]m
1 k m N 1
kl
= wN h [l ]N wN
N
l =0
= H [k ][ k ]m
DFT of h[n] at k.
H k = H [k ] k
which means that k, for any k, is an eigenvector of
H with corresponding eigenvalue the k-th element
of H[k], the DFT of the signal generating H .
C. Nikou Digital Image Processing (E12)
44
HA = A
=diag { H [0], H [1],..., H [ N 1]}
or equivalently: = HA 1
Based on this diagonalization, we can prove the
property between circular convolution and DFT.
C. Nikou Digital Image Processing (E12)
45
g = Hf g = HA -1 Af
Ag = AHA -1 Af G = F
0
0
G[0] H [0]
F [0]
G[0] 0
H
[1]
0
F
[0]
=
0 H [ N 1] F [ N 1]
G[ N 1] 0
DFT of g[n]
DFT of h [n]
DFT of f [n]
46
M N
, B
K L
A B = 21
aM 1B aM 2 B aMN B MK NL
C. Nikou Digital Image Processing (E12)
47
48
(A A)
= (A A) H (A A)
Diagonal, containing the 2D DFT
of h[m,n] generating H