next up previous print clean
Next: Notch filter Up: Z-plane, causality, and feedback Previous: Laurent expansion


 An ``all-pass filter'' is a filter whose spectral magnitude is unity.

Given an input X(Z) and an output Y(Z), we know that the spectra of the two are the same, i.e., $\bar X (1/Z)X(Z) = \bar Y(1/Z) Y(Z)$.The existence of an infinitude of all-pass filters tells us that an infinitude of wavelets can have the same spectrum. Wave propagation without absorption is modeled by all-pass filters. All-pass filters yield a waveform distortion that can be corrected by methods discussed in chapter [*].

The simplest example of an all-pass filter is the delay operator $Z=e^{i\omega}$ itself. Its phase as a function of $\omega$ is simply $\omega$.

A less trivial example of phase distortion can be constructed from a single root Zr, where Zr is an arbitrary complex number. The ratio of any complex number to its complex conjugate, say (x+iy)/(x-iy), is of unit magnitude, because, taking $x+iy = \rho e^{i\phi}$and $x-iy = \rho e^{-i\phi}$,the ratio is $\vert e^{i2\phi}\vert$.Thus, given a minimum-phase filter $B(\omega)$,we can take its conjugate and make an all-pass filter P(Z) from the ratio $P(Z)= {\overline{B(\omega)}} / B(\omega )$.A simple case is
B(\omega) &=& 1 - {Z \over Z_r}
 \ \overline{B(\omega)} &=& 1 - {1 \over Z \overline{Z_r}}\end{eqnarray} (45)
The all-pass filter $\overline{B} B$ is not causal because of the presence of 1/Z in $\overline{B}$.We can repair that by multiplying by another all-pass operator, namely, Z. The resulting causal all-pass filter is  
P(Z) \eq { Z \overline{B}(1/Z) \over B(Z) }
 Z - {1 \over \overline{Z}_r}
 1 - {Z \over Z_r}
}\end{displaymath} (47)
Equation (47) can be raised to higher powers to achieve a stronger frequency-dispersion effect. Examples of time-domain responses of various all-pass filters are shown in Figure 13.

Figure 13
Examples of causal all-pass filters with real poles and zeros. These have high frequencies at the beginning and low frequencies at the end.

view burn build edit restore

The denominator of equation (47) tells us that we have a pole at Zr. Let this location be $Z_r = e^{i\omega_0}/\rho$.The numerator vanishes at
Z \eq Z_0 \eq { 1 \over \overline{Z}_r} \eq \rho \ e^{i\omega_0}\end{displaymath} (48)
In conclusion, the pole is outside the unit circle, and the zero is inside. They face one another across the circle at the phase angle $\omega_0$.

The all-pass filter (47) outputs a complex-valued signal, however. To see real outputs, we must handle the negative frequencies in the same way as the positive ones. The filter (47) should be multiplied by another like itself but with $\omega_0$ replaced by $-\omega_0$; i.e., with Zr replaced by $\overline{Z_r}$.The result of this procedure is shown in Figure 14.

Figure 14
All-pass filter with a complex pole-zero pair. The pole and zero are at equal logarithmic distances from the unit circle.


A general form for an all-pass filter is $P(Z) = Z^N \overline{A}(1/Z)/A(Z)$,where A(Z) is an arbitrary minimum-phase filter. That this form is valid can be verified by checking that $\overline{P}(1/Z)P(Z) = 1$.


  1. Verify that $\overline{P}(1/Z)P(Z) = 1$ for the general form of an all-pass filter P(Z) = $Z^N \overline{A}(1/Z)/A(Z)$.
  2. Given an all-pass filter

P(Z) \eq {d + eZ +f Z^2 \over 1 + bZ +c Z^2}\end{displaymath}

    with poles at Zp=2 and Zp=3, what are b, c, d, e, and f?

next up previous print clean
Next: Notch filter Up: Z-plane, causality, and feedback Previous: Laurent expansion
Stanford Exploration Project