You are on page 1of 36

August 2004 Multirate DSP (Part 2/2) 1

Multirate DSP
Digital Filter Banks
Filter Banks and Subband Processing
Applications and Advantages
Perfect Reconstruction FB
2-band Quadrature-Mirror Filter Bank
K-band Filter Bank Case
Uniform DFT Modulated Filter Banks
August 2004 Multirate DSP (Part 2/2) 2
Digital Filter Banks
So far we have mostly concentrated on the design, realisation and
applications of single-input, single-output digital filters.
In certain applications, it is desirable to separate a signal into a set
of subband signals occupying, usually nonoverlapping, portions of
the original frequency band.
In other applications, it is necessary to combine many such
subband signals into a single composite signal occupying the whole
Nyquist range.
To achieve the above two requirements, we need digital filter
banks.
August 2004 Multirate DSP (Part 2/2) 3
H
0
(z)
H
1
(z)
H
K-1
(z)
.

.

.

v
0
[n] x[n]
v
1
[n]
v
K-1
[n]
F
0
(z)
F
1
(z)
F
K-1
(z)
.

.

.

v
0
[n] y[n]
v
1
[n]
v
K-1
[n]
+
+
Analysis Filter Bank Synthesis Filter Bank
K-band analysis filter bank with
the subfilters H
k
(z) known as the
analysis filters.
Decomposes input signal x[n]
into a set of K subband signals
v
k
[n] with each subband signal
occupying a portion of the
original frequency band.
Synthesis filter bank - a set of
subband signals v
k
[n] is
combined into one signal y[n].
K-band synthesis bank where
each filter F
k
(z) is called
synthesis filter.
August 2004 Multirate DSP (Part 2/2) 4
Decimation: decimator (down-sampler)

example : u[k]: 1,2,3,4,5,6,7,8,9,
2-fold down-sampling: 1,3,5,7,9,...

Interpolation: expander (up-sampler)


