1
\$\begingroup\$

I'm doing a project and one of the steps consists of filtering a signal through a low-pass, band-pass and high-pass filter.

All the filters are Sallen-Key with a passband gain of 1. The pass-band filter uses a Sallen-Key low-pass and high-pass circuit. The low-pass should ideally have a cut-off frequency of 100Hz, high-pass 4kHz, and the pass-band has a 100Hz high-pass filter and a 4kHz low pass. All the filter orders are 4 (n=4).

The output of these filters should be added in an adder circuit, with variable gain through a potentiometer. The problem I'm having is that I'm getting some flutuations of gain around the cuttoff frequencies, since for example if the cut-off frequencies are perfectly matched, the adder circuit adds 2 signals with 1/sqrt(2) of a specific gain, resulting in a gain of 3db.

Since my filters are not perfectly matched, the effect I'm having is getting some attenuation. Regardless of that, is there any method I can use to get rid of, or attenuate this problem?

Thanks!

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

\$\endgroup\$
2
  • \$\begingroup\$ Something like this? \$\endgroup\$
    – jonk
    Nov 25, 2021 at 3:01
  • \$\begingroup\$ Have you considered a DSP to handle all this filtering? at audio frequencies it would probably be even cheaper. Consider that pot-coupling will get some of the other's signal back to the feedback of the last filter stages and that could be the issue. Try put unity followers before the pots to see if that's the case \$\endgroup\$ Nov 25, 2021 at 6:58

1 Answer 1

1
\$\begingroup\$

What you need is a Linkwitz-Riley filter, it's derived from the Butterworth. But, while the Butterworth has a corner frequency at \$\frac{1}{\sqrt{2}}\$, these have it at \$\frac12\$, which means that summing two filters, lowpass and highpass, with the same \$f_p\$, will result in a magnitude of \$2\cdot\frac{1}{\sqrt{2}}\$ for the Butterworth, and \$2\cdot\frac12\$ for the Linkwitz-Riley. Here's the barebones of it (\$j\$ just means a frequency of 1):

$$\begin{align} B_{LP}(s)&=\dfrac{1}{s^2+\sqrt{2}s+1} \\ B_{HP}(s)&=\dfrac{s^2}{s^2+\sqrt{2}s+1} \\ |B_{LP}(j)|+|B_{HP}(j)|&=\dfrac{1}{\sqrt{2}}+\dfrac{1}{\sqrt{2}}=\sqrt{2} \tag{1} \\ LR_{LP}(s)&=\dfrac{1}{s^2+2s+1} \\ LR_{HP}(s)&=\dfrac{s^2}{s^2+2s+1} \\ |LR_{LP}(j)|+|LR_{HP}(j)|&=\dfrac12+\dfrac12=1 \tag{2} \end{align}$$

As you can see, the Linkwitz-Riley filter is nothing but a critically damped case, and for the 4th order all you need is two, identical 2nd order Butterworth filters, cascaded.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Thank you very much! The gain is almost perfect for all frequencies (im using real components). \$\endgroup\$ Nov 25, 2021 at 11:31

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.