Xsim Mod Delay Question

Hello everyone,
I have been messing around with Xsim for a 2 way xo design and I am a little confused about the results I get with the mod delay. I am using a 5.5 inch woofer (sb15 nrx) and a morel mdt29 tweeter on a Visaton waveguide. I measured the drivers individually and then I made a combined measurement with the drivers hooked up in parallel. I loaded the individual FRDs and then the combined response on top, to match the curves using the mod delay.


The waveguide I am using (WG148) isn’t particularly a deep one, therefore the tweeter’s voice coil is still in front of the woofer’s. The offset is around 25mm (or an inch give or take). As far as I know, you have to apply positive mod delay on the woofer side if the tweeter’s voice coil is in front (which is the case for most of the applications). In my case however, only when I apply a little bit of negative delay the curves begin to match.

Here is the response differences before the delay is applied:
WhatsApp Image 2024-05-17 at 14.15.35.jpeg



and this is after the negative delay value is applied:

WhatsApp Image 2024-05-17 at 14.15.27.jpeg


Is this normal? Am I missing something or did something wrong?

Thank you all in advance.
 
I have purchased these online courses by Marius Tanasescu (audiojudgement) in which he shows how to take measurements and utilize them in xsim. I am fairly new in this business, so I just followed up what he does in his course.

I placed the mic 1 meter away from the speaker and left a safe margin away from the boundaries (approx 1.5-2meters). which allowed me to take gated measurements from 250hz upwards. The mic is directed towards the center of the woofer and the tweeter, and I have taken all the measurements at that position (individual, and combined).

Screenshot 2024-05-17 at 15.20.10.png


This is an old DIY build with different drivers and a preassembled crossover, which was a failure as you can imagine. So I have decided to turn them into something decent. The mic is a behringer ecm8000. It's not calibrated but I did some measurements with my studio monitors as a reference, they look quite OK.

Oh btw, what do you mean by measuring with the delay intact?
 
Last edited:
diyAudio Moderator
Joined 2008
Paid Member
Have you preserved the timing between measurements, are they locked to the same distance as each other? (You shouldn't be changing Mod Delay unless there is a problem with your measurements, or unless you are experimenting.)
 
Last edited:
Thank you for your reply Allen. You say that I shouldn't be changing the mod delay but isn't that how you tell Xsim the acoustic distance of the drivers? I am trying to implement the interference method as explained here for example:

https://speakermakersjourney.blogspot.com/2016/02/lm-1-testing-driver-distances.html?m=1

The question is, even though the tweeter is in front of the woofer, my curves match only when I add negative values whereas everybody seems to apply positive values.

Btw I am afraid I still don't understand what you mean by preserving the time and locking to the same distance. As I said I am fairly new, pardon my newbieness...
 
Last edited:
If your measurements include true time-of-flight, then leave mod delay at zero


what do you mean by true-time- flight? As I said, I have taken all the measurements with the mic directed towards the center of the speaker (between the woofer and the tweeter) at 1 m, and I didn't move anything in between the measurements. I just ran sweeps with rew, nothing fancy.
 
Last edited:
diyAudio Moderator
Joined 2008
Paid Member
isn't that how you tell Xsim the acoustic distance of the drivers?
Rather than tell Xsim what the distance is, you want to have the distance in your measurement. This means the measurement starts and times how long the sound takes to get to the microphone. It should be locked between the two measurements. Right now it appears uncertain what you actually have.

The reason Jeff used the mod delay method is because he had a problem with using a USB mic which doesn't work for timing. There is another problem with this, that you lose data when you change the plot to minimum phase.
 
As AllenB said, using minimum ("derived") phase will lose any locked relative phase information between the drivers. (Only the relative phase between them matters for the crossover design). Best to use actual phase anyway if you can, as derived phase requires clean data to frequencies well beyond where the curve is to be used.
 
Mmmm I see, is there any link that you guys can share regarding this topic? It all sounds rather comprehensive and a little complicated for my current skills. I really want to nail this build because I have done my time building half baked speakers :). Maybe I should post a new thread regarding the build as a whole?
 
