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