1
Chapter 2
2.1 Legendre polynomials
We assume the inner product definition preceding (2.2.1). Let xk = tk−1 for k ∈ Z+. We initiate
the Gram-Schmidt procedure with
x1 1 1
y1 = = 1 1 =
√ .
x1 ( −1 1 dt) 2 2
This process can be continued to find an orthonormal set of arbitrary size. It can be proven by
induction that
2n + 1 (−1)n dn
yn+1 = · n · n (1 − t2 )n .
2 2 n! dt
(b) ⇒ (a): Let y ∈ E. We wish to show that ŷ = K i=1 xi , yxi equals y. Define e by e = y − ŷ.
Then for k ∈ {1, 2, . . . , K},
K
xk , e = xk , y − xi , yxi
i=1
K
= xk , y − xk , xi , yxi
i=1
K
= xk , y − xi , yxk , xi
i=1
2
K
= xk , y − xi , yδki by the orthonormality of S
i=1
= xk , y − xk , y = 0.
Now (b) implies that e = 0. Thus S satisfies the requirements for an orthonormal basis for E.
(b) The arguments from (a) can be easily extended to n dimensions. For vectors on an n-dimensional
sphere, the minimum l∞ norm occurs when all of the elements are equal:
where the third equality is because |m[n]| = 1 for all n. Thus A = 1.
|y[2n]|2 + |y[2n + 1]|2 = |x[2n] + x[2n + 1]|2 + |x[2n] − x[2n + 1]|2 = 2|x[2n]|2 + 2|x[2n + 1]|2 .
√
From this it is clear that y2 = 2x2 . Therefore A = 2.
3
2.5 Least-squares approximation in an orthonormal
representation
N K
Our problem is to minimize y − ŷ, where y = i=1 αi xi and ŷ = i=1 βi xi . Subtracting gives
K
N
y − ŷ = (αi − βi )xi + αi xi .
i=1 i=K+1
Thus,
K
N
αm − βm m = 1, . . . , K
xm , y − ŷ = xm , (αi − βi )xi + αi xi = ,
αm m = K + 1, . . . , N
i=1 i=K+1
where we have used the linearity of the inner product and the orthonormality of {xm }N
m=1 . Now
Parseval’s equality (2.2.5) gives
N
K
N
y − ŷ2 = |xm , y − ŷ|2 = |αm − βm |2 + |αm |2 .
m=1 m=1 m=K+1
4
(b) If y is orthogonal to the column space of A, then y ∈ N (AT ), the nullspace of AT . That is,
AT y =0, and so ŷ = A(AT A);1 AT y =0.
(a) Let {xi } be an orthonormal basis for E. Let y ∈ E. Then y = k αk xk , where αk = xk , y.
y2 = y, y = αk xk , α x
k
= α∗k xk , α x
k
= α∗k α xk , x
k
= α∗k α δk by the orthonormality of the xi ’s
k
= α∗k αk
k
= |xk , y|2
k
(b) The manipulations are very similar to the orthogonal basis case. Let {x
i , x̃i } constitute a
pair of
biorthonormal bases for E. Let y 1 , y 2 ∈ E. Then we can write y 1 = k xk , y1 x˜k and
y2 = k x˜k , y1 xk .
y1 , y2 = xk , y1 x˜k , x˜ , y2 x
k
5
= xk , y1 ∗ x˜k , x˜ , y2 x
k
= xk , y1 ∗ x˜ , y2 x˜k , x
k
∗
= xk , y1 x˜ , y2 δk by (2.2.?)
k
= xk , y1 ∗ x˜k , y2
k
This establishes (2.2.12). By expanding y1 in terms of xk ’s and y2 in terms x˜k ’s, (2.2.13) can be
similarly proven. (2.2.11) is a special case of (2.2.12) with y1 = y2 = y.
(c) From part (a), since any f ∈ L2 ([−π, π]) can be written as f (x) = fs (x) + fa (x), this implies
that L2 ([−π, π]) ⊆ S ⊕ A. Conversely, from the decomposition in part (b) and the fact that
these functions form an orthonormal basis for L2 ([−π, π]), it follows that the sum of any functions
fs ∈ S and fa ∈ A is equal to some f ∈ L2 ([−π, π]), implying L2 ([−π, π]) ⊇ S ⊕ A. Hence,
L2 ([−π, π]) = S ⊕ A.
2.10 Downsampling by N
Consider x[n] and y[n] to be obtained from sampling xc (t) with sampling periods T and N T ,
respectively.
ω
1 ω 2π
jω
Y (e ) = XN T = Xc −k by (2.4.35)
NT NT NT NT
k
6
N −1 ∞
1 ω 2π
= Xc − (nN + ) by defining n and through k = nN +
NT NT NT
=0 n=−∞
N −1
∞
1 1 ω − 2π 2π
= Xc −n
N T n=−∞ NT T
=0
N −1
1
= X(ej(ω−2π)/N ) by (2.4.36)
N
=0
(a) H (ejω /2) and H (ej(ω−π) /2) are identical (and thus overlap). Therefore filtering by H (ejω )
prior to downsampling by 2 will not avoid aliasing.
7
The input x[n] can be decomposed to give
N −1
x[n] = x̃i [n − i].
i=0
N −1
y[n] = h[k, n] x̃i [n − i]
k i=0
N −1
= h[k, n]x̃i [n − i]
i=0 k
N −1
= h[k, n]x˜i [n − i] because the excluded terms are zero
i=0 k: k−i
N
∈Z
N −1
= h[i, n]x˜i [n − i] by the periodicity of h
i=0 k: k−i ∈Z
N
N −1
= h[i, n]x̃i [n − i] because the added terms are zero.
i=0 k
The final expression shows the output as a sum of N terms. The ith term is the ith polyphase
component, upsampled and filtered by an i-sample delayed version of h[i, n].
G1(ω ) H2 (ω )
G2(ω )
T T
1
ω ω = ω
−3π/2 3π/2
* −π/2 π/2 −2π −π π 2π
Let ω1 and ω2 be the cutoff frequencies of G1 (ω) and G2 (ω), respectively. They can be found by
solving the equations
ω1 + ω2 = 2π ,
ω1 − ω2 = π .
8
This yields ω1 = 3π π
2 and ω2 = 2 .
In the time-domain, h2 (t) is the product of two sinc functions (up to a scaling constant), which
is clearly a function of t12 :
3π π
sin( 2T t) sin( 2T t)
h2 (t) = 3π π .
2T t 2t
2π
(b) For ωs = 4π, T = ωs , H3 (ω) must satisfy
T if ω ∈ [−π, π]
H3 (ω) =
0 if ω ≥ 3π
H3 (ω) can be obtained by convolving (in the frequency domain) one “big” rectangular window,
G1 (ω), with two identical “small” rectangular windows, G2 (ω):
G1(ω )
G2(ω ) G2(ω ) H 3 (ω )
T
1 1 T
ω * ω * ω =
−2π 2π −π/2 π/2 −π/2 π/2 ω
−3π −π π 3π
Let ω1 and ω2 be the cutoff frequencies of G1 (ω) and G2 (ω), respectively. They can be found by
solving the equations
ω1 + 2ω2 = 3π ,
ω1 − 2ω2 = π .
This yields ω1 = 2π and ω2 = π2 .
1
In the time domain, h3 (t) is the product of 3 sinc functions, so it decays as t3 :
2
sin( 2π t) π
sin( 2T t)
h3 (t) = 2πT π
T t 2t
To show that H3 (ω) has a continuous derivative, it is easier to consider it in the time-domain
and the transform it back to the frequency domain. Recall that the Fourier transform pair of the
frequency domain derivative is
FT dn H(ω)
tn h(t) ←→ j n .
dω n
The scaling constant j does not affect the continuity of the problem so we will ignore it.
2
sin( 2π
T t)
π
sin( 2T t)
t h3 (t) = 2π π
T 2t
Hence, t h3 (t) is a product of 2 identical sinc functions and a sine function (and a multiplicative con-
stant), which corresponds to convolving a triangle window with a pair of impulses in the frequency
domain. This is just adding together two triangle windows (which are continuous function), hence
the derivative is continuous. Note that the second derivative is not continuous, since t2 h3 (t) is a
9
product of a sinc function and 2 sine functions, which translates into adding together 4 rectangular
windows in the frequency domain, and rectangular windows are not continuous.
10
which completes the proof. Note that the operations of time-shifting and modulation do change
the uncertainty product ∆2ω ∆2t .
1 − 12 ≤ t ≤ 12
(b) The Fourier transform of the rectangular pulse p(t) = is given by
0 otherwise
+∞ + 12
−jωt
P (ω) = p(t) e dt = e−jωt dt
−∞ − 12
1 ω
1 −jωt + 2 2
= − e 1 = sin
jω − ω 2
2
Then,
+ 12
+ 1 ω
t3 2 1 +∞
∆2t = 2
t dt = = and ∆2ω = 4 sin2 dω −→ ∞
− 12 3 −1 12 −∞ 2
2
(c) Consider the triangular pulse given by q(t) = p(t) ∗ p(t) where p(t) is the rectangular pulse of
part (b):
2 (1 − |t|) −1 ≤ t ≤ 1
3
q(t) =
0 otherwise
where the scale factor 32 is included to make q(t) a unit-energy function. (The uncertainty relation
only holds for unit-energy functions.) Then,
1 1
3 2
2
∆t = t (1 − |t|) dt = 3
2
t2 (1 − t)2 dt
−1 2
3 1 0
t t4 t5 1
= 3 − + =
3 2 5 0 10
3 4 2 ω
The Fourier transform of q(t) is given by Q(ω) = sin , so
2 ω2 2
∞
2 2 3 16 2 ω
∆ω = ω 4
sin dω
∞ 2 ω
−∞ 2 ∞
1 4 ω sin4 x
= 48 2
sin dω = 24 dx
0 ∞ ω 2 2 x2
sin x sin2 (2x) π π
0
= 24 − dx = 24 − = 6π
0 x2 4x2 2 4
1 π
2 2
So the uncertainty relation holds: ∆t ∆ω = (6π) = 0.6π ≥
10 2
(d) The central limit theorem can be applied to the sequence of convolved pulses:
11
where the parameters η and σ depend on the functions pi (t). Since equality holds in the uncertainty
relation for a Gaussian, the time-bandwidth product of a convolved sequence of pulses will approach
π/2.
where the ai are complex and the bi are real. The zeros are at locations {−1/bi , −1/ai , −1/a∗i }
while the poles are at {−bi , −a∗i , −ai }. The poles and zeros are at mirror locations with respect to
the unit circle. We can rewrite H(z) as
bi + z −1 a∗i + z −1 ai + z −1 Q(z −1 )
H(z) = =⇒ H(z) =
z −1 (bi + z) z −2 (ai + z) (a∗i + z) z −N Q(z)
i i
α0 + α1 z −1 + . . . + αN z −N
H(z) =
αN + αN −1 z −1 + . . . + α0 z −N
which shows that the numerator and denominator are mirror polynomials.
(b) The autocorrelation a[k] is given by a[k] = h[k]∗ h[k − n] = h[−n] ∗ h[n]∗ . Taking the
k
DTFT yields A(ejω ) = H(e−jω )H(e−jω )∗ = 1 by definition. The time-domain autocorrelation is
given by the inverse transform of A(ejω ), so
π
1 1
a[n] = ejωn dω = sin(πn) = δ[n]
2π −π πn
We know that {h[n − k]} is an orthonormal set because h[n − k], h[n − l] = a[k − l] = δ[k − l].
To prove that it is an orthonormal basis for l2 (Z) we can show (according to theorem 2.4b) that if
x[n], h[n − k] = 0 then x[n] = 0. The proof is straightforward:
x[n], h[n − k] = 0 {k ∈ Z} =⇒ x[n]∗ h[n − k] = 0 =⇒ x[k]∗ ∗ h[−k] = 0
n
(c) Since h[n], h[n − k] = δ[k], we know that h[n], h[n − 2k] = δ[2k] = δ[k], so we can conclude
that {h[n − 2k]} is an orthonormal set. Theorem 2.4b says that if we can find a non-zero x[n] such
that x[n], h[n − 2k] = 0, then {h[n − 2k]} is not a basis. Taking x[n] = h[n − 1], we have
h[n − 1], h[n − 2k] = h[n − 1]∗ h[n − 2k] = δ[2k − 1] = 0
n
12
We can therefore conclude that {h[n − 2k]} is not a basis for l2 (Z).
n−1
which verifies that v = βi , v αi . Since {βi } is also a basis for Rn , we can similarly write
i=0
n−1
n−1
n−1
v = di βi where v, αj = di βi , αj = dj which likewise verifies that v = αi , v βi .
i=0 i=0 i=0
From matrix algebra we know that ΛA and λA are the largest and smallest eigenvalue of AT A,
respectively. Similarly
λB v ≤ vβ ≤ ΛB v
where ΛB and λB are the largest and smallest eigenvalue of B T B, where B is a matrix whose i-th
1 1
row is βiT . But since B T B = (AT A)−1 we have λB = and ΛB = so the bound for vβ
ΛA λA
can be written as
1 1
√ v ≤ vβ ≤ √ v
ΛA λA
13
Using these equivalences, we have
n−1
n−1
v, v = αi , v βi , v = αi , v βi , v = vα , vβ
i=0 i=0
n−1
n−1
v, g = αi , v βi , g = αi , v βi , g = vα , gβ
i=0 i=0
(b) From the diagonalization of C, and using the fact that the determinant of a matrix is the
product of its eigenvalues,
N −1
det(C) = C[k] .
k=0
(c) Since
C −1 = F −1 Λ−1 F ,
it has the same form as C in Part (a), and thus it is circulant as well.
14
⎡ ⎤
1 1 1 1 1 1 1 1
⎢ 1 −1 1 −1 1 −1 1 −1 ⎥
⎢ ⎥
⎢ 1 1 −1 −1 1 1 −1 −1 ⎥
⎢ ⎥
W2 W2 ⎢ 1 −1 −1 1 1 −1 −1 1 ⎥
W3 = =⎢
⎢
⎥
⎥
W2 −W2 ⎢ 1 1 1 1 −1 −1 −1 −1 ⎥
⎢ 1 −1 1 −1 −1 1 −1 1 ⎥
⎢ ⎥
⎣ 1 1 −1 −1 −1 −1 1 1 ⎦
1 −1 −1 1 −1 1 1 −1
W3 W3
W4 =
W3 −W3
⎡ ⎤
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
⎢ 1 −1 1 −1 1 −1 1 −1 1 −1 1 −1 1 −1 1 −1 ⎥
⎢ ⎥
⎢ 1 1 −1 −1 1 1 −1 −1 1 1 −1 −1 1 1 −1 −1 ⎥
⎢ ⎥
⎢ −1 −1 −1 −1 −1 −1 −1 −1 ⎥
⎢ 1 1 1 1 1 1 1 1 ⎥
⎢ −1 −1 −1 −1 −1 −1 −1 −1 ⎥
⎢ 1 1 1 1 1 1 1 1 ⎥
⎢ −1 −1 −1 −1 −1 −1 −1 −1 ⎥
⎢ 1 1 1 1 1 1 1 1 ⎥
⎢ −1 −1 −1 −1 −1 −1 −1 −1 ⎥
⎢ 1 1 1 1 1 1 1 1 ⎥
⎢ ⎥
⎢ 1 −1 −1 1 −1 1 1 −1 1 −1 −1 1 −1 1 1 −1 ⎥
= ⎢ ⎥
⎢ 1 1 1 1 1 1 1 1 −1 −1 −1 −1 −1 −1 −1 −1 ⎥
⎢ ⎥
⎢ 1 −1 1 −1 1 −1 1 −1 −1 1 −1 1 −1 1 −1 1 ⎥
⎢ ⎥
⎢ 1 1 −1 −1 1 1 −1 −1 −1 −1 1 1 −1 −1 1 1 ⎥
⎢ ⎥
⎢ 1 −1 −1 1 1 −1 −1 1 −1 1 1 −1 −1 1 1 −1 ⎥
⎢ ⎥
⎢ 1 1 1 1 −1 −1 −1 −1 −1 −1 −1 −1 1 1 1 1 ⎥
⎢ ⎥
⎢ 1 −1 1 −1 −1 1 −1 1 −1 1 −1 1 1 −1 1 −1 ⎥
⎢ ⎥
⎣ 1 1 −1 −1 −1 −1 1 1 −1 −1 1 1 1 1 −1 −1 ⎦
1 −1 −1 1 −1 1 1 −1 −1 1 1 −1 1 −1 −1 1
(b) Let In denote the identity matrix of dimension n, and also note that Wk = WkT .
W0T W0 = 1 = I1
W1T W1 =
1 1 1 1
= 2 I2
1 −1 1 −1
W2T W2 =
W1 W1 W1 W1
= 4 I4
W1 −W1 W1 −W1
So we see that
Wk;1 Wk;1 Wk;1 Wk;1
WkT Wk = = 2k I2k .
Wk;1 −Wk;1 Wk;1 −Wk;1
Hence, √1 W
2k
k is an 2k × 2k orthonormal matrix, for k = 0, 1, 2, . . . .
15
(c)
⎡ ⎤
W0
⎢ √1 W1 ⎥
⎢ 2 ⎥
⎢ ⎥
2 W2
1
T = ⎢ ⎥
⎢ 1
W3 ⎥
⎣ 23/2 ⎦
..
.
⎡ ⎤
1 0 0 0 0 0 0 0
⎢ 0 √1 √1 0 0 0 0 0 ⎥
⎢ ⎥
⎢ 2 2
⎥
⎢ 0 √1 − √12 0 0 0 0 0 ⎥
⎢ 2 ⎥
⎢ 0 0 0 1 1 1 1 ⎥
= ⎢ 2 2 2 2 0 ⎥
⎢ 0 0 0 1
− 12 1
− 12 0 ⎥
⎢ 2 2 ⎥
⎢ 0 0 0 1 1
− 12 − 12 0 · · · ⎥
⎢ 2 2 ⎥
⎢ 0 0 0 1
− 12 − 12 1 ⎥
⎣ 2 2 0 ⎦
..
.
Note that T T = T .
W0T W0
⎡ ⎤ ⎡ ⎤
I1
⎢
⎢
1 T
2 W1 W1
⎥ ⎢
⎥ ⎢ I2 ⎥
⎥
TT T = ⎢
⎢ T W2 ⎥ ⎢ ⎥
22 W2 I4
1
⎥=⎢ ⎥
⎢
⎣
1
W3T W3 ⎥ ⎢
⎦ ⎣ I8 ⎥
⎦
23
.. ..
. .
So T is an unitary matrix.
(d) The tiling of the time-frequency plane is approximately as follows (Ti denotes the i-th row of
T ):
π
T5
T3
T7
T1
. . .
T6
T2
T4
0 n
01 3 7 15
Figure P2.19(d)
16
Chapter 3
3.1 Orthogonality and completeness of the sinc basis
(a) First, let’s prove ϕ2k [n], ϕ2l+1 [n] = 0. Since ϕ2k [n] = ϕ0 [n − 2k], it suffices to show that
ϕ0 [n], ϕ2l+1 [n] = 0, or more explicitly, g0 [n], g1 [n − 2l] = 0. By Parseval’s theorem,
π
1
g0 [n], g1 [n − 2l] = G0 (ejω )G1 (ejω )e−jω2l dω .
2π −π
Since G0 (ejω ) is an ideal lowpass filter with cutoff at π/2, G1 (ejω ) is a highpass filter at cutoff π/2,
and they do not overlap. Therefore, the integral is zero and the relation follows.
Next, let’s prove ϕ2k+1 [n], ϕ2l+1 [n] = δ[k − l] . Because ϕ2k+1 [n] = ϕ1 [n − 2k], it suffices to
show that ϕ1 [n], ϕ2l+1 [n] = δ[l], or g1 [n], g1 [n − 2l] = δ[l].
g1 [n], g1 [n − 2l] = (−1)n g0 [−n + 1], (−1)n−2l g0 [−(n − 2l) + 1]
= g0 [−n + 1], g0 [−n + 2l + 1]
= g0 [n], g0 [n + 2l]
= δ[l]
where the last equality follows from the fact that g0 [n] is orthonormal to its even shifts (i.e.
g0 [n], g0 [n − 2l] = δ[l]).
(b) Assume that the set {ϕk } is not complete. That is, suppose there exists a sequence x[n] with
x > 0 such that ϕk , x = 0 for all k.
Let’s look at the Fourier transform of the even and odd terms separately. The terms X[2k] =
g0 [n − 2k], x[n] can be interpreted as x[n] convolved with g0 [−n], followed by sampling at every
2k index, where k ∈ Z. Noting that FT {g0 [−n]} = G0 (e−jω ), we have (also see Equation (2.5.19))
FT 1
X[2k] = g0 [n − 2k], x[n] = 0 ←→ G0 (e−jω )X(ejω ) + G0 (−e−jω )X(−ejω ) = 0.
2
By Parseval’s equality,
∞ 2
1 1π
0= |X[2k]|
2
= [G0 (e−jω )X(ejω ) + G0 (−e−jω )X(−ejω )] dω
2π 2
k=−∞ −π
π
1 1
= |G0 (e−jω )|2 |X(ejω )|2 + 2Re{G0 (e−jω )X(ejω )G0 (−e−jω )X(−ejω )}+
4 2π −π
|G0 (−e−jω )|2 |X(−ejω )|2 dω
17
Note that G0 (e−jω ) = G0 (ejω ) because it is symmetric in ω. Also G0 (−e−jω ) is G0 (ejω ) modulated
by π, so they do not overlap (recall G0 (ejω ) is an ideal lowpass with a cutoff of π/2). Thus the
cross term is 0. The above expression then becomes
π
1 1 2
|X(e )| dω +
jω 2
|X(−e )| dω = 0,
jω 2
4 2π −π [−π,− π ]∪[ π ,π]
2 2 2
which implies
π π
X(ejω ) = 0 ∀ω ∈ [− , ].
2 2
Similarly, working with the odd terms X[2k + 1] = g1 [n − 2k], x[n] will conclude that
π π
X(ejω ) = 0 ∀ω ∈ [−π, − ] ∪ [ , π].
2 2
Combining these two results shows that X[k] = 0 for all k implies X(ejω ) = 0 for all ω ∈ [−π, π].
18
Each xk has unit norm, so xk ∈ 2 (Z) for all k ∈ Z+. Let x = limk→∞ xk . Because 2 (Z) is a
complete metric space, x ∈ 2 (Z) and x = 1. It is easy to check that ϕk , x = 0 for all k, so the
ϕk ’s do not form an orthogonal basis.
m n
= φ∗k [n]e−jωn φk [n − m]e−jω(m−n)
n m
= φk [n]∗ e−jωn φk [−m ]e−jωm
n m =m−n
2 2
= Φ∗ (e−jω )Φ(e−jω ) = Φ(e−jω ) = Φ(ejω ) = A(ejω ) = 1
π
1
ck [n] = Ck (ω)ejθk (ω) ejωn dω
2π −π
π
1
ck+m [n + m] = Ck+m (ω)ejθk+m (ω) ejω(n+m) dω
2π −π
which is satisfied by
19
zeroth row of x. (It follows that yi [k] is in the (2k + i)-th row, k ∈ Z, i ∈ {0, 1}.) Recall the
definitions of Ta following (3.2.1) and Ts following (3.2.6). With this row numbering, the implied
column numbering has h0 [0] in the (0,0) position of Ta and g0 [0] in the (0,0) position of Ts . Now
the (2k + i)-th row of Ta is hi [2k − n] and the (2 + j)-th row of Ts T is gj [n − 2]. Thus the
(2k + i, 2 + j) element of Ta Ts is hi [2k − n], gj [n − 2] and it follows that (a) ⇔ (c).
(b) ⇔ (d): Recall the definitions of Gm (z) following (3.2.29) and of Hm (z) in (3.2.14). By simply
substituting the definitions,
G0 (z)H0 (z) + G1 (z)H1 (z) G0 (z)H0 (−z) + G1 (z)H1 (−z)
Gm (z)Hm (z) = .
G0 (−z)H0 (z) + G1 (−z)H1 (z) G0 (−z)H0 (−z) + G1 (−z)H1 (−z)
It follows that Gm (z)Hm (z) = 2I ⇔ (b). Since scalar rational functions commute and Gm (z) and
Hm (z) are square, Gm (z)Hm (z) = 2I ⇔ Hm (z)Gm (z) = 2I.
(d) ⇔ (e): Using (3.2.28) and (3.2.29), we can write
2 1 1 1 1 0
Hp (z ) = Hm (z) and
2 1 −1 0 z −1
2 1 1 0 1 1
Gp (z ) = Gm (z).
2 0 z 1 −1
Thus
2
2 2 1 1 1 1 0 1 0 1 1
Hp (z )Gp (z ) = Hm (z) Gm (z)
2 1 −1 0 z −1 0 z 1 −1
2
1
= Hm (z)2IGm (z)
2
1
= Hm (z)Gm (z).
2
It follows immediately that Hp (z)Gp (z) = I ⇔ Hm (z)Gm (z) = 2I. Noting that all the matrices
involved are square, (d) ⇔ (e).
(a) ⇔ (d): We will start with Hm (z)Gm (z) = 2I and show that this is equivalent to (a). (Since
the matrices are square, this is equivalent to (d).) Looking at the (i, j)th element of the product
Hm (z)Gm (z) gives
Hi (z)Gj (z) + Hi (−z)Gj (−z) = 2δ[i − j].
Using the modulation property, we can write the time-domain equivalents
hi [n]gj [k − n] + (−1)k hi [n]gj [k − n] = 2δ[i − j]δ[k],
n∈ Z n∈Z
or
1 + (−1)k hi [n]gj [k − n] = 2δ[i − j]δ[k], ∀k ∈ Z. (4)
n∈ Z
To restrict our attention to even k, replace k by 2m. Noting that 1 + (−1)2m = 2 and δ[2m] = δ[m],
this gives
hi [n]gj [2m − n] = δ[i − j]δ[m], ∀m ∈ Z. (5)
n∈Z
20
Writing (5) as an inner product and replacing n and m by −n and −m, respectively, gives (a). For
odd k, δ[k] = 0 and 1 + (−1)k = 0. Thus (4) is automatically satisfied for odd k and (4) follows
from (5) when the steps are reversed.
In other words, p[2n] = 0 for n = ±1, ±2, ..., and p[0] = 1. Evaluating at n = L − 1, and assuming
L is odd and greater than 1, we have
Since p[L − 1] = g0 [0]g0 [L − 1], this implies that either g0 [0] or g0 [L − 1] is zero, contradicting the
assumption. Hence, L cannot be odd, and thus must be even. (Note that the only case when L
could be odd is for the trivial case of L = 1.)
3.6 Factorization
3 1 2
For the factors A(z) = (1 + z)3 1 + z −1 and B(z) = 3z − 18z + 38 − 18z −1 + 3z −2
256
we have to show that P (z) = A(z) B(z) satisfies P (z) + P (−z) = 2. Factoring out the 256 in
B(z) to simplify the algebra, we have:
256 [A(z)B(z) + A(−z)B(−z)] = 3z 2 + 3z −2 (A(z) + A(−z))
+ 18z + 18z −1 (−A(z) + A(−z)) + 38 (A(z) + A(−z))
256 [A(z)B(z) + A(−z)B(−z)] = z 4 (36 − 36) + z 2 (120 − 540 + 456 − 36) + z 3 (0) + z(0)
+ (36 − 540 + 1520 − 540 + 36) + z −1 (0) + z −3 (0)
+ z −2 (120 − 540 + 456 − 36) + z −4 (36 − 36)
= 512
so that
h0 [n] = 0.0205[1, 8.426, 28.720, 45.608, 33.757, 9.444]
h1 [n] = 0.0205[−9.444, 33.757, −45.608, 28.720, −8.426, 1]
21
3.7 Proof of Theorem 3.8
Theorem 3.8 is essentially a specialization of Theorem 3.7 to the orthonormal, FIR case. Most of
the proof of Theorem 3.7 (Problem 3.4) can be repeated with hi [n] = gi [−n], Hi (z) = Gi (z −1 ),
Ta = Ts T , Hm (z) = Gm T (z −1 ), and Hp (z) = Gp T (z −1 ).
All that remains to be shown is G1 (z) = −z −2K+1 G0 (−z −1 ) for some K ∈ Z. The first column
of Gm T (z −1 )Gm (z) = 2I is
T −1 G0 (z) 2
Gm (z ) = .
G1 (z) 0
−1
Explicitly computing Gm T (z −1 ) gives
G0 (z) −1 2
= Gm T (z −1 )
G1 (z) 0
1 G1 (−z −1 ) −G1 (z −1 ) 2
=
G0 (z −1 )G1 (−z −1 ) − G0 (−z −1 )G1 (z −1 ) −G0 (−z −1 ) G0 (z −1 ) 0
−1
2 G1 (−z )
= .
G0 (z )G1 (−z ) − G0 (−z )G1 (z ) −G0 (−z −1 )
−1 −1 −1 −1
Thus
where
2
A(z) = .
G0 (z −1 )G1 (−z −1 ) − G0 (−z −1 )G1 (z −1 )
Substituting −z −1 for z in (7) gives G1 (−z −1 ) = −A(−z −1 )G0 (z). Substituting this in (6), gives
G0 (z) = −A(z)A(−z −1 )G0 (z), so
A(z)A(−z −1 ) = −1. (8)
All FIR solutions of (8) are of the form A(z) = z −2K+1 . Combining this with (7) completes the
proof.
Since P (z) is of odd length, both P (z) and P (−z) are symmetric or anti-symmetric about the
center point i = N , which implies that P (z) − P (−z) is symmetric about i = N and the single
nonzero coefficient is the central one pN . Thus, P (z) is symmetric and not antisymmetric, which
implies that H0 (z) and H1 (−z) are either both symmetric or both anti-symmetric for P (z) of odd
length.
(a) L0 and L1 both odd. The length of P (z) is L0 + L1 + 1, which is also odd. The center of
symmetry at (L0 + L1 )/2 − 1 samples from the endpoints must be odd because the only nonzero
22
elements in P (z) − P (−z) are at odd powers of z (the center of symmetry is at a non-zero point).
Thus, (L0 + L1 )/2 = L0 + (L1 − L0 )/2 has to be even, which means that (L1 − L0 )/2 has to be odd
because L0 is odd. Thus, the length difference L1 −L0 is an odd multiple of 2. Note that there are no
same-length solutions. It was stated in the opening that H0 (z) and H1 (−z) can be both symmetric
or both antisymmetric. The latter case is ruled out because the polyphase components are also
antisymmetric when the length is odd, and therefore are not coprime, so perfect reconstruction
would not be possible.
(b) L0 and L1 both even. Again the center point (L0 +L1 )/2−1 has to be odd. Then L0 +(L1 −L0 )/2
again has to be even; since L0 is even, the length difference L1 − L0 is an even multiple of 2. In
this case, same-length solutions do exist. If H0 (z) is symmetric, so is H1 (−z) (as shown in the
opening). Then, H1 (z) is antisymmetric because it has even length. Likewise, H1 (z) is symmetric
if H0 (z) is antisymmetric.
(c) If P (z) has even length, one filter has odd length, and one even. Then
2N −1
N −1
−i
P (z) − P (−z) = pi z [1 − (−1) ] =
i
2p2i+1 z −(2i+1)
i=0 i=0
From 3.2.66, P (z) has only a single nonzero odd-indexed coefficient. Note however that pi =
±p2N −1−i for i = 0, . . . , N − 1, so odd-indexed coefficients are paired with even-indexed ones. It
follows that P (z) also has only one nonzero even-indexed coefficient, and is of the form P (z) =
pj z −j (1 ± z 2N −1−2j ). Clearly, all of the zeros of P (z) are on the unit circle at the 2(N − j) − 1 roots
of ±1; then, all of the zeros of H0 (z) and H1 (−z) are on the unit circle. If H0 (z) and H1 (z) are
both to be antisymmetric, both must have zeros at z = 1. This means that H1 (−z) has a zero at
z = 1 or z = −1 depending on whether it is of odd or even length, respectively. This implies that
P (z) has either a double zero at z = 1 or a pair at z = 1 and z = −1. Since P (z) contains only the
2(N − j) − 1 roots of ±1 both possibilities are ruled out. Thus, either both filters are symmetric,
or one is antisymmetric and the other is symmetric.
H0 (z) = z −L+1 H0 (z −1 ) ,
H1 (z) = −z −L+1 H1 (z −1 ) .
Writing H0 (z) in its polyphase components, we have
Similarly,
H1 (z) = −z −L+2 H11 (z −2 ) − z −1 (z −L+2 H10 (z −2 )) .
23
H00 (z) H01 (z)
H p (z) =
H10 (z) H11 (z)
L L
z − 2 +1 H01 (z −1 ) z − 2 +1 H00 (z −1 )
= L L
−z − 2 +1 H11 (z −1 ) −z − 2 +1 H10 (z −1 )
−L +1 H01 (z −1 ) H00 (z −1 )
= z 2
−H11 (z −1 ) −H10 (z −1 )
−1 ) H (z −1 )
−L +1 1 0 H 01 (z 00
= z 2
0 −1 H11 (z −1 ) H10 (z −1 )
−1 ) H (z −1 )
−L +1 1 0 H 00 (z 01 0 1
= z 2
0 −1 H10 (z −1 ) H11 (z −1 ) 1 0
Hence, H p (z) satisfies the linear phase testing condition with k = L/2 − 1.
For real filters, the Z transform is conjugate symmetric, so in the real case we can replace G∗j (1/z ∗ )
by Gj (z −1 ) to arrive at the relations in parts (b) and (d) of theorem 3.8. In the complex case, the
modulation domain relations become
∗ ∗
Gm (z)GH
m (1/z ) = 2I Hm (z) = GH
m (1/z )
It is straightforward to verify (by direct substitution) that these filters satisfy the various orthogo-
nality relations, some of which are:
24
The equations in 3.2.68 hold for complex filters as well, so we can substitute for H01 (z) as in
proposition 3.12. The resulting equation is
∗
H00 (z)H00 (1/z ∗ ) + H00 (z −1 )H00
∗
(z ∗ ) = 1
As a check, note that conjugate symmetry for real filters then leads to the relation in the book:
H00 (z)H00 (z −1 ) = 1/2. The Z domain equation for H00 (z) implies the time-domain relation
1
Real {h00 [m], h00 [m − k]} =
2
where the inner product implies a conjugation of the second term. An equivalent result can be de-
rived for the other polyphase component. These requirements are non-restrictive; in other words,
we have verified the existence of linear phase orthogonal filterbanks with complex coefficients.
(b) The factorization of P (z) for the D3 filter is derived in the solution to problem 3.6. It consists
of six zeros at −1 and a set of four conjugate reciprocal zeros:
P (z) = (1 + z)3 (1 + z −1 )3 (1 − αz −1 )(1 − α∗ z −1 )(1 − αz)(1 − α∗ z)
The scale factor is omitted for simplicity. In problem 3.6, we showed that this autocorrelation
satisfies P (z) + P (−z) = 2 and indicated a factorization that yielded an orthogonal filterbank
with real coefficients; this resulted from interpreting P (z) as the autocorrelation G0 (z)G0 (z −1 ) and
grouping the quadruple of zeros (those not at z = −1) in conjugate pairs in the factorization. For
the complex case, the orthogonality constraint derived in (a) shows that P (z) should be factored as
G0 (z)G∗0 (1/z ∗ ). By grouping the quadruple of zeros in reciprocal pairs, we get a filter G0 (z) with
complex coefficients that has linear phase and satisfies the validity constraint (ı.e. orthogonality).
The linear phase synthesis filters are given by
G0 (z) = (1 + z −1 )3 (1 − αz −1 )(1 − αz)
G1 (z) = −z(1 + z)3 (1 + α∗ z)(1 + α∗ z −1 )
and the analysis filters are related as indicated in part (a).
25
where Hm (z) is the modulation matrix (see Section 3.2.4 on designing linear phase FIR filter banks).
The result is
1 1 1 1 1
G0 (z) = − z 2 + z + + z −1 − z −2 G1 (z) = z 2 − z + 1
4 4 2 4 4
(c) The Parks-McClellan algorithm yields a P (z) with an equiripple stopband (and passband).
Suppose the minimum value of P (ejω ) is δ; P (ejω ) takes exactly this value at each of its minima
in the stopband (except possibly at ω = π). Let there be L zeros, then there may be either L/2
P (z) − δ
or L/2 minima. Applying the correction yields P (z) = . The minimum of P (ejω )
1−δ
is then zero and P (ejω ) takes on this zero value at frequencies in the stopband where P (ejω ) has
its minima. Thus the original L zeros of P (ejω ) has been transformed to double zeros in P (ejω )
(double zeros because the poles come in (α, 1/α∗ ) pairs, which are the same points on the unit
circle).
For more detail on the Parks-McClellan algorithm, consult the book Discrete-Time Signal Pro-
cessing by Oppenheim and Shafer, Prentice Hall.
(1) Note that this H0 (z) does not have any pairs of zeros at (−α, α); all of its zeros are at z = −1.
(2) Prove that H0 (z) does not have any pairs of zeros at locations (−α, α) is equivalent to the
coprimeness of its polyphase components.
(3) Use Proposition 3.13 to conclude that H0 (z) has a complementary filter because its polyphase
components are coprime, as indicated by (1) and (2).
The proof of (2) is as follows. Consider a function U (z) with polyphase components U0 (z) and
U1 (z) so that U (z) = U0 (z 2 ) + z −1 U1 (z 2 ). Construct a new function V (z) by adding two zeros at
{α1 , α2 } to U (z) and determine its polyphase components:
V (z) = (1 − α1 z −1 )(1 − α2 z −1 ) U0 (z 2 ) + z −1 U1 (z 2 )
= (1 − (α1 + α2 )z −1 + α1 α2 z −2 )(U0 (z 2 ) + z −1 U1 (z 2 ))
= (1 + α1 α2 z −2 )U0 (z 2 ) − (α1 + α2 )z −2 U1 (z 2 ) + z −1 −(α1 + α2 )U0 (z 2 ) + (1 + α1 α2 z −2 )U1 (z 2 )
= V0 (z 2 ) + z −1 V1 (z 2 )
If α2 = −α1 , then V0 (z) = (1 − α21 z −1 )U0 (z) and V1 (z) = (1 − α21 z −1 )U1 (z) and so V0 (z) and V1 (z)
are not coprime. Thus we have proved that if V (z) has a zero pair (α, −α), then V0 (z) and V1 (z)
are not coprime.
Conversely, if V0 (z) and V1 (z) are not coprime, they can be written as
26
thus V (z) has the zero pair (α, −α).
Using these results, we can conclude that since all of the zeros of H0 (z) are at z = −1, its
polyphase components are coprime; according to Proposition 3.13, it thus has a complementary
filter.
π 5π
We can thus conclude for the orthogonal lattice that α0 + α1 = or .
4 4
For x̂[n] = x[n − k], we have X̂(z) = z −k X(z), so the product filter P (z) must satisfy
1 # 1 1 $
P z 2 + P −z 2 = z −k =⇒ P (z) + P (−z) = 2z −2k
2
Thus P (z) must consist of a single even power of z.
(b) H(z) and G(z) can be expressed in terms of their polyphase components as
which reduces to
H0 (z)G0 (z) + H1 (z)G1 (z) = z −k
Using Bezout’s identity, we conclude that G(z) can be found if and only if the polyphase components
of H(z) have no zeros in common (except for zeros at ∞), that is, they are coprime.
(c) The polyphase components of H (z) are equivalent (H0 (z) = H1 (z) = 1 + z −1 ) and thus not co-
prime, so there is no G (z) such that perfect reconstruction is achieved. The polyphase components
of H (z) are
H0 (z) = 1 + z −1 + z −2 and H1 (z) = 1 + z −1
27
Using
G0 (z) = 1 − z −1 and G1 (z) = 1 − z −1 + z −2
gives
H0 (z)G0 (z) + H1 (z)G1 (z) = 2
so a perfect reconstruction synthesis filter for H (z) is given by
i j
Equation (3.3.16) is satisfied if and only if all the terms z (2 l−2 k) , for all i = j and k = l , in Qij (z)
have zero coefficients. We proceed the prove by breaking the problem down into 2 cases: i = j and
j < i (j > i is similar). Recall that
(j) j−1 j−2
G1 (z) = G1 (z 2 )G0 (z 2 ) · · · G0 (z 2 )G0 (z) .
Case 1: i = j
Qij (z) can then be written as
# j−1 j−2
$# j−1 j−2
$
Qjj (z) = G1 (z 2 )G0 (z 2 ) · · · G0 (z 2 )G0 (z) G1 (z −2 )G0 (z −2 ) · · · G0 (z −2 )G0 (z −1 )
j−1 j−1 j−2 j−2
= G1 (z 2 )G1 (z −2 ) G (z 2 )G0 (z −2 ) · · · G0 (z 2 )G0 (z −2 )G0 (z)G0 (z −1 )
% &' ( %0 &' (
P (j−1) (z)
where P (j) (z) = G0 (z)G0 (z −1 ) is the z-transform of the autocorrelation of g0 [n] (see the proof
(j) (j) (j)
of Proposition 3.15). To prove (3.3.16) for i = j, it is equivalent to show that Qjj (z) has zero
j j
coefficients for z 2 (k−l) for all k = l and k, l ∈ Z; i.e. z 2 k terms for any k ∈ Z have zero coefficients.
From the orthogonality of g1 [n] with respect to its even shifts, we have
g1 [n − 2k], g1 [n − 2l] = δ[k − l] ⇐⇒ R(z) = G1 (z)G1 (z −1 ) = 1 + zR1 (z 2 )
where R(z) is the z-transform of the autocorrelation function of g1 [n] and R1 (z) is the 1st polyphase
component of R(z).
From the proof of Proposition 3.15, we can write P (j−1) (z) in its polyphase form as
2j−1
−1
(j−1) j−1
P (z) = 1 + z n Pn(j−1) (z 2 ).
n=1
28
Now we can write Qjj (z) as
j−1
Qjj (z) = R(z 2 )P (j−1) (z)
⎡ ⎤
# $ 2j−1
−1
2j−1 2j j−1
= 1+z R1 (z ) ⎣1 + z n Pn(j−1) (z 2 )⎦
n=1
2j−1
−1
2j−1 2j j−1
= 1+z R1 (z ) + z n Pn(j−1) (z 2 )
n=1
% &' (
A
2j−1
−1
2j−1 2j j−1
+z R1 (z ) z n Pn(j−1) (z 2 ) .
n=1
% &' (
B
j
It is clear that the first two terms do not have powers of z 2 . The third expression labelled as A
contains z-terms which have exponents of the form
2j−1
−1 2j−1
−1 2j−1
−1
j−1 j−1
(n + mn 2 )= 2 mn + n
n=1 n=1 n=1
% &' (
multiples of 2j−1
where mn ∈ Z, n = 1, . . . , 2j−1 − 1. The latter summation can be found (by the trapezoidal rule)
to be
2j−1
−1
n = (2j−1 − 1 + 1)(2j−1 − 1)/2 = 22j−3 − 22j−2 .
n=1
j
Hence, the expression A does not contain powers of z 2 .
The expression B contains terms which have exponents of the form
2j−1
−1 2j−1
−1 2j−1
−1
j−1 j j−1 j j−1
2 + m0 2 + (n + mn 2 ) = m0 2 + 2 (1 + mn ) + n.
n=1 n=1 n=1
% &' (
multiples of 2j−1
j
It is easy to verify that this expression does not contain powers of z 2 .
Case 2: Without loss of generality, assume j < i.
j i j i−j
For j < i, we need to show that all coefficients of the terms z 2 k−2 l = z 2 (k−l2 ) , for all
j
k, l ∈ Z, are zero. That is, we need to show that all coefficients of powers of z 2 are zero.
The term Qij (z) can be written (after rearranging) as
# j−1 j−1
$# i−1 i−2 j
$
Qij (z) = G0 (z 2 )G1 (z −2 ) G1 (z 2 )G0 (z 2 ) · · · G0 (z 2 ) P (j−1) (z) .
From the orthogonality of g0 [n] and g1 [n] with respect to even shifts, we have the following relation:
g0 [n − 2k], g1 [n − 2l] = 0 ∀k, l ∈ Z ⇐⇒ S(z) = G0 (z)G1 (z −1 ) = zS1 (z 2 )
29
where S1 (z) is the first polyphase component of S(z).
Now Qij (z) can be expanded as
⎡ ⎤
# j−1 j
$ 2j−1
−1 j−1
# i−1 i−2 j
$
Qij (z) = z 2 S1 (z 2 ) ⎣1 + z n Pn(j−1) (z 2 )⎦ G1 (z 2 )G0 (z 2 ) · · · G0 (z 2 ) .
n=1
After expanding Qij (z), the first term contains z terms whose exponents are of the form
j−1 j−1
By substituting the expressions for P (j−1) (z) and G0 (z 2 )G1 (z −2 ) from part (a), and ex-
j
panding the terms, it is straightforward to verify that G0 (z)G1 (z −1 ) contains no powers of z 2 .
(J) (j)
30
(2) 1 π4 ≤ |ω| ≤ π
G1 (ejω ) = 2
0 otherwise
(2)
G2 (ejω ) = 4 ≤ |ω| ≤ π
1 3π
0 otherwise
(2) 1 π2 ≤ |ω| ≤ 3π
G3 (ejω ) = 4 .
0 otherwise
(2) 1
g0 [n] = (δ[n] + δ[n − 1] + δ[n − 2] + δ[n − 3])
2
(2) 1
g1 [n] = (δ[n] + δ[n − 1] − δ[n − 2] − δ[n − 3])
2
(2) 1
g2 [n] = (δ[n] − δ[n − 1] + δ[n − 2] − δ[n − 3])
2
(2) 1
g3 [n] = (δ[n] − δ[n − 1] − δ[n − 2] + δ[n − 3]) .
2
(c) Given that {g0 [n], g1 [n]} is an orthogonal pair implies that
where Pi1 (z) is the 1st polyphase component of Pi (z) and R1 (z) is the 1st polyphase component
of R(z). The first equation says that the z-transform of the autocorrelation of gi [n] has only 1 in
its 0-th polyphase component (because gi [n] is orthogonal to its even shifts). The second equation
says that the z-transform of the cross-correlation of g0 [n] and g1 [n] has only nonzero coefficients in
odd powers of z (because g0 [n] is orthogonal to all even shifts of g1 [n]).
We need to show that for any i, j = 0, 1, 2, 3
For i = j, this is equivalent to showing that Gi (z)Gj (z −1 ) (the z-transform of the cross-
(2) (2)
correlation) has zero coefficients for all powers of z 4 . There are 6 cases to be looked at, we will
31
(2) (2)
only show the orthogonality between g0 [n] and g1 [n], and the other cases are similar. The
cross-correlation can be written in the z-domain as
= (1 + zP01 (z 2 ))(z 2 R1 (z 4 )) .
It can be easily verified that this expression does not contribute to any powers of z 4 . Hence
g0 [n], g1 [n − 4k] = 0 ∀k ∈ Z.
(2) (2)
1. At the root of the tree, number the upper branch 1, and the lower branch 0.
2. If the current node at level j is on a lower branch, then number its two downward branches
of level j + 1 the same way as the branches at level j.
3. If the current node at level j is on an upper branch, then number its two downward branches
of level j + 1 in the reverse way as the branches at level j.
4. If not at the end of the tree yet, then go back to step 2. If it is the end of the tree, then
label each leaf with the corresponding binary sequence (with the most significant bit being
the branch at at the top of the tree). Convert this binary sequence to integer and we have
the desired indices.
0
0 G4
0 G6
1 1
1 G7
0 G2
0 1
1 G3
1 G1
0
0 G0
32
real-valued function. Then,
l l
Hk(l) z 2 = Ak(l) 2l ω ejαk(l) 2 ω
i−1 l
jω
=⇒ Hi (e ) = Ak(l) 2l ω ejαk(l) 2 ω
l=0
= A(ω)ejαω
where
i−1
i−1
A(ω) = Ak(l) 2l ω and α = αk(l) 2l
l=0 l=0
Therefore all of the Hi (z) are linear phase filters.
For even-length filters h0 [n] and h1 [n] that are respectively symmetric and anti-symmetric, the
iterated filter lengths and symmetries can be derived as follows. First, we note that if Hk (z)
is even-length, so is Hk (z 2 ). Now, since the product of two even-length filters has odd length
(consider the convolution), we know that all of the depth-two filters are of odd length since h0 [n]
and h1 [n] are both even. Next we note that Hk (z 2 ) has the same symmetry properties as Hk (z).
Then, Ha (z) = H0 (z)H0 (z 2 ) is the product of two symmetric filters, so Ha (z) is symmetric.
Hb (z) = H0 (z)H1 (z 2 ) is the product of a symmetric and an anti-symmetric filter, so Hb (z) is
anti-symmetric. Hc (z) = H1 (z)H0 (z 2 ) is the product of an anti-symmetric and a symmetric filter,
so Hc (z) is anti-symmetric. Finally, Hd (z) = H1 (z)H1 (z 2 ) is the product of two anti-symmetric
filters, so Hd (z) is symmetric.
33
where equations (1) to (4) are from Gm (z)Hm (z) = 2I and (5) to (8) are from Hm (z)Gm (z) = 2I.
Note that there is some obvious redundancy in that (1) and (4) are modulates, as are (2) and
(3); also, note that equations (5) through (8) can be derived from (1) through (4) as in done in
section 3.2.1, which explicitly derives (5) from (1) and (2). The text also shows how applying the
modulation property of the Z-transform to (5) through (8) yields the time-domain biorthogonality
conditions on the filter impulse responses, or equivalently the biorthogonal expansion basis vectors.
(There is a time-reversal for the synthesis filter impulse responses, though.)
A full tree of depth J corresponds to an 2J -channel filterbank; for this reason we recommend
problem 3.21 in conjunction with this problem. For a tree of depth 2, the filters are given by:
Ha (z) = H0 (z)H0 (z 2 ) Ga (z) = G0 (z)G0 (z 2 )
Hb (z) = H0 (z)H1 (z 2 ) Gb (z) = G0 (z)G1 (z 2 )
Hc (z) = H1 (z)H0 (z 2 ) Gc (z) = G1 (z)G0 (z 2 )
Hd (z) = H1 (z)H1 (z 2 ) Gd (z) = G1 (z)G1 (z 2 )
The modulation matrices are
⎡ ⎤
H0 (z)H0 (z 2 ) H0 (W z)H0 (−z 2 ) H0 (−z)H0 (z 2 ) H0 (−W z)H0 (−z 2 )
⎢ H0 (z)H1 (z 2 ) H0 (W z)H1 (−z 2 ) H0 (−z)H1 (z 2 ) H0 (−W z)H1 (−z 2 ) ⎥
Hm (z) = ⎢ ⎣ H1 (z)H0 (z 2 )
⎥
H1 (W z)H0 (−z 2 ) H1 (−z)H0 (z 2 ) H1 (−W z)H0 (−z 2 ) ⎦
H1 (z)H1 (z 2 ) H1 (W z)H1 (−z 2 ) H1 (−z)H1 (z 2 ) H1 (−W z)H1 (−z 2 )
⎡ ⎤
G0 (z)G0 (z 2 ) G0 (z)G1 (z 2 ) G1 (z)G0 (z 2 ) G1 (z)G1 (z 2 )
⎢ G0 (W z)G0 (−z 2 ) G0 (W z)G1 (−z 2 ) G1 (W z)G0 (−z 2 ) G1 (W z)G1 (−z 2 ) ⎥
Gm (z) = ⎢⎣ G0 (−z)G0 (z 2 )
⎥
G0 (−z)G1 (z 2 ) G1 (−z)G0 (z 2 ) G1 (−z)G1 (z 2 ) ⎦
G0 (−W z)G0 (−z 2 ) G0 (−W z)G1 (−z 2 ) G1 (−W z)G0 (−z 2 ) G1 (−W z)G1 (−z 2 )
The biorthogonality relations can be derived from the matrix equation Hm Gm = 4I; the derivation
is explained for the N -channel case in the solution to problem 3.21, and is thus not repeated here.
The relations are given by
gp [k], hq [4n − k] = δ[p − q]δ[n]
where p ∈ {a, b, c, d} and q ∈ {a, b, c, d}. The condition in simply that the analysis filter and the
time-reversed synthesis filter in the same channel must be orthogonal with respect to shifts by 4;
across channels, the analysis filters and time-reversed synthesis filters must be uncorrelated for all
shifts by 4. The proof that biorthogonality holds for the tree-structured filterbank can be carried
out by extracting a single equation from the 4 × 4 matrix equation Hm Gm = 4I and then showing
that it follows from relations (1) through (8). For instance, consider the specific relation
that results from multiplying the first row of Hm and the first column of Gm . In the Z-domain,
this corresponds to
H0 (z)H0 (z 2 )G0 (z)G0 (z 2 ) + H0 (W z)H0 (−z 2 )G0 (W z)G0 (−z 2 ) +
H0 (−z)H0 (z 2 )G0 (−z)G0 (z 2 ) + H0 (W z)H0 (−z 2 )G0 (−W z)G0 (−z 2 ) = 4
34
which can be seen to be true by replacing z by z 2 in equation (5). The other biorthogonality
relations can be proven in a similar manner; the algebraic details are omitted in favor of outlining
a more elegant proof.
To start the recursion, M1 = 2 (corresponding to the 1-level binary tree and the identity tree).
35
3.21 Biorthogonality in N-channel perfect reconstruction filter banks
In the modulation domain, the operation of an N-channel analysis-synthesis filterbank can be
expressed as ⎡ ⎤ ⎡ ⎤
X̂(z) X(z)
⎢ X̂(W z) ⎥ ⎢ X(W z) ⎥
⎢ ⎥ 1 ⎢ ⎥
⎢ .. ⎥ = Gm m⎢
H .. ⎥
⎣ . ⎦ N ⎣ . ⎦
X̂(W N −1 z) X(W N −1 z)
where I(a, b) denotes the element in row a and column b of the identity matrix, namely δ[a − b].
This can be rewritten as a time-domain convolution using the modulation property:
gb [k]ha [n − k](1 + W n + W 2n + · · · + W (N −1)n ) = N δ[a − b]δ[n]
k
=⇒ gb [k]ha [N n − k] = δ[a − b]δ[n] =⇒ gb [k], ha [N n − k] = δ[a − b]δ[n]
k
which is simply an N -channel generalization of the conditions given at the end of the 2-channel
modulation domain analysis section in the text (a subsection of 3.2.1).
36
3.22 Relationship between polyphase and modulation matrices
The expression relating Gp (z) and Gm (z) is similar to equations (3.4.9) and (3.2.29):
⎡ ⎤
G00 (z N ) G10 (z N ) ··· G(N −1)0 (z N )
⎢ G01 (z N ) G11 (z N ) ··· G(N −1)1 (z N ) ⎥
⎢ ⎥
Gp (z N ) = ⎢ .. .. .. .. ⎥
⎣ . . . . ⎦
G0(N −1) (z ) G1(N −1) (z ) · · · G(N −1)(N −1) (z )
N N N
⎡ ⎤ ⎡ ⎤
1 0 ··· 0 G0 (z) G1 (z) ··· GN −1 (z)
⎢
1 ⎢ 0 z ··· ⎥ ⎢
0 ⎥ ⎢ G0 (WN z) G1 (WN z) ··· GN −1 (WN z) ⎥
⎥
= ⎢ .. .. . . .. ⎥ F ⎢ .. .. .. .. ⎥
N⎣ . . . . ⎦ ⎣ . . . . ⎦
0 0 · · · z N −1 G0 (WNN −1 z) G1 (WNN −1 z) · · · GN −1 (WNN −1 z)
% &' (
Gm (z)
The expression relating H p (z) and H m (z) is similar to equation (3.2.28):
⎡ ⎤
H00 (z N ) H01 (z N ) ··· H0(N −1) (z N )
⎢ H10 (z N ) H11 (z N ) ··· H1(N −1) (z N ) ⎥
⎢ ⎥
H p (z N ) = ⎢ .. .. .. .. ⎥
⎣ . . . . ⎦
H(N −1)0 (z N ) H(N −1)1 (z N ) · · · H(N −1)(N −1) (z N )
⎡ ⎤ ⎡ ⎤
H0 (z) H0 (WN z) ··· H0 (WNN −1 z) 1 0 ··· 0
1 ⎢ H1 (WNN −1 z) ⎥ ⎢ ⎥
−1 ···
⎢ H1 (z) H1 (WN z) ··· ⎥ ⎢ 0 z 0 ⎥
= ⎢ .. .. .. .. ⎥F ⎢ .. .. .. .. ⎥
N⎣ . . . . ⎦ ⎣ . . . . ⎦
N −1 0 0 · · · z −(N −1)
HN −1 (z) HN −1 (WN z) · · · HN −1 (WN z)
% &' (
H m (z)
In both equations, F is the N × N Fourier transform matrix, with Fkl = WNkl = e−j(2π/N )kl .
Hm (z) = Hp (z 3 ) diag(1, z, z 2 ) F
37
which yields the desired diagonalization
diag Hp0 (z 3 ), zHp1 (z 3 ), z 2 Hp2 (z 3 ) = F −1 Hm (z) F −1
(c) Since
det (Hp (z)) = det(F ) Hp0 (z) Hp1 (z) Hp2 (z)
we can use the result of (b) to write
det (Hp (z)) = z 3 det(F ) det Hp (z 3 )
Note: the special form of Hp (z) from Theorem 3.17 was used in (a) to derive the diagonalization
of Hm (z).
We first prove the second part of 3.4.6, namely A0 AT1 = A1 AT0 = 0. The right tail (A1 ) is
symmetric:
1 2k + 1
hk [N − 1 − n] = √ cos (N − 2n − 1)π = hk [n]
N 4N
The left tail (A0 ) is anti-symmetric:
1 2k + 1
hk [2N − 1 − n] = √ cos (−2n + 3N − 1)π
N 4N
1 2k + 1
hk [N + n] = √ cos (2n + N + 1)π
N 4N
because
2k + 1 2k + 1
(−2n + 3N − 1)π + (2n + N + 1)π = (2k + 1)π
4N 4N
and for any two angles φ1 , φ2 that sum to an odd multiple of π, we have
38
Because the tails are symmetric/antisymmetric, their inner product is 0; hence we have A0 AT1 =
A1 AT0 = 0. We now prove the first part of 3.4.6, namely that AT0 A1 = AT1 A0 = 0. The inner
product of the n-th row of AT0 and the m-th column of A1 is
N −1
1 2k + 1 2k + 1
cos (2n − N + 1)π cos (2m − N + 1)π
N 4N 4N
k=0
1 1
Using the identity cos X cos Y = cos(X + Y ) + cos(X − Y ) the inner product can be rewritten
2 2
as
−1
1
N
2k + 1 2k + 1
cos (n + m − N + 1)π + cos (n − m)π
2N 2N 2N
k=0
N −1 π π
cos kx + x
N 2N
k=0
N −1
1 π π π π
= ejkx N ejx 2N + e−jkx N e−jx 2N
2
k=0
1 jx π 1 − ejxπ 1 −jx π 1 − e−jxπ
= e 2N π + e 2N π
2 1 − ejx N 2 1 − e−jx N
xπ
sin xπ
2 sin(xπ)
= xπ cos = xπ
sin 2N 2 2 sin 2N
In the inner product, n ∈ [N, 2N − 1] and m ∈ [0, N − 1], so the respective arguments of the sinc
functions are in the ranges:
n − m ∈ [1, 2N − 1] n + m − N + 1 ∈ [1, 2N − 1]
For these argument values, the sinc is always zero, so we have proven that AT0 A1 = AT1 A0 = 0. We
now prove the second part of 3.4.5, that A0 AT0 + A1 AT1 = I. Note that the [k, j]-th constituent
equation of this matrix formula corresponds to the inner product of the length 2N filters hk [n] and
hj [n]; proving the formula is equivalent to proving that hk [n], hj [n] = δ[k − j]. The inner product
is given by
2N −1
1 2k + 1 2j + 1
cos (2n − N + 1)π cos (2n − N + 1)π
N 4N 4N
k=0
2N −1
1 N −1 π N −1 π
= cos (k + j + 1) n − + cos (k − j) n −
2N 2 N 2 N
k=0
= δ[k − j]
39
where the final step holds because the sum is taken over an integral number of periods of the
cosines, so we have shown that A0 AT0 + A1 AT1 = I. We prove the first part of 3.4.5 in (b) since it
follows naturally from the results derived there.
(b) Consider B0T B0 = AT0 A0 ; the derivation used to find AT0 A1 can be applied here. Specifically,
we have /
1 sin((n − m)π) sin((n + m − N + 1)π)
AT0 A0 [n, m] = +
2N 2 sin (n−m)π
2N 2 sin (n+m−N +1)π
2N
with the arguments now in the ranges n ∈ [N, 2N − 1] and likewise m ∈ [N, 2N − 1] so
n − m ∈ [0, N − 1] n + m − N + 1 ∈ [N + 1, 3N − 1]
For n − m = 0, the first sinc takes on the value N by L’Hôpital’s rule; otherwise it is zero-valued.
For n + m − N + 1 = 2N , the second sinc takes on the value −2N ; for other values it is zero. Since
n−m = 0 corresponds to the matrix diagonal and n+m = 3N −1 corresponds to the anti-diagonal,
1
we have AT0 A0 = (I − J). For the product AT1 A1 , the arguments are in the ranges n ∈ [0, N − 1]
2
and m ∈ [0, N − 1], so
n − m ∈ [0, N − 1] n + m − N + 1 ∈ [−N + 1, N − 1]
The sinc functions in the sum are respectively non-zero for n − m = 0 and n + m − N + 1 = 0,
which correspond to the diagonal n = m and the anti-diagonal n + m = N − 1. In both cases
1
the sinc functions take on the value 2N , so the result of the matrix product is AT1 A1 = (I + J).
2
Combining these results gives the first part of 3.4.5 for problem (a), namely
1
AT0 A0 + AT1 A1 = (I − J + I + J) = I
2
40
(b) Let H0 and H1 denote the filter matrices
⎡ ⎤ ⎡ ⎤
.. ..
. .
⎢ ⎥ ⎢ ⎥
⎢ 11 0 ⎥ ⎢ 1 −1 0 ⎥
1 ⎢ ⎥ ⎢
⎥ and H1 = √1 ⎢
⎥
H0 = √ ⎢ 1 1 1 −1 ⎥
2⎢⎢ 0 1 1
⎥
⎥ 2⎢
⎢ 0 1 −1
⎥
⎥
⎣ ⎦ ⎣ ⎦
.. ..
. .
1 1
and let h0 [n] = √ [1 1] and h1 [n] = √ [1 −1]. The following matrix relations hold:
2 2
H1 H0T = 0 and H0T H0 + H1T H1 = I. Also,
⎫
y0 = H0 x ⎬
y0 = H0T H0 x =⇒ y1 = (I − H0T H0 )x
⎭
y1 = x − y0
(c) We showed in (b) that y0 = H0 x and y1 = H1 x, which directly indicates the equivalence to a
two-channel filter bank with filters h0 [n] and h1 [n] (with synthesis filters being the time-reversed
version of h0 [n] and h1 [n]).
and
⎡ ⎤
g(L − 1) g(L − 2) g(L − 3) g(L − 4) ··· g(0)
G = ⎣ g(L − 1) g(L − 2) ··· g(2) g(1) g(0) ⎦
g(L − 1) · · · · · · g(2) g(1) g(0)
HH T = I GGT = I GH T = 0 HGT = 0
41
where G(z) = −z −(L−1) H(−z −1 ). Upsampling and filtering gives the reconstruction
1# $
Xr (z) = Hr (z)H(z) − z −(L−1) Gr (z)H(−z −1 ) X(z)
2
1# $
+ Hr (z)H(−z) + z −(L−1) Gr (z)H(z −1 ) X(−z)
2
where Gr (z) and Hr (z) are the synthesis filters. If we choose Gr (z) = −H(−z)
and Hr (z) = z −(L−1) H(z −1 ) we obtain
Xr (z) = z −(L−1) H(z)H(z −1 ) + H(−z)H(−z −1 ) X(z)
Since H(z)H(z −1 ) corresponds to the autocorrelation of a filter which is orthogonal to its even
translates (and has unit norm), it contains only odd powers of z except for a 0-th order term of
value 1. (Consider, for example, problem 2.16c.) We therefore have perfect reconstruction:
42
h0 [m1 , m2 ]h0 [m1 − n1 , m2 − (2k − n1 )] = δ[n1 , (2k − n1 )]
m1 m2
So we have proven that h0 [n1 , n2 ] and h1 [n1 , n2 ] are orthogonal with respect to their own shifts on
a quincunx lattice; to complete the proof that these constitute an orthonormal system, we require
that
h0 [m1 , m2 ], h1 [m1 − n1 , m2 − (2k − n1 )] = 0
which can be rewritten in the Z domain as
Using the relations between the lowpass and highpass filter, we have
hi , y = 0 for i = 0, 1 =⇒ y = 0
In the time-domain, the zero inner product condition is equivalent to (assuming real filters and
signals)
y[m1 , m2 ]hi [m1 , m2 − (2k − n1 )] = 0
m1 m2
43
Multiplying the top equation by H0 (z1 , z2 ) and the bottom equation by H0 (−z1−1 , −z2−1 ) and adding
the resulting equations gives
Y (z1 , z2 ) H0 (z1 , z2 )H0 (z1−1 , z2−1 ) + H0 (−z1 , −z2 )H0 (−z1−1 , −z2−1 ) = 0
H1 (z1 , z2 ) =
bc c
( (1 + z1−4 ) + (b + )(z1−1 z2−1 + z1−1 z2 + z1−3 z2−1 + z1−3 z2 ) + (z1−2 z2−2 + z12 z22 ) + dz1−2 )
%a a &' (
H10 (z1 ,z2 )
For perfect FIR reconstruction to be possible, the determinant of the polyphase matrix has to be
a monomial.
For det H p to be a monomial, the first 3 terms must be zero, while the last term cannot be zero:
c − bc = 0
−a + ab = 0
a − ab − c + bc = 0
2ab + 2c − ad = 0
The first two constraints imply b = 1, and it is clear that a, c, d can then be anything as long as
they satisfy 2a + 2c − ad = 0. Hence, perfect FIR reconstruction is possible.
(b) If circular symmetry is also imposed, then b = 1 and c = a. For a = −4 and d = −28, we have
⎛ ⎞
0 1 0
h0 [n1 , n2 ] = ⎝ 1 −4 1 ⎠ ,
0 1 0
44
⎛ ⎞
0 0 1 0 0
⎜ 0 2 −4 2 0 ⎟
⎜ ⎟
h1 [n1 , n2 ] = ⎜
⎜ 1 −4 −28 −4 1 ⎟ .
⎟
⎝ 0 2 −4 2 0 ⎠
0 0 1 0 0
This set of filters yields perfect FIR reconstruction since det H p = −128z1−2 .
The filter h0 [n1 , n2 ] is a highpass filter because it takes the difference of a sample with its 4
neighbors; the filter h1 [n1 , n2 ] is a lowpass filter because it resembles the shape of a sinc (lowpass)
filter.
45
Chapter 4
4.1 Wavelet series expansion
(a) The wavelet series expansion of a function f (t) is given by
f (t) = am,n ψm,n (t)
m,n
−m
where ψm,n (t) = 2 ψ(2−m t − n) and am,n = f (t), ψm,n (t).
2
For the Haar expansion of f (t) = ϕ(t) (the scaling function), the series coefficients are:
1 −m
2 2 m≥1 n=0
am,n = ψm,n (t) dt =
0 0 otherwise
∞
(b) |ψm,n (t), f (t)| 2
= |am,n |2
= 2−m = 1
m n m n m=1
(c) All coefficients of some scale m are equal to zero if and only if 2−i = k 2m for some integer
k. Thus all coefficients are equal to zero for scales m such that 2−i−m = k for some integer k. If
−i − m < 0, the power 2−i−m will not be an integer. Therefore, not all of the coefficients are zero
for scales m > −i.
(d) All coefficients of some scale m are equal to zero if √12 = k 2m for some integer k. Since there
is no integer m for which this holds, there is no scale at which all of the coefficients are equal to
zero.
46
√
The last equality comes from the fact that { 2φ(2t − n)} is an orthonormal set.
Evaluating at ω = 0,
Evaluating at ω = 0,
|G(1)|2 + |G0 (−1)|2 = 2 ,
implying that G0 (−1) = 0. Since
G0 (−1) = (−1)n g0 [n] = g0 [2n] − g0 [2n + 1] ,
n n n
47
⎧
⎪
⎪ 0, |ω| ≥ 8π
3
⎪
⎪ |ω| ≤ 2π
⎪
⎪ 0,
⎨ 8π
3
−|ω|
Ψ(ω) = 3
, 4π
≤ |ω| ≤ 8π
⎪
⎪
4π 3 3
⎪
⎪ 3
⎪
⎪ 2π
⎩ |ω|−
2π
3
, 2π
3 ≤ |ω| ≤ 4π
3
3
(b) As mentioned above, the scaling function and wavelet are only continuous in the frequency
domain. We may therefore only expect them to be of order O( 1t ) in the spatial domain. In the case
of θ(x) given by (4.3.2), we may expect an order of O( t12 ).
(c) Using the following simple (though slow) Mathematica program, the plots of the scaling function
and wavelet are generated.
ClearAll;
theta[x_] := 0 /; (x<=0);
theta[x_] := 1 /; (x >= 1);
theta[x_] := x /; ((0 < x) && (x < 1));
A = 2 Pi/3;
B = 2 Pi;
DL = Table[n/5,{n,-5*5,5*5}];
48
4.6 B-splines
(a) Since β (N ) (t) is an even function,
In addition, given b(2N +1) [n] = β (2N +1) (t)|t=n , sampling β (2N +1) (t) at t = kT, k ∈ Z yields
∞
1 (2N +1) 2π
B (2N +1) (ω) = B (ω + k )
T T
k=−∞
∞
= B
(2N +1)
(ω + 2πk)
k=−∞
∞
= |B (N ) (ω + 2πk)|2
k=−∞
(c) Using the equation in part (b), we can calculate b(2N +1) [n] for N = 1, 3. β (1) (t) and β (2) (t) are
shown below.
(2)
(1)
β ( t) β ( t)
3/4
1
t t
−1 1 −3/2 3/2
The expressions for β (1) (t) and β (2) (t) are
(1) 1 − |t| , 0 ≤ |t| ≤ 1
β (t) =
0, otherwise ,
⎧ 3
⎨ 4 − t2 , 0 ≤ |t| ≤ 12
β (2) (t) = 9
− 3 |t| + 12 t2 , 12 ≤ |t| ≤ 32
⎩ 8 2
0, otherwise.
49
Using the expression in (b), it is straight forward to show that
2 1
b(3) [0] = , b(3) [1] = b(3) [−1] = ,
3 6
11 13 1
b(5) [0] = , b(5) [1] = b(5) [−1] = , b(5) [2] = b(5) [−2] = .
20 60 120
we derive that
I (0) (ω) = cos(ω/4)I (0) (ω/2).
Therefore
50
2
sin ω2 1
=⇒ Φ(ω) = ω √ √
2 2+
6
3
ejω + (2 − 3)
√
jω2Φ(2ω)
From equation 4.3.17, we have G0 (e ) = , so
Φ(ω)
√ 2
√
jω + (2 − 3)
2 sin ω e
G0 (ejω ) = √
4 sin2 ω2 ej2ω + (2 − 3)
= √ √ # jω √ $ 2
4 2+6 3 e−jω + (2 − 3) e 2 + (2 − 3) ω4 sin2 ω2
Now, if g(t) has compact support, so does its autocorrelation d(τ ). This implies that d(τ ) will be
nonzero only at a finite number of integer times, which tells us that there are a finite number of
nonzero coefficients d[n] in the DTFT D(ω). We can thus conclude that D(ω) is a polynomial in
51
ejω , i.e. a trigonometric polynomial. Also, because d[n] is FIR, it does not have poles on the unit
circle, so D(ω) has a stable spectral factorization.
where
< = is neglected in the third step. Taking the limit as i −→ ∞ gives the result:
the scale factor
ψ(t − n), ψ(t − n ) = δ(n − n )
(b) Similarly,
ϕ(i+1) (t − n), ψ (i+1) (t − n )
√ √
= 2 h0 (k)ϕ (2t − 2n − k), 2
(i)
h1 (m)ϕ (2t − 2n − m)
(i)
k∈Z m∈Z
: ;
= 2 h0 (k)h1 (m) ϕ (2t − 2n − k), ϕ(i) (2t − 2n − m)
(i)
k m
= h0 (k)h1 (k + 2n − 2n ) = h0 (k), h1 (k + 2n − 2n ) = 0
k
n ω 1 jω
ω
(b) Let Φn (ω) = M0 where M0 (ω) = √ G0 ejω = e− 2 cos .
2k 2 2
k=1
52
sin(2ω)
Using the identity cos(ω) = , the second product term can be expanded as
2 sin(ω)
n ω sin ω2 sin ω4 sin ω8 sin 2ωn
cos k+1 = ω ··· ω
k=1
2 2 sin ω4 2 sin ω8 2 sin 16 2 sin 2n+1
sin ω2
= ω
2n sin 2n+1
Taking the limit for large n yields
n
− jω jω
lim e 2k+1 = e−
{using the result of part (a)}
2
n→∞
k=1
sin ω2 sin ω2 sin ω2
lim ω = ω = ω
n→∞ 2n sin 2n 2n+1
2n+1 2
53
For our problem, since (1 − y)N and y N have no common zeros, by Bezout’s theorem, there
exist unique polynomials q1 , q2 , of degree ≤ N − 1, such that
(1 − y)N q2 (1 − y) + y N q1 (1 − y) = 1 .
By the uniqueness of q1 and q2 , this implies that q1 (y) = q2 (1 − y). It follows that P (y) = q1 (y) is
a solution for
(1 − y)N P (y) + y N P (1 − y) = 1 ,
and that the degree of P (y) is less than N .
Now, let’s find the closed form expression for P (y). Rewrite equation (4.4.32) as
1
P (y) = [1 − y N P (1 − y)] .
(1 − y)N
1
The Taylor series expansion of (1−y)N
is
1 y2 y3
= 1 + N y + N (N + 1) + N (N + 1)(N + 2) + . . .
(1 − y)N 2! 3!
∞
N −1+j
= yj .
j
j=0
Substitute this expression into the previous equation for P (y), we have
y2 y3
P (y) = (1 + N y + N (N + 1) + N (N + 1)(N + 2) + . . .) −
% 2! &' 3! (
A
y N +2 y N +3
(y N + N y N +1 + N (N + 1) + N (N + 1)(N + 2) + · · ·) P (1 − y) .
% 2! &' 3! (
B
Note that since we assume P (y) is a polynomial in y (in nonnegative powers only) with degree
less than N , the term B (which consists only of y i with i ≥ N ) must cancel the terms in A with
y i , i ≥ N . Hence,
y2 y3
P (y) = 1 + N y + N (N + 1) + N (N + 1)(N + 2) + ···
2! 3!
y N −1
+ N (N + 1) · · · (N + N − 2)
(N − 1)!
N −1
N −1+j
= yj ,
j
j=0
54
4.14 Regularity of Daubechies filters
N
1 + ejω
We represent the normalized lowpass filter M0 (ω) as M0 (ω) = R(ω) and let B =
2
sup |R(ω)|. The sufficient condition for the convergence of ϕ(i) (t) to a continuous function ϕ(t)
ω∈[0,2π]
∞
ω
with Fourier transform Φ(ω) = M0 is B < 2N −1 . For the Daubechies filters in table 4.2:
2k
k=1
N B 2N −1
2 1.73 2
3 3.16 4
4 5.92 8
5 11.22 16
6 21.49 32
All of the filters satisfy the regularity bound, so the iterated filters converge to the Fourier trans-
forms of continuous functions.
For higher regularity, a sufficiency condition is that the limit is m times continuously differen-
tiable if B < 2N −1−m where B is defined as in part (a). This is not satisfied for m = 1 for the
N = 4 and N = 5 filters. Consider a variation of the Daubechies condition that corresponds to a
cascade of filters and upsampling; we define a new supremum as in the book:
l−1
Bl = sup |R(2k ω)|
ω∈[0,2π] k=0
55
N −1
Here we have used the well known equality i=0 wi = 0 for w = 1.
∞
K ∞
k
1 + ejω/N + · · · + ejω(N −1)/N
k
ω
Φ(ω) = R( ).
N Nk
k=1 k=1
In the above, the first product equals (sin(ω/2)/(ω/2))K , which leads to a decay of O(1 + |ω|)−K .
Because R(0) = 1, there exists a constant C such that |R(ω)| ≤ 1 + C|ω|. So proceeding as in
> C
the proof of Prop. 4.7, we find ∞ k=1 |R( N k )| ≤ e
ω N−1 for all ω ≤ 1.
where the sum is taken over even k since xu [n] is zero for odd indices. Equivalently,
y (1) [n] = xu [2i]g[n − 2i]
i
which implies that g[2n] = δ[n]. So g[n] must be zero for even time indices. This condition implies
that G(z) can not have any nonzero even powers of z.
(b) If the interpolation filter g[n] meets the requirements of (a), the two-step output y (2) [n] satisfies
y (2) [2n] = y (1) [n]. Replacing n by 2n gives y (2) [4n] = y (1) [2n] = x[n]. Iterating this argument
yields the result y (i) [2i n] = x[n].
1 1
(c) G(z) = z + 1 + z −1 corresponds to a simple moving average where the interpolated value
2 2
is the mean of the immediate neighboring values. An example is illustrated in the following figure.
56
4 4 4
3 3 3
2 2 2
1 1 1
0 0 0
0 2 4 0 5 10 0 10 20
1 1 1 1
(d) We can write G(z) = √ +√ z √ + √ z −1 , which is a product of Haar lowpass
2 2 2 2
filters. The iteration of G(z) converges to the product of the iterations of these filters, so the asso-
ciated time function y(t) = lim y (i) (t) corresponds to a convolution of Haar lowpass functions. We
thus expect the limit function y(t) to be everywhere continuous but not everywhere differentiable.
where R(z) is given in Table 4.2 for N = 2, . . . , 6. It is straightforward to numerically verify (using
MATLAB, for instance) that these functions satisfy the constraint from (a), namely they are zero-
valued at even time indices (except time 0). For higher regularity, the sufficient condition given in
Proposition 4.7 can be used. That is, let
PN (ejω )
M (ω) =
PN (1)
be factored as N
1 + ejω
M (ω) = R(ω).
2
Define B = supω∈[0,2π] |R(ω)|. If
B < 2N −1− , = 1, 2, . . . ,
then the iteration converges to ϕ(t) which is -times continuously differentiable. With this test, we
can establish that for N = 2 the limit functions are continuous but not everywhere differentiable;
for N = 3, 4 the limit functions are continuous and once differentiable; for N = 5, 6 the limit
function is continuous and twice differentiable.
57
and
(1 + z)(1 + z −1 )
G(z) = ck z −k = .
2
k
One now easily derives
i
m
Pi+1 (z) = G(z 2 ).
m=0
Using the fact that
i 2i+1
−1
2m
(1 + z )= zm,
m=0 m=1
it follows that
1
p(i+1)
n = 1
2i+1
0≤i,j≤2i+1 −1
i−j=n
2i+1 −|n|
= 2i+1
, |n| ≤ 2i+1
0, otherwise
We conclude that f (∞) (t) = max(0, 1 − |t|), the well known hat function.
(b) Defining n −n
Q(i) (z) = g(i) ( )z ,
n
2i
we derive
i
m i+1
(i+1)
Q (z) = ( G(z 2 ))S(z 2 ),
m=0
where G(z) is as in (a) and where the definition of S(z) should be obvious. Taking the limits we
find that
g(∞) (t) = s[n]f (∞)(t − n),
n
which is nothing other than bilinear interpolation.
58
If we start with an arbitrary sequence s[n], we can either substitute g for f in the above and replace
the definition g(0) by
g(0) (n) = s[n],
or derive a result as in (b)
g(∞) (t) = s[n]f (∞)(t − n).
n
(1)
G(1) (z) = 1 + zG1 (z 2 ) ,
(i)
where Gj (z) denotes the j-th polyphase component of G(i) (z).
Now assume that g(i) [2i n] = δ[n]. Then we can write G(i) (z) in its polyphase component as
i −1
2
(i) (i) i
G (z) = 1 + z j Gj (z 2 ) .
j=1
We need to verify that the 0-th polyphase component of G(i+1) (z) is 1, or, equivalently, the co-
i+1
efficients of z m2 , m ∈ Z − {0}, are 0. Clearly, the middle two terms do not contribute to the
i+1 i i i+1
coefficients of z m2 , m ∈ Z. The last term contributes to the coefficients of z j+2 +k2 +l2 for
j ∈ {1, . . . , 2 − 1}, and m, l ∈ Z. It is easy to verify that the exponent j + 2 + k2 + l2
i i i i+1 can
never be equal to multiples of 2i+1 . Hence, the 0-th polyphase component is 1, and we can write
2i+1
−1
(i+1) (i+1) i+1
G (z) = 1 + z j Gj (z 2 ).
j=1
Thus, g(i) [2i n] = δ[n] and ϕ(i) (n) = δ[n] for all i. Since ϕ(i) (t) converges pointwise, taking i → ∞
and sampling yields ϕ(n) = δ[n]; i.e. ϕ(t) has the interpolation property.
59
(b) Let the support of g[n] be n ∈ {0, 1, . . . , N }; that is, g[0] = 0, g[N ] = 0, and g[n] = 0 for
n = {0, 1, . . . , N }. Since g[n] is a lowpass filter, we cannot have N = 0 (otherwise, it becomes a
trivial allpass filter), and N > 0. If g[n] is an interpolation filter, then N must be odd (because
g[2n] = δ[n]).
The filter g[n] is orthogonal, so
N
g[n], g[n − 2k] = g[n]g[n − 2k] = c δ[k]
n=0
for some nonzero constant c. Since the support of g[n] is {0, 1, . . . , N } and using the fact that
g[2n] = δ[n], the inner product can be simplified to
N
g[n], g[n − 2k] = g[n]g[n − 2k]
n=2k
N−1−2k
2
= g[0]g[2k] + g[2k + 2n + 1]g[2n + 1] , (9)
n=0
where the second expression is simply the inner product at the odd samples of g[n] and we have
assumed, without loss of generality, that k ≥ 0. Evaluating at k = 0, and using g[0] = 1,
N−1
2
1+ g2 [2n + 1] = c .
n=0
First let’s assume that N > 1, and then we show that we must have N = 1. Evaluating (9) at
k = N 2−1 yields
g[N ]g[1] = 0 .
N −3
By assumption g[N ] = 0, so g[1] = 0 must hold. Again, evaluating (9) at k = 2 yields
which implies g[3] = 0. Continuing this way until k = 0, we find that all odd samples of g[n] except
g[N ] is 0, and that
g[n], g[n] = g2 [0] + g2 [N ] = c .
Since the problem specifies a lowpass filter, and for N > 1, g[n] resembles nothing like a lowpass
filter, we must have N = 1. Hence our filter is
⎧
⎨ 1√, n=0
g[n] = c−1 , n=1 .
⎩
0, otherwise
(c) Given that ϕ(t) has the interpolation property (i.e. ϕ(n) = δ[n]) and satisfies the two-scale
equation
ϕ(t) = cn ϕ(2t − n) .
n
60
Then, sampling ϕ(t) at t = n, n ∈ Z yields
ϕ(n) = cm ϕ(2n − m) = cm δ[2n − m] = c2n = δ[n] .
m m
61
with c2n = c2n+1 = 1. Differentiate (*) we get
n n
ϕ (t) = 2cn ϕ (2t − n). (**)
n
If we take the hat function as an example, then its derivative is a scaled version of the Haar wavelet.
Pictorially this situation is presented in Figure P4.21.
;;@@ 1 1
;
ϕ(t)
; @@ ϕ (t)
-1 1 -1 1
-1 -1
2ϕ (2t)
.. ...
. .
ϕ (2t + 1) . .
. . 1
............. . ....
. .
-1 . . ϕ (2t − 1)
.
. .
. ... .
-2
62
π 1
sin (k + )x ×
Lj−1 2
π 1
cos (m + )x dx
Lj 2
Since the window part of this last integral is even, while the rest is odd, the above inner product
is zero.
It remains to evaluate ϕj,k , ϕj,m . As in Section 4.8.2, we split this integral in three parts:
from aj − ηj to aj + ηj , from aj + ηj to aj+1 − ηj+1 , and from aj+1 − ηj+1 to aj+1 + ηj+1 . We
consider the the first integral and third integral:
ηj
2 π 1 π 1
wj2 (aj + x) cos (k + )x cos (m + )x dx
Lj −ηj Lj 2 Lj 2
ηj
2 π 1 π 1
= (wj2 (aj + x) + wj2 (aj − x)) cos (k + )x cos (m + )x dx
Lj 0 Lj 2 Lj 2
ηj
2 π 1 π 1
= cos (k + )x cos (m + )x dx
Lj 0 Lj 2 Lj 2
and
ηj+1
2 π 1 π 1
wj2 (aj + Lj + x) cos (k + )(x + Lj ) cos (m + )(x + Lj ) dx
Lj −ηj+1 Lj 2 Lj 2
0
2
= (wj2 (aj+1 + x) + wj2 (aj+1 − x)) ×
Lj −ηj+1
π 1 π 1
cos (k + )(Lj + x) cos (m + )(Lj + x) dx
Lj 2 Lj 2
Lj
2 π 1 π 1
= cos (k + )x cos (m + )x dx.
Lj Lj −ηj+1 Lj 2 Lj 2
63
Chapter 5
5.1 Characterization of local regularity +∞
∗
(a) The continuous wavelet transform is given by CWTf (a, b) = ψa,b f (t) dt.
−∞
1 − 12 ≤ t ≤ 0
For the Haar wavelet ψ(t) = the CWT of some function f (t) is
−1 0 ≤ t ≤ 12
⎧ a +b
⎪
⎪ 1 2
⎨ −√ f (t) dt b<0
CWTf (a, b) = a 0 a
⎪
⎪ 1 b
1 2
+b
⎩ −√ f (t) dt − √ f (t) dt b ≥ 0
a 0 a b
0 t<0
For f (t) = the CWT is
tn t ≥ 0
⎧ a n+1
⎪
⎪ √
1 1
⎨ − + b b<0
a n + 1 2
CWTf (a, b) = a n+1
⎪
⎪ 1 1
⎩ −√ +b − 2bn+1 b≥0
a n+1 2
(2n+1)
a 2 (2n+1)
For b << a
2this amounts to CWTf (a, b) ≈ − n+1
∼ a 2 .
(n + 1) 2
3
Substituting n = 1 gives CWT ∼ a .
2
2n+1
(b) The derivation in (a) shows that CWT ∼ a 2 . (This can also be derived using the reasoning
of section 5.1.2, specifically the subsection on characterization of regularity.)
64
The graph of a(t) is:
1
0.5
−0.5
−1.5 −1 −0.5 0 0.5 1 1.5
time
(b) The autocorrelation a(t) is everywhere continuous but not everywhere differentiable; this is
evident from the above graph. We can find the decay by noting that a(t) = ψ(t) ∗ ψ(−t) and thus
1 1
A(ω) = |Ψ(ω)|2 . Since Ψ(ω) has a decay, A(ω) has a 2 decay as ω −→ ∞.
ω ω
65
(c) Given H0 (z) and G0 (z), we want to find H1 (z) and G1 (z) such that y[n] = x[n]; in the Z-domain,
this perfect reconstruction is given by
F (z) = − z 2 − 4z − 5 − 4z −1 − z −2
= (− z 2 − 3z − 1) (z −2 + z −1 + 1)
√ √ √ √
3+ 5 3− 5 −1 1+j 3 −1 1−j 3
= z+ z+ z + z +
2 2 2 2
4 4 4 4 4
There are + + + + = 16 ways to spectrally factor this F (z)
0 1 2 3 4
into H1 (z) and G1 (z) if we allow complex filters. For real filters, there are only 8 factorizations.
It is obvious that the above expression is piecewise linear in both a and b. In general, this piecewise
function will be determined by its values at the six points b = ± 12 (1 + {−1, 0, 1}a). For fixed a
there are four distinct cases to consider: a = 1, a < 1, 1 < a ≤ 2 and 2 < a.
For a = 1 the CWTf (a, b) is completely determined by the values at the 4 points b = ±1, ± 12 ,
viz. 0, ± 12 .
For a < 1 there are 6 values of b to consider. For b = ± 12 the CWT equals ± 2√ 1
a
and for
b = ± 12 (1 ± a) the CWT equals zero.
For 1 < a ≤ 2 there are also 6 values to consider. For b = ± 12 the CWT equals ± 2√
1
a
, for
b = ± 12 (1 + a) the CWT equals zero, and for b = ± 12 (1 − a) the CWT equals ± (1−a)
√ .
a
For 2 < a there are again 6 values to consider. For b = ± 12 the CWT equals ± √1a , for
b = ± 12 (1 + a) the CWT equals zero, and for b = ± 12 (a − 1) the CWT equals ± √1a .
See Figure P5.4 for a graphical representation. In particular, for small values of a, the CWT
of f has support in the neighborhood of ± 12 with a peak value of ± 2√ 1
a
. For very large values of
66
1 1
B
;;@@1 BB 1
@@;;
-1 -1
BB
B
b-¿ b-¿
-1 -1
1
1
Q
Q1QQ @2@
QQ @@
-1 -2
-1 -1
a the CWT has support from − 12 (1 + a) to 12 (1 + a) with the majority of the values being either
− √1a (for negative b values) or √1a (for positive b values).
Defining f± (t) by f (2t ± 12 ) we find, using the shift and scaling properties,
1
CWTf± (a, b) = √ CW Tf (2a, 2b ± 1).
2
Therefore
1
CWTψ (a, b) = √ (CWTf (2a, 2b + 1/2) − CWTf (2a, 2b − 1/2)).
2
In particular, for small values of a, the CWT of ψ has support around ± 12 (with a negative
1
function value 2√ a
) and around 0 (with a positive function value √1a ). For large a, the CWT
has support around −a/2 and a/2, with a negative function value − 2√
1
a
and a peak with positive
function value √1 around the origin.
a
N −1 N −1
2πk 2πk N
cos2 = sin2 =
N N 2
k=0 k=0
N −1
2πk 2πk
sin cos =0
N N
k=0
67
Let x = [x1 , x2 ] and
2
n−1
y = [y1 , y2 ] = < ϕk , x > ϕk
N
N =0
n−1
2 2πk
n−1
2πk 2πk
=⇒ y1 = x1 cos2 + x2 sin cos
N N N N
k=0 k=0
N −1 −1
2 2πk 2πk
N
2πk
y2 = x1 cos sin + x2 sin2
N N N N
k=0 k=0
y1 = x1 y2 = x2 =⇒ y=x
Comparing the reconstruction formula above (the formula for y) and equation 5.3.5 indicates that
the redundancy factor is N/2. This is intuitively reasonable since this frame uses N vectors to
represent a 2-dimensional space; recall the example of the overcomplete basis of three vectors for
R2 discussed in example 1.1 of section 1.1 and also in example 5.1, for which the redundancy factor
is 3/2.
Moreover, for each function f ∈ B, the sequence {ln } is found as ln = f (n) and f = l. Now
consider shifted versions fi (t) = f (t + i/N ) of f , i = 0, . . ., N − 1. Then we find
f (t) = fi (t − i/N )
= fi (n) sinc((t − i/N ) − n)
n
= f (n + i/N ) sinc((t − i/N ) − n).
n
Thus
N −1
N f (t) = f (t)
i=0
= f (n + i/N ) sinc((t − i/N ) − n)
i n
= f (k/N ) sinc(t − k/N ).
k∈Z
This immediately implies that {sinc(t − k/N )} is a tight frame with redundancy N .
68
equal to n is equivalent to M being injective. Therefore we have that M x = 0 on S n−1 , implying
0 < r(x) for all x ∈ S n−1 . As r(x) is continuous, and as S n−1 is compact, the function r(x) takes
on a minimum A = 0 and a maximum B = 0 on S n−1 . Consequently for all x ∈ Rn the required
inequalities hold:
0 < Ax ≤ M x ≤ Bx < ∞.
(b) The matrix M T M has size n × n and is invertible, as shown by the following sequence of
equalities.
MT Mx = 0 ⇒
M T M x, x = 0 ⇒
M x, M x = 0 ⇒
Mx = 0 ⇒
x = 0
M̃ M x = (M T M )−1 M T M x = Ix = x.
(c) If M̂ is any other left inverse, then the difference N = M̂ − M̃ satisfies N M = 0 and vice versa.
Such a matrix N can also be characterized by image(M ) ⊂ kernel(N ).
(d) Given y ∈ Rm , its projection P y (= M z for some z) onto the range of M is characterized by
y − P y, M x = 0,
y − P y, M x = 0 ∀x ⇒
y − M z, M x = 0 ∀x ⇒
M y − M T M z, x = 0 ∀x ⇒
T
MT y − MT Mz = 0 ⇒
−1
z = (M M ) T T
M y = M̃ y ⇒
P y = M z = M M̃ y
69
Chapter 6
6.1 Toeplitz matrix-vector products
A general Toeplitz matrix of size N × N has 1 + 2(N − 1) = 2N − 1 parameters, and a general
circulant matrix of the same size has N parameters. Therefore the minimal extension of an N × N
Toeplitz matrix to a circulant matrix needs N − 1 columns and rows.
The corresponding numbers of parameters for symmetric Toeplitz and circulant matrices are N
and N 2+2 respectively. So the minimal extension is by N − 2 rows and columns.
For example, the matrix ⎡ ⎤
a b c
⎣d a b ⎦
e d a
is extended to ⎡ ⎤
a b c e d
⎢d a b c e ⎥
⎢ ⎥
⎢e d a b c ⎥
⎢ ⎥
⎣c e d a b ⎦
a c e d a
and ⎡ ⎤
a b c
⎣b a b⎦
c b a
is extended to ⎡ ⎤
a b c b
⎢b a b c⎥
⎢ ⎥
⎣c b a b⎦.
b c b a
70
6.3 Walsh-Hadamard transform
A size 2N Walsh-Hadamard transform WHT 2N is computed by evaluating a matrix product
(1)
WHT N WHT N XN
WHT N −WHT N (2) .
X N
It follows that the addition complexity γ(N ) of the WHT satisfies the recursion formula γ(2N ) =
2γ(N ) + 2N . Using the fact that γ(2) = 2, we find γ(2N ) = 2N + (N − 1)2N = N 2N , and the
required N log2 N complexity follows.
i−1 k
i−1 k
i−1 k−1
H (i) (z) = H z2 = H(z) H z2 = H(z) H (z 2 )2
k=0 k=1 k=1
i−2 k
= H(z) H (z 2 )2 {for k = k − 1} = H(z) H (i−1) z 2
k =0
i−1 k i−1
i−2 k i−1
(i) 2 2
H (z) = H z = H z H z2 = H z2 H (i−1) (z)
k=0 k=0
k −1
2 i
(2k )
H (z) = H z2
i=0
k−1 −1 k−1 k−1 +1 k
22 22 22 22 −1
= H(z)H(z ) · · · H z
2
× H z H z ···H z
% &' ( % &' (
k−1 ) 2k−1 −1 2k−1
= H (2 (z) × H(ξ)H(ξ 2 ) · · · H ξ 2 {for ξ = z 2 }
71
⎧
⎪
⎪ H0 (z) = z −1 (z + 1) = 1 + z −1
⎨
H1 (z) = z −1 (−jz + 1) = −j + z −1
⇒
⎪
⎪ H (z) = z −1 (−z + 1) = −1 + z −1
⎩ 2
H3 (z) = z −1 (jz + z) = j + z −1
G(z) = 1 + z −1 + z −2 + z −3
Gi (z) = G(W4i z) for i = 0, 1, 2, 3
⎧
⎪
⎪ G0 (z) = 1 + z −1 + z −2 + z −3
⎨
G1 (z) = 1 + (−jz)−1 + (−jz)−2 + (−jz)−3 = 1 + jz −1 − z −2 − jz −3
⇒
⎪
⎪ G (z) = 1 + (−z)−1 + (−z)−2 + (−z)−3 = 1 − z −1 + z −2 − z −3
⎩ 2 −1 −2 −3
G3 (z) = 1 + (jz) + (jz) + (jz) = 1 − jz −1 − z −2 + jz −3
(b) Note that L = N − M + 1 = 3. Now we simply substitute into an equation from p. 362 to get
1 i 1
L−1 2
Ci = WN c[] = (−j)i c[]. (10)
N 4
=0 =0
Recall that the filter bank is implementing a convolution with the filter c[n].
Substituting in
Y (z) = z −(M −1) C(z)X(z), (11)
gives
Y (z) = z −1 (c[0] + c[1]z −1 c[2]z −2 )X(z).
Therefore, when the channel coefficients are scalars, the impulse response can at most have non-zero
samples corresponding to delays of 1, 2, and 3.
(c) The fact that filters with longer impulse responses can be implemented if the scalar Ci ’s are
replaced by filters is discussed on pp. 362–363. We demonstrate this through a simple example but
first derive a formula relating the input and output.
The output Y (z) consists of four components. For i ∈ {0, 1, 2, 3}, denote the i-th channel
output component by Yi (z). Since Yi results from filtering by Hi , downsampling by 2, filtering by
Ci , upsampling by 2, and filtering by Gi ,
1
Yi (z) = Gi (z) Ci (z 2 )Hi (z)X(z) + Ci ((−z)2 )Hi (−z)X(−z)
2
1
= Gi (z)Ci (z 2 ) [Hi (z)X(z) + Hi (−z)X(−z)] .
2
Therefore
3
1 1
3
2 2
Y (z) = Ci (z )Gi (z)Hi (z) X(z) + Ci (z )Gi (z)Hi (−z) X(−z). (12)
2 2
i=0 i=0
From this equation, we view the channel filters as weighting Gi (z)Hi (z) and Gi (z)Hi (−z). By
multiplying out terms,
72
for i ∈ {0, 1, 2, 3}. In general, aliasing will not be cancelled; choosing scalar channel coefficients
through (10) will insure that aliasing is cancelled. It is instructive to work out a simple example.
If c[n] = [1 0 0], then Ci = 14 for all i. In this case
3
3
−1
Gi (z)Hi (z) = 8z , and Gi (z)Hi (−z) = 0,
i=0 i=0
so the overall system is LTI with transfer function z −1 , which agrees with (11).
Let us now implement a filter that could not be implemented with scalar channel coefficients.
Suppose we wish to implement the simple lowpass filter c[n] = 18 [1 3 3 1]. (Recall that the actual
system will have a minimum delay of M − 1 = 1.) Following the procedure on p. 363, we decompose
c[n] into filters of length M = 2 and rescale, giving 14 [1 3] and 14 [3 1]. Taking 4-point Discrete
Fourier Transforms gives 14 [4 1 − 3j − 2 1 + 3j] and 14 [4 3 − j 2 3 + j]. In the notation of the
book, these eight coefficients form the set {ci }. From these we form the following filters:
1
C0 (z) = (4 + 4z −1 )
4
1
C1 (z) = ((1 − 3j) + (3 − j)z −1 )
4
1
C2 (z) = (−2 + 2z −1 )
4
1
C3 (z) = ((1 + 3j) + (3 + j)z −1 )
4
Through a tedious calculation (aided greatly by a system for symbolic mathematical calculation)
we can show:
1
3
Ci (z 2 )Gi (z)Hi (z) = z −1 (1 + 3z −1 + 3z −2 + z −3 ) (13)
2
i=0
1
3
Ci (z 2 )Gi (z)Hi (−z) = 0 (14)
2
i=0
Combining (12)–(14) shows that the system is LTI and implements the desired convolution with
a delay of 1. A similar modulated filter bank implementation for this convolution using scalar
channel coefficients would require larger M and hence have more delay.
Applying the synthesis filters and summing we find an overall output X(z 2 )(F0 (z 2 )+z −1 F1 (z 2 ))z −1 ,
showing the required LTI behavior for even signals.
Secondly we consider an odd signal zX(z 2 ). In the channels this gives rise to the signals
{X(z), X(z), 0}, and after convolution with the channel filters and upsampling we have
73
Applying the synthesis filters and summing we find an overall output zX(z 2 )(F0 (z 2 )+z −1 F1 (z 2 ))z −1 ,
showing the required LTI behavior for odd signals.
By linearity, the system is LTI for all signals, with the required impulse response.
74
Chapter 7
7.1 Distortion from uniform quantization
Let X be uniformly distributed on [a, b). Let X̂ denote the result of quantizing X. The uniform
quantizer outputs yi = a + (i + 12 )∆ for inputs in [a + i∆, a + (i + 1)∆). The MSE distortion is
given by
D = E |X − X̂|2
N −1 a+(i+1)∆
= (x − yi )2 fX (x) dx
i=0 a+i∆
N −1 a+(i+1)∆ 2
1 1
= x− a+ i+ ∆ dx
2 b−a
i=0 a+i∆
N −1 1
∆
1 2
= z 2 dz
b−a − 12 ∆
i=0
1 ∆3 ∆2
= N = ,
N ∆ 12 12
where the change of variables z = x − a − (i + 12 )∆ has been used. Note that this calculation is
essentially the same as determining and variance of a uniform random variable.
We assume that the subband bandwidths are equal. The subband variances can be determined by
integrating |X(ejω )|2 . For the 2-channel system, the subband variances are:
π
1 2
σ02 = 2 |X(ejω )|2 dω = 2
2π 0
π
1
σ12 = 2 |X(ejω )|2 dω = 1
2π π
2
(The factors of 2 are to account for positive and negative frequencies.) Using the formula at the
middle of page 388, the coding gain is
DP CM (2 + 1)/2 3
GAIN2 = = = √ .
DSBC (2 · 1)1/2 2 2
For the 3-channel system, the subband variances are σ02 = 43 , σ12 = 1 and σ22 = 23 . We find
DP CM ( 4 + 1 + 23 )/3 32/3
GAIN3 = = 34 = ,
DSBC ( 3 · 1 · 23 )1/3 2
75
(b) Now consider using a 4-channel system for the same source. The subband variances are σ02 =
σ12 = 1 and σ22 = σ32 = 12 . The coding gain is
DP CM (1 + 1 + 12 + 12 )/4 3
GAIN4 = = = √ .
DSBC (1 · 1 · 2 · 2 )
1 1 1/4 2 2
The performance is the same as the 2-channel system and better than the 3-channel system.
|ω|
|X(ejω )|2 = 1 − |ω| < π.
π
(Note the absolute value.) First consider the case N = 2. The subband variances are:
π π
1 2 1 2 ω 3
σ02 = 2 |X(e )| dω =
jω 2
1− dω =
2π 0 π 0 π 8
π π
1 1 ω 1
σ12 = 2 |X(ejω )|2 dω = 1− dω =
2π π π π π 8
2 2
(The factors of 2 are to account for positive and negative frequencies.) Using the formula from the
middle of page 388, the coding gain is
1
2 2
1 3 1
2 σ0 + σ1 2 8 + 8 2
2 2 1/2 = 3 1 1/2 = √ .
σ0 · σ1 8 · 8
3
(Note the absolute value.) First consider the case N = 2. The subband variances are:
π π
1 2 1 2 −αω 1 # $
σ02 = 2 |X(e )| dω =
jω 2
e dω = 1 − e−απ/2
2π 0 π 0 απ
π π
1 1 1 −απ/2 # $
σ12 = 2 |X(ejω )|2 dω = e−αω dω = e 1 − e−απ/2
2π π π π απ
2 2
76
3
2.8
2.6
2.4
2.2
Coding gain
2
1.8 (b)
1.6
1.4
(a)
1.2
1
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
alpha
(The factors of 2 are to account for positive and negative frequencies.) The coding gain is given by
2
1
2 σ0 + σ1
2 1
2 1+e
−απ/2 1 1 − e−απ/2
απ √ 1 απ/2 −απ/2
2 2 1/2 = = e + e .
1
− −απ/2 −απ/2 2
σ0 · σ1 απ 1 e e
Notice that the coding gain is a monotonically increasing function of |α|. This coding gain is
compared to the coding gain for part (a) in Figure P7.3.
For the general N -channel case,
(k+1)π (k+1)π
1 N 1 N
2
σk = 2 |X(e )| dω =
jω 2
e−αω dω
2π kπ π kπ
N N
1 # −α (k+1)π −α kπ
$ 1 # απ
$ αkπ
= − e N −e N = 1 − e− N e− N
απ απ
for k = 0, 1, . . . , N − 1. Now we can calculate
απ N
1
N −1
1 # $ 1 N−1
1 # $ 1 − e− N
− απ αkπ
− απ
σk2 = 1−e N e− N = 1−e N απ
N
k=0
απ N
k=0
απ 1 − e− N
1 # απ
$ 1 − e−απ
= 1 − e− N απ ,
απ 1 − e− N
where we have used the formula for a finite geometric series. Also,
N −1 1/N −1 1/N
1 # − απ
$ N
− αkπ 1 # απ
$ PN−1 απ 1/N
2
σk = 1−e N e N = 1 − e− N e k=0 − N
απ απ
k=0 k=0
1 # απ
$ απ PN−1 1 # απ
$ απ N(N−1)
= 1 − e− N e− N k=0 k = 1 − e− N e− N 2
απ απ
1 # απ
$ α(N−1)π
= 1 − e− N e− 2 ,
απ
77
where we have used the formula for an arithmetic series. The coding gain is therefore
N −1
1
N k=0 σk2 1 − e−απ
> 1/N = απ α(N−1)π
.
N −1 2 (1 − e− N )e− 2
k=0 σk
8
127
E[length] = Pr(symbol i) × (length of code i) = = 1.984
64
i=1
The entropy is defined as H = − i Pr(symbol i) log2 (Pr(symbol i)). In this case, the length of
code i is exactly − log2 (Pr(symbol i)), so the expected length and the entropy are equal.
(b)
symbol code prob.
+1 10 0.2
−1 11 0.2
+2 001 0.15
−2 010 0.15
+3 0001 0.075
−3 0110 0.075
+4 0111 0.05
−4 00000 0.05
SR 00001 0.05
The expected length is 3 bits/symbol and the entropy is 2.96 bits/symbol.
(c) Example: +1 − 1 − 3 + 2 0 0 0 + 4. The coded bit stream is 10, 11, 0110, 001, 00001, 110, 0111
where the commas have been inserted to indicated the correspondence of the bits to the symbols.
Note that the symbol sequence 0 0 0 is encoded as the “start of run” symbol followed by the code
for a run length of three. The bit stream can be uniquely decoded since the code is a prefix code.
78
(d) The expected length of this coding scheme is given by
4
E[L] = pi li + pSR LSR
i=−4
where the first term is the expected length of the code for nonzero symbols and the second term is
the expected length of the code for zero runs. Note that this includes the length of the SR code.
The result is the sum of the expected length from part (b) plus pSR times the expected length
from part (a): E[L] = 3.0 + 0.05(1.984) = 3.1 bits/symbol. Without coding, the number of bits
per symbol required is log2 (number of symbols) = 4 since there are 9 possible symbols. The
4
compression gain is thus 3.1 = 1.29.
(Note the absolute value.) Though not explicitly stated, we assume a cutoff frequency of π2 for the
lowpass filter. By integrating the power spectrum we get
π π
1 2 1 2 −3|ω|/π 1
2
σcoarse = 2 |X(e )| dω =
jω 2
e dω = 1 − e−3/2 ≈ 0.2590, and
2π 0 π 0 3
π π
1 1 1 −3/2
2
σdifference = 2 |X(ejω )|2 dω = e−3|ω|/π dω = e 1 − e−3/2 ≈ 0.0578.
2π π π π 3
2 2
(b) We are modelling the quantization of the coarse channel as the addition of a white noise with
variance c∆2 where the noise is uncorrelated with x[n]. Assuming proper normalization of the
interpolating filter, the noise power in the prediction is c∆2 . Since the noise is uncorrelated with
x[n], the variance of the difference channel is
2
σdifference = σdifference
2
+ c∆2 ,
2
where σdifference is the variance calculated in part (a).
(c) The allocation of bits between the coarse channel and the difference channel was investigated
experimentally using MATLAB. The problem statement left room for experimentation. We chose
to use a first-order Gauss-Markov source with √ correlation factor a generated by filtering a unit
1−a2
variance, white Gaussian source by the filter 1−az −1 . Uniform quantization was used without
entropy coding. The quantizer design was based on a rule of thumb called the “4σ-rule”: Full-scale
for the quantizer is set at ±4σ, where σ is the standard deviation of the source. Built-in MATLAB
commands were used for generating the coarse channel and the prediction. The basic code follows:
Bc = 4; % bits per coarse sample
Bd = 4; % bits per difference sample
% Total bit rate is Bc/2 + Bd bits per sample
t = 8192; % size of data string
a = 0.99; % correlation
79
x(1) = randn;
c = sqrt(1-a*a);
for k=2:(t+1)
x(k) = c*randn + a*x(k-1);
end
x = x(2:(t+1));
if bits == 0
y = 0;
else
delta = 8*sigma / 2^bits;
y = delta * (floor(x/delta) + 0.5);
if abs(y) > 4*sigma
y = (2^(bits - 1) - 0.5)*delta*sign(y);
end
end
Figure P7.5(a) shows the results for coding of three sources with a total budget of 8 bits/sample.
The correlation coefficient of the source is denoted by a. The horizontal axis shows the number
of bits assigned per difference channel sample, Bd . Since there are half as many coarse channel
samples, this leaves Bc = 16 − 2Bd bits per coarse channel sample. Figures P7.5(b), P7.5(c), and
P7.5(d) gives results for 6, 4, and 2 bits/sample, respectively.
A few general trends are of interest. The normalization is such that the process has unit variance
for any a. This explains the fact that the for a fixed coding rate, the curves coincide when all the
bits are used for the difference channel. As a is increased, the process becomes more lowpass, so
more of the energy is in the coarse channel. Since the coarse channel has half the sample rate, this
corresponds to better performance for larger a. Since the processes we are considering are (to a
varying degree) lowpass, when the total coding rate is very low, the most effective strategy is to
disregard the highpass information completely. This is illustrated in Figure P7.5(d).
80
0 0
10 10
−1
10 a = 0.8
−1 a = 0.8
10
−2
10 a = 0.9
MSE
MSE
−2 a = 0.9
10
−3
10
a = 0.99
−3 a = 0.99
10
−4
10
−5 −4
10 10
0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6
Bits for difference channel (Bd) Bits for difference channel (Bd)
(a) Total bit budget: 8 bits/sample (b) Total bit budget: 6 bits/sample
0 0
10 10
a = 0.8
a = 0.8
−1
10 a = 0.9
a = 0.9
MSE
MSE
−1
10
a = 0.99
−2
10
a = 0.99
−3 −2
10 10
0 0.5 1 1.5 2 2.5 3 3.5 4 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Bits for difference channel (Bd) Bits for difference channel (Bd)
(c) Total bit budget: 4 bits/sample (d) Total bit budget: 2 bits/sample
Figure P7.5: Experimental results for bit allocation in pyramid coding
dimensional signal. To maintain the analogy with the EZW algorithm, we will consider the inde-
pendent variable to be a spatial variable. For a four-level decomposition, in analogy to Figure 7.25,
the channels of the decomposition can be ordered as in Figure P7.6(a). Define a tree structure in
Figure P7.6(a) to be a set of points in successively higher frequency bands, extending to the highest
frequency band, which correspond to the same spatial region. Then we can define a zero tree to be
a tree for which all the samples have the quantized value of zero. One possible zero tree is shown
in Figure P7.6(b).
In contrast to the two-dimensional case, where a zero tree grows as powers of four, the tree
grows as powers of two. Also, there is only a single direction of tree growth, as opposed to the
three shown in Figure 7.28. The only modification of the dominant and subordinate passes of the
EZW algorithm is in the scanning. One simply scans one band (checking for possible zero trees)
and then scans the next higher band.
(b) The zero tree definition in part (a) applies to an arbitrary subband decomposition. In contrast
to the octave band case, the points at a fixed tree depth may not be adjacent. Figure P7.6(c) shows
a possible decomposition and zero tree. The points in the HL and HH bands are at the same tree
81
LLLH
LLLL LLH LH H
Figure P7.6(a)
LLLH
LLLL LLH LH H
c cc cccc
Figure P7.6(b)
depth. Notice that the size and rate of growth of the tree are the same as in the octave-band case.
LLLH
LLLL LLH LH HL HH
c cc cc cc
Figure P7.6(c)
The zero tree concept is most powerful when zero trees are most likely to be found. Most signals
of interest have decaying spectra, ı.e. |X(ejω )| decreases with increasing |ω| for |ω| < π. For such
signals, zero trees are most likely to be found with an octave-band decomposition. We will explain
this by comparing the decompositions in Figures P7.6(b) and P7.6(c). Assume the original signal
has length N . In the octave band case, the energy per coefficient in band H is given by
2 π
2
σH = |X(ejω )|2 .
π π/2
Because of the decay of the power spectrum, σHL 2 < σH2 < σ 2 . For a particular spatial location,
HH
one is more likely to find a nonzero coefficient in band HL or band HH than in band H. Therefore
zero trees are more likely to be found in the octave band case.
Please note that we are not claiming that an octave-band decomposition is always best. For a
particular image, a decomposition that gives less zero trees may give better rate-distortion perfor-
mance.
82
(c) Using zero trees in a full tree subband decomposition gives a different scan order than the
zig-zag scanning used in DCT. In DCT coding, the scan order corresponds to ascending order of
ω1 + ω2 , where ω1 and ω2 are the frequencies in the two spatial dimensions. In a zero tree structure
(assuming Shapiro’s scan order), horizontal frequencies are scanned, followed by the vertical and
45◦ diagonal directions. This is illustrated through an example.
Consider a full tree subband decomposition of depth 3 applied to a 32 × 32 image. The result is
64 channels with four samples per channel, as shown in Figure P7.6(d). The subbands are ordered
such that frequencies increase from left to right and from bottom to top. The circles in Figure
P7.6(d) show a potential zero tree in this decomposition. The scanning order has the following
properties:
• All spatial locations within a subband are scanned before moving to the next subband.
• Scanning through the depth of a potential zero tree corresponds to frequencies with similar
orientation. The frequency domain is effectively split into horizontal, vertical, and diagonal
regions.
Figure P7.6(d)
Now consider a DCT decomposition of the same image. In order to have the same (2 × 2)
spatial resolution as in the subband decomposition, assume that 8 × 8 blocks are used. The zig-zag
scanning order used with DCT coding is shown in Figure 7.15(a). This scanning has the following
properties:
• Each spatial region is coded independently.
83
• The scanning order is non-decreasing in ω1 + ω2 .
• An end-of-block (EOB) symbol is used when the remaining samples in the scan have a quan-
tized value of zero, so the coded samples (approximately) form a triangle.
The relative efficacies of the two methods will depend on the power spectrum of the image.
The DCT with zig-zag scan has the advantage that a single EOB symbol can be used to code all
high frequency components, whereas at least three zero trees are needed to code all high frequency
components. The shortcoming of the DCT method is that power spectra do not simply decay as a
function of |ω1 + ω2 |. For example, an image block with many horizontal edges will have significant
energy up to high vertical frequencies. For sake of illustration, suppose that the non-zero coefficients
form an 8×3 rectangle. Then an EOB does not occur until the 48th symbol. In the subband coding
case, many horizontal and diagonal frequency samples could be eliminated early on by zero trees.
84
Using
Gi (z1 , z2 ) = Gi0 (z1 , z2 ) + z1 Gi1 (z1 , z2 ),
we find that the synthesis filters are as follows, where the origin is underlined:
⎛ ⎞
1
1 ⎝
g0 [n1 , n2 ] = 1 4 1 0 ⎠
128
1
⎛ ⎞
1
⎜ 2 4 2 ⎟
1 ⎜ ⎟
⎜ 1 4 −28 4 1 ⎟
g1 [n1 , n2 ] = ⎜ ⎟
128 ⎝ ⎠
2 4 2
1
(b) In Figure P7.7, the circles show the result of quincunx downsampling in the (time,vertical)-
plane. The sequence has only even lines at even times and only odd lines at odd times and hence
is an interlaced sequence. After quincunx downsampling again, we are left with the points marked
with squares. (Note that the second quincunx downsampling is with respect to the lattice formed
by the circles.) The squares represent a progressive sequence with half as many frames and half as
many (vertical) lines as the original sequence.
vertical
6
h h h h
h h h h
h h h h
h h h h
h h h h
h h h h
h h h h
h h h h - time
85
7.8 FCO downsampling
(a) In analogy to (3.2.46), the filter pair corresponds to an orthogonal decomposition for FCO
downsampling if
H0 (z1 , z2 , z3 )H0 (z1−1 , z2−1 , z3−1 ) + H0 (−z1 , −z2 , −z3 )H0 (−z1−1 , −z2−1 , −z3−1 ) = 2. (15)
H0 (z1 , z2 , z3 )H0 (z1−1 , z2−1 , z3−1 ) + H0 (−z1 , −z2 , −z3 )H0 (−z1−1 , −z2−1 , −z3−1 )
1 1 1 1 1 1
= √ (1 + z1 z2 z3 ) √ 1+ + √ (1 − z1 z2 z3 ) √ 1−
2 2 z1 z2 z3 2 2 z1 z2 z3
1 1 1 1
= 2 + z1 z2 z3 + + 2 − z1 z2 z3 −
2 z1 z2 z3 2 z1 z2 z3
= 2
The full justification of checking the condition (16) follows directly from part (b). We call it a
“Haar” decomposition because of the similarity of the lowpass filter
1
h0 [n1 , n2 , n3 ] = √ (δ[n1 , n2 , n3 ] + δ[n1 + 1, n2 + 1, n3 + 1])
2
to (3.1.16).
(b) Recall the two-channel analysis/synthesis system shown in Figure 3.1(a). It can be shown that
1 1
X̂(z) = [G0 (z)H0 (z) + G1 (z)H1 (z)]X(z) + [G0 (z)H0 (−z) + G1 (z)H1 (−z)]X(−z). (16)
2 2
This is an alternative version of (3.2.14) which clearly shows that (3.2.15)-(3.2.16) are necessary
and sufficient for perfect reconstruction.
Now consider a system as in Figure 3.1(a) which processes three-dimensional signals and uses
FCO downsampling and upsampling. We would like to find a relationship analogous to (16). Denote
the upsampled version of y0 by y0u . Then because of the FCO sampling,
(h0 ∗ x)[n1 , n2 , n3 ] n1 + n2 + n3 even,
y0u [n1 , n2 , n3 ] = (17)
0 otherwise.
86
where in (18), 1 + (−1)n1 +n2 +n3 is introduced to cancel terms with n1 + n2 + n3 odd. Defining y1u
to be upsampled version of y1 , we similarly find
1
Y1u (z1 , z2 , z3 ) = (H1 (z1 , z2 , z3 )X(z1 , z2 , z3 ) + H1 (−z1 , −z2 , −z3 )X(−z1 , −z2 , −z3 )) .
2
Thus
X̂(z1 , z2 , z3 ) = (19)
1
[G0 (z1 , z2 , z3 )H0 (z1 , z2 , z3 ) + G1 (z1 , z2 , z3 )H1 (z1 , z2 , z3 )] X(z1 , z2 , z3 ) +
2
1
[G0 (z1 , z2 , z3 )H0 (−z1 , −z2 , −z3 ) + G1 (z1 , z2 , z3 )H1 (−z1 , −z2 , −z3 )]X(−z1 , −z2 , −z3 ).
2
Notice that (19) is the same as (16) with z replaced by z1 , z2 , z3 and −z replaced by −z1 , −z2 , −z3 .
This is due to the particular type of downsampling. In two dimensions, the analogous relationship
holds if quincunx downsampling is used.
(b)
KXY [, n] = cov(x[], y[n]) = E ((x[] − Ex[])(y[n] − Ey[n]))
87
= E (x[]y[n]) because we have assumed a zero-mean input
∞
= E x[] h[k]x[n − k]
k=0
∞
= h[k]E (x[]x[n − k])
k=0
∞
= h[k]KX [(n − k) − ]
k=0
∞
= h[k]KX [(n − ) − k]
k=0
Denoting n − by m gives
∞
KXY [m] = h[k]KX [m − k].
k=0
(c) Let
x̃[n] n ≥ 0
x[n] = ,
0 n<0
where x̃[n] is a wide-sense stationary process. Let y[n] be a filtered version of x[n]. For n ≥ 0,
∞
E(y[n]) = E h[k]x[n − k]
k=0
n
= E h[k]x[n − k] because x[n] = 0 for n < 0
k=0
n
= h[k]Ex[n − k]
k=0
n
= h[k]mX where mX denotes Ex[n], which is independent of n
k=0
n
= mX h[k]. (20)
k=0
min(n, L)
E(y[n]) = mX h[k],
k=0
so E(y[n]) is constant for n ≥ L. For FIR or IIR filtering, limn→∞ E(y[n]) = mY , where mY is the
constant expected value that would result from filtering the two-sided x̃[n].
88