This action might not be possible to undo. Are you sure you want to continue?
https://www.scribd.com/doc/156616841/Handout3
07/28/2013
text
original
130
Wavelets and Filter Banks
Filter Banks: time domain
(Haar example) and frequency domain;
conditions for alias cancellation
and no distortion
Haar Filter Bank
Simplest (nontrivial) example of a two channel FIR perfect reconstruction filter bank. v0[n] r0[n] t0[n] å 2 é 2 h0[n] f0[n] y0[n] ^ x[n] x[n] Synthesis Analysis t1[n] r1[n] v [n] å2 f1[n] 1 é2 h1[n] y1[n]
1 µ2
1 0
2
1 µ2
1 µ2
1 µ2
h0[n] =
0
1
f0[n] =
1
1 µ2
1 µ2
0 1
h1[n] =
f1[n] =
1 µ2
1 1 µ2
0
Analysis: 1 r0[n] = µ2 (x[n] + x[n œ 1]) y0[n] = r0[2n] 1 y0[n] = (x[2n] + x[2n œ 1]) µ2 Similarly 1 y1[n] = (x[2n] œ x[2n œ 1]) µ2 lowpass filter downsampler j
k
3
Matrix form
4 y0[0] y0[1] : : y1[0] y1[1] 4
4 3 1 3 0 1 0 0 1 0 3 1 3
0 3 1 3
: x[1] x[0] x[1] x[2] : :
=
1 µ2
4
3 1 1 3 0 0 4 0 1
yo y1
L = B
x
l
4
2
Synthesis t0[n] =
&)')(
&)')(

