Perfect Reconstruction Filter Banks
We now consider filter banks with an arbitrary number of channels, and ask under what conditions do we obtain a perfect reconstruction filter bank? Polyphase analysis will give us the answer readily. Let's begin with the -channel filter bank in Fig.11.20. The downsampling factor is . For critical sampling, we set .
The next step is to expand each analysis filter into its -channel ``type I'' polyphase representation:
which we can write as
Similarly, expand the synthesis filters in a type II polyphase decomposition:
which we can write as
As we will show below, the above simplification can be carried out more generally whenever divides (e.g., ). In these cases becomes and becomes .
If we can arrange to have
then the filter bank will reduce to the simple system shown in Fig.11.23.
Thus, when and , we have a simple parallelizer/serializer, which is perfect-reconstruction by inspection: Referring to Fig.11.23, think of the input samples as ``filling'' a length delay line over sample clocks. At time 0 , the downsamplers and upsamplers ``fire'', transferring (and zeros) from the delay line to the output delay chain, summing with zeros. Over the next clocks, makes its way toward the output, and zeros fill in behind it in the output delay chain. Simultaneously, the input buffer is being filled with samples of . At time , makes it to the output. At time , the downsamplers ``fire'' again, transferring a length ``buffer'' [ : ] to the upsamplers. On the same clock pulse, the upsamplers also ``fire'', transferring samples to the output delay chain. The bottom-most sample [ ] goes out immediately at time . Over the next sample clocks, the length output buffer will be ``drained'' and refilled by zeros. Simultaneously, the input buffer will be replaced by new samples of . At time , the downsamplers and upsamplers ``fire'', and the process goes on, repeating with period . The output of the -way parallelizer/serializer is therefore
and we have perfect reconstruction.
Thus, when , the output is
and we again have perfect reconstruction.
When and divides , we have, by a similar analysis,
which is again perfect reconstruction. Note the built-in overlap-add when .
Above, we found that, for any integer which divides , a sufficient condition for perfect reconstruction is
and the output signal is then
More generally, we allow any nonzero scaling and any additional delay:
where is any constant and is any nonnegative integer. In this case, the output signal is
Thus, given any polyphase matrix , we can attempt to compute : If it is stable, we can use it to build a perfect-reconstruction filter bank. However, if is FIR, will typically be IIR. In §11.5 below, we will look at paraunitary filter banks, for which is FIR and paraunitary whenever is.
It can be shown  that the most general conditions for perfect reconstruction are that
for some constant and some integer , where is any integer between 0 and .
Note that the more general form of above can be regarded as a (non-unique) square root of a vector unit delay, since
Thus, the general case is the same thing as
except for some channel swapping and an extra sample of delay in some channels.
As a familiar special case, set
where is the DFT matrix:
The inverse of this polyphase matrix is then simply the inverse DFT matrix:
Thus, the STFT (with rectangular window) is the simple special case of a perfect reconstruction filter bank for which the polyphase matrix is constant. It is also unitary; therefore, the STFT is an orthogonal filter bank.
The channel analysis and synthesis filters are, respectively,
where , and
corresponding to the rectangular window.
Looking again at the polyphase representation of the -channel filter bank with hop size , , , dividing , we have the system shown in Fig.11.25. Following the same analysis as in §11.4.1 leads to the following conclusion:
Our analysis showed that the STFT using a rectangular window is a perfect reconstruction filter bank for all integer hop sizes in the set . The same type of analysis can be applied to the STFT using the other windows we've studied, including Portnoff windows.
Example: Polyphase Analysis of the STFT with 50% Overlap, Zero-Padding, and a Non-Rectangular Window
Figure 11.26 illustrates how a window and a hop size other than can be introduced into the polyphase representation of the STFT. The constant-overlap-add of the window is implemented in the synthesis delay chain (which is technically the transpose of a tapped delay line). The downsampling factor and window must be selected together to give constant overlap-add, independent of the choice of polyphase matrices and (shown here as the and ).
Example: Polyphase Analysis of the Weighted Overlap Add Case: 50% Overlap, Zero-Padding, and a Non-Rectangular Window
Paraunitary Filter Banks
Critically Sampled Perfect Reconstruction Filter Banks