"Optimizing the Splice" of Subs to Multiple Satellites: Theory
Users of commercial room correction systems have long observed that after these systems are run, the integration between satellites and subs, determined by how smooth the measured combined frequency responses of subs and satellites are in the crossover region, is often suboptimal. This stems from the design of typical room correction systems, which perform individual DSP on each satellite and a collection of subs considered as one, without taking into account how the satellites and subs will interact in the crossover region. Taking this interaction into account usually requires an iterative algorithm, and except for recent approaches such as Dirac Live Bass Control, few room correction vendors have attempted to use such an algorithm.
This shortcoming of traditional room correction systems has led users to create a workaround known as the "sub distance tweak." This topic briefly discusses the sub distance tweak, but the real purpose of this topic is to describe a process that allows "optimization of the splice" of subs and all satellites  not just a compromise among the different satellites.
Hardware and Software Requirements
In order to get optimization of the splice of the responses of subs and all satellites simultaneously, a suitable DSP device (which may be internal or external to the AVR or prepro) is required not just for the sub channel, but for all satellite channels as well. It can't be done with the usual miniDSP 2x4 HD on only the subs. Allpass filters are needed on both the satellites and the subs, and for the case of miniDSP devices, these allpass filters will be implemented via the advanced biquad feature. For the purpose of this topic, a miniDSP DDRC88A with DDRC88BM bass management software plugin will be assumed. The DDRC88BM plugin should be configured to use fourthorder LinkwitzRiley (LR4) crossovers, identified in the DDRC88A documentation as LR 24dB/oct.
If you want to run an MSO optimization to reduce seattoseat variation prior to running Dirac with the DDRC88A, without an additional miniDSP 2x4 device you'll be limited to a 5.1 setup with a maximum of three subwoofers. For a 7.1 setup, or for more than three subs with a 5.1 setup, you'll need an external DSP device for the subs, such as a miniDSP 2x4 HD.
Caveats
The author has not used Dirac Live or any commercial room correction system, nor the DDRC88A, so the instructions herein represent a "best effort" approach of explaining the optimization procedure, based on the DSP capabilities of the DDRC88A/DDRC88BM combination. It is assumed that, as a minimum, the DDRC88A/DDRC88BM combination allows for the delay in the common sub channel to be manually adjusted after Dirac is run, such that the sub distance tweak can be performed. This post showing a postDirac sub distance tweak of the DDRC88A appears to confirm this assumption. Though there may be some missing hardware and pluginspecific details in this topic, the purpose of this topic is to discuss the theory and how to put it into practice using MSO. The author's system is twochannel, so there is no multichannel data to provide in the form of an MSO example.
Background: The Sub Distance Tweak
The sub distance tweak was probably originated by users of the Audyssey room correction system. Like almost all room correction systems, Audyssey performs its measurement and EQ steps, then adjusts the satellite distances so the peaks of all impulse responses measured at the main listening position (MLP) occur at the same time and with the smallest delay possible. This technique works well for satellites, as the impulse responses are sharp and narrow, and have a welldefined time of arrival. However, for subs, there are at least two problems. First, the impulse response of a sub or group of subs is very spread out in time, so it's not even clear what the time of arrival of the impulse is. Second, even if you were able to identify a clear time of arrival for the sub impulse response and were able to line it up with the satellites, this almost never optimizes the splice of subs and satellites as determined by measurement of the combined frequency responses of satellites and subs in the crossover region.
One way around this problem is to introduce an iterative procedure that measures the combined centerchannel satellite and sub outputs, then to try different sub delays/distances, remeasuring the response each time the sub delay/distance is changed. The procedure could be summarized as follows.
 Run your room correction system.
 Using REW, measure the combined response of centerchannel satellite and subs in a frequency range that includes the crossover, say 15 Hz to 200 Hz. This is done by energizing the center channel (HDMI input channel 3) and measuring the combined response magnitude at the MLP. Multiple subs should all be energized at once, not one at a time.
 Alter the sub distance/delay by a small amount, say 1 foot or 1 msec.
 Repeat the measurement of the combined responses of center and subs.
 Repeat steps 3 and 4 for various sub distances/delays until the combined response of center and subs in the crossover region is as smooth as possible.
