Near Perfect Reconstruction Polyphase Filterbank

A near perfect reconstruction polyphase filterbank with two times oversampling for high resolution spectral analysis and filtering.
Updated 15 Aug 2022

View License

This set of files can be used to construct a polyphase filter bank with near perfect reconstruction. The filter bank is implemented using two uniformly modulated DFT filter banks that are frequency shifted by 1/2 channel width. Effectively, two-times oversampling is used.
The number of channels must be a multiple of two. The number of taps per channel can be freely selected. A script is provided for designing the prototype filter, which is based on a 'root-raised-error-function'. The prototype has exactly linear phase.
With 128 taps per channel an average reconstruction error of -300 dB can be achieved. Channel separation is better than 150 dB for neighboring channels, and better than 300 dB for channels that are further apart. This is much better than what can typically be achieved with matlabs builtin spectrogram function.
The processing speed is around 1 MSamples/second. With enough memory, a large number of channels (e.g. 64K) is feasible.

Cite As

Wessel Lubberhuizen (2024). Near Perfect Reconstruction Polyphase Filterbank (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2007a
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

- improved comments and cleaned up code.
- simplified the frequency shifting.
- added comparison with spectrogram function.

improved prototype filter design method to achieve -300 dB reconstruction error.

removed dependency on Filter Design toolbox

Minor usability enhancements.