Polyphase matrix

From HandWiki

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.[1]

If [math]\displaystyle{ \scriptstyle h,\, g }[/math] are two filters, then one level the traditional wavelet transform maps an input signal [math]\displaystyle{ \scriptstyle a_0 }[/math] to two output signals [math]\displaystyle{ \scriptstyle a_1,\, d_1 }[/math], each of the half length:

[math]\displaystyle{ \begin{align} a_1 &= (h \cdot a_0) \downarrow 2 \\ d_1 &= (g \cdot a_0) \downarrow 2 \end{align} }[/math]

Note, that the dot means polynomial multiplication; i.e., convolution and [math]\displaystyle{ \scriptstyle\downarrow }[/math] 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:

[math]\displaystyle{ \begin{align} h_\mbox{e} &= h \downarrow 2 & a_{0,\mbox{e}} &= a_0 \downarrow 2 \\ h_\mbox{o} &= (h \leftarrow 1) \downarrow 2 & a_{0,\mbox{o}} &= (a_0 \leftarrow 1) \downarrow 2 \end{align} }[/math]

The arrows [math]\displaystyle{ \scriptstyle\leftarrow }[/math] and [math]\displaystyle{ \scriptstyle\rightarrow }[/math] 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.

[math]\displaystyle{ \delta = (\dots, 0, 0, \underset{0-\mbox{th position}}{1}, 0, 0, \dots) }[/math]

The wavelet transformation reformulated to the split filters is:

[math]\displaystyle{ \begin{align} a_1 &= h_\mbox{e} \cdot a_{0,\mbox{e}} + h_\mbox{o} \cdot a_{0,\mbox{o}} \rightarrow 1 \\ d_1 &= g_\mbox{e} \cdot a_{0,\mbox{e}} + g_\mbox{o} \cdot a_{0,\mbox{o}} \rightarrow 1 \end{align} }[/math]

This can be written as matrix-vector-multiplication

[math]\displaystyle{ \begin{align} P &= \begin{pmatrix} h_\mbox{e} & h_\mbox{o} \rightarrow 1 \\ g_\mbox{e} & g_\mbox{o} \rightarrow 1 \end{pmatrix} \\ \begin{pmatrix} a_1 \\ d_1 \end{pmatrix} &= P \cdot \begin{pmatrix} a_{0,\mbox{e}} \\ a_{0,\mbox{o}} \end{pmatrix} \end{align} }[/math]

This matrix [math]\displaystyle{ \scriptstyle P }[/math] 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.

Properties

The representation of sub-band coding by the polyphase matrix is more than about write simplification. It allows the adaptation of many results from matrix theory and module theory. The following properties are explained for a [math]\displaystyle{ \scriptstyle 2 \,\times\, 2 }[/math] matrix, but they scale equally to higher dimensions.

Invertibility/perfect reconstruction

The case that a polyphase matrix allows reconstruction of a processed signal from the filtered data, is called perfect reconstruction property. Mathematically this is equivalent to invertibility. According to the theorem of invertibility of a matrix over a ring, the polyphase matrix is invertible if and only if the determinant of the polyphase matrix is a Kronecker delta, which is zero everywhere except for one value.

[math]\displaystyle{ \begin{align} \det P &= h_{\mbox{e}} \cdot g_{\mbox{o}} - h_{\mbox{o}} \cdot g_{\mbox{e}} \\ \exists A\ A \cdot P &= I \iff \exists c\ \exists k\ \det P = c \cdot \delta \rightarrow k \end{align} }[/math]

By Cramer's rule the inverse of [math]\displaystyle{ \scriptstyle P }[/math] can be given immediately.

[math]\displaystyle{ P^{-1} \cdot \det P = \begin{pmatrix} g_\mbox{o} \rightarrow 1 & - h_\mbox{o} \rightarrow 1 \\ -g_\mbox{e} & h_\mbox{e} \end{pmatrix} }[/math]

Orthogonality

Orthogonality means that the adjoint matrix [math]\displaystyle{ \scriptstyle P^* }[/math] is also the inverse matrix of [math]\displaystyle{ \scriptstyle P }[/math]. The adjoint matrix is the transposed matrix with adjoint filters.

[math]\displaystyle{ P^* = \begin{pmatrix} h_\mbox{e}^* & g_\mbox{e}^* \\ h_\mbox{o}^* \leftarrow 1 & g_\mbox{o}^* \leftarrow 1 \end{pmatrix} }[/math]

