Fast Subband Adaptive Filtering (FSAF)

Theory and applications of Fast Subband Adaptive Filtering, including Near Perfect Reconstruction Open Loop Delayless FSAF.
Updated 17 Sep 2022

View License

The set of new techniques, summarily named FSAF, is faster in all respects: converging faster, taking less MIPS, having lower processing latency, etc. FSAF allows nesting / recomposing of the subband architecture, to facilitate efficient fast converging low-latency low MIPS applications for AEC, Dereverberation, Feedback Cancellation, ANC, etc.
The RLS Joint Time-Frequency initialization is discussed in detail. At this time, it appears to be the MA/FIR recursive generalization of kernel-based regularization a.k.a. kernel methods a.k.a. ReLS (see System Identification Toolbox for more details). Extensive simulations and some convergence Eigen spectrum-based analysis are in Part II. Part IV contains practical examples of real-life adaptive signal processing, with AEC converging within the first utterance before a word ends.
A new class of sub-optimal adaptive algorithms called Diagonal Least Squares (DLS) is introduced, to be integrated into audio applications. Meta-adaptive algorithms are discussed.
FSAF, besides usual per-subband processing, can be used to solve arbitrary high dimension system identification problems in a divide and conquer style, including Near Perfect Reconstruction Open Loop Delayless FSAF. For any predefined precision δ, FSAF solves M smaller, better-conditioned problems in subbands, using either RLS or diagonal/scalar step-size algorithms like Kaczmarz a.k.a. [N]LMS ((~1/(M + o(1/δp)): LMS; ~1/(M + o(1/δp))^2:RLS less MIPS vs full-band), and converts them back to the original full-band time domain with required precision δ.

Cite As

Michael Zrull (2020). Fast Subband Adaptive Filtering (FSAF) (<...>), MATLAB Central File Exchange. Retrieved November 25, 2020.

MATLAB Release Compatibility
Created with R2019b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes

Bug fixes


Version 2.0 is a major code clean-up and correction of poor verbalizations in the documentation. It adds missed .wav files, FSAF Loudspeakers / Room Measurements (Audio Toolbox required), radars, etc.


1) old terminology is replaced with ReLS, kernel-based.
2) ReLS is used to design a synthesis filter.


fixed minor bugs and added relation to kernel methods