Diffraction Model

Overview

The diffraction modeler provides a way of modeling the effect of diffraction at the edge of the box baffle.  Sound arrives at the listener from both a direct path from the drivers and from reflections from the edge of the cabinet.  Wavelengths that are shorter than the width or height of the baffle contribute more to the direct wave from the drivers, so that there is a step in the response at the higher frequencies—the so called “baffle-step.”  This step in the response is on the order of 6db, which is significant, so the designer must account for this response in the design of the crossover or equalization.  Reflections from the baffle edge can also result in peaks and dips in the response on the order of 1-3db at higher frequencies, and the diffraction model helps the designer understand and account for these response variations.

Calculation Details

The module uses a “ray-tracing” algorithm that sums the contribution of many sources of reflected pressure waves located around the perimeter of the baffle, and sums their contribution at a listening point located along the driver axis (that is, at a 90 degree angle to the driver).  These sources of reflected pressure are spaced at equal radial intervals, so that each has the same acoustic power at the baffle edge.  The Box and Baffle module has a checkbox that allows showing the reflection points around the baffle.  When the “show edge points” checkbox is clicked, the reflection points are shown in red:

Each of these sources is at a somewhat different distance from the summation point, and the calculation takes into account the pressure differences due to additional length of travel to the summation point (using the N^2 law).

Since the driver is not a point source, the calculation treats the driver as having multiple sources, equally spaced at ½” intervals.  These sources are depicted as small blue circles inside the driver.  Every one of these sources is treated as a unique source, illuminating each edge point.  In the example shown in the previous figure, there are about 100 source points for a driver that is approximately 11”. 

The program calculates the amplitude and phase of all the rays reaching a summing point from every source point to every edge point to determine the overall response, and it makes this calculation for all frequencies.  Since the program uses 500 frequency samples and since there are 100 source points (in this example) and 40 edge points, there are a total of 100 times 40 times 500 cosine rays and sine rays that get summed.  So every time the driver is moved or resized or whenever the box outline is changed, the program does about 4 million ray calculations.   In order to calculate this data more efficiently, the code is implemented as 4 separate threads, so that the calculation is much quicker on a computer with a multi-core CPU.

The ray calculation is actually fairly simple geometry.  The distances are converted to time by using the speed of sound as a conversion factor, and then the amplitude of the signal for each frequency n is represented by:

           signal_cos = Cos(2 * Math.PI * Main.Frequency(n) * delay_to_meas_point)

           signal_sin = Sin(2 * Math.PI * Main.Frequency(n) * delay_to_meas_point)

The reflected waves are simply delayed in time and scaled according to their distance and the amount of pressure for each reflection point (since there are 40 reflection points, each reflected wave is scaled by 1/40).  Ignoring the scale factors and substituting omega for (2 * Math.PI * Main.Frequency(n)), the following equations are solved for each reflection point coming from each point on the driver:

           signal_delayed_cos = Cos(omega * (delay_to_meas_point + time_to_edge))

           signal_delayed_sin = Sin(omega * (delay_to_meas_point + time_to_edge))

Clearly, with 4 million ray calculations there is a lot of number crunching, but the basic algorithm to compute the total signal at a given point in space is fairly intuitive—it’s mostly a matter of keeping track of all of the rays and their associated distances and scale factors.

When the Roundover checkbox is clicked, the number of ray calculations increases by a factor of 4.  This is because each edge point is treated as four separate sources, each weighted according to an algorithm described by Paul Verdone in his excellent write-up for an early ray-tracing program done in Excel.  This write-up is available at the FRD site:  http://www.pvconsultants.com/audio/diffraction/downloads/opmanrel6.07.exe

Model Limitations

The diffraction modeler provides a very accurate model of the mid-frequency effects of the baffle, or the “baffle step.”  The baffle step occurs at the frequencies where the distance to the edge of the box is approximately ½ of a wavelength.  This distance is the transition from half-space, or “2-pi” radiation to full space, or “4-pi” radiation.  The baffle step calculations are valid for an idealized loudspeaker suspended in mid air with infinite depth, but this idealized condition is not common in most real installations.  Typically there will be some reflection from a floor or wall, or the wave will “wrap around” the box.  In all of these cases, the ray-tracing algorithm becomes increasingly difficult to apply, as it is usually quite difficult to account for all reflections and their associated attenuation by absorbing materials.  Measurements have shown that most ray-tracing software tends to overemphasize the amount of baffle step by as much as 2db.  For absolute accuracy in determining baffle effects the designer should not use a model, but instead rely on actual measurements.

The program provides some checkboxes for ground bounce and wall bounce, but these are very rough estimates with very simple reflection assumptions, and they should not be viewed as 100% accurate.  These floor and wall models assume a single-point reflection from an idealized floor or wall, and they have not been validated by comparison with actual measurements.

The diffraction model also predicts the ripples in the response at higher frequencies due to phase cancellation.  This model is accurate for predicting the response at the summation point, but the designer should be careful to understand the limitations of the model.  First, the model only sums the amplitude along the main axis, and the diffraction may result in a significantly different response off-axis.  There are other diffraction modeling tools that can model the off-axis response, but currently this is not a capability of the program.  Second, there are other factors that may result in “ripples” in the response at higher frequencies that are not addressed by the model.  For example, reflections from the backwave through the cone can result in significant deviations in the midrange response, particularly if the box uses little stuffing or other dampening material to absorb backwave energy.  Another example is the diffraction from the openings for other drivers in the system, or absorption by interaction with other drivers on the baffle.  Third, baffle rounding, absorbant baffle treatments such as felt strips, and even the type of baffle treatment/finish can affect the amplitude of the ripples in the high frequency response.  The net effect of these various factors is that the high frequency ripples predicted by the model may not be an accurate depiction of the system response, and as a general rule these apparent response anomalies are not be as problematic as the designer might expect.  As a result, the designer should exercise care in compensating for these ripples in the crossover or system EQ.