420 likes | 1.24k Views
Digital Signal Processing II Lecture 6: Filter Banks - Preliminaries. Marc Moonen Dept. E.E./ESAT, K.U.Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen/. Part-II : Filter Banks. : Preliminaries Filter bank set-up and applications
E N D
Digital Signal Processing IILecture 6: Filter Banks - Preliminaries Marc Moonen Dept. E.E./ESAT, K.U.Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen/
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 • Maximally decimated DFT-modulated FBs • Oversampled DFT-modulated FBs : Special Topics • Cosine-modulated FBs • Non-uniform FBs & Wavelets • Frequency domain filtering Lecture-6 Lecture-7 Lecture-8 Lecture-9 Version 2009-2010Lecture-6:Filter Banks - Preliminaries
subband processing OUT subband processing subband processing H1 H2 H3 H4 subband processing H1(z) IN H2(z) + H3(z) H4(z) 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) Version 2009-2010Lecture-6:Filter Banks - Preliminaries
H1 H2 H3 H4 M=4 H1(z) H1 H2 H3 H4 IN H2(z) H3(z) H1 H2 H3 H4 H4(z) 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,…) Version 2009-2010Lecture-6:Filter Banks - Preliminaries
Filter Banks Introduction Step-2: Decimators (downsamplers) - To increase efficiency, subband sampling rate is reduced by factor N (= Nyquist (bandpass) sampling theorem, see Lecture-7) - Maximally 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 M=4 N=3 3 H1(z) IN 3 H2(z) 3 H3(z) 3 H4(z) Version 2009-2010Lecture-6:Filter Banks - Preliminaries
3 3 3 3 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 M=4 N=3 subband processing H1(z) IN subband processing H2(z) subband processing H3(z) subband processing H4(z) Version 2009-2010Lecture-6:Filter Banks - Preliminaries
M=4 N=3 N=3 3 3 subband processing H1(z) IN 3 3 subband processing H2(z) 3 3 subband processing H3(z) 3 3 subband processing H4(z) 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) Version 2009-2010Lecture-6:Filter Banks - Preliminaries
M=4 N=3 N=3 3 3 subband processing G1(z) H1(z) OUT IN 3 3 G2(z) subband processing H2(z) G1 G2 G3 G4 + 3 3 subband processing G3(z) H3(z) 3 3 subband processing G4(z) H4(z) 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) Version 2009-2010Lecture-6:Filter Banks - Preliminaries
3 M=4 N=3 N=3 y[k]=u[k-d]? 3 G1(z) output = input H1(z) 3 u[k] 3 G2(z) output = input H2(z) 3 + 3 output = input G3(z) H3(z) 3 3 G4(z) output = input H4(z) 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-7) Version 2009-2010Lecture-6:Filter Banks - Preliminaries
3 M=4 N=3 N=3 y[k]=u[k-d]? 3 G1(z) output = input H1(z) 3 u[k] 3 G2(z) output = input H2(z) 3 + 3 output = input G3(z) H3(z) 3 3 G4(z) output = input H4(z) 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 ! Version 2009-2010Lecture-6:Filter Banks - Preliminaries
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.) Version 2009-2010Lecture-6:Filter Banks - Preliminaries
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 Version 2009-2010Lecture-6:Filter Banks - Preliminaries
3 H1(z) ad.filter + + + + + 3 ad.filter H2(z) 3 H3(z) ad.filter 3 H4(z) ad.filter 3 3 G1(z) H1(z) OUT 3 3 G2(z) H2(z) 3 3 G3(z) H3(z) 3 3 G4(z) H4(z) 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 Version 2009-2010Lecture-6:Filter Banks - Preliminaries
+ signal-1 signal-1 5 G1(z) signal-2 signal-2 5 G2(z) transmission channel 5 G3(z) signal-3 signal-3 5 H1(z) 5 G4(z) signal-4 signal-4 5 H2(z) 5 H3(z) 5 H4(z) 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 N>=M Version 2009-2010Lecture-6:Filter Banks - Preliminaries
Filter Banks Applications: Transmux’s • 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) Version 2009-2010Lecture-6:Filter Banks - Preliminaries
+ 4 u1[k],u1[k+1] u1[k-1],u1[k] u2[k],u2[k+1] u3[k],u3[k+1] u4[k],u4[k+1] 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) u1[k],u2[k],u3[k],u4[k],u1[k+1],u2[k+1]... 4 4 u2[k-1],u2[k] 4 transmission channel 4 4 u3[k-1],u3[k] 4 4 u4[k-1],u4[k] 0,0,0,u4[k],0,0,0,u4[k+1]... Version 2009-2010Lecture-6:Filter Banks - Preliminaries
Filter Banks Applications: Transmux’s Skip this slide • 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) Version 2009-2010Lecture-6:Filter Banks - Preliminaries
Filter Banks Applications: Transmux’s Skip this slide 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.) Version 2009-2010Lecture-6:Filter Banks - Preliminaries
+ u1[k],u1[k+1] u2[k],u2[k+1] u3[k],u3[k+1] u4[k],u4[k+1] Filter Banks Applications: Transmux’s Skip this slide 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!) 4 4 4 4 u2[k+1],u2[k] Base station transmission channel User-2 terminal 4 4 4 4 Version 2009-2010Lecture-6:Filter Banks - Preliminaries
y[k]=u[k-d]? 4 4 G1(z) output = input H1(z) u[k] 4 4 G2(z) output = input H2(z) + 4 4 output = input G3(z) H3(z) 4 4 G4(z) output = input H4(z) 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…. Version 2009-2010Lecture-6:Filter Banks - Preliminaries
u[k] u[0],0,0,0,u[4],0,0,0,... 4 4 4 u[-1],u[0],0,0,u[3],u[4],0,0,... 4 4 4 u[-2],u[-1],u[0],0,u[2],u[3],u[4],0,... + + + 4 4 u[-3],u[-2],u[-1],u[0],u[1],u[2],u[3],u[4],... u[k-3] 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] … Version 2009-2010Lecture-6:Filter Banks - Preliminaries
+ 4 4 u[k] 4 4 u[k-3] 4 4 4 4 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.16 Version 2009-2010Lecture-6:Filter Banks - Preliminaries
4 4 u[k] 4 4 u[k-3] + 4 4 4 4 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) Version 2009-2010Lecture-6:Filter Banks - Preliminaries
4 4 u[k-3] 4 4 + 4 4 4 4 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 ! u[k] Version 2009-2010Lecture-6:Filter Banks - Preliminaries
u[k] 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. Version 2009-2010Lecture-6:Filter Banks - Preliminaries
DFT/IDFT Filter Bank H1(z) Ho(z) 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.21-24), which means the synthesis filters can apparently restore the aliasing distortion. This is remarkable! Other perfect reconstruction banks : see Lecture-7 Version 2009-2010Lecture-6:Filter Banks - Preliminaries
+ DFT/IDFT Filter Bank What do synthesis filters look like? synthesis filters are (roughly) equal to analysis filters (details omitted, see also Lecture-7) PS: Efficient DFT/IDFT implementation based on FFT algorithm (`Fast Fourier Transform’). *(1/N) Version 2009-2010Lecture-6:Filter Banks - Preliminaries
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 7: Maximally decimated filter banks Lecture 8: Modulated filter banks Lecture 9: Oversampled filter banks, etc.. • Reference: `Multirate Systems & Filter Banks’ , P.P. Vaidyanathan Prentice Hall 1993. Version 2009-2010Lecture-6:Filter Banks - Preliminaries
N u[0], u[N], u[2N]... u[0],u[1],u[2]... u[0], u[1], u[2],... N u[0],0,..0,u[1],0,…,0,u[2]... 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... Version 2009-2010Lecture-6:Filter Banks - Preliminaries
3 N N u[0], u[1], u[2],... u[0],0,..0,u[1],0,…,0,u[2]... Review of Multi-rate Systems 2/10 • Z-transform (frequency domain) analysis of expander `expansion in time domain ~ compression in frequency domain’ `images’ Version 2009-2010Lecture-6:Filter Banks - Preliminaries
3 `images’ N u[0], u[1], u[2],... u[0],0,..0,u[1],0,…,0,u[2]... LP 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-7) Version 2009-2010Lecture-6:Filter Banks - Preliminaries
Review of Multi-rate Systems 3/10 • Z-transform (frequency domain) analysis of decimator `compression in time domain ~ expansion in frequency domain’ N u[0], u[N], u[2N]... u[0],u[1],u[2]... N i=2 i=0 i=1 3 Version 2009-2010Lecture-6:Filter Banks - Preliminaries
LP 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-7) N u[0], u[N], u[2N]... u[0],u[1],u[2]... i=2 i=0 i=1 3 Version 2009-2010Lecture-6:Filter Banks - Preliminaries
N 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: Version 2009-2010Lecture-6:Filter Banks - Preliminaries
u1[k] N N N N + u2[k] N = N x x a a Review of Multi-rate Systems 5/10 • Interconnection of multi-rate building blocks : identities also hold if all decimators are replaced by expanders u1[k] N = + u2[k] u1[k] N = x u1[k] x u2[k] u2[k] Version 2009-2010Lecture-6:Filter Banks - Preliminaries
u[k] y[k] u[k] y[k] = N N Review of Multi-rate Systems 6/10 • `Noble identities’ (I) : (only for rational functions) Example : N=2 h[0],h[1],0,0,0,… Version 2009-2010Lecture-6:Filter Banks - Preliminaries
Review of Multi-rate Systems 7/10 • `Noble identities’ (II) : (only for rational functions) Example : N=2 h[0],h[1],0,0,0,… u[k] y[k] u[k] y[k] N = N Version 2009-2010Lecture-6:Filter Banks - Preliminaries
Review of Multi-rate Systems 8/10 Application of `noble identities : efficient multi-rate realizations of FIR filters through… • Polyphase decomposition: example :(2-fold decomposition) example :(3-fold decomposition) general: (N-fold decomposition) Version 2009-2010Lecture-6:Filter Banks - Preliminaries
2 2 2 Review of Multi-rate Systems 9/10 • Polyphase decomposition: Example : efficient implementation of an FIR decimation filter i.e. all filter operations performed at the lowest rate H(z) u[k] + u[k] = + Version 2009-2010Lecture-6:Filter Banks - Preliminaries
u[k] H(z) 2 2 2 + Review of Multi-rate Systems 10/10 • Polyphase decomposition: Example : efficient implementation of an FIR interpolation filter i.e. all filter operations performed at the lowest rate u[k] = + Version 2009-2010Lecture-6:Filter Banks - Preliminaries