Please refer to this github repository for updated implementations.
PSMFB is a Matlab/Octave package for Periodic Sequences Modulated Filter Bank design (Enclosed report is outdated. Please check https://doi.org/10.1109/LSP.2018.2810833 for more accurate descriptions.). It supports the design of any periodic sequences modulated filter banks with any arbitrary but feasible design requirements, e.g., analysis filter length, synthesis filter length, system delay, decimation ratio, phase linearity, different types of symmetry between analysis and synthesis filters, different design weights on analysis and synthesis filters, etc.. It uses a Newton's method for optimization, and converges fast. Filter bank design and usage examples in this package include:
DFT modulated filter bank
Window design for STFT
Generalized DFT modulated filter bank
Cosine/sine modulated filter bank
Window design for modified DCT
Wavelet/QMF (critically decimated DFT filterbank with T=2)
You can define your own designs as well. Designs and implementations of the odd-stacked cosine modulated filter bank by our framework is simpler than those given in some papers/textbooks, while keeping equal or better performance when only nearly perfect reconstruction is required.
These slides present designs examples on how to tradeoff among latency, aliasing and design condition number. The Tensorflow/Pytorch implementations can create filter bank classes from the filter bank objects designed by Matlab/Octave scripts to make end-to-end differentiable time-frequency analysis /processing as easy as the standard STFT.