Você está na página 1de 9

1

Course 18.327 and 1.130


WaveIets and FiIter Banks
MaxfIat FiIters: Daubechies and
Meyer FormuIas.
SpectraI Factorization
2
FormuIas for the Product FiIter
HaIfband condition:
P(e ee e) + P(e ee e + t tt t) = 2
AIso want P(e ee e) to be Iowpass
and p[n] to be symmetric.
Daubechies' Approach
Design a poIynomiaI, P(y), of degree 2p - 1, such that
P(0) = 2
P
( )
(0) = 0; = 1, 2, ., p - 1
P
( )
(1) = 0; = 0, 1, ., p - 1
~
~
~
t e 0
2
P (e) P (et)
1 y 0
2
P(y)
~
~
2
3
Can achieve required fIatness at y = 1 by incIuding a
term of the form (1 - y)
p
i.e.
P(y) = 2(1 - y)
p
B
p
(y)
Where B
p
(y) is a poIynomiaI of degree p - 1.
How to choose B
p
(y)?
Let B
p
(y) be the binomiaI series expansion for
(1 - y)
-p
, truncated after p terms:
B
p
(y) = 1 + py + y
2
+ . + y
p-1
= (1 - y)
-p
+ O(y
p
)
~ ~~ ~
p(p + 1)
2
2p - 2
p - 1
( )
Higher order terms
4
(1 - y)
-1
= y
k
(1 - y)
-p
=

k = 0

k = 0
( )
k
| | y
< 1
Then
P(y) = 2(1 - y)
p
[(1-y)
-p
+ O (y
p
)]
= 2 + O(y
p
)
~ ~~ ~
y
k
p + k -1
3
5
( )
p + k - 1
k
y
k
( )
1 - e
ie ee e
2
( )
1 - e
-ie ee e
2
1 - cos e ee e
2
(
~ ~~ ~
p-1
k=0
Thus
P
( )
(0) = 0 ; = 1, 2, . , p-1
So we have
P(y) = 2 (1-y)
p

Now Iet
y = maintains symmetry
=
Thus
P(e ee e) = P
= 2
~ ~~ ~
1 - cos e ee e
2
)
) (
1 + cos e ee e
2
p - 1
k = 0
(
p + k + 1
k
)(
1 - cos e ee e
)
2
k
p
6
z domain:
P(z) = 2
)
(
(
1 + z
2
1 + z
-1
)
p
2
p

p - 1
k = 0
p + k - 1
( )
k
( )
1 - z
( )
1 - z
-1
2
2
k
k
4
7
Meyer's Approach
Work with derivative of P(y):
P(y) = - C y
p-1
(1 -y)
p-1
So
P(y) = 2 - C} }} } y
p-1
(1-y)
p-1
d y (P(0) = 2)
Then
P(e ee e) = 2 - C} }} }
~ ~~ ~
~ ~~ ~
~ ~~ ~ ~ ~~ ~
y
0
)
1 + cos e ee e
(
2
p-1
( )
1 - cos e ee e
2
p-1
sin e ee e
2
de ee e
e ee e
0
= 2 - C} }} } ( )
1 - cos
2
e ee e
2
p-1
sin e ee e
2
de ee e
e ee e
0
i.e. P(e ee e) = 2 - C } }} } sin
2p-1
e ee e d e ee e
e ee e
0
8
SpectraI Factorization
RecaII the haIfband condition for orthogonaI fiIters:
z domain:
H
0
(z) H
0
(z
-1
) + H
0
(-z) H
0
(-z
-1
) = 2
Frequency domain:
| || |H
0
(e ee e) | || |
2
+ | || |H
0
(e ee e + t tt t) | || |
2
= 2
The product fiIter for the orthogonaI case is
P(z) = H
0
(z) H
0
(z
-1
)
P(e ee e) = | || |H
0
(e ee e)| || |
2
P(e ee e) > >> > 0
p[n] = h
0
[n] - -- - h
0
[-n] p[n] = p[-n]
The spectraI factorization probIem is the probIem
of finding H
0
(z) once P(z) is known.
5
9
Consider the distribution of the zeros (roots) of P(z).
Symmetry of p[n] P(z) = P(z
-1
)
If z
0
is a root then so is z
0
-1
.
If p[n] are reaI, then the roots appear in compIex,
conjugate pairs.
(1 - z
0
z
-1
)(1 - z
0
*z
-1
) = 1 - (z
0
+ z
0
*) z
-1
+ (z
0
z
0
*)z
-2

