10th Order Butterworth Filter has a ripple that bothers me.

Thread Starter

BUZZARD1n

Joined Apr 20, 2022
24
Good day everyone. I have recently designed a 10th order Butterworth LPF to be used as an anti-aliasing filter for an STM microcontroller. I designed for a cutoff frequency of 20 kHz and an attenuation of 60 dB at 40 kHz. I used the normalized low-pass filter time tables and unity gain KRC equations in Sergio Franco's textbook: "Design with Operational Amplifiers and Analog Integrated Circuits" to obtain the results for my capacitors and resistors. I believe my calculations are correct. What intrigues me is the fact that when I simulate this circuit in LTSpice there is a ripple of about 3dB occurring before the cut-off. This seems to happen only after the last stage of the filter. I have not been able to find an explanation to help me understand why this occurs and/or how to minimize this ripple. The reason I chose the Butterworth was to avoid ripple like the Chebyshev for example. Below I posted only the circuit and the simulated results. Any and all help will be appreciated. Thank you for your time.
forum1.JPG
forum3.JPGforum2.JPG
 

Ian0

Joined Aug 7, 2020
9,677
If you look at the design tables for Butterworth filters, you will see that the final 2pole section has a very high Q.
That means that a very slight variation in component values, and frequency alignment with previous stages will result in a large change of response.
I would recommend a Bessel filter. Also, with the Sallen & Key topology, your hf attenuation is nowhere near as good as it should be due to the phase response of the op amp.
You need a much higher bandwidth op amp that a TL064.
Even a TL074 would be a huge improvement!
 

Attachments

Thread Starter

BUZZARD1n

Joined Apr 20, 2022
24
If you look at the design tables for Butterworth filters, you will see that the final 2pole section has a very high Q.
That means that a very slight variation in component values, and frequency alignment with previous stages will result in a large change of response.
I would recommend a Bessel filter. Also, with the Sallen & Key topology, your hf attenuation is nowhere near as good as it should be due to the phase response of the op amp.
You need a much higher bandwidth op amp that a TL064.
Even a TL074 would be a huge improvement!
I noticed that the value is way higher but I could not understand why. Thank you, this is very helpfull.
 

Ian0

Joined Aug 7, 2020
9,677
I noticed that the value is way higher but I could not understand why. Thank you, this is very helpfull.
It’s just an artefact of the mathematics required to combine five 2nd order responses to create the Butterworth curve.
There’s a lot to be said for sampling at 96kHz, as most of the ADCs can manage that, and following it with a decimation filter in the digital domain.
 

crutschow

Joined Mar 14, 2008
34,285
It is an audio signal. I am making a spectrum analyzer with the STM29
Well there generally isn't much signal energy above 20kHz in an audio signal so those components will already be well below the 0db, full-scale signal level, thus you likely could go to a slower rolloff, lower order filter and still keep any aliasing components (those above 1/2 the ADC sample frequency) below the noise floor of your A/D converter (-74dB below full-scale).
It's likely that a couple of single op-amp 3-pole filters in series will be more than sufficient.

Note that all those op amps in series will add some significant in-band noise to the signal, so that's another reason to reduce the filter order.

What ADC sample frequency are you using?
 
Last edited:
I also believe that your best bet is oversampling to reduce the analog filter requirements.
Higher order analog filters are difficult to implement correctly with real world components. That is a key phrase.
 

Ian0

Joined Aug 7, 2020
9,677
If your audio signal has come from a digital source, or over any digital medium, its bandwidth will already be limited to 20kHz (unless you have some fancy FLAC coding etc.)
Another point in favour of oversampling is that the x=tan(x) approximation which is used in a lot of IIR filter algorithms doesn't really hold true above a quarter of the sampling frequency, and filters generally become trickier to implement close to the Nyquist frequency.
 

Audioguru again

Joined Oct 21, 2019
6,674
Most of us hear frequencies from 20Hz to 20kHz. If you want old telephones bandwidth of 300 to 3kHz then guys voices sound like chipmunks and high frequency consonant sounds of speech are gone so we say, "What? What did you say?" over and over.
Music is supposed to be 20Hz to 20kHz.
 
Top