Course 18.327 and 1.130 Wavelets and Filter Banks
Course 18.327 and 1.130 Wavelets and Filter Banks
130
Wavelets and Filter Banks
Filter Banks (contd.): perfect reconstruction; halfband filters and possible factorizations.
Product Filter
Example: Product filter of degree 6 P0(z) =
P0(z) 1 16
P0(- z) = 2z-3
Expect perfect reconstruction with a 3 sample delay Centered form: P(z) = z3P0(z) =
P(z) + P(- z) = 2
1 16
(- z3 + 9z + 16 + 9z-1 z-3)
P(w) is said to be a halfband filter. How do we factor P0(z) into H0(z) F0(z)? P0(z) = 1/16(1 + z-1)4(-1 + 4z-1 - z-2) = -1/16(1 + z-1)4(2 + 3 z-1)(2 - 3 z-1)
3
Note: 2 + 3 =
1 2 - 3
Re
-1/16(1 + z-1)4(2 + 3 - z-1)(2 - 3 - z-1) -1/8(1 + z-1)3(2 + 3 - z-1)(2 - 3 - z-1) -1/4(1 + z-1)2(2 + 3 - z-1)(2 - 3 - z-1) -1/8(1 + z-1)3(2 - 3 - z-1) -1/2(1 + z-1)(2 + 3 - z-1)(2 - 3 - z-1)
-2
4 (3 1)
(1 + z-1)2(2 + 3 - z-1)
(1 + z-1)2(2 - 3 - z-1)
1/16(1 + z-1)4
3rd order
-1
-1
2-3
2 + 3
filter length = 2 { 1, 1 }
2nd order -1
filter length = 3 { 1, 2, 1 }
2nd order
2nd order
2-3
-1
-1
2 + 3
filter length = 4 filter length = 4 1 1 1+3, 3+3, 3-3, 1-3 4 2 1-3, 3-3, 3+3, 1+3 4 2 Note that, in this case, one filter is the flip (transpose) of the other: f0[n] = h0[3 - n] F0(z) = z-3 H0(z-1)
*+,
*+,
*+,
*+,
8
General form of product filter (to be derived later): P(z) = 2( 1 +2z )p(
P0(z) =
1 + z-1 p ) 2 p-1 - 1)( 1 - z )k( 1 z )k ( p+k 2 k 2
-1
k=0
z-(2p 1) P(z)
p-1
-1 2k
- 1 )(-1)k z -(p - 1) + k( 1 z ) = (1 + z-1)2p 2 1 (p+k 2p-1 k 2 k=0 &'( &))))))')))))))( Q(z) Binomial Cancels all odd powers (spline) except z(2p-1) filter
2
2
1, 1
1 + z-1 2
1 - z-1
2
2
1 0
1 - z-1
0, 0
1 + z-1 2
Synthesis lowpass filter has 1 zero at p Leads to cancellation of constant signals in analysis highpass channel. Additional zeros at p would lead to cancellation of higher order polynomials.
10
1 8
{ (1 ) z-1 ( 2 )( 1 z )2} 0 1
2
-1
1 16 {-
11
8th order -1
12
4th order -1
4th order -1
13
4th order -1
4th order -1
14
Why choose a particular factorization? Consider the example with p = 2: i. One of the factors is halfband The trivial 1/8 factorization is generally not desirable, since each factor should have at least one zero at p. However, the fact that F0(z) is halfband is interesting in itself. V(z)
2
X(z)
F0(z)
Y(z)
Let F0(z) be centered, for convenience. Then F0(z) = 1 + odd powers of z Now X(z) = V(z2) = even powers of z only
15
So Y(z) = F0(z) X(z) = X(z) + odd powers y[n] = x[n] ; n even *+, f0[k]x[n k] ; n odd
k odd
f0[n] is an interpolating filter p sin ( 2 ) n Another example: f0[n] = pn (ideal bandlimited interpolating filter)
-2
x[n] 4 n 0 2 y[n] 0 2 4 n
16
ii. Linear phase factorization e.g. 2/6, 5/3 Symmetric (or antisymmetric) filters are desirable for many applications, such as image processing. All frequencies in the signal are delayed by the same amount i.e. there is no phase distortion. h[n] linear phase A(w)ei(w a + q)
real delays all frequencies by a samples 0 if symmetric p if antisymmetric 2
Linear phase may not necessarily be the best choice for audio applications due to preringing effects.
17
iii. Orthogonal factorization This leads to a minimum phase filter and a maximum phase filter, which may be a better choice for applications such as audio. The orthogonal factorization leads to the Daubechies family of wavelets a particularly neat and interesting case. 4/4 factorization: H0(z) =
3 - 1 4 2
1
(1 + z-1)2[(2 + 3) z-1]
(1 + z-1)2[(2 - 3) z-1]
z-3 (1 + z2)[(2 + 3) - z]
= z-3 H0 (z-1)
18
P(z) = z?P0(z) = H0(z) H0(z-1) From alias cancellation condition: H1(z) = F0(-z) = -z-3 H0(-z-1) F1(z) = -H0(-z) = z-3 H1(z-1)
19
N odd
20
10
Why is the Daubechies factorization orthogonal? Consider the centered form of the filter bank:
H0[z]
2
y0[n]
2
H0(z-1)
x[n]
H1[z]
y1[n]
x[n] no delay H0(z-1) in centered 2 form Synthesis bank anticausal only positive powers of z
21
Synthesis
y0
LT
BT
y1
WT
&'(
11
Matlab Example 2
1. Product filter examples
23
24
12
25
26
13
27
28
14
29
30
15
31
16