463 lines
11 KiB
HTML
463 lines
11 KiB
HTML
<!DOCTYPE html>
|
|
|
|
<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
|
|
original version by: Nikos Drakos, CBLU, University of Leeds
|
|
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
|
* with significant contributions from:
|
|
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
|
<HTML>
|
|
<HEAD>
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
|
|
<TITLE>Butterworth band-pass filter</TITLE>
|
|
<META NAME="description" CONTENT="Butterworth band-pass filter">
|
|
<META NAME="keywords" CONTENT="book">
|
|
<META NAME="resource-type" CONTENT="document">
|
|
<META NAME="distribution" CONTENT="global">
|
|
|
|
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
|
|
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
|
|
|
<LINK REL="STYLESHEET" HREF="book.css">
|
|
|
|
<LINK REL="next" HREF="node148.html">
|
|
<LINK REL="previous" HREF="node146.html">
|
|
<LINK REL="up" HREF="node139.html">
|
|
<LINK REL="next" HREF="node148.html">
|
|
</HEAD>
|
|
|
|
<BODY >
|
|
<!--Navigation Panel-->
|
|
<A ID="tex2html2772"
|
|
HREF="node148.html">
|
|
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
|
SRC="next.png"></A>
|
|
<A ID="tex2html2766"
|
|
HREF="node139.html">
|
|
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
|
SRC="up.png"></A>
|
|
<A ID="tex2html2760"
|
|
HREF="node146.html">
|
|
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
|
SRC="prev.png"></A>
|
|
<A ID="tex2html2768"
|
|
HREF="node4.html">
|
|
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
|
SRC="contents.png"></A>
|
|
<A ID="tex2html2770"
|
|
HREF="node201.html">
|
|
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
|
|
SRC="index.png"></A>
|
|
<BR>
|
|
<B> Next:</B> <A ID="tex2html2773"
|
|
HREF="node148.html">Time-varying coefficients</A>
|
|
<B> Up:</B> <A ID="tex2html2767"
|
|
HREF="node139.html">Designing filters</A>
|
|
<B> Previous:</B> <A ID="tex2html2761"
|
|
HREF="node146.html">Stretching the unit circle</A>
|
|
<B> <A ID="tex2html2769"
|
|
HREF="node4.html">Contents</A></B>
|
|
<B> <A ID="tex2html2771"
|
|
HREF="node201.html">Index</A></B>
|
|
<BR>
|
|
<BR>
|
|
<!--End of Navigation Panel-->
|
|
|
|
<H2><A ID="SECTION001238000000000000000">
|
|
Butterworth band-pass filter</A>
|
|
</H2>
|
|
|
|
<P>
|
|
We can apply the transformation <IMG
|
|
WIDTH="92" HEIGHT="34" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img952.png"
|
|
ALT="$R(Z) = -Z^2$"> to convert the Butterworth filter into a high-quality
|
|
band-pass filter with center frequency <IMG
|
|
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img5.png"
|
|
ALT="$\pi /2$">. A further transformation
|
|
can then be applied to shift the center frequency to any desired value <IMG
|
|
WIDTH="14" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img27.png"
|
|
ALT="$\omega $">
|
|
between 0 and <IMG
|
|
WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img41.png"
|
|
ALT="$\pi $">. The transformation will be of the form,
|
|
<BR><P></P>
|
|
<DIV ALIGN="CENTER">
|
|
<!-- MATH
|
|
\begin{displaymath}
|
|
S(Z) =
|
|
{{
|
|
aZ + b
|
|
} \over {
|
|
bZ + a
|
|
}}
|
|
\end{displaymath}
|
|
-->
|
|
|
|
<IMG
|
|
WIDTH="106" HEIGHT="41" BORDER="0"
|
|
SRC="img953.png"
|
|
ALT="\begin{displaymath}
|
|
S(Z) =
|
|
{{
|
|
aZ + b
|
|
} \over {
|
|
bZ + a
|
|
}}
|
|
\end{displaymath}">
|
|
</DIV>
|
|
<BR CLEAR="ALL">
|
|
<P></P>
|
|
where <IMG
|
|
WIDTH="11" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img4.png"
|
|
ALT="$a$"> and <IMG
|
|
WIDTH="10" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img21.png"
|
|
ALT="$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 <IMG
|
|
WIDTH="63" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img954.png"
|
|
ALT="$S(1) = 1$"> and <IMG
|
|
WIDTH="88" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img955.png"
|
|
ALT="$S(-1) = -1$">,
|
|
and the top and bottom halves of the unit circle are transformed
|
|
symmetrically (if <IMG
|
|
WIDTH="15" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img20.png"
|
|
ALT="$Z$"> goes to <IMG
|
|
WIDTH="20" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img31.png"
|
|
ALT="$W$"> then <IMG
|
|
WIDTH="15" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img956.png"
|
|
ALT="$\overline{Z}$"> goes to <IMG
|
|
WIDTH="20" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img957.png"
|
|
ALT="$\overline{W}$">).
|
|
The qualitative effect of the transformation <IMG
|
|
WIDTH="14" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img958.png"
|
|
ALT="$S$"> is to squash points of the
|
|
unit circle toward <IMG
|
|
WIDTH="11" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img262.png"
|
|
ALT="$1$"> or <IMG
|
|
WIDTH="23" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img401.png"
|
|
ALT="$-1$">.
|
|
|
|
<P>
|
|
In particular, given a desired center frequency <IMG
|
|
WIDTH="14" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img27.png"
|
|
ALT="$\omega $">,
|
|
we wish to choose <IMG
|
|
WIDTH="14" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img958.png"
|
|
ALT="$S$"> so that:
|
|
<BR><P></P>
|
|
<DIV ALIGN="CENTER">
|
|
<!-- MATH
|
|
\begin{displaymath}
|
|
S(\cos(\omega) + i \sin(\omega)) = i
|
|
\end{displaymath}
|
|
-->
|
|
|
|
<IMG
|
|
WIDTH="163" HEIGHT="28" BORDER="0"
|
|
SRC="img959.png"
|
|
ALT="\begin{displaymath}
|
|
S(\cos(\omega) + i \sin(\omega)) = i
|
|
\end{displaymath}">
|
|
</DIV>
|
|
<BR CLEAR="ALL">
|
|
<P></P>
|
|
If we leave <IMG
|
|
WIDTH="68" HEIGHT="34" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img960.png"
|
|
ALT="$R = - {Z^2}$"> as before, and let <IMG
|
|
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img25.png"
|
|
ALT="$H$"> be the transfer
|
|
function for a low-pass Butterworth filter, then the combined filter
|
|
with transfer function <IMG
|
|
WIDTH="90" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img961.png"
|
|
ALT="$H(R(S(Z)))$">
|
|
will be a band-pass filter with center frequency <IMG
|
|
WIDTH="14" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img27.png"
|
|
ALT="$\omega $">. Solving for <IMG
|
|
WIDTH="11" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img4.png"
|
|
ALT="$a$">
|
|
and <IMG
|
|
WIDTH="10" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img21.png"
|
|
ALT="$b$"> gives:
|
|
<BR><P></P>
|
|
<DIV ALIGN="CENTER">
|
|
<!-- MATH
|
|
\begin{displaymath}
|
|
a = \cos({{\pi}\over 4} - {{\omega} \over 2}) , \;
|
|
b = \sin({{\pi}\over 4} - {{\omega} \over 2})
|
|
\end{displaymath}
|
|
-->
|
|
|
|
<IMG
|
|
WIDTH="227" HEIGHT="35" BORDER="0"
|
|
SRC="img962.png"
|
|
ALT="\begin{displaymath}
|
|
a = \cos({{\pi}\over 4} - {{\omega} \over 2}) , \;
|
|
b = \sin({{\pi}\over 4} - {{\omega} \over 2})
|
|
\end{displaymath}">
|
|
</DIV>
|
|
<BR CLEAR="ALL">
|
|
<P></P>
|
|
The new transfer function, <IMG
|
|
WIDTH="90" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img961.png"
|
|
ALT="$H(R(S(Z)))$">, will have <IMG
|
|
WIDTH="21" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img963.png"
|
|
ALT="$2n$"> poles and <IMG
|
|
WIDTH="21" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img963.png"
|
|
ALT="$2n$">
|
|
zeros (if <IMG
|
|
WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img75.png"
|
|
ALT="$n$"> is the degree of the Butterworth filter <IMG
|
|
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img25.png"
|
|
ALT="$H$">).
|
|
|
|
<P>
|
|
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 <IMG
|
|
WIDTH="15" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img20.png"
|
|
ALT="$Z$"> is a pole of the transfer
|
|
function <!-- MATH
|
|
$J(Z) = H(R(S(Z)))$
|
|
-->
|
|
<IMG
|
|
WIDTH="146" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img964.png"
|
|
ALT="$J(Z) = H(R(S(Z)))$">, that is, if <IMG
|
|
WIDTH="75" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img965.png"
|
|
ALT="$J(Z)=\infty$">, then <IMG
|
|
WIDTH="63" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img966.png"
|
|
ALT="$R(S(Z))$"> must
|
|
be a pole of <IMG
|
|
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img25.png"
|
|
ALT="$H$">. The same goes for zeros. To find a pole or zero of <IMG
|
|
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img945.png"
|
|
ALT="$J$">
|
|
we set <IMG
|
|
WIDTH="101" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img967.png"
|
|
ALT="$R(S(Z)) = W$">, where <IMG
|
|
WIDTH="20" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img31.png"
|
|
ALT="$W$"> is a pole or zero of <IMG
|
|
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img25.png"
|
|
ALT="$H$">, and solve for <IMG
|
|
WIDTH="15" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img20.png"
|
|
ALT="$Z$">.
|
|
This gives:
|
|
<BR><P></P>
|
|
<DIV ALIGN="CENTER">
|
|
<!-- MATH
|
|
\begin{displaymath}
|
|
- {
|
|
{ \left [ {
|
|
{
|
|
aZ + b
|
|
} \over {
|
|
bZ + a
|
|
}
|
|
} \right ] }
|
|
^ 2
|
|
} = W
|
|
\end{displaymath}
|
|
-->
|
|
|
|
<IMG
|
|
WIDTH="124" HEIGHT="48" BORDER="0"
|
|
SRC="img968.png"
|
|
ALT="\begin{displaymath}
|
|
- {
|
|
{ \left [ {
|
|
{
|
|
aZ + b
|
|
} \over {
|
|
bZ + a
|
|
}
|
|
} \right ] }
|
|
^ 2
|
|
} = W
|
|
\end{displaymath}">
|
|
</DIV>
|
|
<BR CLEAR="ALL">
|
|
<P></P>
|
|
<BR><P></P>
|
|
<DIV ALIGN="CENTER">
|
|
<!-- MATH
|
|
\begin{displaymath}
|
|
{
|
|
{
|
|
aZ + b
|
|
} \over {
|
|
bZ + a
|
|
}
|
|
} = {
|
|
\pm \sqrt {
|
|
- W
|
|
}
|
|
}
|
|
\end{displaymath}
|
|
-->
|
|
|
|
<IMG
|
|
WIDTH="126" HEIGHT="41" BORDER="0"
|
|
SRC="img969.png"
|
|
ALT="\begin{displaymath}
|
|
{
|
|
{
|
|
aZ + b
|
|
} \over {
|
|
bZ + a
|
|
}
|
|
} = {
|
|
\pm \sqrt {
|
|
- W
|
|
}
|
|
}
|
|
\end{displaymath}">
|
|
</DIV>
|
|
<BR CLEAR="ALL">
|
|
<P></P>
|
|
<BR><P></P>
|
|
<DIV ALIGN="CENTER">
|
|
<!-- MATH
|
|
\begin{displaymath}
|
|
Z = { {
|
|
\pm a \sqrt { - W }
|
|
- b
|
|
} \over {
|
|
\mp b \sqrt { - W }
|
|
+ a
|
|
}
|
|
}
|
|
\end{displaymath}
|
|
-->
|
|
|
|
<IMG
|
|
WIDTH="125" HEIGHT="46" BORDER="0"
|
|
SRC="img970.png"
|
|
ALT="\begin{displaymath}
|
|
Z = { {
|
|
\pm a \sqrt { - W }
|
|
- b
|
|
} \over {
|
|
\mp b \sqrt { - W }
|
|
+ a
|
|
}
|
|
}
|
|
\end{displaymath}">
|
|
</DIV>
|
|
<BR CLEAR="ALL">
|
|
<P></P>
|
|
(Here <IMG
|
|
WIDTH="11" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img4.png"
|
|
ALT="$a$"> and <IMG
|
|
WIDTH="10" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img21.png"
|
|
ALT="$b$"> are as given above and we have used the fact that
|
|
<IMG
|
|
WIDTH="81" HEIGHT="34" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img971.png"
|
|
ALT="${a^2}+{b^2}=1$">). A sample pole-zero plot and frequency response of <IMG
|
|
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
|
SRC="img945.png"
|
|
ALT="$J$">
|
|
are shown in Figure <A HREF="#fig08.20">8.20</A>.
|
|
|
|
<P>
|
|
|
|
<DIV ALIGN="CENTER"><A ID="fig08.20"></A><A ID="10465"></A>
|
|
<TABLE>
|
|
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 8.20:</STRONG>
|
|
Butterworth band-pass filter: (a) pole-zero diagram; (b)
|
|
frequency response. The center frequency is <IMG
|
|
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
|
SRC="img52.png"
|
|
ALT="$\pi /4$">. The bandwidth depends
|
|
both on center frequency and on the bandwidth of the original Butterworth
|
|
low-pass filter used.</CAPTION>
|
|
<TR><TD><IMG
|
|
WIDTH="545" HEIGHT="244" BORDER="0"
|
|
SRC="img972.png"
|
|
ALT="\begin{figure}\psfig{file=figs/fig08.20.ps}\end{figure}"></TD></TR>
|
|
</TABLE>
|
|
</DIV>
|
|
|
|
<P>
|
|
<HR>
|
|
<!--Navigation Panel-->
|
|
<A ID="tex2html2772"
|
|
HREF="node148.html">
|
|
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
|
|
SRC="next.png"></A>
|
|
<A ID="tex2html2766"
|
|
HREF="node139.html">
|
|
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
|
|
SRC="up.png"></A>
|
|
<A ID="tex2html2760"
|
|
HREF="node146.html">
|
|
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
|
|
SRC="prev.png"></A>
|
|
<A ID="tex2html2768"
|
|
HREF="node4.html">
|
|
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
|
|
SRC="contents.png"></A>
|
|
<A ID="tex2html2770"
|
|
HREF="node201.html">
|
|
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
|
|
SRC="index.png"></A>
|
|
<BR>
|
|
<B> Next:</B> <A ID="tex2html2773"
|
|
HREF="node148.html">Time-varying coefficients</A>
|
|
<B> Up:</B> <A ID="tex2html2767"
|
|
HREF="node139.html">Designing filters</A>
|
|
<B> Previous:</B> <A ID="tex2html2761"
|
|
HREF="node146.html">Stretching the unit circle</A>
|
|
<B> <A ID="tex2html2769"
|
|
HREF="node4.html">Contents</A></B>
|
|
<B> <A ID="tex2html2771"
|
|
HREF="node201.html">Index</A></B>
|
|
<!--End of Navigation Panel-->
|
|
<ADDRESS>
|
|
Miller Puckette
|
|
2006-12-30
|
|
</ADDRESS>
|
|
</BODY>
|
|
</HTML>
|