Free Books

Allpass Filters

This appendix addresses the general problem of characterizing all digital allpass filters, including multi-input, multi-output (MIMO) allpass filters. As a result of including the MIMO case, the mathematical level is a little higher than usual for this book. The reader in need of more background is referred to [84,37,98].Our first task is to show that losslessness implies allpass.

Definition: A linear, time-invariant filter $ H(z)$ is said to be lossless if it preserves signal energy for every input signal. That is, if the input signal is $ x(n)$, and the output signal is $ y(n) = (h\ast x)(n)$, then we have

$\displaystyle \sum_{n=-\infty}^{\infty} \left\vert y(n)\right\vert^2 =
\sum_{n=-\infty}^{\infty} \left\vert x(n)\right\vert^2.

In terms of the $ L2$ signal norm $ \left\Vert\,\,\cdot\,\,\right\Vert _2$, this can be expressed more succinctly as

$\displaystyle \left\Vert\,y\,\right\Vert _2^2 = \left\Vert\,x\,\right\Vert _2^2.

Notice that only stable filters can be lossless, since otherwise $ \left\Vert\,y\,\right\Vert$ can be infinite while $ \left\Vert\,x\,\right\Vert$ is finite. We further assume all filters are causalC.1 for simplicity. It is straightforward to show the following:

Theorem: A stable, linear, time-invariant (LTI) filter transfer function $ H(z)$ is lossless if and only if

$\displaystyle \left\vert H(e^{j\omega})\right\vert = 1, \quad \forall \omega.

That is, the frequency response must have magnitude 1 everywhere over the unit circle in the complex $ z$ plane.

Proof: We allow the signals $ x(n),y(n)$ and filter impulse response $ h(n)$ to be complex. By Parseval's theorem [84] for the DTFT, we have,C.2 for any signal $ x\leftrightarrow X$,

$\displaystyle \left\Vert\,x\,\right\Vert _2 = \left\Vert\,X\,\right\Vert _2


$\displaystyle \left\Vert\,x\,\right\Vert _2^2 \isdef \sum_{n=-\infty}^\infty \l...
...rt X(e^{j\omega})\right\vert^2 d\omega
\isdef \left\Vert\,X\,\right\Vert _2^2.

Thus, Parseval's theorem enables us to restate the definition of losslessness in the frequency domain:

$\displaystyle \left\Vert\,X\,\right\Vert _2^2 = \left\Vert\,Y\,\right\Vert _2^2 = \left\Vert\,H\cdot X\,\right\Vert _2^2

where $ Y=HX$ because the filter $ H$ is LTI. Thus, $ H$ is lossless by definition if and only if

$\displaystyle \frac{1}{2\pi}\int_{-\pi}^{\pi} \left\vert X(e^{j\omega})\right\v...
...{j\omega})\right\vert^2\left\vert X(e^{j\omega})\right\vert^2 d\omega. \protect$ (C.1)

Since this must hold for all $ X(e^{j\omega})$, we must have $ \left\vert H(e^{j\omega})\right\vert=1$ for all $ \omega$, except possibly for a set of measure zero (e.g., isolated points which do not contribute to the integral) [73]. If $ H(z)$ is finite order and stable, $ H(e^{j\omega})$ is continuous over the unit circle, and its modulus is therefore equal to 1 for all $ \omega\in[-\pi,\pi]$. $ \Box$

We have shown that every lossless filter is allpass. Conversely, every unity-gain allpass filter is lossless.

Allpass Examples

  • The simplest allpass filter is a unit-modulus gain

    $\displaystyle H(z) = e^{j\phi}

    where $ \phi$ can be any phase value. In the real case $ \phi$ can only be 0 or $ \pi $, in which case $ H(z)=\pm 1$.

  • A lossless FIR filter can consist only of a single nonzero tap:

    $\displaystyle H(z) = e^{j\phi} z^{-K}

    for some fixed integer $ K$, where $ \phi$ is again some constant phase, constrained to be 0 or $ \pi $ in the real-filter case. Since we are considering only causal filters here, $ K\geq 0$. As a special case of this example, a unit delay $ H(z)=z^{-1}$ is a simple FIR allpass filter.

  • The transfer function of every finite-order, causal, lossless IIR digital filter (recursive allpass filter) can be written as

    $\displaystyle H(z) = e^{j\phi} z^{-K} \frac{\tilde{A}(z)}{A(z)}

    where $ K\geq 0$,

    $\displaystyle A(z) \isdef 1 + a_1 z^{-1}+ a_2 z^{-2} + \cdots + a_Nz^{-N},


