<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman";}
a:link, span.MsoHyperlink
{color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:Arial;
color:windowtext;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
{page:Section1;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Hello SDIY Team!<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I’m working on a fixed filter bank design, and I have
a few “philosophical” questions. These are less about fixed
filters, and more about components.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>So, I decided the other day that I wanted to build myself a
fixed filter bank. The first thing I did was to look at the YuSynth
design on the internet. I see that he is using pairs of multiple-feedback
filters (exactly as described on pages 150-154 of Don Lancaster’s
beautiful little book, “Active-Filter Cookbook” which I have
sitting on my lap as I type this). That was exactly what I was going to
do as well. Yves says that his filter sections have a Q of 3.7, and a
gain of 1.14. Actually, his single sections have a Q of 2.66, and a gain of
1.07. The overall gain is simply the square of the individual gains,
which is indeed 1.14. The overall Q is something that I haven’t
calculated (I’m presuming I need to derive the overall transfer function,
and I just haven’t bothered). Also, his filter center frequencies
conform to, I’m guessing, the same ones that Moog used in his 914 or
whatever (LP at 88, 125, 175, 250, 350, 500, 750, 1000, 1400, 2000, 2800, 4000,
5600, and HP at 7000 Hz).<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>So, here is what I’m proposing for my filterbank:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Q of each section of pi (3.14). This simplifies the
math somewhat.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Unity gain across each filter section.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Frequencies every half-octave around 1000 Hz (LP at 88, 125,
177, 250, 354, 500, 707, 1000, 1414, 2000, 2828, 4000, 5657, HP at 8000 Hz)<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>FIRST QUESTION: Is there anything wrong with any of
these concepts? I like the more equally spaced frequencies because I
think it will create a smoother response, plus it just makes more sense
mathematically. (If I’m doing half octaves, would it be better to
do them around 440 Hz rather than 1000 Hz?) Also, I can beef up the gains
of the final output amps a little bit if unity gain at each filter seems a
little anemic.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>The multiple-feedback filter requires two capacitors of
equal values and three resistors. Resistors R1A and R1B form a voltage divider,
and their parallel (Thevenin) resistance is R1. Resistor R2 is a feedback
resistor. Based on my analysis, once the cap values are chosen, the
resistors may be sized based on the following formulae:<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>R = 1/(2*pi*F*C)<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>R2 = R*2Q<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>R1A = R*Q/G<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>R2B = R*Q/(2Q^2 – G)<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>So, as an example, let’s take gain G = 1, Q = pi, F =
1000 Hz, and C = 10nF. Using the formula, R = 15.9k. Hence, R2 =
100k, R1A = 50k (49.9k) and R2B = 2.67k. Easy peasy. Every filter
frequency will require different resistors, but they are easy to calculate.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Yves did it a different way. He used the same three
resistor values in every filter (R2 = 47k, R1A = 22k, and R1B = 1.8k), and used
capacitors in parallel to find two capacitors which add up to the correct
capacitor value for each frequency. This means that his resistor choices
are very convenient, but each dual filter requires 8 capacitors at two
different sizes, rather than just 4 capacitors of a single size. He has
restricted himself to the six most common standard capacitor mantissas (10, 15,
22, 33, 47, 68) in selecting these sizes. The frequency errors he gets (ignoring
capacitor tolerances) are as high as 3.7%, with an average of 1.4%.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>I am proposing to use single standard capacitor values for
each filter (albeit different for each filter, except for two which are the
same) – 68, 47, 33, 22, 15, 10, 10, 6.8, 4.7, 3.3, 2.2, 1.5n – but then
find the 1% resistor values closest to the calculated values for each
filter. By this method, again ignoring capacitor tolerances, my largest
frequency error is only 0.47%, and the average error is only 0.17%. By
using those specific capacitor values, the values of the resistors are all
fairly close, and the values of R2 are all between 100k and 141k. This is
important, because the standard 1% resistor value mantissas are more closely
spaced in this range, so it is easier to find resistor values which are very
close to the calculated values. Of course, the inconvenient aspect of
this design is having to buy a bunch of strange resistor values. However,
I buy oddball resistor values from Digikey all the time, and if you buy 100 or
more, you pay typically about 1.7 cents per resistor (for Stackpole or Yageo
1/4W through-hole resistors). Also, resistors are much cheaper than
capacitors, so cutting the total number of capacitors in half for this build is
a significant cost (and PCB real estate) savings. So…<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>SECOND QUESTION: Is there something fundamentally less
desirable about doing it my way than doing it Yves’ way? Does the
minor inconvenience of having to order and use about 30 different 1% resistor
values somehow outweigh the financial burden of installing twice as many poly film
capacitors as are actually needed in the design? Also, my PCB will be
smaller and the layout will be simpler. Note that I may still decide to
decrease my number of capacitor values from 11 to 5 or 6 – just to
decrease the total number of different values I need to buy, plus I will
probably hand-select these capacitors to get the values as close as possible to
the targets.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Them’s my questions. Thanks for your
consideration. Any comments welcomed!<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Dave Dixon aka Doc Sketchy<o:p></o:p></span></font></p>
</div>
</body>
</html>