adsp 09 msp filterbanks ec623 adsp

Upload: prasad-nagavara

Post on 02-Jun-2018

249 views

Category:

Documents


0 download

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