Once you've performed these steps, you've "optimized the splice" between the center and the subs. The sub delay must now be held fixed, as any change from this delay would mean the splice between center and subs would no longer be optimum. This delay should not change from the value determined by the sub distance tweak in any further steps you perform.
Conditions for Perfect Integration When Using an LR4 Crossover
Even though perfect integration of satellites and subs is impossible in practice, it's still a useful concept to explore in order to understand what the ultimate goal should be in an ideal situation. In this way, we can better understand the error from the ideal result and create techniques to minimize the error in a real situation.
To get perfect integration of satellites and subs in a system with an LR4 crossover, two conditions must be met for each and every pairing of a given satellite and the combined subs.
 In the absence of a crossover, the acoustic magnitude responses (in dB SPL) of the given satellite and the combined subs must be equal to one another at all frequencies in the crossover region.
 In the absence of a crossover, the acoustic phase responses of the given satellite and the combined subs must be equal to one another at all frequencies in the crossover region.
The first condition above is the reason that both subs and all satellites should have the same target curve in your room correction software, at least in the frequency range for which they overlap. This implies that, in this common overlapping frequency range of subs and satellites, and in the absence of a crossover, all the acoustic magnitude responses of both the combined sub outputs and all satellites should match one another.
Similarly, in this common overlapping frequency range of subs and satellites, and in the absence of a crossover, all the acoustic phase responses of both the combined sub outputs and all satellites should match one another.
So in this theoretical "perfect integration" case using an LR4 crossover, the following conditions are met when considering all satellites in the absence of a crossover.
 The target curves for all satellites and the combined subs are the same.
 The magnitude responses of all satellites and the combined subs match the target curve perfectly in the frequency range they share.
 The phase responses of all satellites and the combined subs are all equal to one another in the frequency range they share.
Since these conditions pertain to behavior in the absence of a crossover, they hold regardless of whether different crossover frequencies are used for different satellite categories.
Now, consider the individual phase responses of a single satellite and the combined subs with the LR4 crossover in place. For such a case, there are some important observations to be made.
 An important property of the LR4 lowpass and highpass filters is that when their 6 dB frequencies are equal (as they are for an LR4 crossover), the phase responses of its lowpass and highpass filters are equal to one another. That is, if you were to apply a swept sine wave to the input of an LR4 crossover, the lowpass and highpass filter outputs would be in phase with one another at all frequencies.
 When this property is applied to condition 2 above, this implies that for a given pairing of a single satellite and a set of combined subs, the lowpassfiltered acoustic output of the subs and the highpassfiltered satellite acoustic output of the satellite must also be in phase with one another in the crossover frequency range for perfect integration. That is, if the combined acoustic output of a set of subs and of a given satellite were perfectly phase matched to one another in the absence of a crossover, they will be perfectly phase matched to one another in the presence of the crossover as well.
 When the magnitude responses of the subs and all satellites match the target curve perfectly in the absence of a crossover, and the phase matching condition above is met with the LR4 crossover in place, the magnitude response of every pairing of a given satellite with the combined subs, when energized together with the LR4 crossover in place, will also match the target curve perfectly.
