In signal processing, a polyphase matrix is a matrix whose elements are filter masks. It represents a filter bank as it is used in sub-band coders alias discrete wavelet transforms.
If h , g {\displaystyle \scriptstyle h,\,g} are two filters, then one level the traditional wavelet transform maps an input signal a 0 {\displaystyle \scriptstyle a_{0}} to two output signals a 1 , d 1 {\displaystyle \scriptstyle a_{1},\,d_{1}} , each of the half length:
Note, that the dot means polynomial multiplication; i.e., convolution and ↓ {\displaystyle \scriptstyle \downarrow } means downsampling.
If the above formula is implemented directly, you will compute values that are subsequently flushed by the down-sampling. You can avoid their computation by splitting the filters and the signal into even and odd indexed values before the wavelet transformation:
The arrows ← {\displaystyle \scriptstyle \leftarrow } and → {\displaystyle \scriptstyle \rightarrow } denote left and right shifting, respectively. They shall have the same precedence like convolution, because they are in fact convolutions with a shifted discrete delta impulse.
The wavelet transformation reformulated to the split filters is:
This can be written as matrix-vector-multiplication
This matrix P {\displaystyle \scriptstyle P} is the polyphase matrix.
Of course, a polyphase matrix can have any size, it need not to have square shape. That is, the principle scales well to any filterbanks, multiwavelets, wavelet transforms based on fractional refinements.