I'm having much difficulty modifying a "state variable" bandpass filter from being dual supply to single supply. (https://www.electronics-tutorials.ws/filter/state-variable-filter.html)

Here is what the circuit and frequency response should look like, screenshot from the website. I am only concerned about the bandpass filter response. enter image description here

The following LTSpice simulation is done with dual supply rails and matches the expected graph: enter image description here

But when I try changing the supply rails to what I think would work, I don't get much of anything at the output. I've tried variations on this but all them end up being down in the -50dB to -60dB range. What I've done is simply change all the negative rails over to ground, then changed the (+) terminals of the op amps to a bias voltage at half-rail (2.5V). enter image description here

I'm not quite sure what's going wrong, and have been stuck for some time. Any help appreciated.

Edit: In response to the comment below, here is what you get when you change the AC source ground to vbias. Adding or removing the cap between V2 and R1 doesn't change much, adding or removing the 1M resistor also doesn't change much. enter image description here

Update with answer: I picked an op amp at "random" in LTSpice's menu. Changing the type and adding the cap between the source and R1 fixed the simulation. I breadboarded the circuit below, but am still getting the response above - more debug necessary. But that is a separate issue and this question here is resolved. Here is what I ended up with. enter image description here Thanks everyone!

  • 1
    \$\begingroup\$ Maybe try AC coupling the input into R1. \$\endgroup\$ – td127 Sep 12 '20 at 3:15
  • \$\begingroup\$ Adding a 100uF between V2 and R1 changes the curve to a LPF shape, with the 3db point at 1kHz. Passband magnitude at -42dB. I wouldn't have expeceted that at all, I would have thought that the AC source was AC coupled. Interesting that it happened, but not quite the answer. \$\endgroup\$ – Avid Coder Sep 12 '20 at 3:25
  • \$\begingroup\$ The AC source swings around the ground you connected it to. If you connected bottom of V2 source to your Vbias instead it would be correctly biased (but that's kind of cheating). Shouldn't need R7. I don't understand your results, "changes curve to LPF shape.." - which curve? There are 3 outputs. \$\endgroup\$ – td127 Sep 12 '20 at 4:19
  • \$\begingroup\$ I've edited the question with the resulting graph. R7 is there because in some variations, the AC gets sunk into vbias, the resistor largely prevents that while still providing the bias and a tiny bias current. Connecting V2's gnd to vbias didn't quite work. The curve I am talking about is the bode plot of the point labeled BPF_OUT. I'm concerned only about the bandpass filter, and not the low- or high- pass outputs. \$\endgroup\$ – Avid Coder Sep 12 '20 at 4:31
  • 1
    \$\begingroup\$ I meant vbias to the bottom of the AC source instead of the coupling capacitor. You'll also probably have to pump up the rail to +10V or so. The OP227 isn't spec'ed to work on merely one 5V rail. \$\endgroup\$ – td127 Sep 12 '20 at 4:45

The OP227 op-amp is not designed to work down to a single power rail as low as 5 volts. I'm not saying that some PSPICE models of the device wouldn't come up with the goods at 5 volts though but, you have to be mindful about your expectations. If you look at TPC 27 in the data sheet you'll see that the minimum overall rail voltage is about 7 volts: -

enter image description here

And if you read the data sheet for input voltage range it is typically +/-12.3 volts on +/-15 volt rails. If you did the maths and worked out what the input voltage range is on a single 5 volt rail it would be nonsensical.

A half-decent SPICE model would fall-flat on a single supply of 5 volts (as you would expect). Try running it on a 30 volt rail just to see that it works then, opt for a different op-amp that is 5 volt rail compatible.

And yes, you do need to put a series capacitor on the input unless you bias it appropriately to mid rail.

  • \$\begingroup\$ Yep, that's it. Thanks! I fixed the simulation and updated the question with the final sim output. Breadboarding the final simulation with the NE5532 ("can be operated as a single supply..." - datasheet) results in the 2nd to last picture. Not sure what else is going on. \$\endgroup\$ – Avid Coder Sep 12 '20 at 16:58
  • \$\begingroup\$ @AvidCoder the minimum recommended supply for the NE5532 is 10 volts or +/-5 volts. ALL op-amps can be operated with a single supply - have you noticed that the op-amp pin out doesn't include a 0 volts pin? They don't care but they do need enough voltage and some need more volts than others. \$\endgroup\$ – Andy aka Sep 12 '20 at 17:16
  • \$\begingroup\$ I eventually got this to work, 5V rail, 10V rail, or anything in between and down to ~2V. Putting in a relatively clean 1khz tone puts out 1khz tone + spurious signals at 2kHz (-80dBc), 3kHz (-80dBc), 4kHz (-100dBc), and so on. It's weird that I get more spurs at the output than the input. What could be causing this? \$\endgroup\$ – Avid Coder Sep 13 '20 at 0:19
  • \$\begingroup\$ That's due to output distortion - harmonic distortion - a result of non-linearities and imperfections. \$\endgroup\$ – Andy aka Sep 13 '20 at 9:11

If yo apply DC at the input, the servo loop will attempt to force output of A2 to also be at 0 volts.

Opamps don't work down at -rail, or up at +rail.

Add the DC_blocking.


DC_ground the signal input. Then run the simulation.

I expect you only need ONE CAP, in series with that left_most resistor..

  • \$\begingroup\$ Where would you add the DC blocking, to the (-) input at each of the three op amps? At the feedback resistors? The DC op point analysis shows that the DC is at 2.5V for the output of all three op amps. \$\endgroup\$ – Avid Coder Sep 12 '20 at 4:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.