It implies, that the Euclidean norm of the input signals is preserved. That is, the according wavelet transform is an isometry.

[math]\displaystyle{ \left\|a_1\right\|_2^2 + \left\|d_1\right\|_2^2 = \left\|a_0\right\|_2^2 }[/math]

The orthogonality condition

[math]\displaystyle{ P \cdot P^* = I }[/math]

can be written out

[math]\displaystyle{ \begin{align} h_\mbox{e}^* \cdot h_\mbox{e} + h_\mbox{o}^* \cdot h_\mbox{o} &= \delta \\ g_\mbox{e}^* \cdot g_\mbox{e} + g_\mbox{o}^* \cdot g_\mbox{o} &= \delta \\ h_\mbox{e}^* \cdot g_\mbox{e} + h_\mbox{o}^* \cdot g_\mbox{o} &= 0 \end{align} }[/math]

Operator norm

For non-orthogonal polyphase matrices the question arises what Euclidean norms the output can assume. This can be bounded by the help of the operator norm.

[math]\displaystyle{ \forall x\ \left\|P \cdot x\right\|_2 \in \left[\left\|P^{-1}\right\|_2^{-1} \cdot \|x\|_2, \|P\|_2 \cdot \|x\|_2\right] }[/math]

For the [math]\displaystyle{ \scriptstyle 2 \,\times\, 2 }[/math] polyphase matrix the Euclidean operator norm can be given explicitly using the Frobenius norm [math]\displaystyle{ \scriptstyle\|\cdot\|_F }[/math] and the z transform [math]\displaystyle{ \scriptstyle Z }[/math]:[2]

[math]\displaystyle{ \begin{align} p(z) &= \frac{1}{2} \cdot \left\|Z P(z)\right\|_F^2 \\ q(z) &= \left|\det [Z P(z)]\right|^2 \\ \|P\|_2 &= \max\left\{\sqrt{p(z) + \sqrt{p(z)^2 - q(z)}} : z\in\mathbb{C}\ \land\ |z| = 1\right\} \\ \left\|P^{-1}\right\|_2^{-1} &= \min\left\{\sqrt{p(z) - \sqrt{p(z)^2 - q(z)}} : z\in\mathbb{C}\ \land\ |z| = 1\right\} \end{align} }[/math]

This is a special case of the [math]\displaystyle{ n\times n }[/math] matrix where the operator norm can be obtained via z transform and the spectral radius of a matrix or the according spectral norm.

[math]\displaystyle{ \begin{align} \left\|P\right\|_2 &= \sqrt{\max\left\{\lambda_\text{max} \left[Z P^*(z) \cdot Z P(z)\right] : z\in\mathbb{C}\ \land\ |z| = 1\right\}} \\ &= \max\left\{\left\|Z P(z)\right\|_2 : z\in\mathbb{C}\ \land\ |z| = 1\right\} \\[3pt] \left\|P^{-1}\right\|_2^{-1} &= \sqrt{\min\left\{\lambda_\text{min}\left[Z P^*(z) \cdot Z P(z)\right] : z\in\mathbb{C}\ \land\ |z| = 1\right\}} \end{align} }[/math]

A signal, where these bounds are assumed can be derived from the eigenvector corresponding to the maximizing and minimizing eigenvalue.

Lifting scheme

The concept of the polyphase matrix allows matrix decomposition. For instance the decomposition into addition matrices leads to the lifting scheme.[3] However, classical matrix decompositions like LU and QR decomposition cannot be applied immediately, because the filters form a ring with respect to convolution, not a field.

References

  1. Strang, Gilbert; Nguyen, Truong (1997). Wavelets and Filter Banks. Wellesley-Cambridge Press. ISBN 0-9614088-7-1. https://archive.org/details/waveletsfilterba00stra. 
  2. Thielemann, Henning (2001). Adaptive construction of wavelets for image compression (Diploma thesis). Martin-Luther-Universität Halle-Wittenberg, Fachbereich Mathematik/Informatik. Archived from the original on 2011-07-18. Retrieved 2006-11-10.
  3. Daubechies, Ingrid; Sweldens, Wim (1998). "Factoring wavelet transforms into lifting steps". J. Fourier Anal. Appl. 4 (3): 245–267. doi:10.1007/BF02476026. Archived from the original on 2006-12-07. https://web.archive.org/web/20061207025713/http://cm.bell-labs.com/who/wim/papers/factor/index.html.