The downsampler is a linear system, but it is not
time-invariant. (Figure 1)
yn=x2n
y
n
x
2
n
The downsampler can also be represented in matrix form.
⋮y0y1y2y3⋮=(
⋮⋮
…1000000…
…0010000…
…0000100…
…0000001…
⋮⋮
)⋮x0x1x2x3x4x5x6⋮
⋮
y0
y1
y2
y3
⋮
⋮
⋮
… 1 0000
00…
… 0 0100
00…
… 0 0001
00…
… 0 0000
01…
⋮
⋮
⋮
x0
x1
x2
x3
x4
x5
x6
⋮
where
D=(
⋮⋮
…1000000…
…0010000…
…0000100…
…0000001…
⋮⋮
)
D
⋮
⋮
… 1 0000
00…
… 0 0100
00…
… 0 0001
00…
… 0 0000
01…
⋮
⋮
.
We can write
y=Dx
y
D
x
where DD is the
infinite matrix having the form shown. Note that the matrix
DD that represents
downsampling is not a Toeplitz matrix -- it is not constant
along the diagonals. As we know, the downsampling operation can
not be represented as a convolution.
Let's see what the transpose of the downsampler is. We can do
this by observing the form of the transpose of the matrix
DD, which has the
following form:
DT=(
⋮⋮
…1000…
…0000…
…0100…
…0000…
…0010…
…0000…
…0001…
⋮⋮
)
D
⋮
⋮
… 1 000 …
… 0 0 00
…
… 0 1 00
…
… 0 0 00
…
… 0 0 10
…
… 0 0 00
…
… 0 0 01
…
⋮
⋮
The matrix DTD
represents upsampling:
z=DTy⇔zn=[↑2]yn
⇔
z
D
y
z
n
[↑2]
y
n
Note that
DTD≠I
D
D
I
so therefore upsampling is not an orthogonal
transformation. Indeed, when the matrix product
DTD
D
D
is computed, we find that
DTD=(
⋮⋮
…100000…
…000000…
…001000…
…000000…
…000010…
…000000…
…000001…
⋮⋮
)
D
D
⋮
⋮
… 1 0000
0…
… 0 0000
0…
… 0 0100
0…
… 0 0000
0…
… 0 0001
0…
… 0 0000
0…
… 0 0000
1…
⋮
⋮
So
z=(DTD)x⇔zn=[↑2][↓2]xn={xn if n is even0 if n is odd
⇔
z
D
D
x
z
n
[↑2]
[↓2]
x
n
x
n
n is even
0
n is odd
Equivalently,
Zz=0.5(Xz+X−z)
Z
z
0.5
X
z
X
z