Top Banner

of 21

Adsp 09 Msp Filterbanks Ec623 Adsp

Jun 02, 2018

Download

Documents

Prasad Nagavara
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    1/21

    Multirate Signal ProcesFilter Banks

    S. R. M. Prasanna

    Dept of ECE,

    IIT Guwahati,

    [email protected]

    http://prosper.sourceforge.net/http://prosper.sourceforge.net/
  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    2/21

    Filter Banks (FBs)

    Collection of filters, with common i/p or o/

    Analysis FB: Splits a signalx(n)intoMscalled subband signals (Fig of AFB and F

    Synthesis FB: CombineMsubband signsingle signal x(n)(Fig of SFB)

    Freq. response could be marginally overlnon-overlapping or very much overlappin

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    3/21

    DFT Relations

    Based on DFT Relations for understandin

    DFT Relations:X(k) =

    M1m=0 x(m)e

    2mk

    M

    x(m) = 1MM1

    k=0 X(k)e2mk

    M

    X[k] =M1m=0 x(m)W

    km

    W =e2M

    Wkm is aM MDFT matrixIn futureW refers toWkm

    W is complex conjugate ofW

    In case of DFT matrix,WT =W = W

    W is transpose-conjugate ofW

    W1 =W/M

    x(m) = 1MM1

    k=0 X(k)Wkm

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    4/21

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    5/21

    DFT FB (contd.)

    We are interested in splitting i/p signalx(

    parallel signalsxk(n)where,k= 0, 1, . . . (

    Consider a case where fromx(n)we gensequencessi(n)by passingx(n)throughso thatsi(n) =x(n i)

    From definition ofW = xk(n) =

    M1i=0

    Each o/p is connected to all i/ps via DFT

    Above relation is same as IDFT except fo

    Z.T. ofxk(n)is given byXk(z) =M1

    i=0 SiSubstituting forSi(z), we have

    Xk(z) =M1

    i=0 ziX(z)Wki =

    M1i=0 X(

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    6/21

    DFT FB (contd.)

    Xk(z) =Hk(z)X(z), whereHk(z)is define

    H0(z) = 1 + z1 +z2 + . . .+z(M1)

    System is equivalent to analysis bank witfiltersHk(z)

    H0(z) = |H0(ej

    )| = |sin(M /2)/sin(/H1(e

    j) =H0(ejej2/M) =H0(e

    j(2

    In general,Hk(z)has response

    Hk(ej) =H0(e

    j(w (2k/M))), which is

    version ofH0(ej

    )Thus we haveManalysis filters which arshifted versions ofH0(z)

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    7/21

    DFT FB. (contd.)

    For synthesis purpose consider block con

    matrix followed by delay elements

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    8/21

    DFT FB. Contd.

    I/p to this block arexk(n)from analysis b

    Each o/p element is givenyl(n) =M1

    k=0

    Final o/p of synthesis bank

    X(z) =M1

    l=0 Yl(z)z((M1)l)

    X(z) =M1

    l=0 (M1

    k=0 Xk(z)Wkl)z((M1)M1l=0 (

    M1k=0 Xk(z)(z

    ((M1)l)Wkl))

    X(z) =M1

    l=0 Xk(z)Fk(z)and

    Fk(z) =F0(z((M1)l)Wkl),

    F0(z) =z(M1) + z(M2) +. . .+ z2 + z

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    9/21

    DFT Fb. (contd.)

    ConsiderH0(z)andF0(z)for illustration

    s0(n)undergoes no delay in H0(z)and he

    be delayed byz(M1) inF0(z)

    s1(n)undergoesz1 delay inH0(z)and h

    be delayed byz(M2) inF0(z)

    sM1(n)undergoesz(M1) delay inH0(z

    needs to be delayed by1inF0(z)

    By this process, in effective all elements asame amount and hence possible to rege

    combining them

    Thus ifFk(z) = 1/Hk(z), then X(z) =X(z

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    10/21

    Computational Comple

    Let each filter be of order N = N comp

    Assumingx(n)to be real, each filter requmultiplications

    There areMfilters and accordingly2M N

    Can we reduce number of multiplications

    ByPolyphase Structuresfor realization

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    11/21

    Computational Complexity of Uniform DFT Filter Bank:

    Let each filter have Ncomplex coefficients for FIR

    implementations (except H0(Z)).

    Assuming x[n]to be real, each filter requires2N realmultiplications for a total of2MN real multiplicationsper sample of x[n].

    So an inefficient realization.

    Polyphase realization can significantly reduce the com-

    putational complexity.

    Polyphase Realization of FIR Filters:

    Reference: Bellanger et.al., Digital filtering by polyphase

    network: Application to sample-rate alteration and filter 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 efficient implementations of

    decimation/interpolation filters, as well as filter banks.

    For a filter of length M, the polyphase structureconsists of IFIR filters in parallel, where M is selected

    to be integer multiple of I, i.e, Imust divide M.

    10-1

    w.jntuworld.com

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    12/21

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    13/21

    Z1

    x(n) y(n)

    E (Z )

    E (Z )

    0

    1

    2

    2

    H(Z) = (h(0) + h(3).Z3) + (h(1).Z1 +h(4).z4) + (h(2).Z2 + h(5).z5)

    Define:E0(Z) =h(0) + h(3).Z1

    E1(Z) =h(1) + h(4).Z1

    E2(Z) =h(2) + h(5).Z1

    H(Z) =E0(Z3) + z1.E1(Z

    3) + z2.E2(Z3)

    10-3

    w.jntuworld.com

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    14/21

    Z1

    Z1

    x(n) y(n)H (Z )

    H (Z )

    H (Z )

    3

    3

    3

    0

    1

    2

    In general, for a FIR filter of length M, a polyphase

    representation withIparallel filters is given by:

    H(Z) =E0(ZI) + Z1E1(Z

    I) + Z2E2(ZI) + +

    Z(I1)E(I1)(ZI)

    H(Z) =(I1)

    i=0ZiEi(Z

    I)

    Where,

    E0(Z) =

    h(0)+h(I)Z1

    +h(2I)Z2

    + +h((k1)I)Z(k1)

    E1(Z) =h(1) + h(I+ 1)Z1 + h(2I+ 1)Z2 +

    + h((k 1)I+ 1)Z(k1)

    10-4

    w.jntuworld.com

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    15/21

    .

    .

    .

    EI1(Z) =h(I 1) + h((I 1) + I)Z1 + h(2I+

    (I 1))Z2 + + h((k 1)I+ (I 1))Z(k1)

    Where, k=

    M

    I is an integer.

    In general,

    Ei(Z) =(k1)j=0

    h(i +jI).zj 0 i (I 1)

    Polyphase Realization of Uniform DFT Filter Bank

    Polyphase realization can significantly reduce the

    computational complexity of the uniform filter bank.

    Decomposing H0(Z)in a polyphase shown as:

    H0(Z) =

    (M1)i=0

    ziEi(zM) (1)

    where, Ei(zM)is ith polyphase filter.

    Ei(Z)is formed by picking every Mth coefficient of

    H0(Z)starting from ith element.

    10-5

    w.jntuworld.com

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    16/21

    Ei(Z) =h0[i] + h0[i + M].z1 + h0[i +

    2M].z2 + .........+ h0[i + (M 1)M]z(M1)

    Ei(Z) =M1

    m=0

    h0[i + mM]zm

    (2)

    kth filter in the uniform DFT filter bank is related to the

    prototype filter by the relation

    Hk(Z) =H0(z.ej2kM ) (3)

    From equations(3)and(1)

    Hk(Z) =H0

    (z.ej2kM )

    =(M1)i=0

    (z.ej2kM )iEi((z.e

    j2kM )M)

    Hk(Z) =(M1)i=0

    (zi.ej2kiM )Ei((z

    M.ej2k))

    10-6

    w.jntuworld.com

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    17/21

    Hk(Z) =

    (M1)i=0

    (zi.ej2kiM )Ei(z

    M) (4)

    H0(Z) =(M1)i=0

    zi.Ei(zM)

    H0(Z) =E0(zM) + z1.E1(z

    M) +z2.E2(zM) + + zM1.EM1(zM)

    H1(Z) =(M1)

    i=0

    zi.ej2kM .Ei(z

    M)

    H1(Z) =E0(zM) + z1.e

    j2M .E1(z

    M) + +

    z(M1).ej2(M1)

    M .E(M1)(zM)

    Hk(Z) =D.E(zM)

    10-7

    w.jntuworld.com

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    18/21

    where,

    Hz(Z) =

    H0(Z)H1(Z)

    .

    .

    .

    H(M1)(Z)

    .

    E(ZM

    ) =

    E0(ZM)

    z1.E1(ZM)

    ...

    z(M1).EM1(ZM)

    .

    D=

    1 1 1 1

    1 e

    j2M

    e

    j2.2M

    e

    j2(MM

    .

    .

    .

    1 ej2(M1)

    M ej2(M1).2

    M ej2(M

    M

    IDFT:

    x[n] = 1M.(M1)k=0

    X[k].ej2knM 0 n M1

    10-8

    w.jntuworld.com

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    19/21

    Dis essentially an inverse DFT matrix except for1M

    .

    If a polyphase structure is implemented using

    E0(Z), E1(Z), , EM1(Z), then we must

    perform an inverse DFT of the outputs in order to getthe signals Hk(Z)for k= 0, 1, , (M 1).

    IDFT will perform 1M.D. Therefore, original signal must

    be pre-multiplied by M.

    Z 1

    Z 1

    E (ZM )

    E (ZM )

    E (ZM )

    E (ZM )

    M

    M

    M

    M

    x(n)0

    1

    2

    M1

    IDFT

    X [0]

    X [1]

    X [2]

    X [M1]

    M

    IDFT is simply a set of multipliers, and so the

    10-9

    w.jntuworld.com

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    20/21

    down-samplers can be moved to precede the IDFT.

    Furthermore, the down-sampling can be moved before

    the filter using the identity

    E(zM)( M) = ( M).E(Z)

    This results in an efficient realization of uniform DFT

    filter bank.

    Z 1

    Z 1

    M

    M

    M

    M

    x(n) X [0]

    X [1]

    X [2]

    X [M1]

    M

    IDFT

    0

    1E (Z

    2

    M1E (Z

    E (Z )

    )

    E (Z)

    )

    10-10

    w.jntuworld.com

  • 8/10/2019 Adsp 09 Msp Filterbanks Ec623 Adsp

    21/21

    Computational Complexity Of Polyphase Implementation

    Of Uniform Dft Filter Bank:

    Let H(Z)is an N-point filter.

    Each polyphase filter therefore has NM

    points.

    For Mbranches, there is a total of Ncomplex

    multipliers required for the filters M. NM

    =N

    IDFT: 2M. log2M real multipliers.

    Therefore, Total multipliers =2N+ 2M. log2M.

    Further there is a down sampler before every filter.

    Therefore, number of real multipliers=

    2 NM

    + 2. log2M

    Comparison: let N=160 and M=16

    Direct: 2MN=2*16*160=5120multipliers/sample

    Polyphase : 2 NM

    + 2. log2M

    = 216016 + 2. log216

    = 20 + 2. log22

    4

    = 20 + 2.4= 23 multipliers/sample

    Saving: 512023 = 230 times.

    10-11

    w.jntuworld.com