A driver's magnitude response is modeled in a CAD program to provide a means of creating a crossover which is optimized to produce a desired system output. The accuracy of the driver model is extremely important, in more ways than may be apparent initially
This article briefly covers those aspects of a driver acoustic model which affect the acoustic phase of the model and its impact on the crossover optimization.
Phase: What it is and what you need to know
Phase is relative. That is, phase is a relationship in time between two varying, cyclic phenomena. An example of phase in electricity is voltage magnitude verses time. Another one is the output from a crossover verses the input to it.
A more illustrative example might be two children on a swing. When they are swinging side-by-side holding hands, both reaching each peak at the same time, they could be considered "in phase". Let one of them slow just a little and they will gradually start to separate. Given enough time, they will each reach the peak of their swing on opposite sides of the swing at exactly the same time. At this point, they would be 180 degrees "out of phase".
An example in audio is driver SPL magnitude verses the electrical input signal (acoustic phase). Another one is the relationship between two SPL source outputs (e.g. woofer/tweeter) measured at a particular point in space, which is actually a comparison of the difference between the acoustic phases of the drivers relative to the input. This concept is important, because this phase relationship will usually change as the measurement point is changed.
A constant cyclic phenomenon such as SPL varies in magnitude verses time. There will be one maximum point and one minimum point per cycle. The variation cycle is broken down into 360 degrees per cycle.
The SPL from a driver is really a fluctuation, positive and negative, of the localized air pressure. Two SPL source outputs which are "in phase" will have maxima (maximum positive SPL) and minima (actually maximum negative SPL) occurring at the same time for any given frequency. For each degree "out of phase" they will have maxima and minima differing in time according to the frequency of interest.
The importance of phase in the summation of the output from two (or more) sources is whether or not the combination faithfully produces the intended result (that is, a specific SPL magnitude). The fact that it is two sources is not as important as whether or not the sum is correct, at least for a specific frequency. Ideally the two sources will have phases such that they sum appropriately for the design.
So what has this to do with a model in a CAD program?
Piston drivers are minimum phase
CAD software uses an internal model of each driver usually created by importing measured data and creating a model which matches this imported data. This imported data may or may not have measured phase, but will always have SPL magnitude.
Most, if not all, CAD programs which have crossover optimization are capable of using what's called the Hilbert transform of the SPL magnitude data to re-create the phase data. The Hilbert transform (as applied to acoustics) is a function of the SPL magnitude from minus to plus infinity of the frequency domain. CAD software can't calculate to infinity, so an approximation must be used. How this is accomplished within the program I can't say, but since the calculated phase has excellent agreement with measured phase (when the model is correct), the algorithms must be accurate. A good example of this is CALSOD by Audiosoft. What this means is that the measured phase is not necessarily required.
All drivers are actually bandpass devices (that is, they roll off at some lower and upper frequencies). A very good approximation of the phase response for the driver may be obtained via the Hilbert transform using the passband portion and some portion of the upper and lower rolloffs of the response. The resulting phase shift is the minimum amount of phase shift possible for that driver. If there were no shift, the minimum phase graph would be a straight line. As it is, the phase shift is a function of frequency alone and is relatively constant in time, yielding a shift in degrees according to the frequency. The higher the frequency, the more shift per unit time, due to the fact that there are more cycles per unit time as frequency increases.
Phase shift as it relates to acoustics and drivers is simply a result of a time delay between the input to the driver and the output from it. If the output were instantaneous, there would be zero phase shift. But since electrically, a driver is a complex circuit, with reactive components (introduced by the electrical as well as mechanical portions), there is delay introduced. This delay creates the phase shift.
Excess phase, what is it?
The phase measured at some arbitrary point from the driver includes all of the phase shift introduced. That is, the phase shift inherent in the driver itself plus the shift due to the distance between the driver and the measurement point. The shift due to the distance is called the excess phase. Remove this excess phase and what's left is the phase of the driver alone, its minimum phase. This is easily taken into account in a CAD program as it is strictly a function of distance from the acoustic center of each driver.
Acoustic centers and relative acoustic offset
The acoustic center of a driver is the point in the driver from which the sound appears to originate. We don't actually have to know the exact point for each driver. What is important is the difference between the centers of the drivers. This is called relative acoustic offset. This is required so that the program can accurately determine the phase for each driver at the design point. We are most interested in the phase accuracy in and around the crossover point, because the interaction of two drivers is most affected by the SPL magnitude and phase in this area.
The acoustic center of a driver is not an absolute. It varies with frequency. An example of relative acoustic offset is shown in the graph below, using a 2khz frequency example, for one cycle from each of two drivers as their outputs cross an arbitrary point.
The sound pressure waves are moving left to right in this example. To visualize this, imagine that the graphed waves are sliding across. As each passes through the measurement point, the relative pressure varies sinusiodally. At any particular instant in time, there will be a difference in phase between drivers, as seen in the graph, for all exept those drivers acoustically aligned at the frequency in question.
How does this relate to driver model accuracy?
Driver model accuracy involves all aspects related to the model, the SPL magnitude response, the phase response, the acoustic center and the relative offset to other drivers (neglecting the electrical characteristics for this discussion). Since the phase is related to the SPL magnitude response via the Hilbert transform, it would seem that it should be a simple matter to determine the phase. This is true if the model is accurate, or at least is accurate over a broad enough portion of the spectrum.
The Hilbert-generated phase at a specific frequency, say 2Khz, a typical crossover point, is dependent upon the SPL magnitude over a range of the spectrum. What this means is that for the calculated phase to be accurate at 2Khz, the model of the SPL magnitude must be accurate over a range on both sides of this frequency.
This was a revelation to me. In the beginning I had incorrectly assumed that it was uniquely dependent upon the frequency point itself. I had always tried to create an accurate model in CALSOD, up to 20Khz, thinking that this was sufficient. As it turns out, it may not be. The accuracy of the lower and upper rolloffs will impact the phase at the crossover frequency, for both the woofer and the tweeter, even if the crossover point is in the middle of the passband.
I had also long wondered, since I modeled the tweeter so carefully up to 20Khz, why the phase of the tweeter in the model took a very unusual turn and diverged drastically from the measured values. I assumed that there must have been some problem with my measurement setup, but since I had such good results at the crossover point, I left it at that. Now I know that my model was itself the problem.
The CALSOD manual states that only the SPL magnitude is used during the optimization process. Since the sum is dependent upon the SPL magnitude and phase of the drivers and crossover, and drivers can be considered minimum phase, this is perfectly logical. Other CAD software may optimize differently.
I use LAUD (Liberty Audiosuite by Liberty Instruments) to measure the drivers and export the data. It exports the magnitude and phase data, but I import only the magnitude data and rely on CALSOD to generate the phase data. This is where the error occurs, as the model must be correct to get the correct phase data. This has worked well for determining the relative acoustic offset at 2000hz, the frequency I most commonly use for a crossover. The error occurs in the optimization process as we'll see later.
The amount of equivalent physical acoustic center offset error introduced through model inaccuracy is shown below, in this case, at a crossover frequency of 2000hz.
|1 cycle / 360 degrees|
|x 13,550 inches / second||=||0.0188 inches / degree|
|2000 cycles / second|
If the error at the crossover point were 10 degrees, then since the speed of sound is 13,550 in/sec, this would result in an equivalent acoustic offset error of:
0.0188 inches / degree x 10 degrees = 0.188 inches (for 2000hz)
An incomplete verses a complete model
I went back to a previous CALSOD optimization to investigate the impact. I have a completed crossover to which I've listened and with which I was satisfied. It was designed as a bandpass mid-woofer/tweeter module for use either in a sub-sat combination or a true 3-way system. It uses inexpensive drivers but has a surprisingly good sound when used in a 3-way.
The original optimization was made using my normal upper limit of 20Khz within CALSOD. I always model the tweeter as closely as possible up to 20Khz, though I was never sure that this made any difference. I often had to limit the optimization range to 10Khz to exclude the portion above it so as not to unduly influence the optimization below that point. I usually set the upper portion by ear, rolling it off at times above 10k (slightly) to suit my taste.
The original optimization is shown below. I usually optimize the crossover from about 200hz to 10Khz. This speeds up the process and usually gives me better, quicker results. I fix the components (such as the tweeter padding resistor) to prevent changes above 10k.
The results previously obtained are shown in the CALSOD graph below. I went through my normal process of many iterations, building and listening to each crossover until I was satisfied that I couldn't further improve the sound.
I had been assisting a friend in modeling a ribbon tweeter, which was claimed to have output up to 50k. I changed the upper limit of CALSOD and modeled it up to 50k. It did have an upper rolloff -3db of about 30Khz or more.
Later I opened one of my files, still with the 50k upper limit set. Right away I noticed something wrong. My model, though accurate in magnitude to 20Khz, showed extension with only a slight loss out to 50Khz! the graph below shows this.
Look closely at the phase of the tweeter's crossover response. It "wraps" (goes through 360°) about five times from 10Khz to 50Khz.
My typical method of modeling has been to set the sensitivity of the driver to the value which approximates a line centered on the flat area of the driver passband, then add the modifications necessary to match the non-linearities. I neglect anything above 20Khz as inconsequential. Prior to the discussions of phase on the Madisound discussion board I never considered the portion above 20Khz. I immediately decided to see what effect this might have.
LAUD is limited to 24Khz for the upper limit due to the Fiji card's sample rate of 48Khz. The sampling actually extends to 23.9Khz (as this is the upper frequency found in exported SPL text files). I approximated the portion from 20k-30Khz using the data provided by vifa for the D27TG-45 I was using. The result of this change is show below.
Look closely again at the phase of the tweeter's crossover response. It wraps only once from 10Khz to 50Khz. In fact, if you look at the tweeter's phase into it's low frequency rolloff, you'll see quite a difference. The phase of the complete model passes through 0° at 500hz, while the incomplete model does so at 600hz. The complete model passes through -90° at 1Khz, while the incomplete model doesn't pass through it until 2500hz!
The SPLs of each of the two graphs appear to be very close with the exception of the spectrum above 20Khz. On closer inspection, though, you'll see that in the area of the crossover, specifically from one octave below (1250hz) to one octave above (5000hz) the crossover frequency (2500Khz) there is a difference in the summed response. Even so, it doesn't appear to be much when looking at these graphs.
Next I exported the summed response for both cases from CALSOD and imported them into the new Liberty Instruments Data Viewer (free from Liberty Instruments) to be able to see the difference in more detail. This graph is shown below.
The same graph with expanded scales (below) shows the differences, which can now be easily seen. The maximum difference is 0.5db (marker 2). Were this a high q, it would be benign. The difference is actually quite broad, beginning at marker 1 (2Khz) and ending at marker 3 (10Khz). This will make a noticeable difference in the sound.
The difference seen here is entirely due to the phase as calculated by the program. This demonstrates the significance of the program model accuracy.
A more detailed presentation of the tweeter model differences is shown in the next three graphs. The original tweeter model and target displayed to 50Khz are shown in the first graph. This is typical of the models I had been using. Note that the optimized phase does not properly track the target phase, even though the amplitude is correct.
The next graph shows the tweeter model and target with the tweeter correction above 20Khz. The phase still does not track the target correctly. The optimized result at 2500hz shows excellent SPL amplitude results, but the phase doesn't match the target as closely as desired. This was surprising to me. Why would the calculated phase be so different from the target?
The answer is seen in the next graph. I added a 25Khz 4th-order Butterworth lowpass to the target, to approximate the rolloff exhibited by the driver itself (keeping the effect below 20Khz to a minimum), since it can't actually track a flat target above 20Khz.
Now the original optimized crossover tracks the target crossover in amplitude and phase from 1.5Khz to 4Khz perfectly. The phase error does not reach 15° until 9Khz! the optimized crossover was actually correct for amplitude, but when combined with the woofer there would have been inaccuracy in the summed response due to the phase error before this correction. The error is seen more easily when shown on the same display.
I should note here that the calculated phase is not necessary when optimizing an individual driver to a target curve. The highpass (in this case) SPL magnitude response is all which is required. This is the reason why I had fairly acceptable results, even though my model was not fully accurate. This impact is encountered when the summed response of drivers is needed, as in the final system summed optimization.
The next display shows what the differences are in the target response phase for different settings of the lower and upper rolloff areas.
The bottom left graph has the original settings. The phase does not track correctly at any point in the spectrum. The target crossover is a 2500hz Linkwitz-Riley allpass.
The top left graph has the target for the low frequency rolloff alone set to match the actual woofer rolloff. This changes the phase so that the section below about 1Khz now tracks, but above 1Khz it has essentially no effect, the tracking remains the same.
The top right graph has the target for the high frequency rolloff alone set to match the estimated tweeter rolloff. The phase now tracks from about 1.5Khz to about 4Khz. This alone is enough to get a good crossover optimization.
The bottom right graph has the target for both the low and high frequency rolloffs set to approximate the estimated rolloffs of each driver. Now the phase of the summed response tracks the target from 20hz to about 4Khz. What this demonstrates is that for the typical crossover area, the accuracy of the target in the higher frequency range must be correct to get the correct target phase in the crossover area of the mid/tweeter. The low frequency rolloff of a woofer will affect the target for a crossover in the region often used for a woofer to midrange. The upper rolloff of both the woofer and the midrange will be important as well as the target.
I re-optimized the crossover after correcting the tweeter and target rolloffs. The change was small, but not insignificant, as can be seen in the graph below. The first capacitor in the tweeter crossover changed from 4.3 to 3.9 µF and the second capacitor from 15.6 to 14.7 µF. The other components were unchanged. The crossover frequency did increase by a very small amount, certainly acceptable, although I could have forced it to remain the same at the expense of some slightly increased non-linearity near the crossover point.
It's interesting to note here that the phase of the combined driver/crossover responses differ by 7° at the crossover frequency, a nearly perfect 4th order Linkwitz-Riley rolloff. This is without adjusting a driver to align acoustically. Substituting into the earlier equation for the resulting crossover point yields:
|1 cycle / 360 degrees|
|x 13,500 inches / second||x 7 degrees||=||0.10 inches|
|2700 cycles / second|
Since this is a 4th order crossover, there's no real benefit to trying to phase align the drivers with this small of a phase mis-alignment. In fact, just surface mounting the woofer would nearly acoustically align the drivers with crossover at this point.
The example presented here was for a fourth order crossover. The impact of an incomplete model on the summed response was limited to a range of about 1 octave below to 1 octave above the crossover point. If the crossover point were to be selected at a higher frequency, as might be the case for some designs (4-5Khz would not be surprising), then the impact is likely to be even more important, as it would be closer to the range of the spectrum where the model is in error.
When a lower order crossover is used, the impact will be more broad, but the extent will be determined by the lowest frequency which is significantly affected by the error. This error will be higher for the summed response on the side of the crossover frequency closer to the model error, the higher frequencies in my example.
Before I conclude, I would like acknowledge the assistance of John Kreskovsky in coming to understand the topic covered in this article. I had a limited understanding of some of the details of acoustic phase, and am grateful for his help. I highly recommend reading his article on phase¹.
CAD programs, like any other program, can only be as good as the data entered into them. The settings (optimization limits in this case) may have an impact as well, as was shown here. I made an assumption concerning the frequency range of data required by the program due to my lack of understanding of how the data is used and what the requirements are for complete accuracy. I was fortunate that this did not affect the calculation of acoustic offset, but I will now have a more accurate result from the optimization process.
My final conclusion: never stop questioning your knowledge of the tools with which you work, thoroughly investigate any discrepancies and keep an open mind. You may be surprised one day.
© January 2001 David L. Ralph
All rights reserved