next up previous contents index
Next: Time-varying coefficients Up: Designing filters Previous: Stretching the unit circle   Contents   Index

Butterworth band-pass filter

We can apply the transformation $R(Z) = -Z^2$ to convert the Butterworth filter into a high-quality band-pass filter with center frequency $\pi /2$. A further transformation can then be applied to shift the center frequency to any desired value $\omega $ between 0 and $\pi $. The transformation will be of the form,

\begin{displaymath}
S(Z) =
{{
aZ + b
} \over {
bZ + a
}}
\end{displaymath}

where $a$ and $b$ are real numbers and not both are zero. This is a particular case of the general form given above for unit-circle-preserving rational functions. We have $S(1) = 1$ and $S(-1) = -1$, and the top and bottom halves of the unit circle are transformed symmetrically (if $Z$ goes to $W$ then $\overline{Z}$ goes to $\overline{W}$). The qualitative effect of the transformation $S$ is to squash points of the unit circle toward $1$ or $-1$.

In particular, given a desired center frequency $\omega $, we wish to choose $S$ so that:

\begin{displaymath}
S(\cos(\omega) + i \sin(\omega)) = i
\end{displaymath}

If we leave $R = - {Z^2}$ as before, and let $H$ be the transfer function for a low-pass Butterworth filter, then the combined filter with transfer function $H(R(S(Z)))$ will be a band-pass filter with center frequency $\omega $. Solving for $a$ and $b$ gives:

\begin{displaymath}
a = \cos({{\pi}\over 4} - {{\omega} \over 2}) , \;
b = \sin({{\pi}\over 4} - {{\omega} \over 2})
\end{displaymath}

The new transfer function, $H(R(S(Z)))$, will have $2n$ poles and $2n$ zeros (if $n$ is the degree of the Butterworth filter $H$).

Knowing the transfer function is good, but even better is knowing the locations of all the poles and zeros of the new filter, which we need to be able to compute it using elementary filters. If $Z$ is a pole of the transfer function $J(Z) = H(R(S(Z)))$, that is, if $J(Z)=\infty$, then $R(S(Z))$ must be a pole of $H$. The same goes for zeros. To find a pole or zero of $J$ we set $R(S(Z)) = W$, where $W$ is a pole or zero of $H$, and solve for $Z$. This gives:

\begin{displaymath}
- {
{ \left [ {
{
aZ + b
} \over {
bZ + a
}
} \right ] }
^ 2
} = W
\end{displaymath}


\begin{displaymath}
{
{
aZ + b
} \over {
bZ + a
}
} = {
\pm \sqrt {
- W
}
}
\end{displaymath}


\begin{displaymath}
Z = { {
\pm a \sqrt { - W }
- b
} \over {
\mp b \sqrt { - W }
+ a
}
}
\end{displaymath}

(Here $a$ and $b$ are as given above and we have used the fact that ${a^2}+{b^2}=1$). A sample pole-zero plot and frequency response of $J$ are shown in Figure 8.20.

Figure 8.20: Butterworth band-pass filter: (a) pole-zero diagram; (b) frequency response. The center frequency is $\pi /4$. The bandwidth depends both on center frequency and on the bandwidth of the original Butterworth low-pass filter used.
\begin{figure}\psfig{file=figs/fig08.20.ps}\end{figure}


next up previous contents index
Next: Time-varying coefficients Up: Designing filters Previous: Stretching the unit circle   Contents   Index
Miller Puckette 2006-09-24