\tilde{A}(z)&\isdef & z^{-N}\overline{A}(z^{-1})\\
&=& \overl...
...ne{a_{N-2}}z^{-2}+ \cdots
+ \overline{a_1} z^{-(N-1)} + z^{-N}.

    We may think of $ \tilde{A}(z)$ as the flip of $ A(z)$. For example, if $ A(z)=1+1.4z^{-1}+0.49z^{-2}$, we have $ \tilde{A}(z)=0.49+1.4z^{-1}+z^{-2}$. Thus, $ \tilde{A}(z)$ is obtained from $ A(z)$ by simply reversing the order of the coefficients and conjugating them when they are complex.

  • For analog filters, the general finite-order allpass transfer function is

    $\displaystyle H(s) = e^{j\phi} \frac{A(-s)}{A(s)}

    where $ K\geq 0$, $ A(s) = s^N + a_1 s^{N-1} + \cdots + a_{N-1}s + a_N$. The polynomial $ A(-s)$ can be obtained by negating every other coefficient in $ A(z)$, and multiplying by $ z^N$. In analog, a pure delay of $ \tau$ seconds corresponds to the transfer function

    $\displaystyle e^{-s\tau} = 1 - \tau s + \frac{\tau^2}{2} s^2 + \cdots

    which is infinite order. Given a pole $ p_i$ (root of $ A(s)$ at $ s=p_i$), the polynomial $ A(-s)$ has a root at $ s = -p_i$. Thus, the poles and zeros can be paired off as a cascade of terms such as

    $\displaystyle H_i(s) = \frac{s+p_i}{s-p_i}.

    The frequency response of such a term is

    $\displaystyle H_i(j\omega)
= \frac{j\omega+p_i}{j\omega-p_i}
= - \frac{p_i+j\omega}{\overline{p_i+j\omega}}

    which is obviously unit magnitude.

Paraunitary FiltersC.4

Another way to express the allpass condition $ \left\vert H(e^{j\omega})\right\vert=1$ is to write

$\displaystyle \overline{H(e^{j\omega})} H(e^{j\omega}) = 1, \quad\forall\omega.

This form generalizes by analytic continuation (see §D.2) to $ {\tilde H}(z)H(z)$ over the entire the $ z$ plane, where $ {\tilde H}(z)$ denotes the paraconjugate of $ H(z)$:

Definition: The paraconjugate of a transfer function may be defined as the analytic continuation of the complex conjugate from the unit circle to the whole $ z$ plane:

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

where $ \overline{H}(z)$ denotes complex conjugation of the coefficients only of $ H(z)$ and not the powers of $ z$. For example, if $ H(z)=1+jz^{-1}$, then $ \overline{H}(z) = 1-jz^{-1}$. We can write, for example,

$\displaystyle \overline{H}(z) \isdef \overline{H\left(\overline{z}\right)}

in which the conjugation of $ z$ serves to cancel the outer conjugation.


  • $ H(z)=1+z^{-1}\quad\Rightarrow\quad {\tilde H}(z)=1+z$
  • $ H(z)=1+2jz^{-1}+3z^{-2}\quad\Rightarrow\quad {\tilde H}(z)=1-2jz+3z^2$

We refrain from conjugating $ z$ in the definition of the paraconjugate because $ \overline{z}$ is not analytic in the complex-variables sense. Instead, we invert $ z$, which is analytic, and which reduces to complex conjugation on the unit circle.

The paraconjugate may be used to characterize allpass filters as follows:

Theorem: A causal, stable, filter $ H(z)$ is allpass if and only if

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

Note that this is equivalent to the previous result on the unit circle since

$\displaystyle {\tilde H}(e^{j\omega}) H(e^{j\omega}) \isdef \overline{H}(1/e^{j\omega})H(e^{j\omega}) = \overline{H(e^{j\omega})}H(e^{j\omega})

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

Allpass Problems

  1. The BiQuad Allpass Section
    1. Show that every second-order filter having transfer function

      $\displaystyle H(z) = \frac{a_2 + a_1 z^{-1}+ z^{-2}}{1 + a_1 z^{-1}+ a_2 z^{-2}}

      is a unit-gain allpass filter. That is, show that $ \left\vert H(e^{j\omega})\right\vert=1$, for all $ a_1$ and $ a_2$. (Typically, $ a_1$ and $ a_2$ are chosen such that the filter is stable, but this is not necessary for the result to hold.)
    2. Find the zeros of the filter as a function of the poles. In other words, given two poles, what is the rule for placing the zeros in order to obtain an allpass filter?

    3. Find the phase response of the zeros in terms of the phase response of the poles.

Next Section:
Introduction to Laplace Transform Analysis
Previous Section:
Elementary Audio Digital Filters