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.