p. 1 dsp-ii digital signal processing ii lecture 6: maximally decimated filter banks marc moonen...
DESCRIPTION
DSP-II p. 3 Version Lecture-6 Maximally Decimated Filter Banks PART-II : Filter Banks LECTURE-6 : Maximally decimated FBs `Interludium’: Review of multi-rate systems Perfect reconstruction (PR) FBs –2-channel case –M-channel case `Interludium’: Paraconjugation & paraunitary functions Paraunitary PR FBsTRANSCRIPT
p. 1DSP-II
Digital Signal Processing II
Lecture 6:
Maximally Decimated Filter Banks
Marc MoonenDept. E.E./ESAT, K.U.Leuven
[email protected]/~moonen/
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 2
Part-II : Filter Banks
: Preliminaries• Applications • Intro perfect reconstruction filter banks (PR FBs)
: Maximally decimated FBs• Multi-rate systems review • 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-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 3
PART-II : Filter Banks
LECTURE-6 : Maximally decimated FBs • `Interludium’: Review of multi-rate systems
• Perfect reconstruction (PR) FBs– 2-channel case – M-channel case
• `Interludium’: Paraconjugation & paraunitary functions
• Paraunitary PR FBs
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 4
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-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 5
Review of Multi-rate Systems 2/10
• Z-transform (frequency domain) analysis of expander
`expansion in time domain ~ compression in frequency domain’ expander mostly followed by `interpolation filter’ to remove images
(and `interpolate the zeros)
N u[0],0,..0,u[1],0,…,0,u[2]...u[0], u[1], u[2],...
N)(zU )( NzU
3
`images’
xHz xHz
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 6
Review of Multi-rate Systems 3/10
• 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
N2
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
3
xHz xHz
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 7
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)(
11)(
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-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 8
PS: Filter bank 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 3H1(z)
subband processing 3H2(z)
subband processing 3H3(z)
3333 subband processing 3H4(z)
IN
G1(z)
G2(z)
G3(z)
G4(z)
+OUT
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 9
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
aNx
a=
=
=
N+
u2[k]
Nx
u2[k]
u1[k]
u1[k]
N +
Nu2[k]
u1[k]
N x
Nu2[k]
u1[k]
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 10
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[
.01000001
.
)(
]1[0]0[]1[
0]0[...
]3[]2[]1[]0[
.
)2(
]1[0000]1[00
]0[0]1[00]0[0]1[00]0[0000]0[
.010000000100000001
]2[]1[]0[
ngdownsampli fold-2
ngdownsampli fold-2
uuuu
zH
hhh
h
uuuu
zH
hh
hhhh
hh
yyy
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 11
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[
.
00100001
.
)2(
]1[0000]1[00
]0[0]1[00]0[0]1[00]0[0000]0[
...]1[]0[
.
)(
]1[0]0[]1[
0]0[.
000100000010000001
]5[]4[]3[]2[]1[]0[
upsampling fold-2
upsampling fold-2
uu
zH
hh
hhhh
hh
uu
zH
hhh
h
yyyyyy
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 12
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-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 13
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]
21z
)(0 zE
)(1 zE +
= 2
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 14
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]
21z
+)(0 zE
)(1 zE
2
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 15
Refresh
General `subband processing’ set-up: - analysis bank+ synthesis bank - multi-rate structure: down-sampling after analysis, up-sampling for synthesis
- aliasing vs. ``perfect reconstruction” - applications: coding, (adaptive) filtering, transmultiplexers - PS: subband processing ignored in filter bank design
subband processing 3H0(z)
subband processing 3H1(z)
subband processing 3H2(z)
3333 subband processing 3H3(z)
IN
F0(z)
F1(z)
F2(z)
F3(z)
+OUT
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 16
Refresh
Two design issues : - filter specifications, e.g. stopband attenuation, passband ripple,
transition band, etc. (for each (analysis) filter!) - perfect reconstruction property.PS: Perfect reconstruction property as such is easily satisfied, if there aren’t any (analysis) filter specs, e.g. (see Lecture-5)
…but this is not very useful/practical. Stringent filter specs. necessary for subband coding, etc.
This lecture : Maximally decimated FB’s :
4444
+1z2z3z
1
u[k-3]444
1z
2z
3z4
1
u[k]
NM
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 17
Perfect Reconstruction : 2-Channel Case
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
H0(z)
H1(z)
22
u[k] 22
F0(z)
F1(z)+
y[k]
)(.
)(
)}()()().(.{21)(.
)(
)}()()().(.{21)( 11001100 zU
zA
zFzHzFzHzU
zT
zFzHzFzHzY
NM
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 18
Perfect Reconstruction : 2-Channel Case
• Requirement for `alias-free’ filter bank :
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- & downsampling) !!!!
• Requirement for `perfect reconstruction’ filter bank (= alias-free + distortion-free): i)
ii)
H0(z)
H1(z)
22
u[k] 22
F0(z)
F1(z)+
y[k]
0)( zA
zzT )(
0)( zA
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 19
Perfect Reconstruction : 2-Channel Case
• An initial choice is ….. :
so that For the real coefficient case, i.e. which means the amplitude response of H1 is the mirror image of the amplitude response of Ho with respect to the quadrature frequency hence the name `quadrature mirror filter’ (QMF)
H0(z)
H1(z)
22
u[k] 22
F0(z)
F1(z)+
y[k]
)()( ),()( ),()( 010001 zHzFzHzFzHzH
)}()({21...)( 2
020 zHzHzT 0...)( zA
)(...)()
2(
0
)2
(
1
jjeHeH
2
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 20
Perfect Reconstruction : 2-Channel Case)
`quadrature mirror filter’ (QMF) :
hence if Ho (=Fo) is designed to be a good lowpass filter, then H1 (=-F1) is a good high-pass filter.
H0(z)
H1(z)
22
u[k] 22
F0(z)
F1(z)+
y[k]
2
Ho H1
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 21
Perfect Reconstruction : 2-Channel Case
• A 2nd (better) choice is: [Smith & Barnwell 1984] [Mintzer 1985] i)
so that (alias cancellation) ii) `power symmetric’ Ho(z) (real coefficients case)
iii) so that (distortion function) ignore the details! This is a so-called`paraunitary’ perfect reconstruction bank (see below), based on a lossless system Ho,H1 :
H0(z)
H1(z)
22
u[k] 22
F0(z)
F1(z) +y[k]
)()( ),()( 0110 zHzFzHzF
1...)( zT
0...)( zA
1)()(2
)2
(
0
2)
2(
0 jj
eHeH
][.)1(][ 01 kLhkh k
1)()(2
1
2
0 jj eHeH
This is already pretty complicated…
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 22
Perfect Reconstruction : M-Channel Case
It is proved that... (try it!)
• 2nd term represents aliased signals, hence all `alias transfer functions’ Al(z) should ideally be zero (for all l )
• H(z) is referred to as `distortion function’ (amplitude & phase distortion). For perfect reconstruction, H(z) should ideally be a pure delay
).(.
)(
)}()..({.1)(.
)(
})().(.{1)(1
1
1
0
1
0
lM
l
M
kk
lk
M
kkk WzU
zlA
zFWzHM
zU
zH
zFzHM
zY
H2(z)
H3(z)
44
44
F2(z)
F3(z)
y[k]H0(z)
H1(z)
44u[k]
44
F0(z)
F1(z)+
NM
Sigh !!…
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 23
Perfect Reconstruction : M-Channel Case
• A simpler analysis results from a polyphase description :
i-th row of E(z) has polyphase components of Hi(z)
i-th column of R(z) has polyphase components of Fi(z)
4444
+ u[k-3]1z
2z
3z
1
1z2z3z
1u[k] 4
44
4)( 4zE )( 4zR
)1(
1|10|1
1|00|0
1
0
:1
.
)(
)(...)(::
)(...)(
)(:
)(
NNNN
NN
NN
N
N z
Nz
zEzE
zEzE
zH
zH E
)(
)(...)(::
)(...)(.
1:
)(:
)(
1|10|1
1|00|0)1(
1
0
Nz
zRzR
zRzRz
zF
zF
NNN
NN
NN
NTNT
N
R
Do not continue until you understand how formulae correspond to block scheme!
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 24
Perfect Reconstruction : M-Channel Case
• with the `noble identities’, this is equivalent to:
Necessary & sufficient conditions for i) alias cancellation ii) perfect reconstruction are then derived, based on the product
4444
+ u[k-3]1z
2z
3z
1
1z2z3z
1u[k] 4
44
4)(zE )(zR
)().( zz ER
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 25
Perfect Reconstruction : M-Channel Case
Necessary & sufficient condition for alias-free FB is…:
a pseudo-circulant matrix is a circulant matrix with the additional feature that elements below the main diagonal are multiplied by 1/z, i.e.
..and first row of R(z).E(z) are polyphase cmpnts of `distortion function’ T(z) read on->
4444
+ u[k-3]1z
2z
3z
1
1z2z3z
1
u[k] 444
4)(zE )(zR
circulant'-`pseudo)().( zz ER
)()(.)(.)(.)()()(.)(.)()()()(.)()()()(
)().(
031
21
11
1031
21
21031
3210
zpzpzzpzzpzzpzpzpzzpzzpzpzpzpzzpzpzpzp
zz ER
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 26
Perfect Reconstruction : M-Channel Case
PS: This can be explained as follows: first, previous block scheme is equivalent to (cfr. Noble identities)
then (iff R.E is pseudo-circ.)…
so that finally..
4444
+1z
2z
3z
1
1z2z3z
1
u[k] 444
4)().( 44 zz ER
)(.))()()()((.
1
...)(.
1
).().()(
43
342
241
140
3
2
1
3
2
144 zUzpzzpzzpzzp
zzz
zU
zzz
zzzT
ER
44444
+1z2z3z
1
T(z)*u[k-3]444
1z
2z
3z
1u[k]
)(zT
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 27
Perfect Reconstruction : M-Channel Case
Hence necessary & sufficient condition for PR (where T(z)=pure delay):
In is nxn identity matrix, r is arbitrary
(Obvious) example :
4444
+ u[k-3]1z
2z
3z
1
1z2z3z
1u[k] 4
44
4)(zE )(zR
10 ,0.
0)().( 1
NrIz
Izzz
r
rN
ER
NIzz )().( ER
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 28
Perfect Reconstruction : M-Channel Case
For conciseness, will use this from now on :
- Procedure: 1. Design all analysis filters (see Part-I). 2. This determines E(z) (=polyphase matrix). 3. Assuming E(z) can be inverted (?), choose synthesis filters
- Example : DFT/IDFT Filter bank (Lecture-5) : E(z)=F , R(z)=F^-1
- FIR E(z) generally leads to IIR R(z), where stability is a concern…
NIzz )().( ER
)()( 1 zz ER
4444
+ u[k-3]1z
2z
3z
1
1z2z3z
1u[k] 4
44
4)(zE )(zR
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 29
Perfect Reconstruction : M-Channel Case
PS: Inversion of matrix transfer functions ?…
– The inverse of a scalar (i.e. 1-by-1 matrix) FIR transfer function is always IIR (except for contrived examples)
– The inverse of an N-by-N (N>1) FIR transfer function can be FIR
1))(det(212
2)()(
2221
)( 21
1
1
1
12
z
zzz
zzz
zzz
E
ERE
)2(1)()()2()( 1
11
zzzzz ERE
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 30
Perfect Reconstruction : M-Channel Case
PS: Inversion of matrix transfer functions ?…
Compare this to inversion of integers and integer matrices: – The inverse of an integer is always non-integer (except for `E=1’)
– The inverse of an N-by-N (N>1) integer matrix can be integer
1)det(5465
5465 1
E
ERE
212 1 ERE
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 31
Perfect Reconstruction : M-Channel Case
Question: How can we find polynomial (FIR) matrices E(z) that have a FIR inverse? Answer: `Unimodular’ matrices (=matrices with determinant=constant*z^-d)Example:
where the Ei’s are constant (=not a function of z) invertible matrices procedure : optimize Ei’s to obtain analysis filter specs (ripple, etc.)
enough) good( .)().(
.100.
..100.
....100.
.)(
.0
0....
00
..0
0.)(
111
11
11
11
11
10
011
111
111
ML
LM
LMM
MML
ML
Izzz
IzIzIzz
zI
zI
zI
z
ER
EEEER
EEEEE
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 32
Perfect Reconstruction : M-Channel Case
Question: Can we avoid direct inversion, e.g. through the usage FIR E(z) matrices with additional `special properties’ ? (compare with (real) orthogonal or (complex) unitary matrices, where inverse is equal to (hermitian) transpose)
Answer: YES, `paraunitary’ matrices (=special class of FIR matrices with FIR inverse)
See next slides….
Will focus on paraunitary E(z) leading to paraunitary PR filter banks
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 33
Paraunitary PR Filter Banks
Interludium : `PARACONJUGATION’
• For a scalar transfer function H(z), paraconjugate is i.e it is obtained from H(z) by - replacing z by 1/z - replacing each coefficient by its complex conjugate Example :
On the unit circle, paraconjugation corresponds to complex conjugation
paraconjugation = `analytic extension’ of unit-circle conjugation
)()(~ 1*
zHzH
zazHzazH .1)(~.1)( *1
*1* })({)()(~
jjj ezezezzHzHzH
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 34
Paraunitary PR Filter Banks
Interludium : `PARACONJUGATION’• For a matrix transfer function H(z), paraconjugate is i.e it is obtained from H(z) by - transposition - replacing z by 1/z - replacing each coefficient by is complex conjugate Example :
On the unit circle, paraconjugation corresponds to transpose conjugation
paraconjugation = `analytic extension’ of unit-circle transpose conjugation
)()(~ 1*
zz THH
zbzazzbza
z .1.1)(~.1.1
)( **1
1
HH
Hezez
T
ezjjj
zzz })({)()(~ 1*
HHH
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 35
Paraunitary PR Filter Banks
Interludium : `PARAUNITARY matrix transfer functions’• Matrix transfer function H(z), is paraunitary if (possibly up to a scalar)
For a square matrix function
A paraunitary matrix is unitary on the unit circle
paraunitary = `analytic extension’ of unit-circle unitary. PS: if H1(z) and H2(z) are paraunitary, then H1(z).H2(z) is paraunitary
Izz )().(~ HH
Izz jj ezH
ez
})(.{})({ HH
1)}({)(~ zz HH
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 36
Paraunitary PR Filter Banks
- If E(z) is paraunitary
hence perfect reconstruction is obtained with
If E(z) is FIR, then R(z) is also FIR !! (cfr. definition paraconjugation)
4444
+ u[k-3]1z
2z
3z
1
1z2z3z
1u[k] 4
44
4)(zE )(zR
NIzz )().( ER
)(~)( zz ER
Izz )().(~ EE
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 37
Paraunitary PR Filter Banks
• Example: paraunitary FIR E(z) with FIR inverse R(z)
where the Ei’s are constant unitary matrices Procedure : optimize unitary Ei’s to obtain analysis filter specs. ps: 2-channel case with real coefficients, then
hence optimize phi’s... (=lossless lattice (!), see lecture-3)
M
HL
MHL
MHMH
MML
ML
Izz
IzIzIzz
zI
zI
zI
z
)().(
.100.
..100.
....100.
.)(
.0
0....
00
..0
0.)(
11
11
1
11
1
0
011
111
111
ER
EEEER
EEEEE
paraunitary
ii
iii
cossinsincos
E
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 38
Paraunitary PR Filter Banks
Properties of paraunitary PR filter banks:
• If polyphase matrix E(z) (and hence E(z^N)) is paranunitary, and
then vector transfer function H(z) (=all analysis filters) is paraunitary• If vector transfer function H(z) is paraunitary, then its components are
power complementary (lossless 1-input/N-output system)
(see lecture 3 !!)
constant )(1
0
2
N
k
jk eH
)1(
1|10|1
1|00|0
1
0
:1
.
)(
)(...)(::
)(...)(
)(:
)()(
NNNN
NN
NN
N
N z
Nz
zEzE
zEzE
zH
zHz
E
H
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 39
Paraunitary PR Filter Banks
Properties of paraunitary PR filter banks (continued):
• Synthesis filter coefficients are obtained by conjugating the analysis filter coefficients + reversing the order :
• Magnitude response of synthesis filter Fk is the same as magnitude response of corresponding analysis filter Hk:
• Analysis filters are power complementary (cfr. supra)• Synthesis filters are power complementary• example: DFT/IDFT bank, Lecture-5 example: 2-channel case, page 21• Great properties/designs.... (proofs omitted)
10 ],[][ * NknLhnf kk
10 ,)()( NkeHeF jk
jk
DSP-II Version 2006-2007 Lecture-6 Maximally Decimated Filter Banks p. 40
Conclusions
• Have derived general conditions for perfect reconstruction, based on polyphase matrices for analysis/synthesis bank
• Seen example of general PR filter bank design : Paraunitary FIR PR FBs
• Sequel = other (better) PR structures Lecture 7: Modulated filter banks Lecture 8: Oversampled filter banks, etc..
• Reference: `Multirate Systems & Filter Banks’ , P.P. Vaidyanathan Prentice Hall 1993.