Digital Signal Processing II Lecture 8: Filter Banks - Special Topics Marc Moonen Dept. E.E./ESAT, K.U.Leuven marc.moonen@esat.kuleuven.be homes.esat.kuleuven.be/~moonen/
Part-II : Filter Banks Lecture-5 Lecture-6 Lecture-7 Lecture-8 : 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 Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Topic-1: Non-Uniform FBs / Wavelets Prelude Starting point is discrete-time Fourier transform: inversion/reconstruction/synthesis (=filter bank jargon) is.. `uncertainty principle’ says that if u[k] has a narrow support (i.e. is localized), then U(.) has a wide support (i.e. is non-localized), and vice versa Notion of `frequency that varies with time’ not accommodated Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Non-Uniform FBs / Wavelets Prelude Tool to fill this need is `short-time Fourier transform’(STFT): where w[n] is your favorite window function (typically with `compact support’ (=FIR) ) Window slides past the data. For each window position n, compute discrete-time Fourier transform. PS: If w[n]=1 for all n, then STFT = discrete-time FT for all n Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Non-Uniform FBs / Wavelets Prelude Rewrite STFT formula as… If we forget about the fase factor up front (meaning what?), then this corresponds to performing a convolution with a filter In practice, will compute this for a discrete set of (N) frequencies leading to a set of filters This is a DFT-modulated analysis bank, prototype filter = window function Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Non-Uniform FBs / Wavelets Prelude Efficient implementation based on polyphase decomposition of prototype Ho + FFT-modulation Often window length=N, hence 1-tap polyphase components u[k] u[k] Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Non-Uniform FBs / Wavelets Prelude If maximally decimated (M=N, decimation=`window shift’), this DFT-modulated analysis bank corresponds to a STFT xk[n] = decimated subband signals = STFT-coefficients With a corresponding (PR) synthesis filter bank (see Lecture 7) Ex: the reconstruction/synthesis formula (inverse STFT) is ..to be compared to page 3 H2(z) H3(z) 4 F2(z) F3(z) y[k] H0(z) H1(z) u[k] F0(z) F1(z) + Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Non-Uniform FBs / Wavelets Now, for some applications (e.g. audio) would like to have a non-uniform filter bank, hence also with non-uniform (maximum) decimation, for instance non-uniform filters : low frequency resolution at high frequencies, high frequency resolution at low frequencies (as human hearing) non-uniform decimation : high time resolution at high frequencies, low time resolution at low frequencies H0 H3 H2 H1 H2(z) H3(z) 4 2 H0(z) H1(z) 8 u[k] Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Non-Uniform FBs / Wavelets This can be built as a tree-structure, based on a 2-channel filter bank with u[k] 2 H0 H1 H2 H3 Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Non-Uniform FBs / Wavelets Note that may be viewed as a prototype filter, from which a series of filters is derived The lowpass filters are then needed to turn these multi-band filters into bandpass filters (i.e. remove images) Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Non-Uniform FBs / Wavelets Similar synthesis bank can be constructed with If and form a PR FB, then the complete analysis/synthesis structure is PR (why?) 2 + Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Non-Uniform FBs / Wavelets Analysis bank corresponds to `discrete-time wavelet transform’ (DTWT) With a corresponding (PR) synthesis filter bank, the reconstruction/synthesis formula (inverse DTWT) is ..to be compared to page 3 & 7 Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Non-Uniform FBs / Wavelets Reconstruction formula may be viewed as an expansion of u[n], using a set of basis functions (infinitely many) If the 2-channel filter bank is paraunitary, then this basis is orthonormal (which is a desirable property) : =`orthonormal wavelet basis’ Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Non-Uniform FBs / Wavelets Example : `Haar’ wavelet (after Alfred Haar) Formulas for Ho, H1, H2, H3, … ? Formulas for Fo, F1, F2, F3, …? Paraunitary FB (orthonormal wavelet basis) ? Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Non-Uniform FBs / Wavelets ignore details… Not treated here : `continuous wavelet transform’ (CWT) of a continuous-time function u(t) h(t)=prototype p,q are real-valued continuous variables p introduces `dilation’ of prototype, q introduces `shift’ of prototype `discrete wavelet transform’ (DWT) is CWT with discretized p,q T is sampling interval k,n are real-valued integer variables mostly a=2 Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Non-Uniform FBs / Wavelets Not treated here : Theory - multiresolution analysis - wavelet packets - 2D transforms - etc … Applications : - audio: de-noising, … - communications : wavelet modulation - image : image coding Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Topic-2: Oversampled PR Filter Banks So far have considered maximal decimation (M=N), where aliasing makes PR design non-trivial. With downsampling factor (N) smaller than the number of channels (M) , aliasing is expected to become a smaller problem, possibly negligible if N<<M. Still, PR theory (with perfect alias cancellation) is not necessarily simpler ! Will not consider PR theory as such here, only give some examples of oversampled PR FIR (!) DFT-modulated banks Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Oversampled PR Filter Banks Starting point is (see Lecture-6): where E(z) and R(z) are NxN matrices (cfr maximal decimation) What if we try other dimensions for E(z) and R(z)…?? 4 + u[k-3] u[k] Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Oversampled PR Filter Banks A more general case is : where E(z) is now MxN (`tall-thin’) and R(z) is NxM (`short-fat’) while still guarantees PR ! 4 + u[k] u[k-3] N=4 decimation M=6 channels Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Oversampled PR Filter Banks The PR condition appears to be a `milder’ requirement if M>N for instance for M=2N, we have (where Ei and Ri are NxN matrices) which does not necessarily imply that meaning that inverses may be avoided, creating possibilities for FIR PR-FBs, which can even (see below) be modulated and paraunitary In the sequel, give 2 examples of oversampled DFT-modulated FBs Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Oversampled PR Filter Banks Oversampled DFT-modulated PR FBs : Example-1 : # channels M = 8 Ho(z),H1(z),…,H7(z) decimation N = 4 prototype filter Ho(z) will consider N’-fold polyphase expansion, with Should not really try to understand this… Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Oversampled PR Filter Banks In general, it is proved that the M-channel DFT-modulated (analysis) filter bank can be realized based on an M-point DFT cascaded with an MxN polyphase matrix B, which contains the (N’-fold) polyphase components of the prototype Ho(z) ps: note that if M=N, then N’=N, and then B is a diagonal matrix (cfr. supra) Example-1 (continued): u[k] Version 2006-2007 Lecture-8 Filter Banks – Special Topics Convince yourself that this is indeed correct..
Oversampled PR Filter Banks With N-fold (N=4) decimation, this is… Perfect Reconstruction by paraunitariness ? - If E(z )=F*.B(z) is paraunitary, then PR is obtained with R(z)=B~(z).F (=NxM) - Analysis bank E(z) is paraunitary if B(z) (=MxN) is paraunitary - When is B(z) paraunitary ? u[k] 4 4 + u[k-3] u[k] Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Oversampled PR Filter Banks Example 1 (continued) : From the structure of B(z) It follows that B(z) is paraunitary if and only if (for k=0,1,2,3) are power complementary, i.e. form a lossless (1 input, 2 output) system Solution & design procedure: FIR lattices In general : non-trivial FIR solutions exist for M>N (unlike for M=N, see Lecture 7). This is great news : oversampled PR-FBs can be at the same time DFT-modulated (`M filters for the price of 1’), FIR and paraunitary ! Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Oversampled PR Filter Banks Example-2 : # channels M = 6 Ho(z),H1(z),…,H5(z) decimation N = 4 prototype filter Ho(z) will consider N’-fold polyphase expansion, with Should not really try to understand this… Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Oversampled PR Filter Banks Remember (page 18) that the DFT modulated (analysis) filter bank can be realized based on an M-point IDFT cascaded with an MxN polyphase matrix B, which contains the (N’-fold) polyphase components of the prototype Ho(z) u[k] Version 2006-2007 Lecture-8 Filter Banks – Special Topics Convince yourself that this is indeed correct..
Oversampled PR Filter Banks With N-fold (N=4) decimation, this is… Perfect Reconstruction by paraunitariness ? - E(z) paraunitary iff B(z) paraunitary. Etc…. - A bit more complicated here (hence skipped), but still leading to non-trivial solutions Conclusion : Oversampling provides additional design flexibility, not available in maximally decimated case. Hence can have it all at once : FIR, PR, DFT-modulated, paraunitariness! u[k] 4 Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Topic-3 : Frequency Domain Filtering See DSP-I : cheap filtering based on frequency domain realization (`time domain convolution equivalent to component-wise multiplication in the frequency domain’), cfr. `overlap-add’ & `overlap-save’ procedures This can be cast in the subband processing setting, as a non-critically downsampled (2-fold oversampled) DFT-modulated filter bank operation! Leads to more general approach to performance/delay trade-off PS: formulae given for N=4, for conciseness (but without loss of generality) Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Frequency Domain Filtering Have to know a theorem from linear algebra here: A `circulant’ matrix is a matrix where each row is obtained from the previous row using a right-shift (by 1 position), the rightmost element which spills over is circulated back to become the leftmost element example (4x4): The eigenvalue decomposition of a `circulant’ matrix is trivial…. with F the NxN DFT-matrix, this means that the eigenvectors are always equal to the column-vectors of the IDFT-matrix, and that the eigenvalues are obtained as the DFT of the first column of the circulant matrix (...proof by Matlab) Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Frequency Domain Filtering Starting point is this (see Lecture-6) : meaning that a filtering with can be realized in a multirate structure, based on a pseudo- circulant matrix T(z)*u[k-3] u[k] 4 + Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Frequency Domain Filtering Now some matrix manipulation… : Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Frequency Domain Filtering A subband processing (8-channel filter bank) representation of this is... Analysis bank: Synthesis bank: Subband processing: This is a 2N-channel filter bank, with N-fold downsampling. The analysis filter bank is a 2N-channel uniform DFT filter bank. The synthesis bank is (different, but) matched to the analysis bank, for PR under 2-fold oversampling. u[k] 4 + y[k] Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Frequency Domain Filtering This is known as an `overlap-save’ realization : Analysis bank: performs 2N-point DFT (FFT) of a block of (N=4) samples, together with the previous block of (N) samples (hence `overlap’) Synthesis bank: performs 2N-point IDFT (IFFT), throws away the first half of the result, saves the second half (hence `save’) Subband processing corresponds to `frequency domain’ operations (see next slide) `Overlap-add’ can be similarly derived (try it!) `block’ `previous block’ `throw away’ `save’ Version 2006-2007 Lecture-8 Filter Banks – Special Topics
Frequency Domain Filtering Standard `Overlap-add’ and `overlap-save’ realizations are derived when 0th order poly-phase components are used in the above derivation, i.e. each poly-phase component represents 1 tap of an N-tap filter T(z). The corresponding 0th order subband processing (H) then corresponds to what is usually referred to as the `component-wise multiplication’ in the frequency domain. Note that for an N-tap filter, with large N, this leads to a cheap realization based on FFT/IFFTs instead of DFT/IDFTs. However, for large N, as 2N-point FFT/IFFTs are needed, this may also lead to an unacceptably large processing delay (latency) between filter input and output. In the more general case, with higher-order polyphase components (hence N smaller than the filter length), a smaller complexity reduction is achieved, but the processing delay is also smaller. This provides an interesting trade-off between complexity reduction and latency. Version 2006-2007 Lecture-8 Filter Banks – Special Topics