P. 1 DSP-II Digital Signal Processing II Lecture 5: Filter Banks - Preliminaries Marc Moonen Dept....

40
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/

Transcript of P. 1 DSP-II Digital Signal Processing II Lecture 5: Filter Banks - Preliminaries Marc Moonen Dept....

p. 1DSP-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/

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