example : u[k]: 1,2,3,4,5,6,7,8,9,
2-fold up-sampling: 1,0,2,0,3,0,4,0,5,0...
L
u[0], u[N], u[2N]... u[0],u[1],u[2]...
M
u[0],0,..0,u[1],0,,0,u[2]... u[0], u[1], u[2],...
Down-sampler and up-sampler (Revisited)
August 2004 Multirate DSP (Part 2/2) 5
General `subband processing set-up/overview:
- signals split into frequency channels/subbands (`analysis bank)
- per-channel/subband processing
- reconstruction (`synthesis bank)
- multi-rate structure: down-sampling / up-sampling
Filter Banks and Subband Processing [1/6]
subband processing
3
H1(z)
subband processing
3
H2(z)
subband processing
3
H3(z)
3
3
3
3
subband processing
3
H4(z)
IN
G1(z)
G2(z)
G3(z)
G4(z)
+
OUT
August 2004 Multirate DSP (Part 2/2) 6
Step-1: Analysis filter bank
- collection of M filters (`analysis filters, `decimation filters) with a
common input signal
- ideal (but non-practical) frequency responses = ideal bandpass filters


- typical frequency responses (overlapping, marginally overlapping,
non-overlapping)
t 2
H1(z)
H2(z)
H3(z)
H4(z)
IN
t 2
H1 H4 H3 H2
H1 H4 H3 H2
H1 H4 H3 H2
t 2
K=4
t 2
Filter Banks and Subband Processing [2/6]
August 2004 Multirate DSP (Part 2/2) 7
Step-2: Decimators (down-samplers)
- subband sampling rate reduction by factor N
- critically decimated filter banks (= maximally down-sampled filter banks):
N = K (where, K = number filters/subbands)
this sounds like maximum efficiency, but aliasing problem arises!
- over-sampled filter banks (= non-critically down-sampled filter banks):
N < K
Filter Banks and Subband Processing [3/6]
H1(z)
H2(z)
H3(z)
H4(z)
IN
3
3
3
3
N=3 K=4
August 2004 Multirate DSP (Part 2/2) 8
Step-3: Subband processing
- Example :
coding (=compression) + (transmission or storage) + decoding
- Filter bank design mostly assumes subband processing has `unit
transfer function (output signals = input signals), i.e. mostly ignores
presence of subband processing
subband processing
H1(z)
subband processing
H2(z)
subband processing
H3(z)
3
3
3
3
subband processing
H4(z)
IN
N=3 K=4
Filter Banks and Subband Processing [4/6]
August 2004 Multirate DSP (Part 2/2) 9
Step-4: Expanders (up-samplers)
- restore original fullband sampling rate by N-fold up-sampling
(= insert N-1 zeros in between every two samples)
Filter Banks and Subband Processing [5/6]
subband processing
3
H1(z)
subband processing
3
H2(z)
subband processing
3
H3(z)
3
3
3
3
subband processing
3
H4(z)
IN
K=4 N=3 N=3
August 2004 Multirate DSP (Part 2/2) 10
Filter Banks and Subband Processing [6/6]
Step-5: Synthesis filter bank
- collection of K filters (`synthesis filters, `interpolation filters) with a
`common (summed) output signal
- frequency responses : preferably `matched to frequency responses of
the analysis filters, e.g., to provide perfect reconstruction (see below)

t 2
G1 G4 G3 G2
t 2
G1 G4 G3 G2
t 2
G1 G4 G3 G2 G1(z)
G2(z)
G3(z)
G4(z)
+
OUT
K=4
t 2
August 2004 Multirate DSP (Part 2/2) 11
Aliasing versus Perfect Reconstruction
Assume subband processing does not modify subband signals
(e.g. lossless coding/decoding)
- The overall aim could be to have y[k]=u[k-d], i.e. that the output signal is
equal to the input signal up to a certain delay
- But: down-sampling introduces ALIASING, especially in maximally
decimated (but even so in non-maximally decimated) filter banks
- Question : Can y[k]=u[k-d] be achieved in the presence of aliasing?
- Answer = YES, see below: PERFECT RECONSTRUCTION banks with
synthesis bank designed to remove aliasing effects !
output=input
3
H1(z)
3
H2(z)
3
H3(z)
3
3
3
3 3
H4(z)
u[k]
G1(z)
G2(z)
G3(z)
G4(z)
+
y[k]=u[k-d]?
output=input
output=input
output=input
August 2004 Multirate DSP (Part 2/2) 12
Multirate DSP
Digital Filter Banks
Filter Banks and Subband Processing
Applications and Advantages
Perfect Reconstruction FB
2-band Quadrature-Mirror Filter Bank
K-band Filter Bank Case
Uniform DFT Modulated Filter Banks
August 2004 Multirate DSP (Part 2/2) 13
Filter Banks Applications [1/5]
1. Speech coding
2. Image compression
3. Adaptive equalization
4. Echo cancellation
5. Adaptive beamforming
6. Transmultiplexers (TDM)
7. Code division multiple access (CDMA)

coding
adaptive filtering
August 2004 Multirate DSP (Part 2/2) 14
Filter Banks Applications [2/5]
Subband coding:
Coding = Fullband signal split into subbands & down-sampled
subband signals separately encoded
(e.g. subband with smaller energy content encoded with fewer bits)
Decoding = reconstruction of subband signals, then fullband
signal synthesis (expanders + synthesis filters)
Example : Image coding (e.g. wavelet filter banks)
Example : Audio coding
e.g. digital compact cassette (DCC), MiniDisc, MPEG, ...
Filter bandwidths and bit allocations chosen to further
exploit perceptual properties of human hearing
(perceptual coding, masking, etc.)
August 2004 Multirate DSP (Part 2/2) 15
Subband adaptive filtering:
Example 1: Adaptive channel equalization
Adaptive equalizer is employed to mitigate the effect of inter-symbol
interference (ISI), that occurs due to limited bandwidth and multipath
propagation.
Example 2: Acoustic echo cancellation
Adaptive filter models (time-varying) acoustic echo path and produces a copy of
the echo, which is then subtracted from microphone signal.
= difficult problem !
* long acoustic impulse responses
* time-varying
Filter Banks Applications [3/5]
August 2004 Multirate DSP (Part 2/2) 16
Subband adaptive filtering (continued):
Example 1: Adaptive channel equalization
Adaptive equalizer is employed to mitigate the effect of inter-symbol interference
(ISI), that occurs due to limited bandwidth and multipath propagation.
Filter Banks Applications [4/5]
August 2004 Multirate DSP (Part 2/2) 17
3
H1(z)
3
H2(z)
3
H3(z)
3
H4(z)
3
H1(z)
3
H2(z)
3
H3(z)
3
H4(z) +
+
+
+ 3
G1(z)
3
G2(z)
3
G3(z)
3
G4(z)
OUT
+
ad.filter
ad.filter
ad.filter
ad.filter
Subband adaptive filtering (continued):
Example 2: Acoustic echo cancellation
- Subband filtering = K subband modeling problems instead of one fullband
modeling problem
- Perfect reconstruction guarantees distortion-free desired near-end
speech signal
Filter Banks Applications [5/5]
August 2004 Multirate DSP (Part 2/2) 18
General advantages of subband decomposition techniques
1. Allow parallel processing of signal will slower processor, as the
sampling rate is reduces in each subband.

2. Computational complexity reduction. For instance in compression
application where subband are compressed at different rates, e.g. speech
processing and image compression.

3. Improve/increase convergence speed in adaptive filtering applications,
e.g. echo cancellation and adaptive equalization.
August 2004 Multirate DSP (Part 2/2) 19
- analysis bank + synthesis bank
- multirate structure: down-sampling after analysis, up-sampling for synthesis
- aliasing vs. perfect reconstruction
- filter bank implementation (for N = decimation factor, K = number of subband):
1. critically-sampled FB N = K
2. over-sampled FB N < K
- applications: coding, (adaptive) filtering, transmultiplexers
- advantages of subband processing
subband processing
3
H1(z)
subband processing
3
H2(z)
subband processing
3
H3(z)
3
3
3
3
subband processing
3
H4(z)
IN
G1(z)
G2(z)
G3(z)
G4(z)
+
OUT
Conclusion I: General `subband processing set-up
August 2004 Multirate DSP (Part 2/2) 20
Multirate DSP
Digital Filter Banks
Filter Banks and Subband Processing
Applications and Advantages
Perfect Reconstruction FB
2-band Quadrature-Mirror Filter Bank
K-band Filter Bank Case
Uniform DFT Modulated Filter Banks
August 2004 Multirate DSP (Part 2/2) 21
Two design issues :
1. filter specifications, e.g. stopband attenuation, passband
ripple, transition band, etc. (for each (analysis) filter!)
2. (nearly) perfect reconstruction property...

Design Issues
August 2004 Multirate DSP (Part 2/2) 22
Perfect Reconstruction: K = 2 subbands case
H0(z)
H1(z)
2
2
u[k] 2
2
G0(z)
G1(z)
+
y[k]
2 = = K N
) ( .
) (
)} ( ) ( ) ( ). ( .{
2
1
) ( .
) (
)} ( ) ( ) ( ). ( .{
2
1
) (
1 1 0 0 1 1 0 0
z U
z A
z G z H z G z H z U
z T
z G z H z G z H z Y + + + =

It is proved that... (try it!)
U(-z) represents aliased signals, hence the `alias transfer function A(z)
should ideally be zero
T(z) is referred to as `distortion function (amplitude & phase distortion).
For perfect reconstruction, T(z) should ideally be a pure delay
August 2004 Multirate DSP (Part 2/2) 23
Alias-free filter bank:

Perfect reconstruction filter bank (= alias-free + distortion-free):
i)

ii)

PS: if A(z)=0, then Y(z) = T(z).U(z), hence the complete filter bank behaves as a
linear time invariant (LTI) system (despite up- & down-sampling)!
Perfect Reconstruction: K = 2 subbands case
H0(z)
H1(z)
2
2
u[k] 2
2
G0(z)
G1(z)
+
y[k]
0 ) ( = z A
0 ) ( = z A
o
= z z T ) (
August 2004 Multirate DSP (Part 2/2) 24
An initial choice is .. :

so that

For the real coefficient case:

which means the amplitude response of H1 is the mirror image of the
amplitude response of H0 with respect to the quadrature frequency
hence the name `quadrature mirror filter (QMF)
Perfect Reconstruction: K = 2 subbands case
H0(z)
H1(z)
2
2
u[k] 2
2
G0(z)
G1(z)
+
y[k]
) ( ) ( ), ( ) ( ), ( ) (
1 1 0 0 0 1
z H z G z H z G z H z H = = =
0 ... ) ( = = z A )} ( ) ( {
2
1
... ) (
2
0
2
0
z H z H z T = =
) ( ... ) (
)
2
(
0
)
2
(
1
e
t
e
t
+
= =
j j
e H e H
ignore the details!
August 2004 Multirate DSP (Part 2/2) 25
quadrature mirror filter (QMF):




hence if H0 (=G0) is designed to be a good lowpass filter, then H1 (=-G1)
is a good high-pass filter.
Perfect Reconstruction: K = 2 subbands case
H0(z)
H1(z)
2
2
u[k] 2
2
G0(z)
G1(z)
+
y[k]
t
2 t
H0 H1
August 2004 Multirate DSP (Part 2/2) 26
Perfect Reconstruction: K number subbands case
K N =
H2(z)
H3(z)
4
4
4
4
G2(z)
G3(z)
y[k]
H0(z)
H1(z)
4
4
u[k]
4
4
G0(z)
G1(z)
+
It is proved that... (try it!)



2nd term represents aliased signals, hence all `alias transfer functions A
l
(z)
should ideally be zero (for all l )
T(z) is referred to as `distortion function (amplitude & phase distortion). For
perfect reconstruction, T(z) should ideally be a pure delay
) . ( .
) (
)} ( ). . ( { .
1
) ( .
) (
} ) ( ). ( .{
1
) (
1
1
1
0
1
0
l
M
l
M
k
k
l
k
M
k
k k
W z U
z
l
A
z G W z H
M
z U
z T
z G z H
M
z Y


=

=
+ =

ignore the details!
August 2004 Multirate DSP (Part 2/2) 27
Multirate DSP
Digital Filter Banks
Filter Banks and Subband Processing
Applications and Advantages
Perfect Reconstruction FB
2-band Quadrature-Mirror Filter Bank
K-band Filter Bank Case
Uniform DFT Modulated Filter Banks
August 2004 Multirate DSP (Part 2/2) 28
Uniform versus non-uniform (analysis) filter bank:




non-uniform: e.g. for speech & audio applications

uniform filter bank:
= frequency responses uniformly shifted over the unit circle

H0(z) = `prototype filter, is the only filter that has to be designed
Uniform DFT-Modulated Filter Banks
H0(z)
H1(z)
H2(z)
H3(z)
IN
H0 H3
H2 H1
H0 H3 H2 H1
uniform
non-uniform
) . ( ) (
/ 2
0
N k j
k
e z H z H
t
=
August 2004 Multirate DSP (Part 2/2) 29
Uniform DFT-Modulated Filter Banks
Uniform filter banks can be implemented cheaply based on polyphase
decompositions + FFT :

1. Uniform DFT-modulated analysis filter banks

If



then

) . ( ) ( with ) ( ),..., ( ), (
/ 2
0 1 1 0
N k j
k N
e z H z H z H z H z H
t

=
) ( . ) (
1
0
0

=
N
l
N
l
l
z E z z H
with , ) ( . .
) ( . . ) . ( ) (
/ 2
1
0
1
0
1
/ 2 / 2 / 2
0
N j
N
l
N
l
kl l
N
l
N kN j N
l
N kl j l N k j
k
e W z E W z
e z E e z e z H z H
t
t t t

=

= =
= =



H0(z)
H1(z)
H2(z)
H3(z)
u[k]
August 2004 Multirate DSP (Part 2/2) 30
Uniform DFT-Modulated Filter Banks
N j
N
N
N
N
N
N
N N N
N
N
N
e W
z U
z E z
z E z
z E z
z E
F
W W W W
W W W W
W W W W
W W W W
z U
z H
z H
z H
z H
/ 2
1
1
2
2
1
1
0
) 1 ( ) 1 ( 2 ) 1 ( 0
) 1 ( 2 4 2 0
) 1 ( 2 1 0
0 0 0 0
1
2
1
0

) ( .
) ( .
:
) ( .
) ( .
) (
.
*
...
: : : :
...
...
...
) ( .
) (
:
) (
) (
) (
2
t

=
(
(
(
(
(
(

(
(
(
(
(
(

=
(
(
(
(
(
(


where F is NxN DFT-matrix
*
F
u[k]
A
A
A
) (
4
0
z E
) (
4
1
z E
) (
4
2
z E
) (
4
3
z E
) (
0
z H
) (
1
z H
) (
2
z H
) (
3
z H
ignore the details!
August 2004 Multirate DSP (Part 2/2) 31
Uniform DFT-Modulated Filter Banks
Uniform DFT-modulated analysis FB + decimation (K=N)
*
F
4
4
4
4
u[k]
A
A
A
) (
4
0
z E
) (
4
1
z E
) (
4
2
z E
) (
4
3
z E
u[k]
4
4
4
4
A
A
A
*
F
) (
0
z E
) (
1
z E
) (
2
z E
) (
3
z E
=
August 2004 Multirate DSP (Part 2/2) 32
2. Uniform DFT-modulated synthesis filter banks
Uniform DFT-Modulated Filter Banks
+
+
+
) (
0
z G ] [
0
k u
) (
1
z G ] [
1
k u
) (
2
z G ] [
2
k u
) (
3
z G ] [
3
k u
y[k]
) . ( . ) ( with ) ( ),..., ( ), (
/ 2
0
/ 2
1 1 0
N k j N k j
k N
e z G e z G z G z G z G
t t

=
) ( . ) (
1
0
0

=
N
l
N
l
l
z R z z G ) ( . . ... ) (
1
0
) 1 (

=

= =
N
l
N
l
l N k l
k
z R W z z G
August 2004 Multirate DSP (Part 2/2) 33
| |
| |
N j
N
N N N
N
N
N N N N
N
N
N
N
e W
z U
z U
z U
z U
F
W W W W
W W W W
W W W W
W W W W
z R z R z z R z z R z
z U
z U
z U
z U
z F z F z F z F z Y
/ 2
1
2
1
0
) 1 ( ) 1 ( 2 ) 1 ( 0
) 1 ( 2 4 2 0
) 1 ( 2 1 0
0 0 0 0
0 1
1
2
2
1
1
1
2
1
0
1 2 1 0

) (
:
) (
) (
) (
.
...
: : : :
...
...
...
. ) ( ) ( . ) ( . ... ) ( .
) (
:
) (
) (
) (
. ) ( ... ) ( ) ( ) ( ) (
2
t

=
(
(
(
(
(
(

(
(
(
(
(
(

=
(
(
(
(
(
(

=

where F is NxN DFT-matrix
y[k]
A
+
A
+
A
+
) (
4
0
z R
) (
4
1
z R
) (
4
2
z R
) (
4
3
z R
] [
0
k u
] [
1
k u
] [
2
k u
] [
3
k u
F
ignore the details!
August 2004 Multirate DSP (Part 2/2) 34
Uniform DFT-Modulated Filter Banks
Expansion (K=N) + uniform DFT-modulated synthesis FB:
y[k]
4
4
4
4
A
+
A
+
A
+
) (
0
z R
) (
1
z R
) (
2
z R
) (
3
z R ] [
0
k u
] [
1
k u
] [
2
k u
] [
3
k u
F
y[k]
A
+
A
+
A
+
4
4
4
4
) (
4
0
z R
) (
4
1
z R
) (
4
2
z R
) (
4
3
z R
] [
0
k u
] [
1
k u
] [
2
k u
] [
3
k u
F
=
August 2004 Multirate DSP (Part 2/2) 35
Uniform DFT-Modulated Filter Banks
For over-sampled case, with down-sampling factor (N)
smaller that the number of subbands (K) [i.e. N < K], aliasing
is expected to become a smaller problem, possibly negligible
if N<<K.
Still, PR theory (hence perfect alias cancellation) is not
necessarily simpler.
August 2004 Multirate DSP (Part 2/2) 36
Design problem = all filter specs + alias cancellation (PR)
Uniform versus non-uniform filter banks
Critically-sampled and over-sampled PR filter banks
Modulated PR filter banks
DFT-modulated filter banks
Other methods: GDFT-modulated filter banks and DCT-
modulated filter banks (not considered here!)
Economy in design (only prototype) & implementation
Conclusion II:

You might also like