Free Books

Multi-Input, Multi-Output (MIMO)
Allpass Filters

To generalize lossless filters to the multi-input, multi-output (MIMO) case, we must generalize conjugation to MIMO transfer function matrices:

Theorem: A $ p\times q$ transfer function matrix $ \mathbf{H}(z)$ is lossless if and only if its frequency-response matrix $ \mathbf{H}(e^{j\omega})$ is unitary, i.e.,

$\displaystyle \mathbf{H}^*(e^{j\omega})\mathbf{H}(e^{j\omega}) = \mathbf{I}_q \protect$ (C.2)

for all $ \omega$, where $ \mathbf{I}_q$ denotes the $ q\times q$ identity matrix, and $ \mathbf{H}^\ast(e^{j\omega})$ denotes the Hermitian transpose (complex-conjugate transpose) of $ \mathbf{H}(e^{j\omega})$:

$\displaystyle \mathbf{H}^*(e^{j\omega}) \isdef \overline{\mathbf{H}^T(e^{j\omega})}

Let $ \underline{y}_p(n)$ denote the length $ p$ output vector at time $ n$, and let $ {\underline{x}}_q(n)$ denote the input $ q$-vector at time $ n$. Then in the frequency domain we have $ \underline{Y}_p(e^{j\omega})=\mathbf{H}(e^{j\omega})\underline{X}_q(e^{j\omega})$, which implies

