S.A.D. Subwoofer Array Designer
63 Hz
frequencies
mic

Editing any field switches the array to Manual. Pick a generator or a preset to rebuild. ø inverts polarity.

What this computes

Every source is a point radiator. At each field point the engine sums the sources as complex pressures, then takes the magnitude:

d   = |p − xi|
Ai  = (Rref / d) · |a + (1−a)·cos(θi − roti)| · 10^(Li/20)
φi  = 2π · (d/c + ti) / T + π·poli
P   = |Σ Ai · e^(jφi)|

Speed of sound follows c = 331.4 + 0.607·T. The pattern coefficient a is 1 for omni, 0.5 cardioid, 0.375 super-cardioid, 0 figure-eight. Filters are 1/(1+(fc/f)n) and 1/(1+(f/fc)n), so order 8 is a 48 dB/oct asymptote.

Array generators

Physical arc
Sources sit on a circle whose radius makes the arc length between neighbours equal the spacing: r = 360/A · (N−1) · s / 2π. The virtual origin lies behind the array at x = −r.
Delay-tapered line
Cabinets in a straight line; each gets the delay that matches the displacement it would have had on the equivalent arc. Same beam, flat truck pack.
End-fire
Sources in line along the firing axis, each delayed by s/c relative to the one behind it, so the wavefronts align forward and cancel rearward.
Gradient
Two sources, the rear one displaced by s, delayed s/c and polarity-inverted.

Reading the plot

Colour is relative level over the chosen span. Contours mark every 6 dB, the brightest at −6 dB. The dashed circle is the reference radius, which is also where the polar and response traces are measured. Hover the plane for a level readout.

Caveats

Free field, no boundaries, no air absorption, single frequency per plane, and every source is a point. Real cabinets have finite size and their own phase response. Use it for geometry, not for absolute SPL.

Model ported from the S.A.D. v1.10 workbook by Merlijn van Veen. This is an independent web reimplementation.