# Bandpass Filter Design

I'm trying to split an audio signal ranging from 20Hz - 20kHz into five ranges of 0 - 250Hz, 250Hz - 500Hz, 500Hz - 2kHz, 2k-6kHz, and 6kHz - 20kHz.

I've been trying to design the "Inverting Band Pass Filter Circuit" based on this guide: http://www.electronics-tutorials.ws/filter/filter_7.html

So far I'm just trying to get the 250Hz - 500Hz filter working. All five filters will be in parallel and each one will drive a LM3914 Dot/Bar Display driver, for 5 total LM3914's. The input signal will have an amplitude ranging from 300mV - 2V with a frequency from 20Hz - 20kHz. I need the filters to either all have the exact same gain (or pretty close to it) or a gain of 1.

Following the guide linked above, it lists the governing equations of the op-amp to be as follows:

Av = -R2/R1

Fc1 = 1/2piR1C1

Fc2 = 1/2piR2C2

Since I wanted a gain of 1, I arbituarily chose my resistor values to be 1k each, so that R2/R1 = 1. I then isolated the capacitance and obtained this equation:

C = 1/fc*R*2*pi

I used this to solve for the capacitance values so the filter would behave as a bandass filter from 250Hz to 500Hz obtaining the values for C1 = .636uF and C2 = .318uF. Obviously I will never be able to buy such specific capacitors but let's ignore that problem for now.

When I simulate this circuit, it behaves quite differently from what I expect from the equations above. Below I will include a picture of my schematic and its response.

As you can see I have two cursors placed at 250Hz and 500Hz and both have a response of around -3.9dB. The center of my curve on the same grave has a response of -3.5dB. This makes no sense to me. From my understanding, the cutoff frequencies should have a response of -3dB when compared to the "passed" frequencies.

From here I've spent quite a while trying to adjust the circuit so that it works. I was mainly doing this by first trying to find a gain of 1 by adjusting R2 and R1, then trying to change the cutoff frequencies by changing C1 and C2. Everything I change seems to unstablize the rest of the circuit and it changes everything completely. I can't even really get close to want I want.

Other limitations that I can think of is that I'm limited to a 5V DC supply to power the op-amp.

I'm probably just really bad with filters but what's going on here? How can I design this filter and a filter for the rest of my ranges effectively? I figure that if I just altered the values enough in LTSPICE that eventually I'd reach a filter that worked, but as it stands that might take hours and I need to design 5 of them, so I'd rather learn how to do this properly.

If there's any useful information left out let me know in a comment and I'll gladly add it to the main post, I'll be quite responsive as I'm actively trying to solve this problem. Any help would be appreciated!

EDIT:

Although I still don't know if this is the correct approach, I couldn't just sit here and wait for an answer while doing nothing.

So I've been looking around this from texas instruments:https://focus.ti.com/lit/ml/sloa088/sloa088.pdf The relevant pages to what I've attempted are on page 32 and 33 out of 66 on the pdf linked just above. The formulas for choosing resistor values, bandwidth, etc... and design process I am following are all on these pages.

I'm trying their design method for a Second-Order MFB Band-Pass Filter, and after experimenting with different Q factors, middle frequency gains, and a few other things I was able to achieve a filter (still working on the 250Hz - 500hz) with a middle frequency of 375 and with whats supposed to be a bandwidth of 250.

I say "supposed to" because from my understanding I still have yet to achieve that. Included below is a schematic and bode plot for the filter design I'm talking about. Included once again will be two cursors at the cutoff frequencies I want.

As you can see at 250Hz there is a -4dB gain and at 500Hz there is a -2.5dB gain. This is close to the -3dB corner frequency but not quite. So although from my calculations I should have a bandwidth of 250 centered around a frequency of 375 (which would mean by bandwidth is 350 +/- 125 or 250-500) its just a little off. There is some effect going on here where the high frequencies after the middle frequency seem to attenuate at a slower rate than the lower frequencies before the middle frequency. This was also true for all my tinkering of different Q values.

Once again, I'm not sure how to improve the filter in either configuration (from the original or the edit) and am unsure which is a better choice. Any help is appreciated.

• Hi! In sorry for not being experienced enough with practical active analog filters to help you, but from a complexity perspective, it certainly seems you might want to rather go for a digital signal processing approach instead, where you use e.g. a microcontroller to both digitize and analyze your signal as well as control LEDs in software. – Marcus Müller Mar 2 '17 at 6:50
• Your initial conditions are incomplete: you specify the (passband) frequencies, but not the stopband frequencies and the needed attenuations. Once you do that, you'll realize that a 2nd order may not be enough for your needs. For example, a Butterworth bandpass with a center frequency of 1Hz, 2Hz passband bandwidth (no frequency scaling, "normal" -3dB), and 3Hz stopband bandwidth with 40dB attenuation will result in a minimum 12th order filter (six 2nd order stages). – a concerned citizen Mar 2 '17 at 6:55
• Zearia, do you know that there are filter design programs for free? This is the most simple method for designing active filters - however, you must have clear performance requirements (center frequency, bandwidth or Q, damping figures). – LvW Mar 2 '17 at 8:23
• What @aconcernedcitizen said. Digital filters cost you nothing (as long as your computing platform is fast enough, and at these bandwidths, yes, it will be fast enough), and are "perfectly" simulatable. In the year 1980, this would have been a job for analog electronics (but possibly still not a job for opamp-based active filters with linear components, but I disgress). In 2017, don't shoot yourself in the foot by having a huge cascade of filter stages in each of your band passes; it's relatively easy to do this in software, and very complex to do this in analog electronics,and also:expensive! – Marcus Müller Mar 2 '17 at 9:48
• I agree that this would be simpler with a microcontroller or something, but this is an analog project and I've built with everything else in analog and this is really the last part. Does anyone know of any active filter design programs that were mentioned by LvW? – Zearia Mar 2 '17 at 23:08