$\displaystyle \underline{Y}_p^*\underline{Y}_p = \underline{X}_q^*\underbrace{\...
= \underline{X}^*\underline{X},


$\displaystyle \sum_{i=1}^p\left\vert Y_i(e^{j\omega})\right\vert^2 = \sum_{i=1}^q\left\vert X_i(e^{j\omega})\right\vert^2.

Integrating both sides of this equation with respect to $ \omega$ yields that the total energy in equals the total energy out, as required by the definition of losslessness.

We have thus shown that in the MIMO case, losslessness is equivalent to having a unitary frequency-response matrix. A MIMO allpass filter is therefore any filter with a unitary frequency-response matrix.

Note that $ \mathbf{H}^*(e^{j\omega})\mathbf{H}(e^{j\omega})$ is a $ q\times q$ matrix product of a $ q\times p$ times a $ p\times q$ matrix. If $ q>p$, then the rank must be deficient. Therefore, $ p\geq q$. (There must be at least as many outputs as there are inputs, but it's ok to have extra outputs.)

Paraunitary MIMO Filters

In §C.2, we generalized the allpass property $ 1=\left\vert H(e^{j\omega})\right\vert^2=H(e^{j\omega})H(e^{-j\omega})$ to the entire complex plane as

$\displaystyle {\tilde H}(z) H(z) = 1,

where $ {\tilde H}$ is defined as the paraconjugate of $ H$. In the MIMO case, the paraconjugate is the same, but including a matrix transpose operation:

MIMO Paraconjugate

Definition: The paraconjugate of $ \mathbf{H}(z)$ is defined as

$\displaystyle {\tilde{\mathbf{H}}}(z) \isdef \mathbf{H}^\ast(z^{-1})

where $ \mathbf{H}^\ast(z)$ denotes transpose of $ \mathbf{H}(z)$ followed by complex-conjugation of the coefficients within $ \mathbf{H}^T(z)$ (and not the powers of $ z$). For example, if

$\displaystyle \mathbf{H}(z)=\left[\begin{array}{c} 1+jz^{-1} \\ [2pt] 1+z^{-2} \end{array}\right]


$\displaystyle {\tilde{\mathbf{H}}}(z)=\left[\begin{array}{cc} 1-jz & 1+z^2 \end{array}\right]

MIMO Paraunitary Condition

With the above definition for paraconjugation of a MIMO transfer-function matrix, we may generalize the MIMO allpass condition Eq.$ \,$(C.2) to the entire $ z$ plane as follows:

Theorem: Every lossless $ p\times q$ transfer function matrix $ \mathbf{H}(z)$ is paraunitary, i.e.,

$\displaystyle {\tilde{\mathbf{H}}}(z) \mathbf{H}(z) = \mathbf{I}_q

By construction, every paraunitary matrix transfer function is unitary on the unit circle for all $ \omega$. Away from the unit circle, the paraconjugate $ {\tilde{\mathbf{H}}}(z)$ is the unique analytic continuation of $ \overline{\mathbf{H}^T(e^{j\omega})}$ (the Hermitian transpose of $ \mathbf{H}(e^{j\omega})$).

Example: The normalized DFT matrix is an $ N\times N$ order zero paraunitary transformation. This is because the normalized DFT matrix, $ \mathbf{W}=[W_N^{nk}]/\sqrt{N},\,n,k=0,\ldots,N-1$, where $ W_N\isdef
e^{-j2\pi/N}$, is a unitary matrix:

$\displaystyle \frac{\mathbf{W}^\ast}{\sqrt{N}} \frac{\mathbf{W}}{\sqrt{N}} = \mathbf{I}_N

Properties of Paraunitary Systems

Paraunitary systems are essentially multi-input, multi-output (MIMO) allpass filters. Let $ \mathbf{H}(z)$ denote the $ p\times q$ matrix transfer function of a paraunitary system. Some of its properties include the following [98]:

  • In the square case ($ p=q$), the matrix determinant, $ \det[\mathbf{H}(z)]$, is an allpass filter.

  • Therefore, if a square $ \mathbf{H}(z)$ contains FIR elements, its determinant is a simple delay: $ \det[\mathbf{H}(z)]=z^{-K}$ for some integer $ K$.

Properties of Paraunitary Filter Banks

An $ N$-channel filter bank can be viewed as an $ N\times 1$ MIMO filter

$\displaystyle \mathbf{H}(z) = \left[\begin{array}{c} H_1(z) \\ [2pt] H_2(z) \\ [2pt] \vdots \\ [2pt] H_N(z)\end{array}\right]

A paraunitary filter bank must therefore obey

$\displaystyle {\tilde{\mathbf{H}}}(z)\mathbf{H}(z) = 1

More generally, we allow paraunitary filter banks to scale and/or delay the input signal [98]:

$\displaystyle {\tilde{\mathbf{H}}}(z)\mathbf{H}(z) = c_K z^{-K}

where $ K$ is some nonnegative integer and $ c_K\neq 0$.

We can note the following properties of paraunitary filter banks:

  • A synthesis filter bank $ \mathbf{F}(z)$ corresponding to analysis filter bank $ \mathbf{H}(z)$ is defined as that filter bank which inverts the analysis filter bank, i.e., satisfies

    $\displaystyle \mathbf{F}(z)\mathbf{H}(z) = 1.

    Clearly, not every filter bank will be invertible in this way. When it is, it may be called a perfect reconstruction filter bank. When a filter bank transfer function $ \mathbf{H}(z)$ is paraunitary, its corresponding synthesis filter bank is simply the paraconjugate filter bank $ {\tilde{\mathbf{H}}}(z)$, or

    $\displaystyle \mathbf{F}(z) = {\tilde{\mathbf{H}}}(z).

  • The channel filters $ H_k(z)$ in a paraunitary filter bank are power complementary:

    $\displaystyle \left\vert H_1(e^{j\omega})\right\vert^2 + \left\vert H_2(e^{j\omega})\right\vert^2 + \cdots + \left\vert H_N(e^{j\omega})\right\vert^2 = 1

    This follows immediately from looking at the paraunitary property on the unit circle.

  • When $ \mathbf{H}(z)$ is FIR, the corresponding synthesis filter matrix $ {\tilde{\mathbf{H}}}(z)$ is also FIR. Note that this implies an FIR filter-matrix can be inverted by another FIR filter-matrix. This is in stark contrast to the case of single-input, single-output FIR filters, which must be inverted by IIR filters, in general.

  • When $ \mathbf{H}(z)$ is FIR, each synthesis filter, $ F_k(z) =
{\tilde{\mathbf{H}}}_k(z),\, k=1,\ldots,N$, is simply the $ \flip $ of its corresponding analysis filter $ H_k(z)=\mathbf{H}_k(z)$:

    $\displaystyle f_k(n) = h_k(L-n)

    where $ L$ is the filter length. (When the filter coefficients are complex, $ \flip $ includes a complex conjugation as well.)

    This follows from the fact that paraconjugating an FIR filter amounts to simply flipping (and conjugating) its coefficients.

    Note that only trivial FIR filters can be paraunitary in the single-input, single-output (SISO) case. In the MIMO case, on the other hand, paraunitary systems can be composed of FIR filters of any order.

  • FIR analysis and synthesis filters in paraunitary filter banks have the same amplitude response.

    This follows from the fact that $ \flip (h) \leftrightarrow
\overline{H}$, i.e., flipping an FIR filter impulse response $ h(n)$ conjugates the frequency response, which does not affect its amplitude response $ \vert H(e^{j\omega})\vert$.

Paraunitary Filter Examples

The Haar filter bank is defined as

$\displaystyle \mathbf{H}(z) = \frac{1}{\sqrt{2}}\left[\begin{array}{c} 1+z^{-1} \\ [2pt] 1-z^{-1} \end{array}\right]

The paraconjugate of $ \mathbf{H}(z)$ is

$\displaystyle {\tilde{\mathbf{H}}}(z) = \left[\begin{array}{cc} 1+z & 1 - z \end{array}\right] / \sqrt{2}

so that

$\displaystyle {\tilde{\mathbf{H}}}(z) \mathbf{H}(z) = \left[\begin{array}{cc} 1...
...ight] \left[\begin{array}{c} 1+z^{-1} \\ [2pt] 1-z^{-1} \end{array}\right]
= 1

Thus, the Haar filter bank is paraunitary. This is true for any power-complementary filter bank, since when $ {\tilde{\mathbf{H}}}(z)$ is $ N\times 1$, power-complementary and paraunitary are the same property.

For more about paraunitary filter banks, see Chapter 6 of [98].

Next Section:
Allpass Problems
Previous Section:
Paraunitary FiltersC.4