VIEWS: 1 PAGES: 21 POSTED ON: 8/22/2011 Public Domain
www.jntuworld.com Multirate Signal Processing Filter Banks S. R. M. Prasanna Dept of ECE, IIT Guwahati, prasanna@iitg.ernet.in Multirate Signal Processing – p. 1/1 www.jntuworld.com Filter Banks (FBs) Collection of ﬁlters, with common i/p or o/p Analysis FB: Splits a signal x(n) into M signals xk (n), called subband signals (Fig of AFB and Freq Response) Synthesis FB: Combine M subband signals into a ˆ single signal x(n) (Fig of SFB) Freq. response could be marginally overlapping, non-overlapping or very much overlapping Multirate Signal Processing – p. 2/1 www.jntuworld.com DFT Relations Based on DFT Relations for understanding FBs DFT Relations: M −1 −2πmk X(k) = m=0 x(m)e M 1 M −1 2πmk x(m) = M k=0 X(k)e M X[k] = M −1 x(m)W km m=0 −2π W =e M W km is a M × M DFT matrix In future W refers to W km W ∗ is complex conjugate of W In case of DFT matrix, W T = W =⇒ W ∗ = W † W † is transpose-conjugate of W W −1 = W † /M x(m) = M M −1 X(k)W −km 1 k=0 Multirate Signal Processing – p. 3/1 www.jntuworld.com DFT Filter Bank To provide FB interpretation consider the ﬁgure given below Multirate Signal Processing – p. 4/1 www.jntuworld.com DFT FB (contd.) We are interested in splitting i/p signal x(n) into M parallel signals xk (n) where, k = 0, 1, . . . (M − 1) Consider a case where from x(n) we generate M sequences si (n) by passing x(n) through a delay chain, so that si (n) = x(n − i) M −1 From deﬁnition of W =⇒ xk (n) = i=0 si (n)W −ki Each o/p is connected to all i/ps via DFT matrix Above relation is same as IDFT except for 1/M M −1 Z.T. of xk (n) is given by Xk (z) = i=0 Si (z)W −ki Substituting for Si (z), we have Xk (z) = M −1 z −i X(z)W −ki = i=0 M −1 i=0 X(z)(zW k )−i Multirate Signal Processing – p. 5/1 www.jntuworld.com DFT FB (contd.) Xk (z) = Hk (z)X(z), where Hk (z) is deﬁned as H0 (zW k ) H0 (z) = 1 + z −1 + z −2 + . . . + z −(M −1) System is equivalent to analysis bank with analysis ﬁlters Hk (z) H0 (z) =⇒ |H0 (ejω )| = |sin(M ω/2)/sin(ω/2)| H1 (ejω ) = H0 (e−jω e−j2π/M ) = H0 (e−j(ω−2π/M )) In general, Hk (z) has response Hk (ejω ) = H0 (ej (w − (2πk/M ))), which is a shifted version of H0 (ejω ) Thus we have M analysis ﬁlters which are uniformly shifted versions of H0 (z) Multirate Signal Processing – p. 6/1 www.jntuworld.com DFT FB. (contd.) For synthesis purpose consider block containing W matrix followed by delay elements Multirate Signal Processing – p. 7/1 www.jntuworld.com DFT FB. Contd. I/p to this block are xk (n) from analysis bank M −1 Each o/p element is given yl (n) = k=0 xk (n)W kl Final o/p of synthesis bank X(z) = M −1 Yl (z)z −((M −1)−l) ˆ l=0 M −1 ˆ X(z) = l=0 ( M −1 Xk (z)W kl )z −((M −1)−l) k=0 = M −1 M −1 l=0 ( k=0 Xk (z)(z −((M −1)−l)W kl )) X(z) = M −1 Xk (z)Fk (z) and ˆ l=0 Fk (z) = F0 (z −((M −1)−l)W kl ), F0 (z) = z −(M −1) + z −(M −2) + . . . + z −2 + z −1 + 1 Multirate Signal Processing – p. 8/1 www.jntuworld.com DFT Fb. (contd.) Consider H0 (z) and F0 (z) for illustration s0 (n) undergoes no delay in H0 (z) and hence needs to be delayed by z −(M −1) in F0 (z) s1 (n) undergoes z −1 delay in H0 (z) and hence needs to be delayed by z −(M −2) in F0 (z) sM −1 (n) undergoes z −(M −1) delay in H0 (z) and hence needs to be delayed by 1 in F0 (z) By this process, in effective all elements are delayed by same amount and hence possible to regenerate by combining them ˆ Thus if Fk (z) = 1/Hk (z), then X(z) = X(z) Multirate Signal Processing – p. 9/1 www.jntuworld.com Computational Complexity Let each ﬁlter be of order N =⇒ N complex coefﬁcients Assuming x(n) to be real, each ﬁlter requires 2N multiplications There are M ﬁlters and accordingly 2M N multiplications Can we reduce number of multiplications? By P olyphase Structures for realization Multirate Signal Processing – p. 10/1 www.jntuworld.com Computational Complexity of Uniform DFT Filter Bank: Let each ﬁlter have N complex coefﬁcients for FIR implementations (except H0 (Z)). Assuming x[n] to be real, each ﬁlter requires 2N real multiplications for a total of 2M N real multiplications per sample of x[n]. So an inefﬁcient realization. Polyphase realization can signiﬁcantly reduce the com- putational complexity. Polyphase Realization of FIR Filters: Reference: Bellanger et.al., “Digital ﬁltering by polyphase network: Application to sample-rate alteration and ﬁlter banks,” IEEE Trans. ASSP, vol. 34,no. 2,PP. 109-114, April 1976. An important advancement in multi rate DSP is the invention of polyphase representation. Provides computationally efﬁcient implementations of decimation/interpolation ﬁlters, as well as ﬁlter banks. For a ﬁlter of length M , the polyphase structure consists of I FIR ﬁlters in parallel, where M is selected to be integer multiple of I , i.e, I must divide M . 10-1 www.jntuworld.com M Therefore, Each parallel FIR ﬁlter has K = I coefﬁcients. Example: M =6 H(Z) = h(0) + h(1)Z −1 + h(2)Z −2 + h(3)Z −3 + h(4)Z −4 + h(5)Z −5 Case 1: Let I = 2, then H(Z) can be written as H(Z) = [h(0) + h(2)Z −2 + h(4)Z −4 ] + [h(1)Z −1 + h(3)Z −3 + h(5)Z −5 ] H(Z) = [h(0) + h(2)Z −2 + h(4)Z −4 ] + Z −1 [h(1) + h(3)Z −2 + h(5)Z −4 ] Deﬁne E0 (Z) = h(0) + h(2)Z −1 + h(4)Z −2 E1 (Z) = h(1) + h(3)Z −1 + h(5)Z −2 H(Z) = E0 (Z 2 ) + Z −1 E1 (Z 2 ) Case 2: Let I =3 10-2 www.jntuworld.com x(n) y(n) 2 E (Z ) 0 −1 Z 2 E (Z ) 1 H(Z) = (h(0) + h(3).Z −3 ) + (h(1).Z −1 + h(4).z −4 ) + (h(2).Z −2 + h(5).z −5 ) Deﬁne: E0 (Z) = h(0) + h(3).Z −1 E1 (Z) = h(1) + h(4).Z −1 E2 (Z) = h(2) + h(5).Z −1 H(Z) = E0 (Z 3 ) + z −1 .E1 (Z 3 ) + z −2 .E2 (Z 3 ) 10-3 www.jntuworld.com x(n) y(n) H 0(Z 3 ) −1 Z H 1(Z 3 ) −1 Z H 2(Z 3 ) In general, for a FIR ﬁlter of length M , a polyphase representation with I parallel ﬁlters is given by: H(Z) = E0 (Z I ) + Z −1 E1 (Z I ) + Z −2 E2 (Z I ) + · · · + Z −(I−1) E(I−1) (Z I ) (I−1) H(Z) = Z −i Ei (Z I ) i=0 Where, E0 (Z) = h(0)+h(I)Z −1 +h(2I)Z −2 +· · ·+h((k−1)I)Z −(k−1) E1 (Z) = h(1) + h(I + 1)Z −1 + h(2I + 1)Z −2 + · · · + h((k − 1)I + 1)Z −(k−1) 10-4 www.jntuworld.com . . . EI−1 (Z) = h(I − 1) + h((I − 1) + I)Z −1 + h(2I + (I − 1))Z −2 + · · · + h((k − 1)I + (I − 1))Z −(k−1) M Where, k = I is an integer. In general, (k−1) Ei (Z) = h(i + jI).z −j 0 ≤ i ≤ (I − 1) j=0 Polyphase Realization of Uniform DFT Filter Bank Polyphase realization can signiﬁcantly reduce the computational complexity of the uniform ﬁlter bank. Decomposing H0 (Z)in a polyphase shown as: (M −1) H0 (Z) = z −i Ei (z M ) (1) i=0 where, Ei (z M ) is ith polyphase ﬁlter. Ei (Z) is formed by picking every M th coefﬁcient of H0 (Z) starting from ith element. 10-5 www.jntuworld.com Ei (Z) = h0 [i] + h0 [i + M ].z −1 + h0 [i + 2M ].z −2 + ......... + h0 [i + (M − 1)M ]z −(M −1) M −1 Ei (Z) = h0 [i + mM ]z −m (2) m=0 k th ﬁlter in the uniform DFT ﬁlter bank is related to the prototype ﬁlter by the relation −j2πk Hk (Z) = H0 (z.e M ) (3) From equations (3) and (1) −j2πk Hk (Z) = H0 (z.e M ) (M −1) )M ) −j2πk −j2πk = (z.e M ) Ei ((z.e −i M i=0 (M −1) j2πki Hk (Z) = (z .e −i M )Ei ((z M .e−j2πk )) i=0 10-6 www.jntuworld.com (M −1) j2πki Hk (Z) = (z −i .e M )Ei (z M ) (4) i=0 (M −1) H0 (Z) = z −i .Ei (z M ) i=0 H0 (Z) = E0 (z M ) + z −1 .E1 (z M ) + z −2 .E2 (z M ) + · · · + z M −1 .EM −1 (z M ) (M −1) j2πk H1 (Z) = z −i .e M .Ei (z M ) i=0 j2π M H1 (Z) = E0 (z ) + z .e .E1 (z M ) + · · · + −1 M j2π(M −1) z −(M −1) .e M .E(M −1) (z M ) Hk (Z) = D.E(z M ) 10-7 www.jntuworld.com where, H0 (Z) H1 (Z) Hz (Z) = . . . . H(M −1) (Z) E0 (Z M ) z −1 .E1 (Z M ) M E(Z ) = . . . . z −(M −1) .EM −1 (Z M ) 1 1 1 ··· 1 j2π j2π.2 j2π(M −1) 1 e e ··· e M M M D= . . . j2π(M −1) j2π(M −1).2 j2π(M −1)(M − 1 e M e M ··· e M → IDFT: (M −1) j2πkn 1 x[n] = M. X[k].e M 0 ≤ n ≤ M −1 k=0 10-8 www.jntuworld.com ⇒ D is essentially an inverse DFT matrix except for 1 M. If a polyphase structure is implemented using E0 (Z), E1 (Z), · · · , EM −1 (Z), then we must perform an inverse DFT of the outputs in order to get the signals Hk (Z) for k = 0, 1, · · · , (M − 1). 1 IDFT will perform M .D . Therefore, original signal must be pre-multiplied by M . M x(n) M X [0] E 0(Z ) M Z −1 X [1] M E 1(Z ) IDFT M Z −1 M X [2] E 2(Z ) M M X [M−1] E (Z ) M M−1 IDFT is simply a set of multipliers, and so the 10-9 www.jntuworld.com down-samplers can be moved to precede the IDFT. Furthermore, the down-sampling can be moved before the ﬁlter using the identity E(z M )(↓ M ) = (↓ M ).E(Z) This results in an efﬁcient realization of uniform DFT ﬁlter bank. M x(n) X [0] M E 0(Z ) Z −1 X [1] M E 1(Z ) Z −1 IDFT X [2] M E 2(Z) X [M−1] M E (Z ) M−1 10-10 www.jntuworld.com Computational Complexity Of Polyphase Implementation Of Uniform Dft Filter Bank: Let H(Z) is an N -point ﬁlter. N ⇒ Each polyphase ﬁlter therefore has M points. For M branches, there is a total of N complex N multipliers required for the ﬁlters M. M = N IDFT: 2M. log2 M real multipliers. Therefore, Total multipliers = 2N + 2M. log2 M . →Further there is a down sampler before every ﬁlter. Therefore, number of real multipliers= N 2 M + 2. log2 M Comparison: let N =160 and M =16 Direct: 2M N =2*16*160=5120 multipliers/sample N Polyphase : 2 M + 2. log2 M = 2 160 + 2. log2 16 16 = 20 + 2. log2 24 = 20 + 2.4= 23 multipliers/sample 5120 Saving: 23 = 230 times. 10-11