DSP-CIS Part-IV : Filter Banks & Subband Systems Chapter-12 : Frequency Domain Filtering Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven

Slides:



Advertisements
Similar presentations
DSP C5000 Chapter 16 Adaptive Filter Implementation Copyright © 2003 Texas Instruments. All rights reserved.
Advertisements

Digital Filter Banks The digital filter bank is set of bandpass filters with either a common input or a summed output An M-band analysis filter bank is.
DSP-CIS Chapter-5: Filter Realization
DFT and FFT FFT is an algorithm to convert a time domain signal to DFT efficiently. FFT is not unique. Many algorithms are available. Each algorithm has.
August 2004Multirate DSP (Part 2/2)1 Multirate DSP Digital Filter Banks Filter Banks and Subband Processing Applications and Advantages Perfect Reconstruction.
Adaptive IIR Filter Terry Lee EE 491D May 13, 2005.
DSP-CIS Chapter-3: Acoustic Modem Project Marc Moonen Dept. E.E./ESAT, KU Leuven
DSP-CIS Chapter-3: Acoustic Modem Project Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven
ECE 8443 – Pattern Recognition ECE 8423 – Adaptive Signal Processing Objectives: The FIR Adaptive Filter The LMS Adaptive Filter Stability and Convergence.
ECE 8443 – Pattern Recognition ECE 8423 – Adaptive Signal Processing Objectives: Newton’s Method Application to LMS Recursive Least Squares Exponentially-Weighted.
Linear Transformations
Chapter 8: The Discrete Fourier Transform
MM3FC Mathematical Modeling 3 LECTURE 6 Times Weeks 7,8 & 9. Lectures : Mon,Tues,Wed 10-11am, Rm.1439 Tutorials : Thurs, 10am, Rm. ULT. Clinics : Fri,
1 Copyright © 2001, S. K. Mitra Polyphase Decomposition The Decomposition Consider an arbitrary sequence {x[n]} with a z-transform X(z) given by We can.
20 October 2003WASPAA New Paltz, NY1 Implementation of real time partitioned convolution on a DSP board Enrico Armelloni, Christian Giottoli, Angelo.
6 1 Linear Transformations. 6 2 Hopfield Network Questions.
Frequency-Domain Adaptive Filters Wu, Yihong EE 491D
DSP-CIS Chapter-7: Introduction to Multi-rate Systems & Filter Banks
1 Chapter 2 Matrices Matrices provide an orderly way of arranging values or functions to enhance the analysis of systems in a systematic manner. Their.
Adaptive Signal Processing
Normalised Least Mean-Square Adaptive Filtering
Dept. E.E./ESAT-STADIUS, KU Leuven homes.esat.kuleuven.be/~moonen/
Digital Audio Signal Processing Lecture-4: Acoustic Echo Cancellation Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven homes.esat.kuleuven.be/~moonen/
H 0 (z) x(n)x(n) o(n)o(n) M G 0 (z) M + vo(n)vo(n) yo(n)yo(n) H 1 (z) 1(n)1(n) M G 1 (z) M v1(n)v1(n) y1(n)y1(n) fo(n)fo(n) f1(n)f1(n) y(n)y(n) Figure.
Chapter 10 Review: Matrix Algebra
Eigenvalue Problems Solving linear systems Ax = b is one part of numerical linear algebra, and involves manipulating the rows of a matrix. The second main.
DSP-CIS Chapter-7: Filter Banks -Preliminaries
Introduction to Adaptive Digital Filters Algorithms
DSP-CIS Chapter-5: Filter Realization Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven
DSP-CIS Chapter 10: Cosine-Modulated Filter Banks & Special Topics
CHAPTER 8 DSP Algorithm Implementation Wang Weilian School of Information Science and Technology Yunnan University.
4/5/00 p. 1 Postacademic Course on Telecommunications Module-3 Transmission Marc Moonen Lecture-6 Adaptive Equalization K.U.Leuven/ESAT-SISTA Module-3.
Nico De Clercq Pieter Gijsenbergh Noise reduction in hearing aids: Generalised Sidelobe Canceller.
6 1 Linear Transformations. 6 2 Hopfield Network Questions The network output is repeatedly multiplied by the weight matrix W. What is the effect of this.
Digital Signal Processing II Lecture 9: Filter Banks - Special Topics Marc Moonen Dept. E.E./ESAT, K.U.Leuven
Chapter 6 Digital Filter Structures
DSP-CIS Chapter-8: Maximally Decimated PR-FBs Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven
1 BIEN425 – Lecture 8 By the end of the lecture, you should be able to: –Compute cross- /auto-correlation using matrix multiplication –Compute cross- /auto-correlation.
Copyright © 2001, S. K. Mitra Digital Filter Structures The convolution sum description of an LTI discrete-time system be used, can in principle, to implement.
P. 1 DSP-II Digital Signal Processing II Lecture 3: Filter Realization Marc Moonen Dept. E.E./ESAT, K.U.Leuven homes.esat.kuleuven.ac.be/~moonen/
CHAPTER 4 Adaptive Tapped-delay-line Filters Using the Least Squares Adaptive Filtering.
Zhongguo Liu_Biomedical Engineering_Shandong Univ. Chapter 8 The Discrete Fourier Transform Zhongguo Liu Biomedical Engineering School of Control.
Unit-V DSP APPLICATIONS. UNIT V -SYLLABUS DSP APPLICATIONS Multirate signal processing: Decimation Interpolation Sampling rate conversion by a rational.
Professor A G Constantinides 1 Interpolation & Decimation Sampling period T, at the output Interpolation by m: Let the OUTPUT be [i.e. Samples exist at.
P. 1 DSP-II Digital Signal Processing II Lecture 7: Modulated Filter Banks Marc Moonen Dept. E.E./ESAT, K.U.Leuven homes.esat.kuleuven.be/~moonen/
DSP-CIS Chapter-7: Filter Banks -Preliminaries Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven
DSP-CIS Chapter-9: Modulated Filter Banks Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven /
ECE 5525 Osama Saraireh Fall 2005 Dr. Veton Kepuska
ECE 8443 – Pattern Recognition ECE 8423 – Adaptive Signal Processing Objectives: Derivation Computational Simplifications Stability Lattice Structures.
Inverse DFT. Frequency to time domain Sometimes calculations are easier in the frequency domain then later convert the results back to the time domain.
Dept. E.E./ESAT-STADIUS, KU Leuven
DSP-CIS Chapter-13: Least Mean Squares (LMS) Algorithm Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven
OR Chapter 7. The Revised Simplex Method  Recall Theorem 3.1, same basis  same dictionary Entire dictionary can be constructed as long as we.
Linear filtering based on the DFT
Dept. E.E./ESAT-STADIUS, KU Leuven homes.esat.kuleuven.be/~moonen/
DSP-CIS Part-IV : Filter Banks & Subband Systems Chapter-10 : Filter Bank Preliminaries Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven
P. 1 DSP-II Digital Signal Processing II Lecture 6: Maximally Decimated Filter Banks Marc Moonen Dept. E.E./ESAT, K.U.Leuven
Digital Signal Processing II Lecture 7: Maximally Decimated Filter Banks Marc Moonen Dept. E.E./ESAT, K.U.Leuven
ELEC692 VLSI Signal Processing Architecture Lecture 12 Numerical Strength Reduction.
P. 1 DSP-II Digital Signal Processing II Lecture 3: Filter Realization Marc Moonen Dept. E.E./ESAT, K.U.Leuven homes.esat.kuleuven.ac.be/~moonen/
DSP-CIS Part-III : Optimal & Adaptive Filters Chapter-9 : Kalman Filters Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven
DSP-CIS Chapter 6: Filter Banks - Preliminaries Marc Moonen Dept. E.E./ESAT, K.U.Leuven
Digital Signal Processing II Lecture 8: Filter Banks - Special Topics
Equalization in a wideband TDMA system
Digital Audio Signal Processing DASP Lecture-5:
Lecture 16 Outline: Linear Convolution, Block-by Block Convolution, FFT/IFFT Announcements: HW 4 posted, due tomorrow at 4:30pm. No late HWs as solutions.
Quadrature-Mirror Filter Bank
Chapter 8 The Discrete Fourier Transform
DSP-CIS Chapter 8: Modulated Filter Banks
Digital Signal Processing II Lecture 3: Filter Realization
Presentation transcript:

DSP-CIS Part-IV : Filter Banks & Subband Systems Chapter-12 : Frequency Domain Filtering Marc Moonen Dept. E.E./ESAT-STADIUS, KU Leuven

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 2 Filter Bank Preliminaries Filter Bank Design Frequency Domain Filtering Frequency Domain FIR Filter Realization Frequency Domain Adaptive Filtering Transmultiplexers Time-Frequency Analysis & Scaling Chapter-10 Chapter-11 Chapter-12 Part-IV : Filter Banks & Subband Systems Chapter-14 Chapter-13

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 3 FIR Filter Realization =Construct (realize) LTI system (with delay elements, adders and multipliers), such that I/O behavior is given by.. Several possibilities exist… 1. Direct form 2. Transposed direct form 3. Lattice realization (LPC lattice) 4. Lossless lattice realization 5. Frequency domain realization: see Part IV Return to Chapter-5 

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 4 Frequency Domain FIR Filter Realization 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 The eigenvalue decomposition of a circulant matrix is always given as... (4x4 example) with F the DFT-matrix. This means that the eigenvectors are equal to the column-vectors of the IDFT-matrix, and that then eigenvalues are obtained as the DFT of the first column of the circulant matrix (proof by Matlab)

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 5 Frequency Domain FIR Filter Realization FIR Filter Realization (example filter length =L+1=4, similar for other L) Consider a 'block processing’ where a block of L B (=‘block length’) output samples are computed at once, and consider L B =L+1:

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 6 Frequency Domain FIR Filter Realization Now some matrix manipulation…

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 7 Frequency Domain FIR Filter Realization This means that a block of L B =L+1 output samples can be computed as follows (read previous formula from right to left) : –Compute DFT of 2(L+1) input samples, i.e. last (L+1) samples combined (‘overlapped’) with previous (L+1) samples –Perform component-wise multiplication with… (=freq.domain representation of the FIR filter) –Compute IDFT –Throw away 1 st half of result, select (‘save’) 2 nd half This is referred to as an ‘overlap-save’ procedure (and ‘frequency domain filter realization’ because of the DFT/IDFT)

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 8 Frequency Domain FIR Filter Realization Overlap-save procedure is very efficient for large L : –Computational complexity (with FFT/IFFT i.o. DFT/IDFT) is 2.[α.2(L+1).log(2(L+1))] + 2(L+1) multiplications for (L+1) output samples, i.e. O(log(L)) per sample for large L –Compare to computational complexity for direct form realization: (L+1) multiplications per output sample, i.e. O(L) per sample  Overlap-save procedure introduces O(L) processing delay/latency (e.g. y[k-L] only available sometime after time k) Conclusion: For large L, complexity reduction is large, but latency is also large Will derive ‘intermediate’ realizations, with a smaller latency at the expense of a smaller complexity reduction. This will be based on an N th order polyphase decomposition of B(z)…

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 9 Frequency Domain FIR Filter Realization A compact derivation will rely on a result from filter bank theory (return to Chapter-10…) (…and now let B(z) take the place of T(z)) This means that a filter (specified with N th order polyphase decomposition) can be realized in a multirate structure, based on a pseudo-circulant matrix T(z)*u[k-3] u[k] PS: formulas given for N=4, for conciseness (but without loss of generality)

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 10 Frequency Domain FIR Filter Realization Now some matrix manipulation… (compare to p.6)

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 11 Frequency Domain FIR Filter Realization An (8-channel) filter bank representation of this is... Analysis bank: Subband processing: Synthesis bank: This is a 2N-channel filter bank, with N-fold downsampling The analysis FB is a 2N-channel uniform DFT filter bank (see Chapter 10) The synthesis FB is matched to the analysis bank, for PR: u[k] y[k]

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 12 Frequency Domain FIR Filter Realization This is again 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 1 st half of the result, saves the 2 nd half (hence `save’) –Subband processing corresponds to `frequency domain’ operation Complexity/latency? See p.15… `block’ `previous block’ `save’`throw away’

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 13 Frequency Domain FIR Filter Realization Derivation on p.10 can also be modified as follows…

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 14 Frequency Domain FIR Filter Realizationng This is known as an `overlap-add’ realization : –Analysis bank: performs 2N-point DFT (FFT) of a block of (N=4) samples, padded with N zero samples –Synthesis bank: performs 2N-point IDFT (IFFT), adds 2 nd half of the result to 1 st half of previous IDFT (hence `add’) –Subband processing corresponds to `frequency domain’ operation `block’ `zero padding’ `add’`overlap’

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 15 Frequency Domain FIR Filter Realization Computational complexity is (with FFT/IFFT i.o. DFT/IDFT, plus subband processing) 2.[α.2N.log(2N)] + 2(L+1) multiplications for N output samples, i.e. O(log(N))+O(L/N) per sample For large N≈L this is O(log(L)) i.e. dominated by FFT/IFFT (cheap!)  For N<<L this is O(L), i.e. dominated by subband processing Processing delay/latency is O(N) Standard `overlap-add’ and `overlap-save’(=p.7) realizations are derived when 0 th order poly-phase components are used in the above derivation (N=L+1, i.e. each poly-phase component has only 1 filter coefficient). For large L, this leads to a large complexity reduction, but also a large latency (=O(L)) In the more general case, with higher-order polyphase components (N 1 filter coefficients) a smaller complexity reduction is achieved, but the latency is also smaller (=O(N)).

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 16 A similar derivation can be made for LMS-based adaptive filtering with block processing ('Block-LMS'). The adaptive filter then consist in a filtering operation plus an adaptation operation, which corresponds to a correlation operation. Both operations can be performed cheaply in the frequency domain.. Starting point is the LMS update equation Frequency Domain Adaptive Filtering

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 17 Frequency Domain Adaptive Filtering Consider block processing with so-called 'Block-LMS' Remember that LMS is a ‘stochastic gradient’ algorithm, where instantaneous estimates of the autocorrelation matrix and cross- correlation vector are used to compute a gradient (=steepest descent vector) Block-LMS uses averaged estimates, with averaging over a block of L B (=‘block length’) samples, and hence an averaged gradient. The update formula is then.. where n is the block index Compared to LMS, Block-LMS does fewer updates (one per L B samples), but with (presumably) better gradient estimates. Overall, convergence could be faster or slower (=unpredictable). The important thing is that Block-LMS can be realized cheaply…

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 18 Frequency Domain Adaptive Filtering Will consider case where block length L B = filter length = L+1 The update formulas are then given as follows 1) Compute a priori residuals (example L B =L+1=4, similar for other L) with W i =… =frequency domain filtering

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 19 Frequency Domain Adaptive Filtering Will consider case where block length L B =filter length =L+1 The update formulas are then given as follows 2) Filter update (example L B =L+1=4, similar for other L) =frequency domain correlation with E i =…

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 20 Frequency Domain Adaptive Filtering This is referred to as FDAF (’Frequency Domain Adaptive Filtering’) FDAF is functionally equivalent to Block-LMS (but cheaper, see below) Convergence : Instead of using one and the same stepsize  for all ‘frequency bins’, frequency dependent stepsizes can be applied.. –In the update formula,  is removed and E i is replaced by  i.E i –Stepsize  i dependent on the energy in the i th frequency bin –Leads to increased convergence speed at only a small extra cost

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 21 Frequency Domain Adaptive Filtering This is referred to as FDAF (’Frequency Domain Adaptive Filtering’) Complexity ≈ 5 (I)FFT’s (size 2(L+1)) per block of L+1 output samples (check!) Hence for large L, FDAF is very efficient/cheap, only O(log(L)) multiplications per output sample (compared to O(L) for (Block-) LMS) Example: L B =L+1=1024, then ! Processing delay/latency is again O(L). Example: L B =L+1=1024 and f s =8000Hz, then delay is 256 ms ! In cases where this is objectionable (e.g. acoustic echo cancellation), need ‘intermediate’ algorithms with smaller latency and smaller complexity reduction, based on a polyphase decomposition… (read on)

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 22 Frequency Domain Adaptive Filtering For large L, a block length of L B =L+1 may lead to a too large latency If a N th order polyphase decomposition of the adaptive filter is considered (hence with L P +1=(L+1)/N coefficients per polyphase component), then a frequency domain adaptive filtering algorithm with block length L B =N can derived as follows... (where “N takes the place of L+1”) Example L B =N=4, i.e. (as on p.9) with

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 23 Frequency Domain Adaptive Filtering (compare to p.18-19) The update formulas are given as follows 1) Compute a priori residuals (example L B =N=4, similar for other N) with P i j =…

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 24 Frequency Domain Adaptive Filtering (compare to p.18-19) The update formulas are given as follows 2) Filter update (example L B =N=4, similar for other N)

DSP-CIS 2015 / Part IV / Chapter-12: Frequency Domain Filtering p. 25 Frequency Domain Adaptive Filtering This is referred to as PB-FDAF (’Partitioned Block Frequency Domain Adaptive Filtering’) PB-FDAF is functionally equivalent to Block-LMS Complexity ≈ 3+2(L P +1) (I)FFT’s (size 2N)) per block of N output samples (check!) Example: L+1=1024, N=128, then ! Processing delay/latency is O(N). Example: L+1=1024, N=128 and f s =8000Hz, then delay is 32 ms (used in commercial acoustic echo cancellers)