Sei sulla pagina 1di 15

1

VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 1


Lecture 3 : Filter Banks
Part - 1: Filter Banks Preliminaries
Filter bank introduction & applications
Aliasing & perfect reconstruction (PR)
Review of multi-rate systems
1st PR example : DFT/FFT filter bank
Part - 2: Filter Banks
Uniform filter banks, DFT-modulated filter banks
Quadrature mirror filter banks
Maximally decimated (critically downsampled) PR filter banks
Oversampled (non-critically downsampled) PR filter banks
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 2
Filter Banks Introduction
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 after analysis, up-sampling before synthesis
- Aliasing vs. ``Perfect reconstruction filter banks
- Applications: coding, (adaptive) filtering, transmultiplexers
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
2
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 3
Filter Banks Introduction
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)
H1(z)
H2(z)
H3(z)
H4(z)
IN
2
H1 H4 H3 H2
H1 H4 H3 H2
H1 H4 H3 H2
2
M=4
2
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 4
Filter Banks Introduction
2. Decimators (downsamplers) :
- subband sampling rate reduction by factor N
- maximally decimated maximally decimated filter banks, critically downsampled filter banks:
N=M (=number of filters/channels)
# subband samples= # fullband samples
sounds like maximum efficiency, but aliasing (see below)!
- non-critically downsampled filter banks, oversampled filter banks:
N<M
# subband samples> # fullband samples
H1(z)
H2(z)
H3(z)
H4(z)
IN
3
3
3
3
N=3 M=4
3
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 5
Filter Banks Introduction
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 M=4
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 6
Filter Banks Introduction
4. Expanders (upsamplers)
- restore original fullband sampling rate by N-fold upsampling
(=insert N-1 zeros in between every two samples)
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
M=4 N=3 N=3
4
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 7
Filter Banks Introduction
5. Synthesis filter bank:
- collection of M 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)
2
G1 G4 G3 G2
2
G1 G4 G3 G2
2
G1 G4 G3 G2 G1(z)
G2(z)
G3(z)
G4(z)
+
OUT
M=4
2
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 8
Filter Banks Introduction
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: downsampling 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
5
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 9
Filter Banks Applications
Subband coding:
Coding = Fullband signal split into subbands & downsampled
subband signals separately encoded
subband with smaller energy content, encoded with fewer bits
Decoding = reconstruction of subband signals, then fullband signal
(expanders + synthesis filters)
Example : Image coding
Example : Audio coding
e.g. digital compact cassette (DCC), MPEG, ...
Filter bandwidths and bit allocations chosen to further
exploit perceptual properties of human hearing
(perceptual coding, masking, etc.)
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 10
Filter Banks Applications
Subband adaptive filtering:
- Example : 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.
6
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 11
Filter Banks Applications
Subband adaptive filtering (continued):
- Subband filtering = M (simpler?) subband modeling problems instead
of one (more complicated?) fullband modeling problem
- Perfect reconstruction guarantees distortion-free desired near-end
speech signal
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
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 12
Filter Banks Applications
Transmultiplexers:
- Frequency Division Multiplexing (FDM) in a digital telephone network
- M different source signals multiplexed into 1 transmit signal by
expanders & synthesis filters (ps: here interpolation factor N >= M)
- Received signal decomposed into M source signals by analysis filters
& decimators
- Again ideal filters = ideal bandpass filters
- Non-ideal synthesis & analysis filters result in CROSS-TALK between
channels, i.e. each reconstructed signal contains unwanted
contributions from other signals
5
G1(z)
5
G2(z)
5
G3(z)
5
G4(z)
+
5
H1(z)
5
H2(z)
5
H3(z)
5 H4(z)
transmission
channel
signal-1
signal-2
signal-3
signal-4
signal-1
signal-2
signal-3
signal-4
7
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 13
Filter Banks Applications
Transmultiplexers: (continued)
- Analysis & synthesis reversed, but similar perfect reconstruction theory
(where analysis bank removes cross-talk introduced by synthesis bank,
if transmission channel = distortion free)
- PS: special case is Time Division Multiplexing (TDM), if synthesis and
analysis filters are replaced by delay operators (and N=M)
4
4
4
4
+
4
4
4
transmission
channel
1
z
2
z
3
z
1
1
z
2
z
3
z
u1[k],u1[k+1]
u2[k],u2[k+1]
u3[k],u3[k+1]
u4[k],u4[k+1]
u4[k],0,0,0,u4[k+1],0,0,0,...
u1[k],u2[k],u3[k],u4[k],u1[k+1],u2[k+1]...
4
u1[k-1],u1[k]
u2[k-1],u2[k]
u3[k-1],u3[k]
u4[k-1],u4[k]
4
z
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 14
Review of Multi-rate Systems
Decimation : decimator (downsampler)
example : u[k]: 1,2,3,4,5,6,7,8,9,
2-fold downsampling: 1,3,5,7,9,...
Interpolation : expander (upsampler)
example : u[k]: 1,2,3,4,5,6,7,8,9,
2-fold upsampling: 1,0,2,0,3,0,4,0,5,0...
N
u[0], u[N], u[2N]... u[0],u[1],u[2]...
N
u[0],0,..0,u[1],0,,0,u[2]... u[0], u[1], u[2],...
8
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 15
Review of Multi-rate Systems
Z-transform (frequency domain) analysis of expander
`expansion in time domain ~ compression in frequency domain
expander mostly followed by interpolation filter to remove all images
N
u[0],0,..0,u[1],0,,0,u[2]... u[0], u[1], u[2],...
N
) (z U
) (
N
z U

3
`images
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 16
Review of Multi-rate Systems
Z-transform (frequency domain) analysis of decimator
decimation introduces ALIASING if input signal occupies frequency
band larger than , for
hence decimation mostly preceded by anti-aliasing (decimation) filter
N
) ( z U

1
0
2 1
) . ( .
1
N
i
N i j N
e z U
N


3
N
u[0], u[N], u[2N]... u[0],u[1],u[2]...

i=0 i=2 i=1
N 2
3

9
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 17
Review of Multi-rate Systems
Z-transform analysis of decimator (continued)
- Note that is periodic with period
while is periodic with period
the summation with i=0N-1 restores the periodicity with period !
- Example:
) (
j
e U
2
) (
/ N j
e U

N 2
2
0 , ) ( ] [
1
1
... (...) .
1
) (
1
1
) (
0 , ] [
1
1
0
1
=

= = =

=
=

k k y
z N
z Y
z
z U
k k u
k N
N
N
i
k

N
) ( z U

1
0
2 1
) . ( .
1
N
i
N i j N
e z U
N

VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 18
Review of Multi-rate Systems
PS: subband set-up revisited
- analysis filters Hi(z) are also decimation (anti-aliasing) filters, to
avoid aliased contributions in subband signals
- synthesis filters Gi(z) are also interpolation filters, to remove
images after expanders (upsampling)
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
10
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 19
Review of Multi-rate Systems
Interconnection of multi-rate building blocks :
identities also hold if all decimators are replaced by expanders
N
x
a
N
x
a
=
=
=
N
+
u2[k]
N
x
u2[k]
u1[k]
u1[k]
N
+
N
u2[k]
u1[k]
N
x
N
u2[k]
u1[k]
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 20
Review of Multi-rate Systems
Interconnection of multi-rate building blocks :
if and only if L and N are coprime !!!!!
Example 1: u[k]=1,2,3,4,5,6,7,8,9, (L=2,N=3)
a) 2-fold up: 1,0,2,0,3,0,4,0, | a) 3-fold down: 1,4,7,...
b) 3-fold down:1,0,4,0,7,0, | b) 2-fold up: 1,0,4,0,7,...
Example 2: u[k]=1,2,3,4,5,6,7,8,9, (L=2,N=4)
a) 2-fold up: 1,0,2,0,3,0,4,0, | a) 4-fold down: 1,5,9,...
b) 4-fold down:1,3,5,7,9, | b) 2-fold up: 1,0,5,0,9,...
= L N N L
11
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 21
Review of Multi-rate Systems
`Noble identities (I) : (only for rational functions)
Example : N=2
h[0],h[1],0,0,0,
= N N ) (
N
z H
) ( z H
u[k] u[k] y[k] y[k]

= =

] 3 [
] 2 [
] 1 [
] 0 [
.
0 1 0 0
0 0 0 1
.
) (
] 1 [ 0
] 0 [ ] 1 [
0 ] 0 [
...
] 3 [
] 2 [
] 1 [
] 0 [
.
)
2
(
] 1 [ 0 0 0
0 ] 1 [ 0 0
] 0 [ 0 ] 1 [ 0
0 ] 0 [ 0 ] 1 [
0 0 ] 0 [ 0
0 0 0 ] 0 [
.
0 1 0 0 0 0
0 0 0 1 0 0
0 0 0 0 0 1
] 2 [
] 1 [
] 0 [
ng downsampli fold - 2
ng downsampli fold - 2
u
u
u
u
z H
h
h h
h
u
u
u
u
z H
h
h
h h
h h
h
h
y
y
y




VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 22
Review of Multi-rate Systems
`Noble identities (II) : (only for rational functions)
Example : N=2
h[0],h[1],0,0,0,
= N N ) (
N
z H
) ( z H
u[k] u[k] y[k] y[k]

= =

] 1 [
] 0 [
.
0 0
1 0
0 0
0 1
.
)
2
(
] 1 [ 0 0 0
0 ] 1 [ 0 0
] 0 [ 0 ] 1 [ 0
0 ] 0 [ 0 ] 1 [
0 0 ] 0 [ 0
0 0 0 ] 0 [
...
] 1 [
] 0 [
.
) (
] 1 [ 0
] 0 [ ] 1 [
0 ] 0 [
.
0 0 0
1 0 0
0 0 0
0 1 0
0 0 0
0 0 1
] 5 [
] 4 [
] 3 [
] 2 [
] 1 [
] 0 [
upsampling fold - 2
upsampling fold - 2
u
u
z H
h
h
h h
h h
h
h
u
u
z H
h
h h
h
y
y
y
y
y
y




12
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 23
Review of Multi-rate Systems
`Noble identities (III) :
Relevance of `noble identities :
- efficient multi-rate filter implementations through
`polyphase representations
- example : interpolation filters
decimation filters
filter structures for sampling rate conversions
- example : DFT-modulated filter banks
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 24
DFT/FFT Filter Bank
First attempt to design a perfect reconstruction filter bank:
-Starting point is this :
as y[k]=u[k-d], this can already be viewed as a perfect
reconstruction filter bank...
4
4
4
4
u[k]

4
4
4
4

+
u[k-3]
u[0],0,0,0,u[4],0,0,0,...
u[-1],u[0],0,0,u[3],u[4],0,0,...
u[-2],u[-1],u[0],0,u[2],u[3],u[4],0,...
u[-3],u[-2],u[-1],u[0],u[1],u[2],u[3],u[4],...
13
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 25
DFT/FFT Filter Bank
- An equivalent representation is this...
All analysis/synthesis filters are seen to be pure delays,
hence are not frequency selective (i.e. far from ideal
case with ideal bandpass filters.)
4
4
4
4
+
1
z
2
z
3
z
1
u[k-3] 4
4
4
1
z
2
z
3
z 4
1
u[k]
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 26
DFT/FFT Filter Bank
- now insert DFT-matrix (discrete Fourier transform)
and its inverse (I-DFT)...
as this clearly does not change the input-output
relation (hence perfect reconstruction property preserved)
4
4
4
4
+
u[k-3]
1
z
2
z
3
z
1
1
z
2
z
3
z
1
4
4
4
4
u[k]
F
1
F
I F F =
1
.
14
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 27
DFT/FFT Filter Bank
- and reverse order of decimators/expanders and DFT-
matrices (not done in an efficient implementation!) :
=analysis filter bank =synthesis filter bank
This is the `DFT filter bank. It is a first example of a
maximally decimated perfect reconstruction filter bank !
4
4
4
4
+
u[k-3]
1
z
2
z
3
z
1
1
z
2
z
3
z
1
u[k]
4
4
4
4
F
1
F
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 28
DFT/FFT Filter Bank
Analysis filters of the DFT filter bank:
This is seen (known) to represent a collection of filters Ho(z),H1(z),...,
each of which is a frequency shifted version of Ho(z) :
i.e. the Hi are obtained by uniformly shifting the `prototype Ho over the
frequency axis. ...this is referred to as a `uniform DFT filter bank
F
u[k]

N j
N
F
N N N
N
N
N
e W
z
z
z
W W W W
W W W W
W W W W
W W W W
z H
z H
z H
z H
/ 2
1
2
1
) 1 ( ) 1 ( 2 1 0
) 1 ( 2 4 2 0
1 2 1 0
0 0 0 0
1
2
1
0

:
1
.
...
: : : :
...
...
...
) (
:
) (
) (
) (
2

+


) ( ) (
)) / 2 .( (
0
N i j j
i
e H e H

=
1 2 1
0
... 1 ) (
+
+ + + + =
N
z z z z H
15
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 29
DFT/FFT Filter Bank
DFT analysis filter bank:
The prototype filter Ho(z) is a not-so-great
lowpass filter with first sidelobe only
13 dB below the main lobe. Ho(z) and
Hi(z)s are thus far from ideal lowpass/
bandpass filters.
Hence (maximal) decimation introduces
significant ALIASING in the decimated subband signals
Still, we know this is a PERFECT RECONSTRUCTION filter bank, which
means the synthesis filters can apparently restore the aliasing distortion.
This is remarkable!
-4 -3 -2 -1 0 1 2 3 4
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Ho(z)
VLSI Signal Processing Lecture - K3 Filter Banks - Preliminaries p. 30
Conclusions
Seen the general subband processing set-up + applications
Filter bank system is multi-rate structure, with decimators
and expanders, hence ALIASING is a major concern
Seen a first (simple & not-so-great) example of a
PERFECT RECONSTRUCTION filter bank (uniform DFT
filter bank)
Part - 2: Other (better) PR structures, maximally decimated
filter banks, oversampled filter banks
Reference: `Multirate Systems & Filter Banks , P.P. Vaidyanathan
Prentice Hall 1993.

Potrebbero piacerti anche