So this is going to be a Part II to my original post from 14 years ago where I first discussed the topic of proper subsonic filter design in conjunction with subwoofer enclosure modeling. It’s been a while, but I recently got around to actually doing what I said I was going to do all those years ago. While my specific example incorporates this super-old (and no longer available) EV XEQ-2 crossover, the methods employed herein are practical for anyone looking into subsonic filter design, how it works, and the best way to incorporate it into you next sub project without sucking the life out of your bass. And more recently since the availability of online, web-based simulation tools, such as National Instruments MultismLive, taking the guesswork out of active filter design is a thing of the past. So let’s get into it!
I’ll do a quick re-cap of my previous post on this topic, but the main idea behind this post is to show how to design subsonic filters and then how to model them into a subwoofer design before you even buy or build anything. The two main tools for achieving this are NI’s MultismLive and Unibox 4.08. Unibox is a bit dated for speaker enclosure design and runs in Excel, which not everyone uses, but is my favorite box simulation software of choice. I took a stab at using WinISD to do this, but it doesn’t provide the option to import .frd files to create custom filters. You can create simple filters using the built-in filter tool, but is limited to certain prescribed filter types. Plus it’s not obvious how to go from the simulation to a real-world active filter, unless you’re building a system with DSP. Unibox 4.08 on the other hand will let you import .frd files which can have any shape, slope, Q, response, etc. you can come up with.
So with that let’s start out with this simple example, which is based on a sub I built several years ago, so we can see how it all plays out. First we’ll start with a simple simulation of the driver and enclosure. In this case I’ve got a Dayton Audio RSS315HF-4 in a 95-liter enclosure tuned to 22 Hz. This looks pretty good in the simulation, has a decent f3, a nice and flat in-band response, without any peaking or drooping, but if you look at the excursion below 19 Hz, you can see that Xmax is widely exceeded, as is the assumed Xmech. Regardless of the driver and enclosure, this is a pretty common behavior that will occur with any vented design. Passive radiator designs are bit better and sealed designs are even better yet, but they too can benefit from a properly designed subsonic filter to accompany them. So even though this sub is already tuned pretty low, if you didn’t want to implement a subsonic filter, you could argue three points: 1. there is little source material that is actually going to push the sub to those levels below 20 Hz and 2. most if not all amplifiers are not even flat 20 Hz, meaning below 20 Hz the amp is starting to roll-off anyway, thus limiting the actual excursion at the driver and lastly 3: eh, it’s just modeled data, who really cares? All valid, but flawed points on their own. A subsonic filter should be implemented to keep the driver under control below tuning to prevent possible driver damage, lower distortion, and keep the amplifier happy (i.e., possibly going into protect mode during playback and interrupting your movie/music).
The biggest problem with subsonic filters is by design, they limit excursion, and in doing so if not set to the correct frequency, will limit the output at and above tuning, which we do not want. Steeper slopes can help, but also make the filter more complex. In this case I am using a fairly simple 12 dB/octave active filter that requires only one op-amp to implement. So how do we determine where to set the corner frequency of this subsonic filter? Well, that’s where MultismLive comes into play. I built a model of the exact crossover that makes up the EV XEQ-2 and ran an AC simulation which lets you see the exact response of the filter. I show that circuit here, which is made up of an input buffer stage, which can be set just about any gain with no EQ, there’s an 18 dB/octave low-pass filter which can be set to any frequency desired, and then there’s the 12 dB/octave high-pass filter (the subsonic filter) which also can be set to any frequency and any Q desired. The input stage is unity gain, and provides a good buffer stage to the source, the LPF stage is set to about 90 Hz, but can be adjusted as shown with three resistors and last stage is the subsonic stage which is set by only two resistors. Depending on the values selected, you can actually create a bass boost circuit, which can be used to model bass boost circuits of common plate amps to see how they will sum with your enclosure, which is what I did with my Sonorous 10S subwoofer. But for this vented sub box, we want zero boost, in fact the ideal roll-off is where the Q=0.7 which can be achieved by changing R9 and R11 at a ratio of 1:2.
So I played around with a bunch of resistor values for gain, LPF and HPF and ran an AC simulation for each one to get an idea of different frequency responses that can be achieved. You can click on this link here and play around with the simulation and model some filter cutoff frequencies of your own. But we’re not done yet. MultismLive lets you export the data into a .csv file which this is where the whole design gets interesting. With that exported file, we can now import that into the Frequency Response Active Filter section of Unibox and actually see how the HPF affects the box response and how it affects the driver excursion. I created about 10 different filters, and imported each of them into Unibox and then compared them all see which one looked the best. And by looked the best, basically what I was shooting for is best control over excursion below tuning, but with minimal impact to frequency response above tuning. Go too low, and excursion is still too high, but FR is minimally impacted, go too high and excursion looks great, but FR suffers. The balance is basically somewhere in the middle. By plotting all of the options, we can better choose where we want this subsonic filter to sit. But even Unibox has limitations, one being you can’t compare more than 6 responses, and you can only compare FR plots and nothing else. So I exported the raw data from Unibox into my own worksheet in Excel where I plotted several configurations and overlay excursion and FR plots on the same graph. I’ve shown that here for this example design. Notice that a filter corner (-3 dB) of 20 Hz does the best at keeping excursion in check, but also has the most impact on FR. The 12 Hz corner is better than no filter at all, but still allows over-excursion. The sweet spot is probably right around 15 Hz or 17 Hz. So that’s the optimum subsonic filter corner for this subwoofer. And that’s the design. Short and sweet.