0% found this document useful (0 votes)
25 views

Course 18.327 and 1.130 Wavelets and Filter Banks

This document discusses filter banks and wavelets. It covers product filters and their properties including perfect reconstruction. Several examples of product filters of varying degrees are presented along with their pole-zero plots and frequency responses. Factorizations of product filters into analysis and synthesis filters are discussed. Orthogonal and linear phase factorizations are described. The Daubechies wavelet factorization is presented as a special case of orthogonal filters. Matlab examples of product filters of degrees 2, 6, 10 and 14 are shown.

Uploaded by

djoseph_1
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

Course 18.327 and 1.130 Wavelets and Filter Banks

This document discusses filter banks and wavelets. It covers product filters and their properties including perfect reconstruction. Several examples of product filters of varying degrees are presented along with their pole-zero plots and frequency responses. Factorizations of product filters into analysis and synthesis filters are discussed. Orthogonal and linear phase factorizations are described. The Daubechies wavelet factorization is presented as a special case of orthogonal filters. Matlab examples of product filters of degrees 2, 6, 10 and 14 are shown.

Uploaded by

djoseph_1
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

Course 18.327 and 1.

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

(-1 + 9z-2 + 16z-3 + 9z-4 - z-6)

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)

i.e. even part of P(z) = const

In the frequency domain: P(w) + P(w + p) = 2


Halfband Condition
2

P(w) Note antisymmetry about w = p/2

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

So P0(z) has zeros at z = -1 (4th order) z = 2 3


Im

Note: 2 + 3 =

1 2 - 3

P0(z) 4th order zero at z = -1 -1 2-3 1


2 + 3

Re

Some possible factorizations


H0(z) (a) (b) (c) (d) (e) (f) (g) (or F0(z) ) F0(z) (or H0(z) )

1 (1 + z-1) (1 + z-1)2 (1 + z-1)(2 + 3 - z-1) 1/8(1 + z-1)3


(3 1)
4 2

-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

-(2 + 3 - z-1)(2 - 3 - z-1)

Case (b) -- Symmetric filters (linear phase)

3rd order
-1

-1

2-3

2 + 3

filter length = 2 { 1, 1 }

filter length = 6 /8 {-1, 1, 8, 8, 1, -1}

Case (c) -- Symmetric filters (linear phase)

2nd order -1

2nd order -1 2-3


2 + 3

filter length = 3 { 1, 2, 1 }

filter length = 5 { -1, 2, 6, 2, -1}

Case (f) -- Orthogonal filters (minimum phase/maximum phase)

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

P0(z) has 2p zeros at p (important for stability of iterated


filter bank.)
Q(z) factor is needed to ensure perfect reconstruction.

p = 1 P0(z) has degree 2 leads to Haar filter bank.


1, 1, 1, 1
1+ 2 z-1

2
2

1, 1

1 + z-1 2
1 - z-1

2
2

1 0

1 - z-1

0, 0
1 + z-1 2

F0(z) = 1 + z-1 , H0(z) =

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

p = 2 P0(z) has degree 4p 2 = 6 P0(z) = (1 + z-1)4 = =


1 16

1 8

{ (1 ) z-1 ( 2 )( 1 z )2} 0 1
2

-1

(1 + z-1)4( - 1 + 4z-1 - z-2) 1 + 9z-2 + 16z-3 + 9z-4 z-6}


Possible factorizations 1/8 trivial 2/6 linear phase 3/5 4/4 orthogonal 2 + 3 (Daubechies-4)
*+,

1 16 {-

-1 4th order 2-3 1

11

p = 4 P0(z) has degree 4p 2 = 14

8th order -1

12

Common factorizations (p = 4): (a) 9/7

Known in Matlab as bior4.4

4th order -1

4th order -1

13

(b) 8/8 (Daubechies 8) -- Known in Matlab as db4

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]

= 42 {(1 + 3) + (3 + 3)z-1 + (3 -3)z-2 + (1- 3)z-3} F0(z) = =


- 2 4(3-1)
3-1
4 2

(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

Special Case: Orthogonal Filter Banks Choose H1(z) so that


H1(z) = - z-N H0(- z-1)

N odd

Time domain h1[n] = (- 1)n h0[N n]


F0(z) = H1 (- z) = z-N H0(z1)
f0[n] = h0[N n]
F1(z) = - H0(- z) = z-N H1(z-1)
f1[n] = h1[N n]
So the synthesis filters, fk[n], are just the time-reversed
versions of the analysis filters, hk[n], with a delay.

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]

Analysis bank causal only negative powers of z

x[n] no delay H0(z-1) in centered 2 form Synthesis bank anticausal only positive powers of z

21

In matrix form: Analysis


yo y1
L = B
&'(

Synthesis
y0

LT

BT
y1
WT

&'(

W So x = WTW x for any x WTW = I = WWT

An important fact: symmetry prevents orthogonality


22

11

Matlab Example 2
1. Product filter examples

23

Degree-2 (p=1): pole-zero plot

24

12

Degree-2 (p=1): Freq. response

25

Degree-6 (p=2): pole-zero plot

26

13

Degree-6 (p=2): Freq. response

27

Degree-10 (p=3): pole-zero plot

28

14

Degree-10 (p=3): Freq. response

29

Degree-14 (p=4): pole-zero plot

30

15

Degree-14 (p=4): Freq. response

31

16

You might also like