This preview shows page 1. Sign up to view the full content.
Unformatted text preview: Filter Banks: time domain
Filter
(Haar example) and frequency domain;
conditions for alias cancellation
and no distortion Simplest (nontrivial) example of a two channel FIR
Simplest
perfect reconstruction filter bank.
v0[n]
r0[n]
t0[n]
›2
ﬂ2
h0[n]
f0[n]
y0[n]
^ [n]
x[n]
x
x[n]
x[n]
Synthesis
Analysis
t1[n]
r1[n]
v1[n]
›2
f1[n]
ﬂ2
h1[n]
y1[n] h0[n] = 0 1 1
�2 1
�2 1
�2 1
�2 f0[n] = 1 0
2 1
�2 1
�2
h1[n] = 0 1 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
Similarly
1
y1[n] =
(x[2n] – x[2n – 1])
�2 lowpass filter
downsampler
j k
3 Matrix form
Matrix
M
y0[0]
y0[1]
:
:
y1[0]
y1[1]
M L1
L0 M
0
1 0L
1L 0
1 1
0 0L
1L M
M 1
=
�2 L 1 1
L0 0
M yo
y1 L
= B x :
x[1]
x[
x[0]
x[1]
x[2]
:
: l
 4 t0[n] = 14243
14243 Synthesis
Synthesis v0[n] = n even
upsampler 0
1
�2 14243
14243 = y0[n/2] n odd
( t0[n + 1] + t0[n]) 1
�2 y0[n/2] n even 1
�2 y0[ n + 1 ]
2 lowpass filter n odd 2 5 14243
14243 Similarly
Similarly 1
�2 v1[n] = y1[n/2] n even 1
�2 y1[ n + 1 ] n odd  2 So, the reconstructed signal is
^
x[n] = v0[n] + v1[n] 14243
14243 = 1
�2 (y0[n/2] + y1[n/2])
(y n even 1
�2 (y0[ n + 1]  y1[ n + 1 ])
(y n odd 2 2 6 i.e.
i.e.
^
x[2n1] = 1
�2 (y0[n] – y1[n]) = x[2n1]
from j and k
from ^
x[2n] So = ^
x[n] = 1
�2 (y0[n] + y1[n]) = x[2n]
� Perfect reconstruction!
Perfect x[n] In general, we will make all filters causal, so we will
have
^
x[n] = x[n – n ] � PR with delay
PR
0 7 Matrix form
Matrix
M
^ 1]
x[
^
x[0]
1
=
^
�2
x[1]
^
x[2]
M ^
x MM
1 0
11 MM
10
10
L
01
01
MM LML
M y0
= LT BT 0 1
1 1
MM L M
y0[0]
y0[1]
M
M
y1[0]
y1[1]
M m
 y1
8 Perfect reconstruction means that the synthesis
Perfect
bank is the inverse of the analysis bank.
^
x=x� L
LT BT 123
123 =I
B 123
123 W1 W
� Wavelet transform �
�
� matrix
ł
Ł
In the Haar example, we have the special case
In
W–1 = WT ﬁ orthogonal matrix
orthogonal
So we have an orthogonal filter bank, where
Synthesis bank = Transpose of Analysis bank
f0[n]
=
h0[ n]
f1[n]
=
h1[ n] 9 Perfect Reconstruction Filter Banks
Perfect
General twochannel filter bank
H0(z) r0[n] ﬂ2 y0[n] L ›2 t0[n] v0[n]
F0(z) x[n]
x[n]
H1(z) r1[n] ﬂ2 y1[n] L ›2 t1[n] F1(z) ^ [n]
x[n]
x
¯
v1[n] ztransform definition:
¥ X(z) = � x[n]zn
x[n]z
Put z
Put n=¥
n=
= ei w to get DTFT
to 10
10 Perfect reconstruction requirement:
Perfect
^
x[n] = x[n  l]
^
X(z) = z l X(z)
X(z) (l time delays)
time 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
Downsampling
produce aliasing
p 11
11 Let’s see why:
Let’s
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(
X(z) ﬁ X(w + p)
X(
w
½) ﬁ X(
X(z
X( 2 )
Y0(w) = w
½{H0( )
2 X( w
)
2 or X(eiw) + w
H0( 2 + p)X( w
2 + p)}
12
12 Suppose X(w) = 1 (input has all frequencies)
Suppose
Then R0(w) = H0(w), so that after downsampling we have
w
½R0( 2 + p) ½ ½R0( w )
2 ½R0( w + p )
2 Y0(w) =
p 0 p aliasing
aliasing w Goal is to design F0(z) and F1(z) so that the overall
Goal
system is just a simple delay  with no aliasing term:
V0(z) + V1(z) = z l X(z)
X(z)
13
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)
+ = z l X(z)
X(z) ½ {F0(z) H0(z) + F1(z) H1(z) } X(z)
14
14 Compare terms in X(z) and X(z):
Compare
1) Condition for no distortion (terms in X (z) amount
to a delay)
F0(z) H0(z) + F1(z) H1(z) = 2z l j 2) Condition for alias cancellation (no term in X(z))
2)
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
15 What happens in the time domain?
What
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
So
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
16 Product Filter
Product
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 l
i.e.
i.e. P0(z)  P0(z) = 2zl n
 Note: l must be odd since LHS is an odd function.
Note: must 17
17 Normalized Product Filter
Normalized
Define
P(z) = zl P0(z) o P(z) = zl P0(z) since l is odd
P(
is
So we can rewrite Equation n as
z l P(z) + z l P(z) = 2z l
P(z)
P(
i.e.
i.e. P(z) + P(z) = 2 p This is the condition on the normalized product filter
This
for Perfect Reconstruction.
18
18 Design Process
Design
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
p[n]z
p[n](
n 123
123 � p[n] =
p[n] n 1;
0; n=0
all even n (n „ 0)
0) 19
19 For odd n, p[n] and –p[n] cancel.
For
The odd coefficients, p[n], are free to be designed
according to additional criteria.
Example: Haar filter bank
1
1
1)
H0(z) = �2 (1 + z
H1(z) = �2 (1 – z1)
1
F0(z) = H1(z) =
(1 + z1)
�2
1
F1(z) = H0(z) = �2 (1 z1)
1
P0(z) = F0(z) H0(z) = 2 (1 + z1)2 20
20 So the Perfect Reconstruction requirement is
So
P0(z) – P0(z) = 1
(1 + 2z1 + z2) 2 � = 2z1
P(z) = zl P0(z) = 1
(1 –2z1 + z2)
2 l=1 1
(1 + z)(1 + z1)
2 lm
lm z
Zeros of P(z):
1+z = 0
1 + z1 = 0
1 2nd order
order
zero at
z = 1 Re 21
21 ...
View
Full
Document
This note was uploaded on 12/04/2011 for the course ESD 18.327 taught by Professor Gilbertstrang during the Spring '03 term at MIT.
 Spring '03
 GilbertStrang

Click to edit the document details