by Isaac MCN
Subwoofers have received a lot of attention from audio software writers primarily because of our obsession with bass. Moreover, simulator writers find that, subwoofers are not nearly as difficult to model compared to loudspeakers with relatively high frequency driver units. Because of this, countless subwoofer simulators can be found in the Internet, some are free and some are not. This is my attempt to provide a freeware subwoofer program that will hopefully prove itself useful to DIYers.
The very first version of Subwoofer
Simulator was a
basic Vented-Box calculator compiled in one little MS-DOS command-line
utility. The MS-DOS executable file used equations from Ray
"Advanced Speaker Design for the Hobbyist and Technician."
The utility simply calculated net enclosure volumes and port dimensions
off one 'alignment'. It was all I could do since I neither had
the time nor patience
to hard code a graphical user-interface using only a command-line
compiler. I had to use a 2nd software to plot my program's
It was when Borland
decided to let Australian
Personal Computer Magazine release Borland C++
Builder 3.0 Standard to the public that I started my journey
into the challenging world of loudspeaker CAD software
development. After a month of reading Builder's helpfiles and
programs, I was able to build a fully-independent simulation program,
which is pictured below.
Fig. 1: First Subwoofer
time-consuming part was making the graphing
functions. I disliked what was already available, so I made my
own plotting routines. As you can see, the plots weren't perfect
around the edges; curves tended to 'overshoot' the graph space.
After the graphing functions were
completed, though not necessarily bug-free, the next time-consuming
part of making the user-interface followed. Anyway, it was
August, 2001 when I released the old version to the public.
2.0. System Rquirements
Any machine running
Windows 95 is good enough.
2.1. Electroacoustics Model
uses pre-programmed 'equivalent circuits' to
model 7 types of subwoofer designs. All the models have their
electrical and mechanical parts transformed to their acoustical
equivalent, which greatly simplifies circuit calculation. Please
see Electroacoustic Modeling Of A
Vented-Box Loudspeaker for an example of this simulation method.
The models used are of
the small-signal type, and the simulation results are accurate so long
as the driver unit in question remains linear at the (user-adjustable)
simulation conditions. The results can be relied upon so long as
the driver unit stays within linear Xmax, thermal power handling limit
and cone breakup... All of which are conditions easily-met given
today's high-quality subwoofers from Adire Audio, AE Speakers (formerly
named Stryke Audio) etc.
Subwoofer Simulator allows for 1, 2 or all 7 types of subwoofers to be simultaneously simulated, however, only one instance of each type is supported in the current software version. The next version will be more flexible and have lots more features.
I have made the
graphing part of subsim to show multiple curves in one page only so
that users may clearly see the relationship between each curve. This is
not only educational for beginners, but also informative for knowledged
designers. Moreover, all curves corresponding to each box type are
shown on the same page, which allows for easy comparison of box designs.
The current version of subsim does not automatically adjust the extremes of the Y-axes. However, all X-axis and Y-axis maximum and minimum values may be easily changed by clicking the supplied Up/Down buttons or Up/Down keys for keyboard bashers.
- System SPL and phase
- Impedance magnitude and phase
- Cone and port speed
- Cone and port excursion
- Group Delay
- In-Room frequency response (given the user's room transfer function)
and lets the user save the graphs in FRD/ZMA (textual) format. The format allows for post processing with any text editor and other audio software such as the ones from the FRD Group. The format is also used by commercial software such as SoundEasy, LEAP, LspCAD etc. FRD files are simply text files containing, for example, the following data.
Writing Bitmap screenshots is handled by Subwoofer Simulator simply by clicking on the graph space or by going the long way of clicking on the File / Write Screenshot drop-down menu.
In order to help the user distinguish which curve is which, the user has the option to change the color of each curve. Colors are automatically saved when a simulation is ended or when subsim is closed; the last saved colors are loaded everytime subsim is opened.
Clicking anywhere outside the graph space recalculates everything.
2.3. Create/Load/Save Project Files, Driver Files, Box Files...
Projects can be saved and loaded for convenience. This greatly saves time in re-entering design parameters or making derivatives of a known good design. Except for which sub-windows were open, everything is saved in one file, the program even remembers graph colors and axis extremes. Graph colors are automatically-saved just before ending a session with the program or complete program closure. Graph colors can be reset just in case the corresponding settings file becomes corrupted. Enclosure and driver details can be separately saved and loaded as well.
2.4. Listening Room Simulation
Using measurements of the user's listening room, subsim can show the effects of which with a candidate subwoofer design. Subsim simply adds the transfer functions of both subwoofer and room then displays the results.
2.5. Curve Tracing
When any of the checkboxes in the Graph Options | Available Curves tab is checked, moving the mouse pointer anywhere on the graph space enables curve tracing. At the bottom-left-hand corner of subsim's window, the corresponding magnitude, phase and frequency of the mouse pointer's position is displayed. Depending on which Y-axes are selected to be shown and which Y-axis is selected, users will see, for example, "88.123dB/-90.456deg at 30.789Hz." Any of the visible Y-axis may be selected for curve tracing simply by clicking on the desired Y-axis type.
2.6. Auto Calculation
Not all woofers come with enough Thiele/Small parameters. To compensate, Subwoofer Simulator can calculate the requried parameters... given a set of extra parameters.
Box volume, Vb, port radius, Av, port length, Lv, and box resonant frequency, Fb are interrelated to one another. I have made subsim to behave as follows.
Physical port length is influenced by end-correction, (and user defined values for) speed of sound and air density. Subsim calculates the effective port length by adding 0.850*Av (for flanged end) and 0.613*Av (for unflanged end) to the physical value, Lv. Please see Cylindrical Ports and Flared Vents for more details.
3. Quick Startup Guide
3.0. Double-click subsim.exe and then click on File / New Project
3.1. Enter driver Thiele-Small parameters or load a pre-saved driver file.
3.2. Enter simulation parameters and then select which enclosure type to simulate.
3.3. Click on Boxes / Vented to bring up the Vented-Box Details window. Enter your enclosure's parameters and then select which curves to plot.
.... Quite straight-forward. There really is no particular order, which may make Subwoofer Simulator's user interface a little "different" to some users.
- Enclosure optimization is disabled and completely removed from the program. The code works, but is 'randomly' unstable, so I need to work on it some more.
-- Upper frequency roll-off is due to voice-coil inductance, but remember that the SPL curves are only accurate up until Cone Breakup sets in. For subwoofers, Cone Breakup happens well away from the passband of interest.
-- Radiation is into half-space. Subtract 6dB from the plotted SPL to obtain full-space radiation, however, remember that Baffle Diffraction is not simulated. The easiest way to subtract 6dB from the SPL is by halving the voltage input.
-- I have built Subwoofer Simulator to use the most commonly used measurement units in this subject. However, to help you convert from one measurement unit to another, you may download Factor Conversion Tool.
-- multiple woofers may be used with the program simply by manipulating the T/S parameters of the woofer used. The single-woofer equivalent T/S parameters are:
-- Please see Thiele-Small Parameters and Dual Voice-Coil Drivers for DVC simulations.
-- for an isobaric configuration, the effective parameters are:
-- Project/Woofer/Box/Color files are saved in binary format. I was going to use text mode saving/loading but this created an incompatibility with Windows machines which use the comma (,) as the decimal separator (as I program using the full stop (.) as the decimal separator). Text mode would have given the user the option to manually edit the project files using any text editor, but the incompatibility problem was unavoidable in text mode.
-- Subwoofer Simulator displays peak or one-way excursion curves.
-- Input FRD files must not have any comments whatsoever -- the input files must only contain data or the program will refuse to accept your room measurements.
5. Things To Come
I had originally decided to continue updating Subwoofer Simulator with active filters, equalizers etc., but I thought it is time to combine both Subwoofer Simulator and Crossover Simulator into one loudspeaker simulation package.
6. Download Details
Subwoofer Simulator is FREEWARE!
Kindly email me to arrange commercial use.
Please email me if you'd like to donate any sum of money.
Back the main page...