miller-book/node147.html

463 lines
11 KiB
HTML
Raw Normal View History

<!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 NAME="tex2html2772"
HREF="node148.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="next.png"></A>
<A NAME="tex2html2766"
HREF="node139.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="up.png"></A>
<A NAME="tex2html2760"
HREF="node146.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="prev.png"></A>
<A NAME="tex2html2768"
HREF="node4.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="contents.png"></A>
<A NAME="tex2html2770"
HREF="node201.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html2773"
HREF="node148.html">Time-varying coefficients</A>
<B> Up:</B> <A NAME="tex2html2767"
HREF="node139.html">Designing filters</A>
<B> Previous:</B> <A NAME="tex2html2761"
HREF="node146.html">Stretching the unit circle</A>
&nbsp; <B> <A NAME="tex2html2769"
HREF="node4.html">Contents</A></B>
&nbsp; <B> <A NAME="tex2html2771"
HREF="node201.html">Index</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="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 NAME="fig08.20"></A><A NAME="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 NAME="tex2html2772"
HREF="node148.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="next.png"></A>
<A NAME="tex2html2766"
HREF="node139.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="up.png"></A>
<A NAME="tex2html2760"
HREF="node146.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="prev.png"></A>
<A NAME="tex2html2768"
HREF="node4.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="contents.png"></A>
<A NAME="tex2html2770"
HREF="node201.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html2773"
HREF="node148.html">Time-varying coefficients</A>
<B> Up:</B> <A NAME="tex2html2767"
HREF="node139.html">Designing filters</A>
<B> Previous:</B> <A NAME="tex2html2761"
HREF="node146.html">Stretching the unit circle</A>
&nbsp; <B> <A NAME="tex2html2769"
HREF="node4.html">Contents</A></B>
&nbsp; <B> <A NAME="tex2html2771"
HREF="node201.html">Index</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
Miller Puckette
2006-12-30
</ADDRESS>
</BODY>
</HTML>