miller-book/node145.html

379 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 filters</TITLE>
<META NAME="description" CONTENT="Butterworth filters">
<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="node146.html">
<LINK REL="previous" HREF="node144.html">
<LINK REL="up" HREF="node139.html">
<LINK REL="next" HREF="node146.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A NAME="tex2html2744"
HREF="node146.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="next.png"></A>
<A NAME="tex2html2738"
HREF="node139.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="up.png"></A>
<A NAME="tex2html2732"
HREF="node144.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="prev.png"></A>
<A NAME="tex2html2740"
HREF="node4.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="contents.png"></A>
<A NAME="tex2html2742"
HREF="node201.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html2745"
HREF="node146.html">Stretching the unit circle</A>
<B> Up:</B> <A NAME="tex2html2739"
HREF="node139.html">Designing filters</A>
<B> Previous:</B> <A NAME="tex2html2733"
HREF="node144.html">Peaking and stop-band filter</A>
&nbsp; <B> <A NAME="tex2html2741"
HREF="node4.html">Contents</A></B>
&nbsp; <B> <A NAME="tex2html2743"
HREF="node201.html">Index</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION001236000000000000000">
Butterworth filters</A>
</H2>
<P>
A filter with one real pole and one real zero can be configured as a shelving
filter, as a high-pass filter (putting the zero at the point <IMG
WIDTH="11" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img262.png"
ALT="$1$">) or as a
low-pass filter (putting the zero at <IMG
WIDTH="23" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
SRC="img401.png"
ALT="$-1$">). The frequency responses of these
filters are quite blunt; in other words, the transition regions are wide. It
is often desirable to get a sharper filter, either shelving, low- or high-pass,
whose two bands are flatter and separated by a narrower transition region.
<P>
A procedure borrowed from the analog filtering world transforms real,
one-pole, one-zero filters to corresponding
<A NAME="10375"></A>
<I>Butterworth filters</I>,
which have narrower transition regions. This procedure is described clearly
and elegantly in the last chapter of [<A
HREF="node202.html#r-steiglitz96">Ste96</A>]. The derivation
uses more mathematics background than we have developed here, and we will simply
present the result without deriving it.
<P>
To make a Butterworth filter out of a high-pass, low-pass, or shelving
filter, suppose that either the pole or the
zero is given by the expression
<BR><P></P>
<DIV ALIGN="CENTER">
<!-- MATH
\begin{displaymath}
{{1 - {r^2}} \over {{(1 + r)}^2}}
\end{displaymath}
-->
<IMG
WIDTH="55" HEIGHT="48" BORDER="0"
SRC="img928.png"
ALT="\begin{displaymath}
{{1 - {r^2}} \over {{(1 + r)}^2}}
\end{displaymath}">
</DIV>
<BR CLEAR="ALL">
<P></P>
where <IMG
WIDTH="11" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img467.png"
ALT="$r$"> is a parameter ranging from 1 to <IMG
WIDTH="19" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img305.png"
ALT="$\infty$">. If <IMG
WIDTH="40" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img929.png"
ALT="$r=0$"> this is the point
<IMG
WIDTH="11" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img262.png"
ALT="$1$">, and if <IMG
WIDTH="48" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img930.png"
ALT="$r=\infty$"> it's <IMG
WIDTH="23" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
SRC="img401.png"
ALT="$-1$">.
<P>
Then, for reasons which will remain mysterious, we replace the point (whether
pole or zero) by <IMG
WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img75.png"
ALT="$n$"> points given by:
<BR><P></P>
<DIV ALIGN="CENTER">
<!-- MATH
\begin{displaymath}
{ (1 - {r^2}) - (2 r \sin(\alpha)) i }
\over
{ 1 + {r^2} + 2 r \cos(\alpha))}
\end{displaymath}
-->
<IMG
WIDTH="152" HEIGHT="45" BORDER="0"
SRC="img931.png"
ALT="\begin{displaymath}
{ (1 - {r^2}) - (2 r \sin(\alpha)) i }
\over
{ 1 + {r^2} + 2 r \cos(\alpha))}
\end{displaymath}">
</DIV>
<BR CLEAR="ALL">
<P></P>
where <IMG
WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img7.png"
ALT="$\alpha $"> ranges over the values:
<BR><P></P>
<DIV ALIGN="CENTER">
<!-- MATH
\begin{displaymath}
{\pi \over 2} ({1 \over n} - 1) , \;
{\pi \over 2} ({3 \over n} - 1) , \; \ldots , \;
{\pi \over 2} ({{2n-1} \over n} - 1)
\end{displaymath}
-->
<IMG
WIDTH="288" HEIGHT="38" BORDER="0"
SRC="img932.png"
ALT="\begin{displaymath}
{\pi \over 2} ({1 \over n} - 1) , \;
{\pi \over 2} ({3 \ov...
...} - 1) , \; \ldots , \;
{\pi \over 2} ({{2n-1} \over n} - 1)
\end{displaymath}">
</DIV>
<BR CLEAR="ALL">
<P></P>
In other words, <IMG
WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img7.png"
ALT="$\alpha $"> takes on <IMG
WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img75.png"
ALT="$n$"> equally spaced angles between
<IMG
WIDTH="41" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img283.png"
ALT="$-\pi/2$"> and <IMG
WIDTH="29" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img5.png"
ALT="$\pi /2$">. The points are arranged in the complex plane as shown in
Figure <A HREF="#fig08.17">8.17</A>. They lie on a circle through the original real-valued
point, which cuts the unit circle at right angles.
<P>
A good estimate for the cutoff or transition frequency defined by
these circular collections of poles or zeros is simply the spot where the
circle intersects the unit circle, corresponding to <!-- MATH
$\alpha = \pi/2$
-->
<IMG
WIDTH="60" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img933.png"
ALT="$\alpha = \pi/2$">. This gives
the point
<BR><P></P>
<DIV ALIGN="CENTER">
<!-- MATH
\begin{displaymath}
{ (1 - {r^2}) - 2 r i }
\over
{ 1 + {r^2} }
\end{displaymath}
-->
<IMG
WIDTH="95" HEIGHT="42" BORDER="0"
SRC="img934.png"
ALT="\begin{displaymath}
{ (1 - {r^2}) - 2 r i }
\over
{ 1 + {r^2} }
\end{displaymath}">
</DIV>
<BR CLEAR="ALL">
<P></P>
which, after some algebra, gives an angular frequency equal to
<BR><P></P>
<DIV ALIGN="CENTER">
<!-- MATH
\begin{displaymath}
\beta = 2 \arctan (r)
\end{displaymath}
-->
<IMG
WIDTH="105" HEIGHT="28" BORDER="0"
SRC="img935.png"
ALT="\begin{displaymath}
\beta = 2 \arctan (r)
\end{displaymath}">
</DIV>
<BR CLEAR="ALL">
<P></P>
<P>
<DIV ALIGN="CENTER"><A NAME="fig08.17"></A><A NAME="10393"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 8.17:</STRONG>
Replacing a real-valued pole or zero (shown as a solid dot) with an
array of four
of them (circles) as for
a Butterworth filter. In this example we get four new poles or zeros as
shown, lying along the circle where <IMG
WIDTH="52" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img45.png"
ALT="$r=0.5$">.</CAPTION>
<TR><TD><IMG
WIDTH="406" HEIGHT="291" BORDER="0"
SRC="img936.png"
ALT="\begin{figure}\psfig{file=figs/fig08.17.ps}\end{figure}"></TD></TR>
</TABLE>
</DIV>
<P>
Figure <A HREF="#fig08.18">8.18</A> (part a) shows a pole-zero diagram and frequency
response for a Butterworth low-pass filter with three poles and three zeros.
Part (b) shows the frequency response of the low-pass filter and three other
filters obtained by choosing different values of <IMG
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img8.png"
ALT="$\beta $"> (and hence <IMG
WIDTH="11" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img467.png"
ALT="$r$">) for
the zeros, while leaving the poles stationary. As the zeros progress from
<IMG
WIDTH="44" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img47.png"
ALT="$\beta =\pi $"> to <IMG
WIDTH="42" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img50.png"
ALT="$\beta =0$">, the filter, which starts as a low-pass filter,
becomes a shelving filter and then a high-pass one.
<P>
<DIV ALIGN="CENTER"><A NAME="fig08.18"></A><A NAME="10399"></A>
<TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 8.18:</STRONG>
Butterworth low-pass filter with three poles
and three zeros: (a) pole-zero plot. The poles are chosen for a cutoff frequency
<IMG
WIDTH="60" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img46.png"
ALT="$\beta = \pi /4$">;
(b) frequency responses for four filters with the same
pole configuration, with different placements of zeros (but leaving the poles
fixed). The low-pass filter
results from setting <IMG
WIDTH="44" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img47.png"
ALT="$\beta =\pi $"> for the zeros; the two shelving filters
correspond to <IMG
WIDTH="76" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img48.png"
ALT="$\beta =3\pi /10$"> and <IMG
WIDTH="76" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img49.png"
ALT="$\beta =2\pi /10$">, and finally the high-pass
filter is obtained setting <IMG
WIDTH="42" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img50.png"
ALT="$\beta =0$">. The high-pass filter is normalized for
unit gain at the Nyquist frequency, and the others for unit gain at DC. </CAPTION>
<TR><TD><IMG
WIDTH="588" HEIGHT="252" BORDER="0"
SRC="img937.png"
ALT="\begin{figure}\psfig{file=figs/fig08.18.ps}\end{figure}"></TD></TR>
</TABLE>
</DIV>
<P>
<HR>
<!--Navigation Panel-->
<A NAME="tex2html2744"
HREF="node146.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="next.png"></A>
<A NAME="tex2html2738"
HREF="node139.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="up.png"></A>
<A NAME="tex2html2732"
HREF="node144.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="prev.png"></A>
<A NAME="tex2html2740"
HREF="node4.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="contents.png"></A>
<A NAME="tex2html2742"
HREF="node201.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
SRC="index.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html2745"
HREF="node146.html">Stretching the unit circle</A>
<B> Up:</B> <A NAME="tex2html2739"
HREF="node139.html">Designing filters</A>
<B> Previous:</B> <A NAME="tex2html2733"
HREF="node144.html">Peaking and stop-band filter</A>
&nbsp; <B> <A NAME="tex2html2741"
HREF="node4.html">Contents</A></B>
&nbsp; <B> <A NAME="tex2html2743"
HREF="node201.html">Index</A></B>
<!--End of Navigation Panel-->
<ADDRESS>
Miller Puckette
2006-12-30
</ADDRESS>
</BODY>
</HTML>