"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 sub-optimal. 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 pre-pro) 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. All-pass filters are needed on both the satellites and the subs, and for the case of miniDSP devices, these all-pass filters will be implemented via the advanced biquad feature. For the purpose of this topic, a miniDSP DDRC-88A with DDRC-88BM bass management software plugin will be assumed. The DDRC-88BM plugin should be configured to use fourth-order Linkwitz-Riley (LR4) crossovers, identified in the DDRC-88A documentation as LR 24dB/oct.
If you want to run an MSO optimization to reduce seat-to-seat variation prior to running Dirac with the DDRC-88A, 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.
The author has not used Dirac Live or any commercial room correction system, nor the DDRC-88A, so the instructions herein represent a "best effort" approach of explaining the optimization procedure, based on the DSP capabilities of the DDRC-88A/DDRC-88BM combination. It is assumed that, as a minimum, the DDRC-88A/DDRC-88BM 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 post-Dirac sub distance tweak of the DDRC-88A appears to confirm this assumption. Though there may be some missing hardware- and plugin-specific 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 two-channel, so there is no multi-channel 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 well-defined 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 center-channel satellite and sub outputs, then to try different sub delays/distances, re-measuring 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 center-channel 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 low-pass and high-pass filters is that when their -6 dB frequencies are equal (as they are for an LR4 crossover), the phase responses of its low-pass and high-pass 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 low-pass and high-pass 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 low-pass-filtered acoustic output of the subs and the high-pass-filtered 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 f1 to f2.
If we assume minimum-phase 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 minimum-phase 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 minimum-phase system, the calculation of its phase response at a single frequency fx from its magnitude response depends not just on its magnitude response at fx, 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 minimum-phase systems in the frequency range from f1 to f2, their magnitude responses much match well from f0 to f3, where f0 ≪ f1 and f3 ≫ f2. Under worst-case conditions, f0 approaches 0 Hz and f3 approaches one-half the sampling frequency. This means that getting a good phase match from f1 to f2 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 center-channel 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.
All-Pass 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. All-pass filters meet this requirement. To achieve success in the general case, it's not enough to just throw all-pass filters at the problem willy-nilly. 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 all-pass filter is a first-order 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. Non-inverting first-order all-pass filters are characterized by a single parameter, the center frequency, at which their input-output 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.
All-Pass 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 all-pass filter to the crossover frequency. This is because the phase shift of the first-order all-pass 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 center-channel 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 first-order all-pass filters in the signal path for the left and right satellites, and set the center frequency of these all-pass 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 first-order all-pass 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 all-pass 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 All-Pass Filters To Avoid Altering The Existing Phase Match
But something is wrong. After running the sub distance tweak between the center-channel 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 all-pass 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 All-Pass Filters In Every Path
We can make the phase shift of the center-channel satellite match the left and right satellites by putting a 100 Hz all-pass filter into the center channel as well. However, in doing so, we have just invalidated the optimization of the splice between the center-channel satellite and the subs achieved by the sub distance tweak. This is easily fixed by putting a 100 Hz all-pass filter in the shared signal path of the subs. By having identical all-pass filters in the shared path of the subs and the center-channel satellite, we have kept the relative phase shift between center-channel satellite and subs unchanged, preserving the splice optimization between center and subs achieved by the sub distance tweak. Thus, we end up with a first-order all-pass filter centered at 100 Hz in every path: the shared path for the subs, and for each of the left, right and center-channel satellites.
This 100 Hz center frequency value for the all-pass 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 all-pass 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 all-pass filters in place. When the optimum sub delay is found, hold this delay fixed. It should not be changed.
- Add a shared first-order all-pass filter with center frequency of 100 Hz to the subs, and an identical all-pass filter to the center. The 100 Hz center frequency of these two all-pass 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 first-order all-pass 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 all-pass 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 all-pass 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 left-channel all-pass filter center frequency to optimize the splice between left channel and subs.
- Adjust the right-channel all-pass 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 all-pass 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 three-channel system with subs and left-, right- and center-channel satellites and identical crosssover frequencies was considered. It was concluded that introducing identical all-pass 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 all-pass filters in all paths depended implicitly on the assumption of identical crossover frequencies and the need to phase-match 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 all-pass filters, and that identical all-pass 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 all-pass 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 all-pass filters has not been altered by their insertion. The only assumption about the all-pass 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 second-order all-pass 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 all-pass 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 all-pass filter initially set to the same center frequency, the all-pass 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 all-pass filters must initially be set to the same center frequency, but the crossovers are not at the same frequency. This requirement for identical all-pass 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 all-pass 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 all-pass 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 all-pass 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 all-pass filter in place. When the optimum sub delay is found, hold this delay fixed. It should not be changed.
- Add a shared first-order all-pass filter with center frequency of 90 Hz to the subs, and an identical all-pass filter to the center. The 90 Hz center frequency of these two all-pass 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 first-order all-pass 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 all-pass 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 left-channel all-pass filter center frequency to optimize the splice between left channel and subs.
- Repeat step 5 for all the remaining satellites (except the center-channel 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 all-pass 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 all-pass filter adjustments using the optimizer.
In adjusting the all-pass 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 All-Pass Filters
Although the all-pass 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 time-domain 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 well-versed on the subject.
However, it's worth mentioning some objective effects of the added all-pass 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 low-pass and high-pass 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 second-order all-pass filter with a Q of 0.707 and a center frequency equal to the crossover frequency. This all-pass 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 all-pass 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 all-pass characteristic where none previously existed, but rather taking the all-pass characteristic implicitly introduced by the LR4 crossover and making it more complicated.
Increased Phase Shift Caused by Adding First-Order All-Pass Filters
The net effect of adding first-order all-pass filters as described above is as if we had LR4 crossovers whose outputs sum to third-order all-pass filters instead of second-order ones. That is, the new all-pass characteristic, consisting of the combined effect of the added all-pass filters and the all-pass 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 Second-Order All-Pass Filters
Although this hasn't yet been mentioned, it's also possible to use second-order all-pass filters in this application. The ability to adjust not just the center frequencies of the all-pass 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 all-pass filter is added to a system with an LR4 crossover, the combined all-pass effect of the crossover and all-pass 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 fourth-order all-pass filters instead of second-order ones.