## 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