Course 18.327 and 1.130 Wavelets and Filter Banks M -

advertisement
Course 18.327 and 1.130
Wavelets and Filter Banks
M-band wavelets: DFT filter banks and
cosine modulated filter banks.
Multiwavelets.
M-channel Filter Banks
• Used in communication e.g. DSL
• 1 Scaling function, M-1 wavelets
X(ω)
H0(ω)
↓M
↑M
F0(ω)
H1(ω)
↓M
↑M
F1(ω)
M
HM-1(ω)
↓M
(↑2)(↓2)X(ω) = ½ [X(ω)+X(ω + π)]
(↑M)(↓M)X(ω) =
1
M
[∑ X(ω
M-1
n=0
2πn
+ M
)]
↑M
FM-1(ω)
^
X(ω)
2
Perfect Reconstruction
M-1
1
∑ Fk(ω) M ∑ X(ω + 2Mπn )Hk(ω
n=0
k=0
1 M-1
2πn M-1
M-1
i.e.
∑ X(ω +
M n=0
M
+ 2Mπn ) = e-iωlX(ω)
) ∑ Fk(ω)Hk(ω + 2Mπn ) = e-iωlX(ω)
k=0
Matching terms on either side
n=0
n≠0
∑ Fk(ω)Hk(ω) = Me-iωl
M-1
k=0
M-1
∑ Fk(ω)Hk(ω + 2Mπn ) = 0
k=0
no distortion
no aliasing
3
e.g. M = 3
F0(ω)H0(ω) + F1(ω)H1(ω)+F2(ω)H2(ω) = 3e-iωl
F0(ω)H0(ω +
F0(ω)H0(ω +
2π
2π
2π
)
+
F
(
ω
)H
(
ω
+
)
+
F
(
ω
)H
(
ω
+
1
1
2
2
3 )
3
3
4π
4π
4π
)
+
F
(
ω
)H
(
ω
+
)
+
F
(
ω
)H
(
ω
+
1
1
2
2
3
3 )
3
Cast in matrix form
[F0(ω) F1(ω) F2(ω)] Hm(ω) = [3e-iωl 0
=0
=0
0]
H0(ω) H0(ω+ 3 ) H0(ω+ 43π )
Hm(ω) = H1(ω) H1(ω+ 23π ) H1(ω+ 43π )
H2(ω) H2(ω+ 23π ) H2(ω+ 43π )
2π
4π
4
Polyphase Representation
X(z)
z-1
↓M
z-1
M
z-1
↓M
↓M
↓M
X0(z)
Y0(z)
X1(z)
Y1(z)
X2(z) Hp(z)
M
XM-1(z)
Y2(z)
M
YM-1(z)
x[Mn] ↔ X0(z) = x[0] + z-1x[M] + z-2x[2M] + z-3x[3M] + …
x[Mn-1] ↔ X1(z) = x[–1] + z-1x[M-1] + z-2x[2M-1] + …
x[Mn-2] ↔ X2(z) = x[–2] + z–1x[M-2] + z-2x[2M-2] + …
M
5
To recover X(z) from X0(z), X1(z), X2(z), …
X(z) = ∑ zkXk(zM)
M-1
k=0
Much more freedom than 2 channel case
e.g. can have orthogonality & symmetry
Consider Haar FB (M = 2)
1 1
Then Hp(z) =
= F2 (2 pt DFT matrix)
1 -1
6
M-pt DFT matrix
FM =
1 1 1
1 w w2
1 w2 w4
M
1 wM-1 w2(M-1)
1
wM-1
w2(M-1)
M
w(M-1)(M-1)
w =
e-i
2π
M
7
Suppose Hp(z) = FM
…
DFT
DFT
14243 14243 …
M pts
M pts
Y0(z) = ∑ Xn(z)
M-1
n=0
∑ wnXn(z)
n=0
M-1
M-1
M-1



= ∑ x[-n] + ∑ x[M-n] z-1 + …
 n=0

  n=0
M-1
M-1



n
= ∑ w x[–n] + ∑ wn-Mx[M-n] z-1 + …
  n=0
 n=0

Y1(z) =
M
M-1
M-1
M-1



kn
kn
Yk(z) = ∑ w Xn(z) = ∑ w x[-n] + ∑ wk(n-M)x[M-n] z-1 + …
 n=0

  n=0
n=0
Terms in z-k are DFT coefficients of kth block of data.
So filter bank performs a block DFT.
8
Modulation followed by filtering
x[n]
x
Z-1 (w0)-n
x
Z-1 (w)-n
x
M 2 -n
(w )
Z-1
x
(wM-1)-n
p[n]
↓M
p[n]
↓M
p[n]
↓M
p[n]
↓M
For block DFT,
p[n] = [1, 1, 1, … , 1]
0
M–1
• Can generalize by using
other prototype filters.
• p[n] is called the prototype
filter.
modulation filtering
If w–kn is replaced by ck,n from DCT ⇒ Cosine-modulated
ck,n = √ M2 cos[(k + ½)(n + M2 + 12 ) π ]
Filter Bank
M
M
9
Cosine Modulated Filter Bank (from type IV DCT)
hk[n] = p[n]√ M2 cos[(k + ½)(n +
M
2
1 π
+ 2) M ]
center it!
“Double-shift
p[n] chosen to be symmetric LPF.
orthogonality”
Only p[n] needs to be designed.
in M=2 case
Let L be the length of p[n].
Symmetry: P[L – 1 – n] = p[n]
L=2M orthogonality: p[n]2 + p[n + M]2 = 1
L=4M orthogonality: p[n]2+p[n+M]2+p[n+2M]2+p[n+3M]2 = 1
p[n]p[n + 2M] + p[n+M]p[n + 3M] = 0
Genus of the prototype filter.
10
Application to DSL
copper wire
f
• assign more bits to
lower frequency bands
• orthogonal CMFB can
undo the overlaps
between channels
Multiwavelets
Idea: extend the scalar refinement equation
φ(t) = 2 ∑ h0[k]φ(2t – k)
k
into a vector refinement equation
φ1(t)
φ1(2t – k)
= 2 ∑
N-1
φ2 (t)
k=0
H0[k]
2x2
φ2 (2t – k)
11
e.g. Finite Elements
1 φ(t)
1
0
1
0
1
1
+
3
2
1
2
φ1(t) = φ1(2t) + ½φ1(2t – 1)+ ½φ2(2t)
(t)
0
φ1(t)
1
½
½
can use to represent piecewise linear
function but allows for representing
discontinuous function
1
φ2(t)
1
+
0
2
1
0
=
½
1
1
φ2(t) = φ2(2t - 1) + ½φ2(2t) + ½φ1(2t-1)
(t)
0
1
(t)
12
⇒
φ1 (t)
φ2 (t)
=
1
½
φ1 (2t)
½
0
φ1 (2t – 1)
0
½
φ2 (2t)
½
1
φ2 (2t – 1)
f=1
f′=0
f=0
f′=0
f=0
f′=1
φ1(t)
f=0
f′=0
φ2(t)
1442443
Finite Element Multiwavelets
satisfy vector
refinement equation
can also come up with orthogonal multiwavelets.
13
Download