p. 1 DSP-II Digital Signal Processing II Lecture 5: Filter Banks - Preliminaries Marc Moonen Dept. E.E./ESAT, K.U.Leuven [email protected] homes.esat.kuleuven.be/~moonen/
Dec 27, 2015
p. 1DSP-II
Digital Signal Processing II
Lecture 5:
Filter Banks - Preliminaries
Marc Moonen
Dept. E.E./ESAT, K.U.Leuven
homes.esat.kuleuven.be/~moonen/
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 2
Part-II : Filter Banks
: Preliminaries• Filter bank set-up and applications
• `Perfect reconstruction’ problem + 1st example (DFT/IDFT)
• Multi-rate systems review (10 slides)
: Maximally decimated FBs• Perfect reconstruction filter banks (PR FBs)
• Paraunitary PR FBs
: Modulated FBs• DFT-modulated FBs
• Cosine-modulated FBs
: Special Topics• Non-uniform FBs & Wavelets
• Oversampled DFT-modulated FBs
• Frequency domain filtering
Lecture-5
Lecture-6
Lecture-7
Lecture-8
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 3
Filter Banks Introduction
What we have in mind is this… :
- Signals split into frequency channels/subbands - Per-channel/subband processing - Reconstruction : synthesis of processed signal - Applications : see below (audio coding etc.) - In practice, this is implemented as a multi-rate structure for higher efficiency (see next slides)
subband processing
subband processing
subband processing
subband processing
H1(z)
H2(z)
H3(z)
H4(z)
IN+
OUT
H1 H4H3H2
2
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 4
Filter Banks Introduction
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, non-overlapping,…)
2
H1 H4H3H2
H1 H4H3H2
H1 H4H3H2
2
2
H1(z)
H2(z)
H3(z)
H4(z)
IN
M=4
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 5
Filter Banks Introduction
Step-2: Decimators (downsamplers) - To increase efficiency, subband sampling rate is reduced by factor N
(= Nyquist (bandpass) sampling theorem, see Lecture-6)
- Maximally decimatedMaximally decimated filter banks (=critically downsampled):
# subband samples= # fullband samples this sounds like maximum efficiency, but aliasing (see below)!
- Oversampled filter banks (=non-critically downsampled):
# subband samples> # fullband samples
N=M
N<M
H1(z)
H2(z)
H3(z)
3
3
3
3H4(z)
IN
M=4 N=3
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 6
Filter Banks Introduction
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 processingH1(z)
subband processingH2(z)
subband processingH3(z)
3
3
3
3 subband processingH4(z)
IN
M=4 N=3
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 7
Filter Banks Introduction
Step-4: Expanders (upsamplers)
- restore original fullband sampling rate by N-fold upsampling
(=insert N-1 zeros in between every two samples)
subband processing 3H1(z)
subband processing 3H2(z)
subband processing 3H3(z)
3
3
3
3 subband processing 3H4(z)
IN
M=4 N=3 N=3
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 8
Filter Banks Introduction
Step-5: Synthesis filter bank - upsampling has to be followed by (interpolation) filtering (see below)
- collection of M `synthesis’ (`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)
G1(z)
G2(z)
G3(z)
G4(z)
+OUT
subband processing 3H1(z)
subband processing 3H2(z)
subband processing 3H3(z)
3
3
3
3 subband processing 3H4(z)
IN
M=4 N=3 N=3
G1 G4G3G2
2
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 9
Aliasing versus Perfect Reconstruction
- Assume subband processing does not modify subband signals
(e.g. lossless coding/decoding)
-The overall aim would 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 so in maximally
decimated (but also in non-maximally decimated) filter banks
(see also Lecture-6)
G1(z)
G2(z)
G3(z)
G4(z)
+
output = input 3H1(z)
output = input 3H2(z)
output = input 3H3(z)
3
3
3
3 output = input 3H4(z)
M=4 N=3 N=3
u[k]
y[k]=u[k-d]?
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 10
Aliasing versus Perfect Reconstruction
Question :
Can y[k]=u[k-d] be achieved in the presence of aliasing ?
Answer :
YES !! PERFECT RECONSTRUCTION banks with
synthesis bank designed to remove aliasing effects !
G1(z)
G2(z)
G3(z)
G4(z)
+
output = input 3H1(z)
output = input 3H2(z)
output = input 3H3(z)
3
3
3
3 output = input 3H4(z)
M=4 N=3 N=3
u[k]
y[k]=u[k-d]?
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 11
Filter Banks Applications
• Subband coding : Coding = Fullband signal split into subbands & downsampled
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.)
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 12
Filter Banks Applications
• Subband adaptive filtering :
- See Part III
- 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.
= difficult problem !
* long acoustic impulse responses
* time-varying
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 13
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
3H1(z)
3H2(z)
3H3(z)
3H4(z)
3H1(z)
3H2(z)
3H3(z)
3H4(z) ++
++ 3 G1(z)
3 G2(z)
3 G3(z)
3 G4(z)
OUT+
ad.filter
ad.filter
ad.filter
ad.filter
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 14
Filter Banks Applications: Transmux’s
• Transmultiplexers : Frequency Division Multiplexing (FDM) in digital communications - M different source signals multiplexed into 1 transmit signal by expanders & synthesis filters (ps: here interpolation
factor )
- Received signal decomposed into M source signals by analysis filters & decimators
- Again ideal filters = ideal bandpass filters
5 G1(z)
5 G2(z)
5 G3(z)
5 G4(z)
+
5H1(z)
5H2(z)
5H3(z)
5H4(z)
transmission
channel
signal-1
signal-2
signal-3
signal-4
signal-1
signal-2
signal-3
signal-4
N>=M
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 15
• Transmultiplexers : (continued)
- Non-ideal synthesis & analysis filters result in aliasing and
distortion, as well as CROSS-TALK between channels,
i.e. each reconstructed signal contains unwanted
contributions from other signals
- Analysis & synthesis are reversed here, but similar perfect
reconstruction theory (try it!) (where analysis bank removes cross-talk introduced by synthesis bank, if transmission channel = distortion free)
Filter Banks Applications: Transmux’s
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 16
Filter Banks Applications: Transmux’s
• Transmultiplexers : (continued)
PS: special case is Time Division Multiplexing (TDM), if synthesis and analysis filters are replaced by delay operators (and N=M)
4444
+444
transmission
channel
1z2z3z
1
1z
2z
3z
u1[k],u1[k+1]
u2[k],u2[k+1]
u3[k],u3[k+1]
u4[k],u4[k+1]
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]
4z
0,0,0,u4[k],0,0,0,u4[k+1]...
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 17
Filter Banks Applications: Transmux’s
• Transmultiplexers : (continued)
PS : special case is Code Division Multiple Access (CDMA), where filter coefficients=(orthogonal) user codes CDMA basics: (see digital coms courses)…… -Each user (i) is assigned a length-N pseudo-random code
sequence
-Transmission : For each symbol (k-th symbol for user-i), a `chip’ sequence is transmitted
-Mostly binary codes ( ) with BPSK/QPSK symbols -Multiple access based on code-orthogonality (see below)
1,1 ilc
][.],...,[.],[.],[. 321 kuckuckuckuc iiN
iiiiii
][kui
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 18
CDMA basics: -Reception : If (x) received signal = transmitted chip sequence (i.e. no
channel effect, no noise), multiply chips with (synchronized) code
sequence + sum.
-Example (user i)
transmitted symbols +1……… -1………. -1……… +1………
code sequence +1,+1,-1,-1
transmitted chips +1,+1,-1,-1 -1,-1,+1,+1 -1,-1,+1,+1 +1,+1,-1,-1
received chips +1,+1,-1,-1 -1,-1,+1,+1 -1,-1,+1,+1 +1,+1,-1,-1
+1,+1,-1,-1 (mult. with code & sum)
received symbols (*1/4) +1………… -1…….…..-1…………+1
(x) PS: real-world CDMA is considerably more complicated (different channels for different users + channel dispersion, asynchronous users, scrambling codes, etc.)
Filter Banks Applications: Transmux’s
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 19
Filter Banks Applications: Transmux’s
CDMA Transmission/reception block scheme :
-transmitter code-multiplication may be viewed as filtering operation,
with FIR transmit filter
-receiver code-multiplication & summation may be viewed as filtering
operation, with receive filter
-PR for `flat’ channel H(z)=1 and if codes are orthogonal (prove it!)
1121 .....)( Ni
Niii zczcczC
)......()1
( 11
22
1 NiNiiN
Ni zczcczz
C
4444
+444
transmission
channel)(4 zC
u1[k],u1[k+1]
u2[k],u2[k+1]
u3[k],u3[k+1]
u4[k],u4[k+1]
u2[k+1],u2[k])( 12 zC
)(3 zC
)(2 zC
)(1 zC 4
Bas
e st
atio
n
Use
r-2
term
ina
l
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 20
PR-FB Example: DFT/IDFT Filter Bank
• Fundamental question is..: Downsampling introduces ALIASING, then how can PERFECT RECONSTRUCTION (PR) (i.e. y[k]=u[k-d]) be achieved ?
• Next slides provide simple PR-FB examples, to
demonstrate that PR can indeed (easily) be obtained• Discover the magic of aliasing-compensation….
G1(z)
G2(z)
G3(z)
G4(z)
+
output = input 4H1(z)
output = input 4H2(z)
output = input 4H3(z)
4
4
4
4 output = input 4H4(z)
u[k]
y[k]=u[k-d]?
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 21
DFT/IDFT Filter Bank
First attempt to design a perfect reconstruction filter bank
- Starting point is this :
convince yourself that y[k]=u[k-3] …
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],...
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 22
DFT/IDFT Filter Bank
- An equivalent representation is ...
As y[k]=u[k-d], this can already be viewed as a perfect reconstruction filter bank (with aliasing in the subbands!) 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….)
ps: transmux version see p.17
4444
+1z2z3z
1
u[k-3]444
1z
2z
3z4
1
u[k]
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 23
DFT/IDFT 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)
4444
+u[k-3]
1z
2z
3z
1
1z2z3z
1
444
4u[k]
F 1F
IFF .1
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 24
DFT/IDFT 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/IDFT filter bank’. It is a first example of a maximally decimated perfect reconstruction filter bank !
4444
1z2z3z
1
u[k] 444
4
F +u[k-3]
1z
2z
3z
1
1F
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 25
DFT/IDFT Filter Bank
What do analysis filters look like?
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.
F
u[k]
Nj
N
F
NNN
N
N
N
eW
z
z
z
WWWW
WWWW
WWWW
WWWW
zH
zH
zH
zH
/2
1
2
1
)1()1(210
)1(2420
1210
0000
1
2
1
0
:
1
.
...
::::
...
...
...
)(
:
)(
)(
)(
2
)()( ))/2.((0
Nijji eHeH 121
0 ...1)( NzzzzH
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 26
-4 -3 -2 -1 0 1 2 3 40
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
DFT/IDFT 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 (see construction p.23-26), which means the synthesis filters can apparently restore the aliasing distortion. This is remarkable!
Other perfect reconstruction banks : see Lecture-6
Ho(z)H1(z)
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 27
DFT/IDFT Filter Bank
What do synthesis filters look like?
synthesis filters are (roughly) equal to analysis filters (details omitted, see also Lecture-6)
PS: Efficient DFT/IDFT implementation based on FFT algorithm
(`Fast Fourier Transform’).
...
)(
:
)(
)(
)(
1
2
1
0
zF
zF
zF
zF
N
+1z
2z
3z
1
1F-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 *(1/N)
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 28
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 (DFT/IDFT)
• Sequel = other (better) PR structures
Lecture 6: Maximally decimated filter banks
Lecture 7: Modulated filter banks
Lecture 8: Oversampled filter banks, etc..
• Reference: `Multirate Systems & Filter Banks’ , P.P. Vaidyanathan
Prentice Hall 1993.
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 29
Review of Multi-rate Systems 1/10
• 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],...
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 30
Review of Multi-rate Systems 2/10
• Z-transform (frequency domain) analysis of expander
`expansion in time domain ~ compression in frequency domain’
N u[0],0,..0,u[1],0,…,0,u[2]...u[0], u[1], u[2],...
N)(zU )( NzU
3
`images’
xHz xHz
jez
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 31
Review of Multi-rate Systems 2bis/10
• Z-transform (frequency domain) analysis of expander
expander mostly followed by `interpolation filter’ to remove images (and `interpolate the zeros)
interpolation filter can be low-/band-/high-pass (see Lecture-6)
N u[0],0,..0,u[1],0,…,0,u[2]...u[0], u[1], u[2],...
3
xHz
`images’
xHz
xHz
LP
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 32
Review of Multi-rate Systems 3/10
• Z-transform (frequency domain) analysis of decimator
`compression in time domain ~ expansion in frequency domain’
N)(zU
1
0
21 ).(.1 N
i
NijN ezUN
N u[0], u[N], u[2N]...u[0],u[1],u[2]...
i=0i=2 i=1
3
xHz
3
xHz
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 33
Review of Multi-rate Systems 3bis/10
• Z-transform (frequency domain) analysis of decimator
decimation introduces ALIASING if input signal occupies frequency band larger than , hence mostly preceded by anti-aliasing (decimation) filter
anti-aliasing filter can be low-/band-/high-pass (see Lecture-6)
N2
N u[0], u[N], u[2N]...u[0],u[1],u[2]...
LP
i=0i=2 i=1
3
xHz
3
xHz
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 34
Review of Multi-rate Systems 4/10
• Z-transform analysis of decimator (continued)
- Note that is periodic with period while is periodic with period
the summation with i=0…N-1 restores the periodicity with period !
- Example:
)( jeU 2
)( /NjeU N22
0,)(][
1
1...(...).
1)(
1
1)(
0,][
1
1
0
1
kky
zNzY
zzU
kku
kN
N
N
i
k
N)(zU
1
0
21 ).(.1 N
i
NijN ezUN
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 35
Review of Multi-rate Systems 5/10
• Interconnection of multi-rate building blocks :
identities also hold if all decimators are replaced by expanders
N x
a
Nx
a=
=
=
N+
u2[k]
Nx
u2[k]
u1[k]
u1[k]
N +
Nu2[k]
u1[k]
N x
Nu2[k]
u1[k]
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 36
Review of Multi-rate Systems 6/10
• `Noble identities’ (I) : (only for rational functions)
Example : N=2 h[0],h[1],0,0,0,…
=N N)( NzH )(zHu[k] u[k]y[k] y[k]
]3[
]2[
]1[
]0[
.0100
0001.
)(
]1[0
]0[]1[
0]0[
...
]3[
]2[
]1[
]0[
.
)2(
]1[000
0]1[00
]0[0]1[0
0]0[0]1[
00]0[0
000]0[
.
010000
000100
000001
]2[
]1[
]0[
ngdownsampli fold-2
ngdownsampli fold-2
u
u
u
u
zH
h
hh
h
u
u
u
u
zH
h
h
hh
hh
h
h
y
y
y
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 37
Review of Multi-rate Systems 7/10
• `Noble identities’ (II) : (only for rational functions)
Example : N=2 h[0],h[1],0,0,0,…
=N N )( NzH)(zHu[k] u[k]y[k] y[k]
]1[
]0[.
00
10
00
01
.
)2(
]1[000
0]1[00
]0[0]1[0
0]0[0]1[
00]0[0
000]0[
...]1[
]0[.
)(
]1[0
]0[]1[
0]0[
.
000
100
000
010
000
001
]5[
]4[
]3[
]2[
]1[
]0[
upsampling fold-2
upsampling fold-2
u
u
zH
h
h
hh
hh
h
h
u
u
zH
h
hh
h
y
y
y
y
y
y
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 38
Review of Multi-rate Systems 8/10
Application of `noble identities : efficient multi-rate filter implementations through…
• Polyphase decomposition: example : (2-fold decomposition)
example : (3-fold decomposition)
general: (N-fold decomposition)
)(
421
)(
642
654321
21
20
)].5[].3[]1[(.)].6[].4[].2[]0[(
].6[].5[].4[].3[].2[].1[]0[)(
zEzE
zhzhhzzhzhzhh
zhzhzhzhzhzhhzH
)(
32
)(
31
)(
63
654321
32
31
30
)].5[]2[(.)].4[]1[(.)].6[].3[]0[(
].6[].5[].4[].3[].2[].1[]0[)(
zEzEzE
zhhzzhhzzhzhh
zhzhzhzhzhzhhzH
k
kl
N
l
Nl
l
k
k zlkNhzEzEzzkhzH ]..[)( , )(.].[)(1
0
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 39
Review of Multi-rate Systems 9/10
• Polyphase decomposition: Example : efficient implementation of a decimation filter
i.e. all filter operations performed at the lowest rate
u[k]
2
)( 20 zE
)( 21 zE
1z+
H(z)
u[k]
2
1z
)(0 zE
)(1 zE +
= 2
DSP-IIVersion 2007-2008 Lecture-5 Filter Banks - Preliminaries p. 40
Review of Multi-rate Systems 10/10
• Polyphase decomposition:
Example : efficient implementation of an interpolation filter
i.e. all filter operations performed at the lowest rate
=
u[k]
2
)( 20 zE
)( 21 zE
1z
+
H(z)
u[k]
2
1z
+)(0 zE
)(1 zE
2