Quick Solvers

Often, when I find myself making repetitious calculations as part of a system design task, I build a quick spreadsheet solver that can help me quickly iterate design decisions and save work when I need to repeat a similar calculation in the future. Although I have an archive of calculators for all sorts of more academic purposes like finding time constants and air absorption, our focus here is on calculations that I need to make quickly or “on the fly” in the field. This post details three recent examples of design processes for which I use my own solver spreadsheets to reduce these tasks to a few seconds’ worth of tapping inputs into a laptop, and may help you find ways to adapt a similar process in your own work. The solver sheets discussed are provided at the conclusion of the post.

Solver Task # 1: Front Fill Spacing

For the simple and common task of distributing fills across the front of a stage, spacing matters: if we want a seamless line of equal-level coverage across the barricade or first row, we want to space the sources such that their -6 dB edges meet (sometimes referred to as “unity spacing”). The protractor method fails here, as we’re not moving angularly across the pattern until we reach the -6 dB point at the edge of the horn (45° off axis of a 90° fill); rather we’re moving laterally, so moving in a straight line across the barricade means we lose level both because of the axial losses but also moving further from the source, so we hit the -6 dB point sooner than the rated dispersion might lead us to believe. (See Deriving Lateral Aspect Ratio for more).

This calculator simply turns the calculation in the last sentence of that article into a quick solver that spits out the proper spacing.

Example: We have front fills with 100° horizontal dispersion, and the distance between the edge of the stage and the barricade (first row of listeners) is 8 feet. How far apart should we place the front fills in order to have seamless coverage at the barricade, but not any excess overlap, and no gaps?

This solver uses the 8’ distance and the 100° dispersion as inputs, calculates the lateral aspect ratio (“coefficient”) as 2sin(Θ/2)and then multiplies it by the throw distance to give us the proper spacing as an output: our fills should go on 12’3” centers. The solver also gives us a center-split spacing for when we have an even number of fills (approximately 6 feet on either side of centerline to maintain a symmetrical 12’ spacing). Bonus points: the spatial units cancel out so you can input meters and it works just as well.

If you need to fit sources along a curved stage, the math becomes more complicated, and you might want to use a tool such as sound designer Daniel Lundberg’s Uncoupled Array Calculator.

Solver Task # 2: Subwoofer Decorrelation Filters

In a previous article I described the technique of using complementary EQ filters on L/R subwoofer arrays to reduce interaction and “power alley”, which increases horizontal uniformity throughout the coverage area.

Depending on the processing resources available, you may wish to implement the technique using different filter counts. I typically use 8 - 16 depending on what the processing platform du jour allows.

This calculator takes Start and Stop frequencies (basically, the subwoofer bandwidth) as inputs, plus the number of filters desired, and spits out log-spaced Fc’s rounded to the nearest Hz. The solver works by calculating the number that will give us N evenly-spaced filters (on a log frequency axis) starting and ending on the desired frequencies. For example, if we want 12 log-spaced filters starting on 32 Hz and ending on 80 Hz, we need to calculate the value that, multiplied by itself 11 times, will yield 2.5 (the ratio between 80 Hz and 32 Hz). In other words, the 11th root of 2.5. Note that filter 12 in the list below lands at 80 Hz as desired. The full calculation is then (Highest Freq / Lowest Freq) ^ (1 over [Number of filters - 1]).

Solver Task # 3: Subwoofer Delay Taper Steering

When designing flown subwoofer arrays, line length directly determines the vertical directivity of the array, so the quantity of elements flown is the critical factor in creating a desired level of front-to-back consistency in the lowest octaves. (See Taming Red Rocks for an example.) The line length creates some manner of vertical directivity, which can then be aimed and/or steered by mechanical and electronic means.

Let’s consider a flown array of seven SL-SUBs per side deployed in an arena (why seven? That’s what the budget allowed). SL-SUB are natively cardioid elements so we will use ArrayCalc to predict them accurately. Unfortunately, the software is not exactly designed for what we’re about to inflict upon it (I couldn’t find a way to easily add inter-element delay times to flown SL-SUB arrays and predict the results) so we will live up to our title of Systems Engineer and figure out how to trick the software into doing what we want.

We can add a horizontal (ground-based) SUB array and easily adjust delay for each element, which affects the horizontal dispersion of the array. No matter - we’ll just pretend the floor is the wall. Looking at a top-down (plan view) prediction of a horizontal subwoofer array is the same thing as looking at a side-on (section view) prediction of a vertical sub array. The software doesn’t need to know we’ve conceptually rotated our frame of reference by 90 degrees.

I made an audience plane 225 feet deep to represent a typical arena, and inserted a triangle geometry to represent the 100 level seating rake. The software thinks we’re looking down upon the floor but we can just as readily pretend we’re looking at a vertical plane of the side view.

Now we can insert a sub array “flown” at a trim of 45 feet and predict its dispersion from front to back in the venue. Here’s the 7-element array with no inter-element delay, at 50 Hz. Note in the polar pattern at the bottom of the screen that the array holds its shape reasonably well over frequency (colored contour lines indicate the polar at 32 Hz, 40 Hz, 50 Hz and 63 Hz).

3 dB color contours (four color transitions) mean we have about 12 dB front to back variance at 50 Hz. We can tighten the pattern by flying a longer line, but that costs money. Let’s instead steer the dispersion upwards a bit with a delay taper. Here’s the effects of a linear delay taper (0.5 ms per element, increasing as we go up):

This gives us a relatively gentle upward steering that takes one color transition out of the equation (improving consistency by 3 dB) and is a better shape for the audience area in general. This is a common approach and, as we can see, works just fine. But a look at the polar plot reveals a drastically different pattern at 63 Hz than the frequencies below it, and more delay will make it worse. For tonal consistency it’d be best to have an array that better maintains its polar over frequency.

The linearly spaced delay values are the culprit here. We can distribute the delay times logarithmically and see what that gets us - and that’s where the solver comes in handy. The math is quite similar to the decorrelation calculator. This time we’re in the time domain instead of the frequency domain but the concept is the same: give it the number of elements and how much delay taper you want (the optional Min Delay (ms) field is used to offset all the delay times by the minimum amplifier latency as provided by ArrayCalc) and we’ll find the Nth root to calculate the spacing coefficient and produce a table of delay values.

Since I often fly 9 subs per side, I built 9 rows into the table, but since we’re talking about 7 elements in this case we can ignore the last two entries. Now we have a log-spaced delay taper of 4 ms. Let’s see how it performs:

We get a similar upward steering on the dispersion, but with a much more well-behaved polar over frequency. The log-tapered delay times are much more conducive to maintaining polar over frequency, and should sound more impactful to the mix engineer, as most of the elements have much smaller delta delays. Notice how we are just barely starting to thin coverage in the front row of the audience area - this is where our ground “front fill” subwoofers come in handy. This allows us to manually set the amount of “front row subwoofer experience” we desire for those listeners, based on the needs at the show, instead of having to pummel them with a ground array that has to reach to the rear of the venue. Divide and conquer.

If the venue geometry calls for it, we can aim the entire thing upwards a bit mechanically as well, which also reduces stage wash by about another 3 dB in this case.

The design in the photo below uses all three techniques and calculations discussed in this article: calculated front fill spacing, subwoofer array delay steering, and EQ decorrellation. (Yes, that means a different set of DSP parameters for every single subwoofer in the air - make sure to double-check your patching!). One of the four “front fill” ground subs is visible as well.

Click here to download the spreadsheet discussed in this article. (The link is dynamically generated from the source Google Doc, so the download will automatically reflect any future revisions.)

Next
Next

Making the Map