Vous êtes sur la page 1sur 21

www.jntuworld.

com

Multirate Signal Processing


Filter Banks
S. R. M. Prasanna

FaaDoOEngineers.com
Dept of ECE,

IIT Guwahati,
prasanna@iitg.ernet.in

Multirate Signal Processing p. 1/1

www.jntuworld.com

Filter Banks (FBs)


Collection of filters, 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)

FaaDoOEngineers.com

Freq. response could be marginally overlapping,


non-overlapping or very much overlapping

Multirate Signal Processing p. 2/1

Based on DFT Relations for understanding FBs

www.jntuworld.com

DFT Relations
DFT Relations:
PM 1
2mk
X(k) = m=0 x(m)e M
2mk
1 PM 1
x(m) = M k=0 X(k)e M
PM 1
X[k] = m=0 x(m)W km
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
1 PM 1
x(m) = M k=0 X(k)W km

FaaDoOEngineers.com

Multirate Signal Processing p. 3/1

To provide FB interpretation consider the figure given


below

www.jntuworld.com

DFT Filter Bank

FaaDoOEngineers.com

Multirate Signal Processing p. 4/1

We are interested in splitting i/p signal x(n) into M


parallel signals xk (n) where, k = 0, 1, . . . (M 1)

www.jntuworld.com

DFT FB (contd.)

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)
PM 1
From definition of W = xk (n) = i=0 si (n)W ki

FaaDoOEngineers.com

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

Above relation is same as IDFT except for 1/M


PM 1
Z.T. of xk (n) is given by Xk (z) = i=0 Si (z)W ki

Substituting for Si (z), we have


PM 1 i
PM 1
ki
Xk (z) = i=0 z X(z)W
= i=0 X(z)(zW k )i

Multirate Signal Processing p. 5/1

Xk (z) = Hk (z)X(z), where Hk (z) is defined as H0 (zW k )

www.jntuworld.com

DFT FB (contd.)
H0 (z) = 1 + z 1 + z 2 + . . . + z (M 1)

System is equivalent to analysis bank with analysis


filters Hk (z)
H0 (z) = |H0 (ej )| = |sin(M /2)/sin(/2)|

FaaDoOEngineers.com

H1 (ej ) = H0 (ej ej2/M ) = H0 (ej(2/M ))

In general, Hk (z) has response


Hk (ej ) = H0 (ej (w (2k/M ))), which is a shifted
version of H0 (ej )
Thus we have M analysis filters which are uniformly
shifted versions of H0 (z)

Multirate Signal Processing p. 6/1

For synthesis purpose consider block containing W


matrix followed by delay elements

www.jntuworld.com

DFT FB. (contd.)

FaaDoOEngineers.com

Multirate Signal Processing p. 7/1

I/p to this block are xk (n) from analysis bank


PM 1
Each o/p element is given yl (n) = k=0 xk (n)W kl

www.jntuworld.com

DFT FB. Contd.

Final o/p of synthesis bank


PM 1

X(z) = l=0 Yl (z)z ((M 1)l)


PM 1 PM 1

X(z) = l=0 ( k=0 Xk (z)W kl )z ((M 1)l) =


PM 1 PM 1
((M 1)l) W kl ))
(
X
(z)(z
k
l=0
k=0
PM 1

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


Fk (z) = F0 (z ((M 1)l)W kl ),
F0 (z) = z (M 1) + z (M 2) + . . . + z 2 + z 1 + 1

FaaDoOEngineers.com

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)

FaaDoOEngineers.com
s
(n) undergoes z
delay in H (z) and hence
M 1

(M 1)

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

Let each filter be of order N = N complex coefficients

www.jntuworld.com

Computational Complexity
Assuming x(n) to be real, each filter requires 2N
multiplications
There are M filters and accordingly 2M N multiplications
Can we reduce number of multiplications?

FaaDoOEngineers.com

By P olyphase Structures for realization

Multirate Signal Processing p. 10/1

www.jntuworld.com

Computational Complexity of Uniform DFT Filter Bank:

FaaDoOEngineers.com

Let each filter have N complex coefficients for FIR


implementations (except H0 (Z)).
Assuming x[n] to be real, each filter requires 2N real
multiplications for a total of 2M N real multiplications
per sample of x[n].
So an inefficient realization.
Polyphase realization can significantly reduce the computational 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 structure
consists of I FIR filters in parallel, where M is selected
to be integer multiple of I , i.e, I must divide M .
10-1

www.jntuworld.com

Example:

M =6

FaaDoOEngineers.com

Therefore, Each parallel FIR filter has K


coefficients.

M
I

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 ]
Define

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)

1
Z

FaaDoOEngineers.com

2
E (Z )
0

y(n)

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 )
Define:

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)

1
Z