The sub distance tweak is always performed with the crossover enabled. Therefore, one way to think of the sub distance tweak in the LR4 crossover case is as a way of getting the acoustic outputs of a combined set of subs and of a given satellite as close as possible to being in phase with one another over the crossover frequency range with the crossover in place.
What's Missing In The Sub Distance Tweak?
In the description of the sub distance tweak above, we concluded that once the sub distance/delay is optimized for integration of center and subs, it must be held fixed to avoid disturbing this optimum condition. It's reasonable to wonder whether the integration of, say, left satellite and subs and right satellite and subs will necessarily be optimum.
In the previous section, we saw that the sub distance tweak is a way of matching the acoustic phase responses of the combined subs and a particular satellite (usually the center channel) in the crossover region at the MLP. If we did a good job optimizing the splice between center and subs at the MLP, with an LR4 crossover this implies good phase matching between center and subs in the crossover region. But what about, say, the left satellite? If the splice between left satellite and subs were also optimized, this would also imply optimum phase matching between left satellite and subs in the absence of a crossover.
But is this necessarily the case? The sub distance tweak is run after Dirac, and because of the powerful DSP involved in Dirac's calculations, it's safe to assume that, in the absence of a crossover, the magnitude response of the combined subs matches the left satellite well in the crossover frequency range, which we'll assume spans the frequency range f_{1} to f_{2}.
If we assume minimumphase behavior (which is not necessarily the case), we might assume that because the magnitude responses of the combined subs and the left satellite match from f1 to f2 in the absence of a crossover, the phase responses should match as well. But this assumption is not necessarily true. The computation of the phase response of a minimumphase system from its magnitude response involves a Hilbert Transform, which in turn involves an integral over all frequency. This means, for example, that for a minimumphase system, the calculation of its phase response at a single frequency f_{x} from its magnitude response depends not just on its magnitude response at f_{x}, but its magnitude response over all frequencies. Without going into even more gory detail, the practical result is that to get good phase matching of two minimumphase systems in the frequency range from f_{1} to f_{2}, their magnitude responses much match well from f_{0} to f_{3}, where f_{0} ≪ f_{1} and f_{3} ≫ f_{2}. Under worstcase conditions, f_{0} approaches 0 Hz and f_{3} approaches onehalf the sampling frequency. This means that getting a good phase match from f_{1} to f_{2} is not possible in general by matching only the magnitude responses, because such matching over the entire frequency range is itself not possible due to the limited bandwidths of the components involved. These bandwidth limitations are in different frequency ranges, so in practice achieving said matching would involve boosting the high frequencies of the subs, and the low frequencies of the satellites, both of which are undesirable in practice. Mild equalization to match the magnitude responses of satellites and subs in the crossover region is of course useful, but in order to get phase matching in that region, equalization would need to be performed over a much wider bandwidth, likely resulting in excessive boosts in the frequency regions where satellites and subs have limited bandwidth.
Assuming the sub distance tweak were done using the centerchannel satellite and subs, what's missing with the tweak is the ability to independently adjust the phase of all other satellites in the crossover frequency range without affecting the time at which the peak of their impulse responses occur at the MLP.
Independent Satellite Phase Adjustment
In order to be able to independently adjust the phase response of each satellite in the crossover frequency range, the mechanism for doing so must, at a minimum, satisfy the constraints below.
 Because the sub distance tweak has already been used to optimize the splice between center and subs, the sub distance/delay must be left at the setting found by the sub distance tweak.
 Since the satellite distance/delay settings have been optimized by Dirac so that the peak of every satellite's impulse response occurs at the same time at the MLP, all these distances/delays must be left at the setting found by Dirac.
