A project log for Feedbass! (microphone in loudspeaker)

Using a microphone in speaker cabinet as feed-forward, to extend low frequency range of audio system

DeepSOICDeepSOIC 03/08/2018 at 01:130 Comments

I've been asked by @charleslinquist , why not add bass boost for that particular speaker+box with a filter network in front of the amplifier, instead of all this mess with microphone? Nice question.

I actually have been doing that for a long time, but using a digital processing instead of an analog filter. Building analog filter just seemed too much of an adventure, and here's why.

With a sealed box, the frequency response depends directly on cone motion x(t). This motion can be reasonably well approximated with a mechanical oscillator equation:

Where omega_0 is resonance frequency in rad/s, gamma is viscous friction coefficient and f(t) is external force (i.e. current through voice coil). Dampening by electromagnetic braking is not exactly equivalent to viscous friction, but should be good enough.
Flat frequency response more-or-less corresponds to

where a(t) is the waveform of audio record, i.e. air pressure vs time.

So, we can solve for voice coil current:

So easy. Just mix the signal with some first and second intergrals, and the response is compensated... and with perfect phase btw!.. Not so fast, of course. Now we have a problem, that the filter has infinite gain at DC, and we shouldn't amplify anything below 16 hz (because humans can't hear that stuff, while it would cause the speaker to work really hard). So we have to add some high-pass filtering. And in order to eliminate the infinity, the filter has at least to be of second order. My experience with digital filters shows that second order doesn't work well (still extreme sensitivity to subsonics in recordings), and third order is the way to go.

So naiive filter would be: 

This requires about 5 opamps for a straightforward design. Maybe this can be collapsed into fewer stages... for example, 2 orders of the subsonic can be embedded into integrators, by doing them as RC-filters rather than perfect integrators. Also, at least two trimpots in mixer to tweak to excellence.

Now that is still not it. If I decide that my subsonic is 16 hz, my box with tiny speakers will be almost useless because of low maximum loudness possible... a bit more volume, and it clips horribly due to enormous bass content required to rectify the response. 

So choosing the low frequency cut-off is a compromize: you can get deeper bass, but at an expense of loudness. 

In my digital filters, I've exposed that subsonic cut-off frequency as adjustable. This way, if I am in silent room enjoying muskick, I make deeper bass. If party time and muskick has to be loud, I sacrifice bass depth.

So in the analog filter, I want a pot that adjusts the corner frequency of the subsonic filter. And that takes a TRIPLE FREAKING POT! for one filter! And if stereo, a SIX-IN-ONE pot. Man, that's insane. Not to mention that the pot has to be used in rheostat mode, which makes it unreliable. Sure, that can be made with voltage-controlled attenuator ICs, but it's still waaaay too much trouble.

So the design explodes into a horribly complex and hard to calculate system, with many opamps, trimpots, capacitors, and the at-least one triple pot.

The beauty of feedbass idea is that the same resutls could be achieved with one simple frequency-independent signal path, and one single pot that adjusts the subsonic filter (or double, if two separate speakers). Isn't it beautiful?

So far, as you can see in previos project log,  the idea doesn't quite work with the system I tried it on. I have some hopes for it if I use a current-drive amplifier instead of a typical voltage-drive one, but so far I have not seen any easy-to-power-from-single-lion-cell IC that will force current into speaker rather than voltage. 

To summarize. 

Filters in front of amplifier:

* a number of opamps required

* at least 2 trimpots

* a triple potentiometer for low-frequency cut-off adjustment

* lot of design effort, specific to each sound system

* it works. At least, in DSP.


* one opamp, one microphone, one pot - that's essentially it. So easy.

* same design for every box+speaker essentially, no need to measure frequency response beforehand.

* but... doesn't work =((( apparently.