Subband Adaptive Filtering
Contents
About the authors
Preface
Acknowledgments
List of symbols
List of abbreviations
1 Introduction to adaptive filters
1.1 Adaptive filtering
1.2 Adaptive transversal filters
1.3 Performance surfaces
1.4 Adaptive algorithms
1.5 Spectral dynamic range and misadjustment
1.6 Applications of adaptive filters
1.6.1 Adaptive system identification
1.6.2 Adaptive prediction
1.6.3 Adaptive inverse modeling
1.6.4 Adaptive array processing
1.6.5 Summary of adaptive filtering applications
1.7 Transform-domain and subband adaptive filters
1.7.1 Transform-domain adaptive filters
1.7.2 Subband adaptive filters
1.8 Summary
References
2 Subband decomposition and multirate systems
2.1 Multirate systems
2.2 Filter banks
2.2.1 Input–output relation
2.2.2 Perfect reconstruction filter banks
2.2.3 Polyphase representation
2.3 Paraunitary filter banks
2.4 Block transforms
2.4.1 Filter bank as a block transform
2.5 Cosine-modulated filter banks
2.5.1 Design example
2.6 DFT filter banks
2.6.1 Design example
2.7 A note on cosine modulation
2.8 Summary
References
3 Second-order characterization of multirate filter banks
3.1 Correlation-domain formulation
3.1.1 Critical decimation
3.2 Cross spectrum
3.2.1 Subband spectrum
3.3 Orthogonality at zero lag
3.3.1 Paraunitary condition
3.4 Case study: Subband orthogonality of cosine-modulated filter banks
3.4.1 Correlation-domain analysis
3.4.2 MATLAB simulations
3.5 Summary
References
4 Subband adaptive filters
4.1 Subband adaptive filtering
4.1.1 Computational reduction
4.1.2 Spectral dynamic range
4.2 Subband adaptive filter structures
4.2.1 Open-loop structures
4.2.2 Closed-loop structures
4.3 Aliasing, band-edge effects and solutions
4.3.1 Aliasing and band-edge effects
4.3.2 Adaptive cross filters
4.3.3 Multiband-structured SAF
4.3.4 Closed-loop delayless structures
4.4 Delayless subband adaptive filters
4.4.1 Closed-loop configuration
4.4.2 Open-loop configuration
4.4.3 Weight transformation
4.4.4 Computational requirements
4.5 MATLAB examples
4.5.1 Aliasing and band-edge effects
4.5.2 Delayless alias-free SAFs
4.6 Summary
References
5 Critically sampled and oversampled subband structures
5.1 Variants of critically sampled subband adaptive filters
5.1.1 SAF with the affine projection algorithm
5.1.2 SAF with variable step sizes
5.1.3 SAF with selective coefficient update
5.2 Oversampled and nonuniform subband adaptive filters
5.2.1 Oversampled subband adaptive filtering
5.2.2 Nonuniform subband adaptive filtering
5.3 Filter bank design
5.3.1 Generalized DFT filter banks
5.3.2 Single-sideband modulation filter banks
5.3.3 Filter design criteria for DFT filter banks
5.3.4 Quadrature mirror filter banks
5.3.5 Pseudo-quadrature mirror filter banks
5.3.6 Conjugate quadrature filter banks
5.4 Case study: Proportionate subband adaptive filtering
5.4.1 Multiband structure with proportionate adaptation
5.4.2 MATLAB simulations
5.5 Summary
References
6 Multiband-structured subband adaptive filters
6.1 Multiband structure
6.1.1 Polyphase implementation
6.2 Multiband adaptation
6.2.1 Principle of minimal disturbance
6.2.2 Constrained subband updates
6.2.3 Computational complexity
6.3 Underdetermined least-squares solutions
6.3.1 NLMS equivalent
6.3.2 Projection interpretation
6.4 Stochastic interpretations
6.4.1 Stochastic approximation to Newton’s method
6.4.2 Weighted MSE criterion
6.4.3 Decorrelating properties
6.5 Filter bank design issues
6.5.1 The diagonal assumption
6.5.2 Power complementary filter bank
6.5.3 The number of subbands
6.6 Delayless MSAF
6.6.1 Open-loop configuration
6.6.2 Closed-loop configuration
6.7 MATLAB examples
6.7.1 Convergence of the MSAF algorithm
6.7.2 Subband and time-domain constraints
6.8 Summary
References
7 Stability and performance analysis
7.1 Algorithm, data model and assumptions
7.1.1 The MSAF algorithm
7.1.2 Linear data model
7.1.3 Paraunitary filter banks
7.2 Multiband MSE function
7.2.1 MSE functions
7.2.2 Excess MSE
7.3 Mean analysis
7.3.1 Projection interpretation
7.3.2 Mean behavior
7.4 Mean-square analysis
7.4.1 Energy conservation relation
7.4.2 Variance relation
7.4.3 Stability of the MSAF algorithm
7.4.4 Steady-state excess MSE
7.5 MATLAB examples
7.5.1 Mean of the projection matrix
7.5.2 Stability bounds
7.5.3 Steady-state excess MSE
7.6 Summary
References
8 New research directions
8.1 Recent research on filter bank design
8.2 New SAF structures and algorithms
8.2.1 In-band aliasing cancellation
8.2.2 Adaptive algorithms for the SAF
8.2.3 Variable tap lengths for the SAF
8.3 Theoretical analysis
8.4 Applications of the SAF
8.5 Further research on a multiband-structured SAF
8.6 Concluding remarks
References
Appendix A Programming in MATLAB
A.1 MATLAB fundamentals
A.1.1 Starting MATLAB
A.1.2 Constructing and manipulating matrices
A.1.3 The colon operator
A.1.4 Data types
A.1.5 Working with strings
A.1.6 Cell arrays and structures
A.1.7 MATLAB scripting with M-files
A.1.8 Plotting in MATLAB
A.1.9 Other useful commands and tips
A.2 Signal processing toolbox
A.2.1 Quick fact about the signal processing toolbox
A.2.2 Signal processing tool
A.2.3 Window design and analysis tool
A.3 Filter design toolbox
A.3.1 Quick fact about the filter design toolbox
A.3.2 Filter design and analysis tool
A.3.3 MATLAB functions for adaptive filtering
A.3.4 A case study: adaptive noise cancellation
Appendix B Using MATLAB for adaptive filtering and subband adaptive filtering
B.1 Digital signal processing
B.1.1 Discrete-time signals and systems
B.1.2 Signal representations in MATLAB
B.2 Filtering and adaptive filtering in MATLAB
B.2.1 FIR filtering
B.2.2 The LMS adaptive algorithm
B.2.3 Anatomy of the LMS code in MATLAB
B.3 Multirate and subband adaptive filtering
B.3.1 Implementation of multirate filter banks
B.3.2 Implementation of a subband adaptive filter
Appendix C Summary of MATLAB scripts, functions, examples and demos
Appendix D Complexity analysis of adaptive algorithms
Index