AllPass Filters Enable Independent Satellite Phase Adjustment
What's needed is a way to adjust the satellites' phase responses in the crossover frequency range, without affecting their magnitude responses or the time at which the peak of their impulse responses at the MLP occur. Allpass filters meet this requirement. To achieve success in the general case, it's not enough to just throw allpass filters at the problem willynilly. Instead, we'd like to develop a systematic technique and a technical justification for it that maximizes the possibility of success in all scenarios. What follows is the development of that justification.
The simplest type of allpass filter is a firstorder one. These are commonly found in analog form in active subwoofers having a "phase knob" adjustment, as can be verified by looking at service manual schematic diagrams. The phase shift of such a circuit is not constant with frequency. Noninverting firstorder allpass filters are characterized by a single parameter, the center frequency, at which their inputoutput phase shift is +90 degrees. For frequencies much lower than the center frequency, their phase shift tends toward +180 degrees, while for frequencies much higher than the center frequency, their phase shift tends toward 0 degrees.
AllPass Filter Center Frequency For Symmetrical Phase Adjustment At Crossover
We'd like to figure out an initial value for this center frequency. To make things easier, it helps to limit consideration to just the crossover frequency. We'd like to a have symmetrical phase adjustment at the crossover frequency. To accomplish this, we can set the initial value of the center frequency of the allpass filter to the crossover frequency. This is because the phase shift of the firstorder allpass filter at its center frequency is 90 degrees, which is in the middle of its total range of phase shift vs. frequency, which approaches 0 degrees at very high frequencies and 180 degrees at very low frequencies.
Let's take a specific example involving only the subs and the center, left and right satellites. Assume the crossover frequencies to the center satellite and left and right satellites are all the same, and equal to 100 Hz. Also assume the sub distance tweak has been performed using the centerchannel satellite and subs, so that the splice between them is optimized. The sub distance/delay has been optimized and must be held fixed. So we only need to optimize the splice between left satellite and subs, and between right satellite and subs. We therefore put firstorder allpass filters in the signal path for the left and right satellites, and set the center frequency of these allpass filters to 100 Hz. In doing so, we've introduced a 90 degree phase shift into the left and right satellites at the crossover frequency. By looking at the formula for the phase shift of the firstorder allpass filter vs. frequency, we can determine the required center frequencies for two extremes of adjustment. For a 170 degree phase shift at 100 Hz, the allpass center frequency should be 1143 Hz. For a 10 degree phase shift at 100 Hz, the center frequency should be 10.5 Hz. Of course, setting the center frequency to 100 Hz gives us 90 degrees phase shift at 100 Hz.
Placing The AllPass Filters To Avoid Altering The Existing Phase Match
But something is wrong. After running the sub distance tweak between the centerchannel satellite and subs, their phase matching in the crossover region has been optimized. Because the crossover frequencies between center and subs, and between left and right satellites and subs are both assumed to be 100 Hz, simultaneously optimizing the splice between center and subs and between left and right satellites and subs would require the acoustical outputs between left and center satellites and between right and center satellites to be in phase with one another. But by inserting the 100 Hz allpass filter into the left and right satellite channels, but not the center, we've introduced a 90 degree phase difference between each of the left and right satellites and the center satellite at the crossover frequency. How do we fix this?
We Need To Start With Identical AllPass Filters In Every Path
We can make the phase shift of the centerchannel satellite match the left and right satellites by putting a 100 Hz allpass filter into the center channel as well. However, in doing so, we have just invalidated the optimization of the splice between the centerchannel satellite and the subs achieved by the sub distance tweak. This is easily fixed by putting a 100 Hz allpass filter in the shared signal path of the subs. By having identical allpass filters in the shared path of the subs and the centerchannel satellite, we have kept the relative phase shift between centerchannel satellite and subs unchanged, preserving the splice optimization between center and subs achieved by the sub distance tweak. Thus, we end up with a firstorder allpass filter centered at 100 Hz in every path: the shared path for the subs, and for each of the left, right and centerchannel satellites.
This 100 Hz center frequency value for the allpass filters is not a hard and fast number. It resulted from assuming, for the sake of argument, the crossover frequency for both the center and left/right satellites to be 100 Hz. If this common crossover frequency had instead been 80 Hz, then the allpass center frequency would also be 80 Hz. In addition, we haven't discussed the case of unequal crossover frequencies for different satellites or expanding the total number of satellites to seven. That was to avoid making the discussion too complex at the beginning.
A Summary Of The Simplified Procedure
Here's a summary of the results so far, considering only left, right and center satellites, and assuming all crossover frequencies are equal to 100 Hz. The measurements for the procedure below are assumed to be taken at the MLP.
 Run Dirac.
 Run the sub distance tweak between center and subs without any allpass filters in place. When the optimum sub delay is found, hold this delay fixed. It should not be changed.
 Add a shared firstorder allpass filter with center frequency of 100 Hz to the subs, and an identical allpass filter to the center. The 100 Hz center frequency of these two allpass filters should also be held fixed and never changed. This change does not alter the optimum integration between center and subs achieved by the sub distance tweak, as it changes the absolute phase of both the subs and center by the same amount, keeping their relative phase unchanged.
 Add a firstorder allpass filter with center frequency of 100 Hz to the left and right satellites. The center frequencies of these two filters should be adjustable. Because the center frequencies of the allpass filters can be set either greater than or less than 100 Hz, this results in a guaranteed bidirectional phase adjustment between left and subs, and between right and subs.
 The sub distance tweak with the center channel, combined with the adjustable allpass center frequency of the left and right satellites, is the technique used to simultaneously "optimize the splice" between center and subs, left and subs, and right and subs.

