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:
(12.49) |
or
(12.50) |
which we can write as
(12.51) |
Similarly, expand the synthesis filters in a type II polyphase decomposition:
(12.52) |
or
(12.53) |
which we can write as
(12.54) |
The polyphase representation can now be depicted as shown in Fig.11.21. When , commuting the up/downsamplers gives the result shown in Fig.11.22. We call the polyphase matrix.
As we will show below, the above simplification can be carried out more generally whenever divides (e.g., ). In these cases becomes and becomes .
Simple Examples of Perfect Reconstruction
If we can arrange to have
(12.55) |
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
(12.56) |
and we have perfect reconstruction.
Sliding Polyphase Filter Bank
When , there is no downsampling or upsampling, and the system further reduces to the case shown in Fig.11.24. Working backward along the output delay chain, the output sum can be written as
Thus, when , the output is
(12.57) |
and we again have perfect reconstruction.
Hopping Polyphase Filter Bank
When and divides , we have, by a similar analysis,
(12.58) |
which is again perfect reconstruction. Note the built-in overlap-add when .
Sufficient Condition for Perfect Reconstruction
Above, we found that, for any integer which divides , a sufficient condition for perfect reconstruction is
(12.59) |
and the output signal is then
(12.60) |
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
(12.62) |
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.
Necessary and Sufficient Conditions for Perfect Reconstruction
It can be shown [287] that the most general conditions for perfect reconstruction are that
(12.63) |
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
(12.64) |
Thus, the general case is the same thing as
(12.65) |
except for some channel swapping and an extra sample of delay in some channels.
Polyphase View of the STFT
As a familiar special case, set
(12.66) |
where is the DFT matrix:
(12.67) |
The inverse of this polyphase matrix is then simply the inverse DFT matrix:
(12.68) |
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
(12.69) |
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
We may convert the previous example to a weighted overlap-add (WOLA) (§8.6) filter bank by replacing each by and introducing these gains also between the and upsamplers, as shown in Fig.11.27.
Next Section:
Paraunitary Filter Banks
Previous Section:
Critically Sampled Perfect Reconstruction Filter Banks