Stacking RC filters: do I need buffers between each?

Started by bartimaeus, January 30, 2018, 11:26:06 AM

Previous topic - Next topic

bartimaeus

Pretty basic question, but I haven't seen it directly answered anywhere: I want to built a network of simple passive RC filters to process a synth's sound. Let's say I have a 6Hz lowpass, a 50Hz highpass, and two 12Hz lowpass filters (for a 6db slope). Should I just stick inverting op-amp buffers on either side, with a little bit of make-up on the output buffer, or should I put additional buffers between each individual filter?

I know I could stack a bunch of active filters, but that'd require an op-amp per filter. I've seen circuits that stacked a couple of passive RC filters (usually a LP HP pair), but never five or more passive RC filters in a row. Obviously, there's be serious signal degradation if I used no buffers at all with 5+ RC filters, and it seems like there might be some serious impedance issues as well. However, is it actually significantly to stack active filters instead of sticking a single buffer at the end of a chain of filters?

Advice would be much appreciated!

Transmogrifox

You can get the slopes you want with a completely passive network, but it isn't as straightforward as cascading the desired RC time constants and expecting the network will behave the same as if they were independently buffered. 

However, the process of doing this doesn't have to be heavy in engineering analysis.  The easiest way to do it is with a SPICE simulator.  You could also do this with a signal generator, oscilloscope and bread-board (or Audacity, a computer, and a sound card).

R-C-R-C...networks will give you the slopes you need.  In other words, passively cascading multiple high-pass filters and feeding into cascaded low-pass filters (or mixing or reversing) .... whatever network you choose, you will get the slopes.

The trick is getting the 3dB cut-off where you want it, and that is something you can get pretty quickly tune by experimentation from an AC analysis simulation with, for example, LTSpice.

Even if you decouple the stages with buffers, you still have to figure out what frequency has the -3dB cut-off after you have cascaded them all together.

You should only need 1 buffer at the beginning and at the end to keep variation with input and output impedance from having an effect on the frequency response.  You might also need to do a little bit of gain recovery, depending on the way your network pans out (this would also be the same situation if using buffers in between).

Probably the best way to avoid gain reduction in the pass-band is to do high-pass filters first: C-R-C-R...etc, then feed that into the low-pass filter, R-C-R-C..., then feed that into a buffer with input impedance >10x the sum of all of the series R's.  This would result in about 10% attenuation, so that is where you could use some gain recovery....you made buffer input impedance >100x series R's, pass-band attenuation would be negligible on that account.

Where a circuit simulator helps you, is depending how close your HP and LP cut-offs are together, you may find there is significant attenuation from the filters themselves where they meet in the middle of the pass-band, so you may need to recover that (for example, if the HPF -3dB frequency was the same as the LPF -3dB frequency, you would be -6dB at the center of the pass-band and then would need 6dB gain to recover it.  This will happen to a progressively lesser degree as the HPF goes lower and the LPF goes higher. 
trans·mog·ri·fy
tr.v. trans·mog·ri·fied, trans·mog·ri·fy·ing, trans·mog·ri·fies To change into a different shape or form, especially one that is fantastic or bizarre.

ElectricDruid

Quote from: bartimaeus on January 30, 2018, 11:26:06 AM
6Hz lowpass, a 50Hz highpass, and two 12Hz lowpass filters (for a 6db slope)

I don't think you mean this. 6Hz lowpass cuts off everything you can hear, and if that doesn't do it, the 12Hz filters will. Also two LP filters will give you a 12dB/Oct slope, not a 6dB.

However, rather than just being pedantic, I should answer your actual question ;)

A good rule of thumb for cascading RC filters is to make sure that the R of the following filter is ten times the R of the preceding one. This helps limit the loading of one by another. It also demonstrates why you quickly reach a practical limit on how many stages you can cascade - you finish up covering many decades of resistors! As an example if you had a 10K/10n filter, which gives a 1.6KHz lowpass, you could follow it with a 100K/1n filter which gives the same cutoff but doesn't load the first one as badly as repeating the same values.

But to be honest, with the situation you described (3xLP, 1xHP), I'd be inclined to use at least some active filters. The 12dB filter can be done as a single op-amp, and you could include make-up gain on it too. You could then stick the other passive stages before/after it and not worry too much about the losses, but if you can cope with a second op-amp, you could do those two as a bandpass too, setting the LP and HP points to where you need them. That's just one little tiny wafer-thin 8-pin chip. Surely that's not too much?!

If you haven't seen it, for filter designing, this page is your friend:

http://sim.okawa-denshi.jp/en/Fkeisan.htm

HTH,
Tom






reddesert

#3
Quote from: ElectricDruid on January 30, 2018, 05:33:31 PM

But to be honest, with the situation you described (3xLP, 1xHP), I'd be inclined to use at least some active filters. The 12dB filter can be done as a single op-amp, and you could include make-up gain on it too. You could then stick the other passive stages before/after it and not worry too much about the losses, but if you can cope with a second op-amp, you could do those two as a bandpass too, setting the LP and HP points to where you need them. That's just one little tiny wafer-thin 8-pin chip. Surely that's not too much?!

If you haven't seen it, for filter designing, this page is your friend:

http://sim.okawa-denshi.jp/en/Fkeisan.htm

Not a filter expert, but I would agree with this. For example, the original concept involved taking two RC stages to make a 12 dB/octave filter, followed by an op-amp buffer. But you can take two resistors, two capacitors and a single op-amp and rearrange them into a Sallen-Key filter, which is a 2-pole filter and so also has a 12 dB/oct (20dB/decade) slope.  Same number of components but likely superior. The page Tom linked has many useful calculators and plots.

Transmogrifox

+1 on an active filter.  Another advantage is you can design for a Butterworth response (maximally flat) taking advantage of the op amp feedback to square up the transition band.

These cascaded RC filters will give you a rounded gradually increasing slope for out to as much as a decade above the nominal -3dB frequency (depending how many poles) so you don't necessarily get the slope you want where you want it.

Tom's recommendation of factor of 10x resistor value change with each stage tightens this up.
> 10x ==> 2 octaves above -3dB cutoff to get to the expected slope
> 2x ==> 3 octaves above -3dB cutoff to get to the expected slope
> 1x ==> 1 decade above -3dB cutoff to get to the expected slope

From that, a good compromise is to change resistor values by 2x the previous stage.

Whatever you do, SPICE is your friend.
trans·mog·ri·fy
tr.v. trans·mog·ri·fied, trans·mog·ri·fy·ing, trans·mog·ri·fies To change into a different shape or form, especially one that is fantastic or bizarre.