Can you provide some image snapshots showing your measurements? That would help us gain a better appreciation of your measurements.

As the tweeter is recessed into the waveguide by a small distance, the tweeter's acoustic center is likely to be located behind the baffle by a similar amount to that of the woofer. This makes the woofer and the tweeter time aligned, which is not the same as the two drivers being "almost perfectly in phase".

In your case, you have the mic directed towards the center of the speaker between the woofer and the tweeter. This places the future design axis at that point, which is a legitimate selection, as that's what your acoustic measurements are relative to. However, it may be worth noting that many loudspeakers set the design axis to be on the axis of the tweeter. That is, the tweeter is assumed to be at ear height relative to the listening position.
 
Oh yes, 'time aligned' is way more accurate, perfectly in phase sounds too good to be true anyways :) Regarding your comments on the mic axis, that was a deliberate choice because I am guessing my ears will be at that height most of the time.

So, I am attaching the measurements

Tweeter:

TW


Midbass:

Screenshot 2024-05-18 at 14.48.58.png


drivers combined (the green measurement is taken with the tweeter in reverse polarity):

Screenshot 2024-05-18 at 14.23.22.png



And here is how it all looks in xsim with and without mod delay. (improving the hilbert bode transformation allowed me to match them with a positive delay this time)
f51a0b00-852b-4f19-9a66-b5d88ce0e189.jpeg
a6fea0b7-84c2-4c90-9e32-abf1a551b206.jpeg



by the way, i measured the distances from baffle to the dust cap of the woofer and the tweeter's dome, the difference is about 2.3 mm's which corresponds to 0.09 inches
 

Attachments

  • Screenshot 2024-05-18 at 14.23.22.png
    Screenshot 2024-05-18 at 14.23.22.png
    89.6 KB · Views: 16
Last edited:
Thank you for supplying your measurements. I now better understand what's going on.

Firstly, I'd like to comment on using the Hilbert Bode transformation. It needs to be kept in mind that, for typical magnitude-response data sets, the Hilbert Bode transform results in an approximation to the phase response of the transducer, albeit a quite accurate one within its limitations. Being minimum-phase in nature, it inherently removes the phase shift caused by the time-of-flight to the microphone. Neither does it account for any variation in a driver's acoustic centre as a function of frequency (possibly a second-order effect), nor does it correctly account for the phase-response effects of sound diffraction from the cabinet edges (as multiple sound sources, such as those produced by cabinet edges, don't usually sum to minimum phase result).

Note that the raw sound pressure measurements will include all of these things. Hence, that's why you found that you needed to tweak the value of mod delay to get the best results. Admittedly the adjustment is quite small, but it's still there and tends to affect higher frequencies more due to their shorter wavelengths.

I would assume that the FRD data for the woofer and the tweeter contains the phase and the magnitude response. I'd be quite surprised if it didn't. If the microphone–loudspeaker geometric arrangement does not change during the measurements, it would be expected that the FRD magnitude and phase data measured for the woofer and tweeter should add together so that their summed response very closely matches the measured magnitude and phase response when the woofer and tweeter are driven simultaneously. This is a simple test of measurement consistency.

For best results in your crossover network design simulations with XSim, I'd recommend that you use the raw measured data for the woofer and tweeter, rather than Hilbert Bode transformed data. Your measurement setup seems able to produce all the required phase responses, so they should be utilized to get the most accurate results.
 
Thank you for the detailed explanation, it seems like I've skipped this topic entirely. As I said I was following what people on the internet were doing in xsim but I have no idea who Hilbert or Bode is :) But I believe I still need to use that function in order to tell the program what my speaker is doing at the low frequencies, since my measurements are gated, starting from 250hz or so...

As you said, I haven't made any changes during the measurements. When I compare the combined response I measured, and the summed up FR xsim comes up with, they almost match perfectly except that difference around 15k. Isn't that mean even if I leave the delay at zero, there won't be any problem since 15k will be way out of the woofer's range once the crossover is applied.

All in all, I think the question comes down to 'Doctor, am I gonna be alright? Please say yes...' :)
 
