Active Filter Project

I’ve been working on an active filter design and it’s just about ready to go. It’s the usual Sallen Key design, but with a few tricks up my sleeve.

Transistor buffers

Instead of op-amps, I decided to use discrete transistors. As it turns out, in most cases the op-amps are used as unity gain buffers, so it’s not necessary to build whole amplifying stages in their place. A single transistor will suffice. That also helps with the layout. Dual op-amps are convenient but can be a bit messy if you want the signal to flow cleanly from one side of the board to the other.

Three boards in one

The layout of a low-pass filter is almost the same as that for a high-pass. A couple of resistors and capacitors switch places, values are changed, and that’s about it. The high-pass version is slightly more complicated because some DC bias current is required for the output buffer. But they’re similar enough to just make one board for both.

What’s the third option?

A: a Twin-T notch filter. Strictly speaking, many variations can be built, but the ability to use notch filters is probably the secret ingredient that really boosted the performance of the software-based filters that I had previously been using. Specifically, a notch filter centred around 37~40 Hz fixed a prominent resonance, which had something to do with both the room and the speakers’ box tuning. It wasn’t terrible, and it seems nearly every speaker system I’ve heard with biggish speakers (>=6″ mid-woofers) used indoors has some variation of the same problem — a boomy doompth doompth that is manufactured by a combination of the speaker and the room. But once it’s fixed it seems to lift the sound quality to a whole new level.

(As of early Dec 2020, the current source amplifier is getting closer, is mostly built, and just needs to be smoke-tested. Once that’s up and running, it’s anticipated that there will also be some kind of bass resonance (centre frequency, Q and amplitude TBD, depending on the speakers connected), so it’ll be nice to have some notch filters ready to go for that as well.)

The notches do require a third transistor to ensure good performance. Luckily, used in the same location it also improves both the high-pass and low-pass options, so it’s good overall. Noise is negligibly higher (small fraction of a dB), but the distortion is lower and the bandwidth is higher. I’m actually looking forward to building a few different versions to see if I can hear any difference.

Tuning

The prototype filters for my speakers are initially going to be set at 500 Hz, and I’ve locked that in by ordering components to that effect. I’m open to many possibilities that, upon hearing them, the woofers may need to be dialled down because 500Hz is too high for them and would be better handled by my CHN-50 mid-tweeters.

These little beauties sound really nice by themselves, but could do with a pair of woofers to help out in the bass.

Or, the converse may also be true. I’ve previously found that a set-up with Dayton PS-95 full-range speakers kept getting better as the 27cm STX woofers took over more and more bandwidth, up to about 800 Hz ~ 1 kHz. There were different amplifiers at play as well, so it’s not fair to suggest that one speaker was better than another, but rather that one sounded better in the system that I had.

Simulated performance

System noise
Gain and Phase
Gain and phase zoomed in

What’s not shown here is an additional summing circuit that I sketched in TINA to add the two filter outputs together. Recombining a square wave didn’t produce perfect results, and would probably need an all-pass filter to shift the phase. However, for the moment I’m more concerned about ringing, which is not quite the same as a phase shift.

Whether or not phase shifts are audible is debatable. I think they can be audible because of the way our eardrums are sensitive to absolute pressure. So, an extreme example would be a loud bang, which, in it’s original form has a high peak amplitude. If the phase is shifted, the peak amplitude can be significantly reduced, but without changing energy levels of the various frequencies. Anyway, I was careful to choose resistor and capacitor values (specifically the ratio between them) that minimised ringing, even if harshly activated by a square wave.

Further, I’m not a big believer in “sweet spots” for optimum listening. Sound travels in various directions from each speaker, reflects off walls and so on, and interacts with our hearing system. If the filters are designed to ‘ring’ or oscillate slightly (presumably to squeeze a bit more performance out of them), I’m very sceptical that the ringing will cancel out, unless maybe it’s a coaxial design. Instead, each filter should sound right by itself, without relying on cancellation.

High-pass and low-pass response to a square wave input
Note the settling time of 1000 ms to stabilise the DC offsets
Low-pass, 10mV, 100 Hz fundamental
High-pass, 10 mV, 1 kHz fundamental
High signal level
Low-pass, 1V, 100 Hz fundamental
High-pass, 1V, 1 kHz fundamental

PCB

Now, I should get back to the PCB layout, and should be able to place orders today or tomorrow, barring any last-minute disasters. It’s a pretty standard 35mm × 70mm 2-layer FR4 board, with a mix of 1206 resistors and through-hole capacitors, which are easy to solder. I used Mouser to order components, making sure to use thin film resistors, and mostly polypropylene caps except for the single-ended power rail where I used polymer electrolytics. I was worried that the capacitors would be small enough, so I made the lead spacing optionally 5mm or 7.5mm, but Mouser seems to have a wide enough range, even for subwoofers, so I might just keep the 5mm option and make the board a bit tidier.

The design does partly filter the PSU, but it expects roughly 12-20V to be pre-filtered with a linear regulator of some kind, that may be shared between multiple boards. Real-world noise performance will come out in the wash, and I hope to do an update as soon as a I can.

The SOT-23 sized BC850C transistors are moderately tricky, but still pretty easy in the scheme of things. I only mention this because I’m thinking about doing a short manufacturing run, just in time for Christmas. So if all goes well, I might have some for sale (in and around Poland), so… people can make their own active filters, with potentially really fantastic performance! I don’t usually ‘sell’ stuff, but this thing is just shaping up really nicely and I’m happy with it.