Optimizing the splice between left and subs, and between right and subs is done in a way that's analogous to the sub distance tweak. But instead of altering the sub distance (which must remain fixed to avoid compromising the sub distance tweak), the following procedure is performed.
 Adjust the leftchannel allpass filter center frequency to optimize the splice between left channel and subs.
 Adjust the rightchannel allpass filter center frequency to optimize the splice between right channel and subs.
This is the idea in its simplest form. Unlike the sub distance tweak, for which the sub delay can easily be set manually, setting the center frequency of each allpass filter manually is not practical, because it depends on the miniDSP advanced biquad approach. But this is easily done in MSO using either manual tuning or running the optimizer to do it automatically. Specifics of using MSO for this purpose will be discussed later in this topic.
Integration of All Satellites Using Multiple Crossover Frequencies
In the previous section, a threechannel system with subs and left, right and centerchannel satellites and identical crosssover frequencies was considered. It was concluded that introducing identical allpass filters into all paths (shared sub channel and the three satellites) didn't affect the integration of satellites and subs.
The argument for starting out with identical allpass filters in all paths depended implicitly on the assumption of identical crossover frequencies and the need to phasematch the left and right satellites to the center in the crossover region. We can generalize this idea to as many crossover frequencies and channels as needed, without having to make those assumptions. Recall that for perfect integration of all channels with the subs when an LR4 crossover is to be used, the following conditions must be met in the absence of a crossover.
 The target curves for all satellites and the combined subs must be the same.
 The magnitude responses of all satellites and the combined subs must match the target curve perfectly in the frequency range they share.
 The phase responses of all satellites and the combined subs must all be equal to one another in the frequency range they share.
Also recall that since these conditions pertain to behavior in the absence of a crossover, they hold regardless of whether identical or different crossover frequencies are used for different satellite categories.
Now assume that all these conditions are met in the absence of any allpass filters, and that identical allpass filters are then added to all signal paths. The following situation results in the absence of a crossover.
 The magnitude responses of all satellites and the combined subs still match the target curve perfectly in the frequency range they share, because the allpass filters do not alter these magnitude responses.
 The phase responses of all satellites and the combined subs are still all equal to one another in the frequency range they share, because these phase responses have all been altered by the same amount.
Therefore, the perfect integration assumed prior to inserting the allpass filters has not been altered by their insertion. The only assumption about the allpass filters in this arrangement is that they be identical prior to any phase adjustment used for "optimizing the splice" of the satellites to the subs. These conditions would still hold, for example, when using secondorder allpass filters with identical center frequency and Q.
This means the technique described in the previous section can be straightforwardly extended to the case of multiple crossover frequencies and using all satellites. Recall that for the case of a single crossover frequency, the fixed allpass filter center frequency for both the subs and the center channel was set to this common crossover frequency. Since all satellites end up with an allpass filter initially set to the same center frequency, the allpass filters that are adjustable (all but the center channel and subs) will have a symmetrical phase adjustment at the crossover frequency.
With multiple crossover frequencies, it's not possible to have symmetrical phase adjustment around each crossover frequency, as all of the allpass filters must initially be set to the same center frequency, but the crossovers are not at the same frequency. This requirement for identical allpass filters prior to adjustment is so that initially, the relative phase between each satellite and the subs remains unaltered from the condition established by Dirac prior to the allpass filters having been inserted.
We can get close to a symmetrical phase adjustment though. A reasonable workaround is to first determine all the crossover frequencies to be used. Take the average of the highest and lowest ones, and use that as the initial center frequency value for each of the allpass filters. To simplify the explanation below, we'll assume the lowest crossover frequency is 80 Hz and the highest is 100 Hz. This means the allpass filters should be set to a center frequency of 90 Hz. Here are the required steps.
 Run Dirac.
 Run the sub distance tweak between center and subs without any allpass filter in place. When the optimum sub delay is found, hold this delay fixed. It should not be changed.
 Add a shared firstorder allpass filter with center frequency of 90 Hz to the subs, and an identical allpass filter to the center. The 90 Hz center frequency of these two allpass filters should also be held fixed and never changed. This change does not alter the optimum integration between center and subs achieved by the sub distance tweak.
 Add a firstorder allpass filter with center frequency of 90 Hz to all other satellites. The center frequencies of all of these should be adjustable. Because the center frequencies of the allpass filters can be set either greater than or less than 90 Hz, this results in a guaranteed bidirectional phase adjustment between each satellite and the subs.
 Adjust the leftchannel allpass filter center frequency to optimize the splice between left channel and subs.
 Repeat step 5 for all the remaining satellites (except the centerchannel satellite).
