Filter Banks: time domain (Haar example) and frequency domain; conditions for alias cancellation and no distortion Simplest (non-trivial) example of a two channel FIR perfect reconstruction filter bank. v0[n] r0[n] t0[n] ›2 fl2 h0[n] f0[n] y0[n] ^ x[n] x[n] Synthesis Analysis t1[n] r1[n] v1[n] ›2 f1[n] fl2 h1[n] y1[n] h0[n] = 0 1 1 �2 1 �2 1 �2 1 �2 f0[n] = -1 0 2 1 �2 1 �2 h1[n] = 0 1 f1[n] = -1 �2 -1 -1 �2 0 Analysis: 1 r0[n] = �2 (x[n] + x[n – 1]) y0[n] = r0[2n] 1 y0[n] = (x[2n] + x[2n – 1]) �2 Similarly 1 y1[n] = (x[2n] – x[2n – 1]) �2 lowpass filter downsampler -----------------j ------------------k 3 Matrix form M y0[0] y0[1] : : y1[0] y1[1] M L 1 L 0 M 1 0 0 1 0 L 1 L 0 -1 0 L 1 L M M 1 = �2 L -1 1 L 0 0 M yo y1 L = B x : x[-1] x[0] x[1] x[2] : : -------------------l 4 t0[n] = 14243 Synthesis v0[n] = n even upsampler 0 1 �2 14243 = y0[n/2] n odd ( t0[n + 1] + t0[n]) 1 �2 y0[n/2] n even 1 �2 y0[ n + 1 ] 2 n odd 2 lowpass filter 5 v1[n] = 14243 Similarly 1 �2 y1[n/2] n even 1 �2 y1[ n + 1 ] n odd - 2 So, the reconstructed signal is ^ x[n] = v0[n] + v1[n] 14243 = 1 �2 (y0[n/2] + y1[n/2]) n even 1 �2 (y0[ n + 1] - y1[ n + 1 ]) n odd 2 2 6 i.e. ^ -1] = x[2n 1 �2 (y0[n] – y1[n]) = x[2n-1] from j and k So ^ x[2n] = ^ x[n] = 1 �2 (y0[n] + y1[n]) = x[2n] � Perfect reconstruction! x[n] In general, we will make all filters causal, so we will have ^ x[n] = x[n – n ] � PR with delay 0 7 Matrix form M ^ x[-1] ^ x[0] 1 = ^ �2 x[1] ^ x[2] M ^ x M M -1 0 1 1 M M 1 0 1 0 L 0 1 0 1 M M L MM L y0 = LT BT 0 -1 -1 1 M M L M y0[0] y0[1] M M y1[0] y1[1] M ----------------m y1 8 Perfect reconstruction means that the synthesis bank is the inverse of the analysis bank. ^ = x � x L LT BT 123 = I B 123 W-1 W � Wavelet transform � � � matrix ł Ł In the Haar example, we have the special case W–1 = WT fi orthogonal matrix So we have an orthogonal filter bank, where Synthesis bank = Transpose of Analysis bank f0[n] = h0[- n] f1[n] = h1[- n] 9 Perfect Reconstruction Filter Banks General two-channel filter bank H0(z) r0[n] fl2 y0[n] L ›2 t0[n] v0[n] F0(z) x[n] H1(z) r1[n] fl2 y1[n] L ›2 t1[n] F1(z) ^ x[n] ¯ v1[n] z-transform definition: ¥ X(z) = � x[n]z-n Put z n=-¥ = ei w to get DTFT 10 Perfect reconstruction requirement: ^ x[n] = x[n - l] ^ X(z) = z- l X(z) (l time delays) H0(z) and H1(z) are normally lowpass and highpass, but not ideal H1(w) 1 H1(w) H0(w) p w 0 -p p 2 2 � Downsampling operation in each channel can produce aliasing -p 11 Let’s see why: Lowpass channel has Y0(z) = ½{R0(z½) + R0(-z½)} (downsampling) = ½{H0(z½) X (z½) + H0(-z½)X(-z½)} In frequency domain: X(z) fi X(w) X(-z) fi X(w + p) w ½ X(z ) fi X( 2 ) Y0(w) = w ½{H0( ) 2 X( w ) 2 or X(eiw) + w H0( 2 + p)X( w 2 + p)} 12 Suppose X(w) = 1 (input has all frequencies) Then R0(w) = H0(w), so that after downsampling we have w ½R0( 2 + p) ½ ½R0( w ) 2 ½R0( w2 + p ) Y0(w) = -p 0 p aliasing w Goal is to design F0(z) and F1(z) so that the overall system is just a simple delay - with no aliasing term: V0(z) + V1(z) = z- l X(z) 13 V0(z) = F0(z) T0(z) = F0(z) Y0(z2) (upsampling) = ½F0(z){ H0(z) X(z) + H0(-z) X(-z)} V1(z) = ½F1(z){ H1(z) X(z) + H1(-z) X(-z)} So we want ½ {F0(z) H0(z) + F1(z) H1(z) } X(z) + = z- l X(z) ½ {F0(z) H0(-z) + F1(z) H1(-z) } X(-z) 14 Compare terms in X(z) and X(-z): 1) Condition for no distortion (terms in X (z) amount to a delay) F0(z) H0(z) + F1(z) H1(z) = 2z- l --------------j 2) Condition for alias cancellation (no term in X(-z)) F0(z) H0(-z) + F1(z) H1(-z) = 0 --------------k To satisfy alias cancellation condition, choose F0(z) = H1(-z) F1(z) = -H0(-z) ----------------------l 15 What happens in the time domain? F0(z) = H1(-z) F0(w) = H1(w + p) = � h1[n] (-z)-n n = � (-1)n h1[n] z-n n So the filter coefficients are f0[n] = (-1)n h1[n] f1[n] = (-1)n+1 h0[n] Example h0[n] = { a0, a1, a2} h1[n] = { b0, b1, b2} alternating signs rule f0[n] = { b0, -b1, b2 } f1[n] = {-a0, a1, -a2} 16 Product Filter Define P0(z) = F0(z) H0(z) ------------------------------m Substitute F1(z) = -H0(-z) , H1(z) = F0(-z) in the zero distortion condition (Equation j) F0(z) H0(z) - F0(-z) H0(-z) = 2z- l i.e. P0(z) - P0(-z) = 2z-l ----------------------------n Note: l must be odd since LHS is an odd function. 17 Normalized Product Filter Define P(z) = zl P0(z) ----------------------------o P(-z) = -zl P0(-z) since l is odd So we can rewrite Equation n as z- l P(z) + z- l P(-z) = 2z- l i.e. P(z) + P(-z) = 2 ---------------------------p This is the condition on the normalized product filter for Perfect Reconstruction. 18 Design Process 1. Design P(z) to satisfy Equation p. This gives P0(z). Note: P(z) is designed to be lowpass. 2. Factor P0(z) into F0(z) H0(z). Use Equations l to find H1(z) and F1(z). Note: Equation p requires all even powers of z (except z0) to be zero: � p[n]z-n + � p[n](-z)-n = 2 n 123 � p[n] = n 1 ; 0 ; n=0 all even n (n „ 0) 19 For odd n, p[n] and –p[n] cancel. The odd coefficients, p[n], are free to be designed according to additional criteria. Example: Haar filter bank 1 1 1 H0(z) = �2 (1 + z ) H1(z) = �2 (1 – z-1) 1 F0(z) = H1(-z) = (1 + z-1) �2 -1 F1(z) = -H0(-z) = �2 (1- z-1) 1 P0(z) = F0(z) H0(z) = 2 (1 + z-1)2 20 So the Perfect Reconstruction requirement is P0(z) – P0(-z) = 1 -1 + z-2) (1 + 2z 2 � = 2z-1 P(z) = zl P0(z) = 1 -1 + z-2) (1 – 2z 2 l = 1 1 -1) (1 + z)(1 + z 2 lm z Zeros of P(z): 1+z = 0 1 + z-1 = 0 1 2nd order zero at z = -1 Re 21