FaaDoOEngineers.com

H 0(Z 3)

H 1(Z 3)
1
Z

H 2(Z 3)

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


representation with I parallel filters is given by:

H(Z) = E0 (Z I ) + Z 1 E1 (Z I ) + Z 2 E2 (Z I ) + +
Z (I1) E(I1) (Z I )
H(Z) =

(I1)
P

Z i Ei (Z I )

i=0

Where,

E0 (Z) =
h(0)+h(I)Z 1 +h(2I)Z 2 + +h((k1)I)Z (k1)
E1 (Z) = h(1) + h(I + 1)Z 1 + h(2I + 1)Z 2 +
+ h((k 1)I + 1)Z (k1)
10-4

www.jntuworld.com

..
.

Where, k

M
I is an integer.

In general,

Ei (Z) =

FaaDoOEngineers.com

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


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

(k1)
P
j=0

h(i + jI).z j

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:
(M 1)

H0 (Z) =

z i Ei (z M )

(1)

i=0

where, Ei (z M ) is ith polyphase filter.

Ei (Z) is formed by picking every M th coefficient 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)

FaaDoOEngineers.com

Ei (Z) =

M
1
X

h0 [i + mM ]z m

(2)

m=0

k th filter in the uniform DFT filter bank is related to the


prototype filter by the relation

Hk (Z) = H0 (z.e

j2k
M

j2k
M

(3)

From equations (3) and (1)

Hk (Z) = H0 (z.e

(M
1)
P

(z.e

i=0

Hk (Z) =

(M
1)
P
i=0

j2k
M

) Ei ((z.e

(z .e
i

10-6

j2ki
M

j2k
M

)M )

)Ei ((z M .ej2k ))

www.jntuworld.com
(M 1)

Hk (Z) =

(z

.e

j2ki
M

)Ei (z M )

(4)

FaaDoOEngineers.com

i=0

H0 (Z) =

(M
1)
P

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 )

H1 (Z) =

(M
1)
P

.e

j2k
M

.Ei (z M )

i=0

j2
M

H1 (Z) = E0 (z ) + z .e .E1 (z M ) + +
j2(M 1)
z (M 1) .e M .E(M 1) (z M )
1

Hk (Z) = D.E(z M )

10-7

www.jntuworld.com

where,

E(Z ) =

1
D=

IDFT:
x[n] =

1
M.

1
e
e

H0 (Z)
H1 (Z)

FaaDoOEngineers.com

Hz (Z) =

..
.

H(M 1) (Z)

..
.

z (M 1) .EM 1 (Z M )

j2(M 1)
M

k=0

E0 (Z M )
z 1 .E1 (Z M )

j2
M

(M
1)
P

j2.2
M

1
e

j2(M 1)
M

..
.

X[k].e
10-8

j2(M 1).2
M

j2kn
M

j2(M 1)(M 1)
M

0 n M 1

www.jntuworld.com

D is essentially an inverse DFT matrix except for


1
M.

FaaDoOEngineers.com

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
.D . Therefore, original signal must
IDFT will perform M
be pre-multiplied by M .

x(n)

M
M

E 0(Z )
Z 1
M

E 1(Z )
Z 1
M

E 2(Z )

E (Z )
M1

IDFT

X [0]
M
X [1]
M
X [2]
M

X [M1]
M

IDFT is simply a set of multipliers, and so the


10-9

www.jntuworld.com

down-samplers can be moved to precede the IDFT.

FaaDoOEngineers.com

Furthermore, the down-sampling can be moved before


the filter using the identity

E(z M )( M ) = ( M ).E(Z)
This results in an efficient realization of uniform DFT
filter bank.

x(n)

M
M
Z 1
M
Z 1
M

X [0]

E 0(Z )
X [1]

E 1(Z )

IDFT

X [2]

E 2(Z)

E (Z )
M1

10-10

X [M1]

www.jntuworld.com

Computational Complexity Of Polyphase Implementation


Of Uniform Dft Filter Bank:

FaaDoOEngineers.com

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

Each polyphase filter therefore has

N
M points.

For M branches, there is a total of N complex


N
=N
multipliers required for the filters M. M
IDFT:

2M. log2 M real multipliers.

Therefore, Total multipliers = 2N

+ 2M. log2 M .

Further there is a down sampler before every filter.


Therefore, number of real multipliers=
N
2M
+ 2. log2 M

Comparison:

let N

Direct:
2M N
multipliers/sample
Polyphase :

=160 and M =16

=2*16*160=5120

N
2M
+ 2. log2 M
= 2 160
16 + 2. log2 16

= 20 + 2. log2 24 = 20 + 2.4= 23 multipliers/sample


Saving:

5120
23 = 230 times.

10-11

Vous aimerez peut-être aussi