DSPRelated.com
Free Books

Symmetric Linear-Phase Filters

As stated at the beginning of this chapter, the impulse response of every causal, linear-phase, FIR filter is symmetric:

$\displaystyle h(n) = h(N-1-n), \quad n=0,1,2,\ldots,N-1.
$

Assume that $ N$ is odd. Then the filter

$\displaystyle h_{\hbox{\tiny zp}}(n) = h\left(n+\frac{N-1}{2}\right), \quad n=-\frac{N-1}{2},\,\ldots\,,\frac{N-1}{2}
$

is a zero-phase filter. Thus, every odd-length linear-phase filter can be expressed as a delay of some zero-phase filter,

$\displaystyle h(n) = h_{\hbox{\tiny zp}}\left(n-\frac{N-1}{2}\right), \quad n=0,1,2,\ldots, N-1.
$

By the shift theorem for z transforms (§6.3), the transfer function of a linear-phase filter is

$\displaystyle H(z) = z^{-\frac{N-1}{2}}H_{\hbox{zp}}(z)
$

and the frequency response is

$\displaystyle H(e^{j\omega T}) = e^{-j\omega \frac{N-1}{2}T}H_{\hbox{zp}}(e^{j\omega T})
$

which is a linear phase term times $ H_{\hbox{zp}}(e^{j\omega T})$ which is real. Since $ H_{\hbox{zp}}(e^{j\omega T})$ can go negative, the phase response is

$\displaystyle \Theta(\omega) =
\left\{\begin{array}{ll}
\displaystyle-\frac{N-...
...-1}{2}\omega T + \pi, & H_{\hbox{zp}}(e^{j\omega T})<0 \\
\end{array}\right..
$

For frequencies $ \omega$ at which $ H_{\hbox{zp}}(e^{j\omega T})$ is nonnegative, the phase delay and group delay of a linear-phase filter are simply half its length:

\begin{displaymath}
\begin{array}{rclrcl}
P(\omega) &\isdef & -\displaystyle\fra...
...2} T,
\qquad H_{\hbox{zp}}(e^{j\omega T})\geq0\\
\end{array}\end{displaymath}

Simple Linear-Phase Filter Examples

  • The example of §10.2.1 was in fact a linear-phase FIR filter design example. The resulting causal finite impulse response was left-shifted (``advanced'' in time) to make it zero phase.

  • While the trivial ``bypass filter'' $ h(n)=\delta(n)$ is zero-phase (§10.2.2), the ``bypass filter with a unit delay,'' $ h(n)
= \delta(n-1)$ is linear phase. It is (trivially) symmetric about time $ n=1$, and the frequency response is $ H(z) = e^{-j\omega T}$, which is a pure linear phase term $ \Theta(\omega)=-\omega T$ having a slope of $ -1$ samples (radians per radians-per-sample), or $ -T$ seconds (radians per radians-per-second). The phase- and group-delays are each 1 sample at every frequency.

  • The impulse response of the simplest lowpass filter studied in Chapter 1 was $ h = \delta(n) + \delta(n-1)$ [ $ H(z)=1+z^{-1}$]. Since this impulse response is symmetric about time $ n=1/2$ samples, it is linear phase, and $ \Theta(\omega) =
-\omega T/2$, as derived in Chapter 1. The phase delay and group delay are both $ 1/2$ sample at each frequency. Note that even-length linear-phase filters cannot be time-shifted (without interpolation) to create a corresponding zero-phase filter. However, they can be shifted to make a near-zero-phase filter that has a phase delay and group delay equal to half a sample at all passband frequencies.


Software for Linear-Phase Filter Design

The Matlab Signal Processing Toolbox covers many applications with the following functions:

$\displaystyle \begin{tabular}{rl}
\texttt{remez()} & (optimal Chebyshev linear-...
...or general FIR (or IIR)\\
& filter design \cite[page 50]{JOST}).
\end{tabular}$

All of these functions except firls are implemented in the free, open-source, Octave Forge collection as well.

Methods for FIR filter design are discussed in the fourth book of the music signal processing series [87], and classic references include [64,68]. There is also quite a large research literature on this subject.


Next Section:
Antisymmetric Linear-Phase Filters
Previous Section:
Odd Impulse Reponses