The sub distance tweak could be done outside of MSO, performing a new measurement each time the sub delay/distance is changed, or it could be done within MSO. Optimizing the splice between all other satellites and the subs requies adjusting the center frequency of each satellite's allpass filter. But setting this center frequency depends on the miniDSP advanced biquad approach, so a manual approach outside of MSO is not practical. It is easily done in MSO, though. These optimizations could be done either by using manual tuning or running the optimizer to do it automatically. Because of the need to optimize the splice of all satellites, the manual tuning approach could get tedious. It makes sense to do the entire procedure, including both the sub distance tweak and the allpass filter adjustments using the optimizer.
In adjusting the allpass filters for, say, the left and right satellites, we might be interested not just in the response of left plus subs and right plus subs. We might also be interested in left plus right plus subs. This is related to the goal of ensuring that left and right satellites are also as close as possible to being in phase with one another in the crossover region. We'll look at how to solve these and other problems when we dig into the details of how best to use MSO for this task.
Concern About Adding AllPass Filters
Although the allpass filters to be added as part of this procedure don't affect the magnitude response of the channels to which they are added, there's a valid concern that they'll have an effect on timedomain performance and that this could have negative subjective effects. The subjective effects of time domain loudspeaker behavior have been the subject of much debate over many years, so I'll just refer the reader to section 4.8 of the third edition of Floyd Toole's book for information from someone wellversed on the subject.
However, it's worth mentioning some objective effects of the added allpass filters. In the section above on perfect integration, some characteristics of the LR4 crossover were discussed. One important characteristic is that the complex summation of the LR4 lowpass and highpass transfer functions has a magnitude of 0 dB, independent of frequency. The phase of this summation is not zero, though. In fact, this summation is a secondorder allpass filter with a Q of 0.707 and a center frequency equal to the crossover frequency. This allpass characteristic has +180 degrees phase shift at the crossover frequency, and approaches 0 degrees phase shift at very high frequencies, and +360 degrees at very low frequencies. Interestingly, the allpass filters to be added in the procedure described here also have a nominal center frequency equal to the crossover frequency.
We are therefore not introducing an allpass characteristic where none previously existed, but rather taking the allpass characteristic implicitly introduced by the LR4 crossover and making it more complicated.
Increased Phase Shift Caused by Adding FirstOrder AllPass Filters
The net effect of adding firstorder allpass filters as described above is as if we had LR4 crossovers whose outputs sum to thirdorder allpass filters instead of secondorder ones. That is, the new allpass characteristic, consisting of the combined effect of the added allpass filters and the allpass characteristic of the LR4 crossover itself, has 270 degrees phase shift at the crossover frequency, and approaches 0 degrees phase shift at very high frequencies, and +540 degrees at very low frequencies.
Increased Phase Shift Caused by Adding SecondOrder AllPass Filters
Although this hasn't yet been mentioned, it's also possible to use secondorder allpass filters in this application. The ability to adjust not just the center frequencies of the allpass filters, but also their Q gives an additional degree of freedom to the adjustment. The usage of this technique will be described in the next topic. When such an allpass filter is added to a system with an LR4 crossover, the combined allpass effect of the crossover and allpass filter has a phase shift at the crossover frequency of 360 degrees. Its phase shift approaches +720 degrees at very low frequencies, and 0 degrees at very high frequencies. This is as if we had LR4 crossovers whose outputs sum to fourthorder allpass filters instead of secondorder ones.