Filter Banks: time domain ( Haar example) and frequency domain;

advertisement
Filter Banks: time domain
(Haar example) and frequency domain;
conditions for alias cancellation
and no distortion
Simplest (non-trivial) example of a two channel FIR
perfect reconstruction filter bank.
v0[n]
r0[n]
t0[n]
›2
fl2
h0[n]
f0[n]
y0[n]
^
x[n]
x[n]
Synthesis
Analysis
t1[n]
r1[n]
v1[n]
›2
f1[n]
fl2
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
1
y1[n] =
(x[2n] – x[2n – 1])
�2
lowpass filter
downsampler
-----------------j
------------------k
3
Matrix form
M
y0[0]
y0[1]
:
:
y1[0]
y1[1]
M
L 1
L 0
M
1
0
0
1
0 L
1 L
0
-1
0 L
1 L
M
M
1
=
�2
L -1 1
L 0 0
M
yo
y1
L
=
B
x
:
x[-1]
x[0]
x[1]
x[2]
:
:
-------------------l
4
t0[n] =
14243
Synthesis
v0[n] =
n even
upsampler
0
1
�2
14243
=
y0[n/2]
n odd
( t0[n + 1] + t0[n])
1
�2
y0[n/2]
n even
1
�2
y0[ n + 1 ]
2
n odd
2
lowpass filter
5
v1[n] =
14243
Similarly
1
�2
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
=
1
�2
(y0[n/2] + y1[n/2])
n even
1
�2
(y0[ n + 1] - y1[ n + 1 ])
n odd
2
2
6
i.e.
^ -1] =
x[2n
1
�2
(y0[n] – y1[n]) = x[2n-1]
from j and k
So
^
x[2n]
=
^
x[n]
=
1
�2
(y0[n] + y1[n]) = x[2n]
� Perfect reconstruction!
x[n]
In general, we will make all filters causal, so we will
have
^
x[n]
= x[n – n ] � PR with delay
0
7
Matrix form
M
^
x[-1]
^
x[0]
1
=
^
�2
x[1]
^
x[2]
M
^
x
M M
-1 0
1 1
M M
1 0
1 0
L
0 1
0 1
M M
L MM L
y0
=
LT
BT
0 -1
-1 1
M M
L
M
y0[0]
y0[1]
M
M
y1[0]
y1[1]
M
----------------m
y1
8
Perfect reconstruction means that the synthesis
bank is the inverse of the analysis bank.
^ = x �
x
L
LT
BT
123
= I
B
123
W-1
W
� Wavelet transform �
�
� matrix
ł
Ł
In the Haar example, we have the special case
W–1 = WT fi orthogonal matrix
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
General two-channel filter bank
H0(z)
r0[n]
fl2
y0[n]
L
›2
t0[n]
v0[n]
F0(z)
x[n]
H1(z)
r1[n]
fl2
y1[n]
L
›2
t1[n]
F1(z)
^
x[n]
¯
v1[n]
z-transform definition:
¥
X(z) = � x[n]z-n
Put z
n=-¥
= ei w
to get DTFT
10
Perfect reconstruction requirement:
^
x[n]
= x[n - l]
^
X(z) = z- l X(z)
(l 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) fi X(w)
X(-z) fi X(w + p)
w
½
X(z ) fi X( 2 )
Y0(w) =
w
½{H0( )
2
X(
w
)
2
or X(eiw)
+
w
H0( 2
+ p)X(
w
2
+ p)}
12
Suppose X(w) = 1 (input has all frequencies)
Then R0(w) = H0(w), so that after downsampling we have
w
½R0( 2
+ p)
½
½R0( w )
2
½R0( w2 + 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- l 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)
+
= z- l X(z)
½ {F0(z) H0(-z) + F1(z) H1(-z) } X(-z)
14
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- l
--------------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] z-n
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
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- l
i.e.
P0(z) - P0(-z) = 2z-l ----------------------------n
Note: l must be odd since LHS is an odd function.
17
Normalized Product Filter
Define
P(z) = zl P0(z)
----------------------------o
P(-z) = -zl P0(-z) since l is odd
So we can rewrite Equation n as
z- l P(z) + z- l P(-z) = 2z- l
i.e.
P(z) + P(-z) = 2
---------------------------p
This is the condition on the normalized product filter
for Perfect Reconstruction.
18
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]z-n + � p[n](-z)-n = 2
n
123
� p[n] =
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
1
1
1
H0(z) = �2 (1 + z )
H1(z) = �2 (1 – z-1)
1
F0(z) = H1(-z) =
(1 + z-1)
�2
-1
F1(z) = -H0(-z) = �2 (1- z-1)
1
P0(z) = F0(z) H0(z) = 2 (1 + z-1)2
20
So the Perfect Reconstruction requirement is
P0(z) – P0(-z) =
1
-1 + z-2) (1
+
2z
2
�
= 2z-1
P(z) = zl P0(z) =
1
-1 + z-2)
(1
–
2z
2
l = 1
1
-1)
(1
+
z)(1
+
z
2
lm
z
Zeros of P(z):
1+z = 0
1 + z-1 = 0
1
2nd order
zero at
z = -1
Re
21
Download