VIEWS: 1 PAGES: 21

• pg 1
```									                                                                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

```
To top