reaI reaI
10
Im Im
z
0
z
0
1
Re
Re
1
1/z
0
z
0
O
1
z
0
O
1
z
0
*
*
CompIex zeros ReaI zeros
If the zero z
0
is grouped into the spectraI factor H
0
(z),
then the zero 1/z
0
must be grouped into H
0
(z
-1
).
h
0
[n] cannot be symmetric.
6
11
Daubechies' choice: Choose H
0
(z) such that
(i) aII its zeros are inside or on the unit circIe.
(ii) it is causaI.
i.e. H
0
(z) is a minimum phase fiIter.
ExampIe:
6
3
3
=
0
.
P(z)
H
0
(z)
(Minimum phase)
H
0
(z
-1
)
(Maximum phase)
12
PracticaI AIgorithms:
1. Direct Method: compute the roots of P(z)
numericaIIy.
2. CepstraI Method:
First factor out the zeros which Iie on the unit
circIe
P(z) = [(1 + z
-1
)(1 + z)]
p
Q(z)
Now we need to factor Q(z) into R(z) R(z
-1
) such that
i. R(z) has aII its zeros inside the unit circIe.
ii. R(z) is causaI.
7
13
Then use Iogarithms to change muItipIication into
addition:
Q(z) = R(z) R(z
-1
)
In Q(z) = In R(z) + In R(z
-1
)


Q(z) R(z)
R(z
-1
)
^
^
^
Take inverse z transforms:
q[n] = r[n] + r[-n]
CompIex cepstrum
of q[n]
^ ^ ^
14
ExampIe:
X
5
X
5
X
X
R(z) has aII its zeros and aII its poIes inside the unit
circIe, so R(z) has aII its singuIarities inside the unit
circIe. (In0 = - , In = .)
^
R(z) R(z) = In R(z)
^
8
15
AII singuIarities inside the unit circIe Ieads to a causaI
sequence, e.g.
X(z) =
1
1- z
k
z
-1
PoIe at z = z
k
X(e ee e) =
1
1- z
k
e
-ie ee e
If |z
k
| < 1, we can write
X(e ee e) = (z
k
)
n
e
-ie ee en
x[n] is causaI
So r[n] is the causaI part of q[n]:

n = 0
^ ^
r[n] =

q[0] ; n = 0
q[n] ; n > 0
0 ; n < 0
^
^

^
16
AIgorithm:
Given the coefficients q[n] of the poIynomiaI Q(z):
i. Compute the M-point DFT of q[n] for a
sufficientIy Iarge M.
Q[k] = q[n]e ; 0 s ss s k < M
ii. Take the Iogarithm.
Q[k] = In (Q[k])
iii. Determine the compIex cepstrum of q[n] by
computing the IDFT.
q[n] = Q[k] e
i
n
^
1
M
^
M
2t tt t nk
^
M - 1
k = 0
-i
M
2t tt tkn
9
17
iv. Find the causaI part of q[n].
v. Determine the DFT of r[n] by computing the
exponent of the DFT of r[n].
R[k] = exp (R[k]) = exp ( r[n]e
-i kn
) ; 0 s ss s k < M
^
r[n] =

q[0] ; n = 0
q[n] ; n > 0
0 ; n < 0
^
^

^
^
M-1
k = 0
^
M
^
2t tt t
18
vi. Determine the DFT of h
0
[n], by incIuding haIf the
zeros at z = -1.
H
0
[k] = R[k] (1 + e
-i
vii. Compute the IDFT to get h
0
[n].
h
0
[n] = H
0
[k] e
i
M
2t tt t k
)
p
1
M
M
2t tt t
nk
M-1
k = 0

Você também pode gostar