Polyphase matrix
≈ 6 min read
Names in other languages
No names in other languages are held for this entry yet.
Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.
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 \scriptstyle h,\, g are two filters, then one level the traditional wavelet transform maps an input signal \scriptstyle a_0 to two output signals \scriptstyle a_1,\, d_1 , each of the half length: : \begin{align} a_1 &= (h \cdot a_0) \downarrow 2 \\ d_1 &= (g \cdot a_0) \downarrow 2 \end{align} Note, that the dot means polynomial multiplication; i.e., convolution and \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: : \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} The arrows \scriptstyle\leftarrow and \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.…
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 \scriptstyle h,\, g are two filters, then one level the traditional wavelet transform maps an input signal \scriptstyle a_0 to two output signals \scriptstyle a_1,\, d_1 , each of the half length: \begin{align} a_1 &= (h \cdot a_0) \downarrow 2 \\ d_1 &= (g \cdot a_0) \downarrow 2 \end{align} Note, that the dot means polynomial multiplication; i.e., convolution and \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: \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} The arrows \scriptstyle\leftarrow and \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. \delta = (\dots, 0, 0, \underset{0-\mbox{th position}}{1}, 0, 0, \dots) The wavelet transformation reformulated to the split filters is: \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} This can be written as matrix-vector-multiplication \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} This matrix \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. \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} By Cramer's rule the inverse of \scriptstyle P can be given immediately. 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} P^* = \begin{pmatrix} h_\mbox{e}^* & g_\mbox{e}^* \\ h_\mbox{o}^* \leftarrow 1 & g_\mbox{o}^* \leftarrow 1 \end{pmatrix} It implies, that the Euclidean norm of the input signals is preserved. That is, the according wavelet transform is an isometry. \left\|a_1\right\|_2^2 + \left\|d_1\right\|_2^2 = \left\|a_0\right\|_2^2 The orthogonality condition P \cdot P^* = I can be written out \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} 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} This is a special case of the n\times n matrix where the operator norm can be obtained via z transform and the spectral radius of a matrix or the according spectral norm. \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} A signal, where these bounds are assumed can be derived from the eigenvector corresponding to the maximizing and minimizing eigenvalue.
Text derived from https://en.wikipedia.org/w/index.php?oldid=1292391132 under CC BY-SA 4.0; modifications have been made.