I'm not sure how the Hilbert transform of your magnitude response data will "tell the program what my speaker is doing at the low frequencies, since my measurements are gated, starting from 250Hz or so...". Note that the Hilbert transform will use whatever magnitude response data is provided.

In your case, the "measurements" below 250Hz are inherently inaccurate (due to the gating), so, therefore, the Hilbert transform below that frequency will produce a phase response that follows the measurements, not the actual response of the loudspeaker at low frequencies (which has not been measured.) However, to design a crossover network for your two-way system, the measured response below 250Hz isn't of major significance.

Are you able to share the individual .FRD files for the woofer and tweeter, as well as the .FRD file for when the woofer and tweeter are driven simultaneously? I'd like to try and see how the separate measurements interact.

As you mentioned, the fact that there is a difference at 15kHz in the XSim summed response versus the measured result can be expected not to have any bearing on the crossover design. That's because the crossover frequency will be much lower, say around 3kHz or so. If the present summation is accurate in the 1kHz to 6 kHz range, then the effects of the crossover network should be able to be accurately modelled.
 
Last edited:
  • Like
Reactions: 1 user
I'm not sure how the Hilbert transform of your magnitude response data will "tell the program what my speaker is doing at the low frequencies, since my measurements are gated, starting from 250Hz or so...". Note that the Hilbert transform will use whatever magnitude response data is provided.

In your case, the "measurements" below 250Hz are inherently inaccurate (due to the gating), so, therefore, the Hilbert transform below that frequency will produce a phase response that follows the measurements, not the actual response of the loudspeaker at low frequencies (which has not been measured.) However, to design a crossover network for your two-way system, the measured response below 250Hz isn't of major significance.

Oh yes, I know there is no way of getting the program to predict the missing frequencies with just an frd file. I just thought it was a ballpark way of filling that missing range since such low frequencies are insignificant for the crossover as you said. But I never thought about the phase response really, food for thought...

As you mentioned, the fact that there is a difference at 15kHz in the XSim summed response versus the measured result can be expected not to have any bearing on the crossover design. That's because the crossover frequency will be much lower, say around 3kHz or so. If the present summation is accurate in the 1kHz to 6 kHz range, then the effects of the crossover network should be able to be accurately modelled.

that's news really...

I attached the measurements you asked and I appreciate your interest, many thanks.
 

Attachments

  • Measurements.zip
    2.2 MB · Views: 8
Thank you for supplying your measurement files. I've loaded them into XSim and have taken a look at the results of the computations. Below are the results comparing the inverted-polarity combined response to a summation involving the midwoofer with negative polarity and tweeter with positive polarity. The tweeter also has to have a mod delay = -0.295 inches for best results.
1716287752151.png
As you can see, the XSim magnitude response summation and the computed phase response compares very well with the measured combined response. However, I am surprised at the requirement for having to use the mod delay option.
 
Below are the results comparing the combined response to a summation involving the midwoofer and tweeter both connected with positive polarity. As in the previous example, the tweeter has the same mod delay = -0.295 inches, which results in a very good match in the magnitudes of the combined measured and XSim-calculated responses. However, the phase response is not as good a match, with quite a large difference above 2.5 kHz. The difference in the phase response gets larger and larger with increasing frequency. I'm not sure what's happening to cause this behaviour.

As you can see, there is no need to use the Hilbert Bode transform on your data. However, I'm unsure as to why a mod delay = –0.295 inches is needed to get an accurate summation from the two drivers in both the inverted and non-inverted configuration.

I noticed that the header of your measurement files contained the comment "with no timing reference" in the third line. That could provide a clue for those who have used REW for these types of acoustic measurements.

1716288480328.png