y0[n/2] 0
1 µ2
n even upsampler n odd
v0[n] =
&)')(
&)')(
( t0[n + 1] + t0[n]) y0[n/2] y0[ n + 1 ]
2
lowpass filter
=
1 µ2
1 µ2
n even n odd
5
Similarly v1[n] =
1 µ2
1 µ2
y1[n/2]
y1[ n + 1 ]
2
n even
n odd
So, the reconstructed signal is ^ x[n] = v0[n] + v1[n]
1 µ2
(y0[n/2] + y1[n/2])
(y0[ n + 1]  y1[ n + 1 ])
2
2
n even
n odd
=
1 µ2
6
3
i.e. ^
x[2n1] =
^ x[2n]
^ So x[n] =
1 µ2
1
µ2
(y0[n] œ y1[n]) = x[2n1]
from j and k
(y0[n] + y1[n]) = x[2n]
x[n] Ω Perfect reconstruction!
=
In general, we will make all filters causal, so we will have ^
x[n] = x[n œ n0] Ω PR with delay
7
Matrix form 4 ^ x[1] ^ x[0] 1 = ^ µ2 x[1] ^ x[2]
4
4 4 1 0 1 0 3
3 3
4 4 1 0 1 1
0 1 0 1 4 4
0 1 1 1 4 4
3
4 y0[0] y0[1] 4 4 y1[0] y1[1] 4
^ x
y0
=
LT
BT
y1
m
8
4
Perfect reconstruction means that the synthesis bank is the inverse of the analysis bank.
^ = x Ω x
L
LT
BT
&'(
= I
B
&'(
W1
W ≈ Wavelet transform ’ ÷ Δ matrix ◊ « In the Haar example, we have the special case Wœ1 = WT ç orthogonal matrix So we have an orthogonal filter bank, where Synthesis bank = Transpose of Analysis bank f0[n] = h0[ n] = h1[ n] f1[n]
9
Perfect Reconstruction Filter Banks General twochannel filter bank
H0(z)
x[n]
r0[n]
é2
y0[n]
3 3
å2
t0[n]
v0[n]
F0(z)
H1(z)
Ñ
r1[n]
é2
y1[n]
å2
t1[n]
F1(z)
^ x[n] § v1[n]
ztransform definition: X(z) = ƒ x[n]zn
n=Ñ
Put z = ei w to get DTFT
10
5
Perfect reconstruction requirement: ^ x[n] = x[n  ?] ^ X(z) = z ? X(z) (? time delays)
H0(z) and H1(z) are normally lowpass and highpass, but not ideal H1(w) 1 H1(w) H0(w)
p w 0 p p 2 2 Ω Downsampling operation in each channel can produce aliasing
p
11
Let‘s see why: Lowpass channel has Y0(z) = ²{R0(z²) + R0(z²)} (downsampling)
= ²{H0(z²) X (z²) + H0(z²)X(z²)} In frequency domain: X(z) ç X(w) X(z) ç X(w + p) w X(z²) ç X( 2 )
Y0(w) = ²{H0(
w ) 2
or X(eiw)
X(
w ) 2
+ H0(
w 2
+ p)X(
w 2
+ p)}
12
6
Suppose X(w) = 1 (input has all frequencies) Then R0(w) = H0(w), so that after downsampling we have
²R0(
w 2
+ p)
²
²R0( w )
2
²R0(
w 2
+ p)
Y0(w) =
p 0 p
aliasing
w
Goal is to design F0(z) and F1(z) so that the overall system is just a simple delay  with no aliasing term: V0(z) + V1(z) = z ? X(z)
13
V0(z) = F0(z) T0(z) = F0(z) Y0(z2) (upsampling)
= ²F0(z){ H0(z) X(z) + H0(z) X(z)} V1(z) = ²F1(z){ H1(z) X(z) + H1(z) X(z)}
So we want
² {F0(z) H0(z) + F1(z) H1(z) } X(z)
+ ² {F0(z) H0(z) + F1(z) H1(z) } X(z)
14
= z ? X(z)
7
Compare terms in X(z) and X(z): 1) Condition for no distortion (terms in X (z) amount to a delay) F0(z) H0(z) + F1(z) H1(z) = 2z ?
j
2) Condition for alias cancellation (no term in X(z)) F0(z) H0(z) + F1(z) H1(z) = 0
k
To satisfy alias cancellation condition, choose F0(z) = H1(z) F1(z) = H0(z)
l
15
What happens in the time domain? F0(z) = H1(z) F0(w) = H1(w + p) = ƒ h1[n] (z)n
n
= ƒ (1)n h1[n] zn
n
So the filter coefficients are f0[n] = (1)n h1[n] f1[n] = (1)n+1 h0[n] Example h0[n] = { a0, a1, a2}
h1[n] = { b0, b1, b2}
alternating signs rule
f0[n] = { b0, b1, b2 } f1[n] = {a0, a1, a2}
16
8
Product Filter Define P0(z) = F0(z) H0(z)
m
Substitute F1(z) = H0(z) , H1(z) = F0(z) in the zero distortion condition (Equation j) F0(z) H0(z)  F0(z) H0(z) = 2z ? i.e. P0(z)  P0(z) = 2z? n
Note: ? must be odd since LHS is an odd function.
17
Normalized Product Filter Define P(z) = z? P0(z)
o
P(z) = z? P0(z) since ? is odd So we can rewrite Equation n as z ? P(z) + z ? P(z) = 2z ? i.e. P(z) + P(z) = 2
p
This is the condition on the normalized product filter for Perfect Reconstruction.
18
9
Design Process 1. Design P(z) to satisfy Equation p. This gives P0(z). Note: P(z) is designed to be lowpass. 2. Factor P0(z) into F0(z) H0(z). Use Equations l to find H1(z) and F1(z). Note: Equation p requires all even powers of z (except z0) to be zero: ƒ p[n]zn + ƒ p[n](z)n = 2
n n
&'(
Ω p[n] =
1 ; 0 ;
n=0 all even n (n ò 0)
19
For odd n, p[n] and œp[n] cancel. The odd coefficients, p[n], are free to be designed according to additional criteria. Example: Haar filter bank H0(z) = µ2 (1 + z1) F0(z) = H1(z) =
1
H1(z) = µ2 (1 œ z1)
1
1 (1 + z1) µ2 1 F1(z) = H0(z) = µ2 (1 z1) 1 P0(z) = F0(z) H0(z) = 2 (1 + z1)2
20
10
So the Perfect Reconstruction requirement is P0(z) œ P0(z) =
1 1 + 2z1 + z2) 2
1 1 œ2z1 + z2) 2
= 2z1 P(z) = z? P0(z) =
lm
Ω
? = 1
1 1 2 (1 + z)(1 + z )
z Zeros of P(z): 1+z = 0 1 + z1 = 0 1 Re
2nd order zero at z = 1
21
11
This action might not be possible to undo. Are you sure you want to continue?