Phase problems combining LP and HP xo in Speaker Workshop

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
Hi all,

I'm back to seek help after being away for a long time. I have been busy trying to learn to design and build my first pair of speakers, using Speaker Workshop.

I'm building an MTM floorstander. The box is built, I've fitted the drivers on the enclosure, and I've just completed taking measurements of the woofers and the tweeter using a Panasonic mic and Speaker Workshop. The SPL curves look good. I have also designed a pretty straightforward xo using SW, and things were going on okay, when I hit a serious roadblock.

I have been getting guidance from my seniors in the game, who have many years experience in speaker design and SW usage. They told me that I should combine the LP and HP xo and see whether SW gives me a flat combined SPL curve. They also said that after I get a flat graph for combining the two curves, I should flip the polarity of one of the drivers and see whether I get a sharp notch at the xo point now. These steps were suggested as very sensible sanity checks before I order the caps and coils to build the thing.

This sanity check fails, and quite spectacularly.

Here is the tweeter's SPL curve, on-axis at 1m:

An externally hosted image should be here but it was not working when we last tested it.


Here is the woofer's curve, measured without touching the mic, in the same session:

An externally hosted image should be here but it was not working when we last tested it.


I created the HP and LP xo's (LR4 at 2KHz) and got this set of SPL curves (shown here with their optimisation targets, to show you how well the actual curves conform to the target curves):

An externally hosted image should be here but it was not working when we last tested it.


Till now, all went well. Then I used the "copy" and "paste" functions of SW and made a copy of the HP xo's frequency response. I used the "Combine" function to combine it with the LP xo's response, keeping +ve polarity to both the drivers. I got the following SPL curve:

An externally hosted image should be here but it was not working when we last tested it.


The jagged portion near the xo point is very disturbing. Note that the SPL at the xo point is not in a peak or trough... it's at the same level as the flat portions of the curve. However, there's a sharp trough on either side of the xo point. I inverted the tweeter's polarity, and got:

An externally hosted image should be here but it was not working when we last tested it.


Note that in this graph, there's a sharp dip at the xo point. These jagged peaks and troughs in the xo region are very upsetting. Why am I not getting a straight, smooth combined graph?

Help! :bawling:
 
I was following you up to this point:
"Then I used the "copy" and "paste" functions of SW and made a copy of the HP xo's frequency response."

I've never tried that before and don't know if it would work.

What I do is to create a 3rd network, which has all the elements of your hi-pass and low-pass network in it, both connected to one "source". Then I right click on the network, and select "calculate response". That always works for me.
 
Some more details about this design

You can see some photos of the finished boxes here and here.

  • This speaker uses two Kevlar midbass drivers and one Al-dome tweeter, all unknown outside India, so there's no point in me telling you which drivers they are. These drivers are made by Peerless India.
  • The midbass units have DC resistance of 3.6 Ohms, so I'm connecting them in series. In the graphs above, when you see the woofer's SPL curve, you are actually seeing the output of both these woofers, hooked up in series. I saw no point in measuring each woofer separately for designing and building this speaker.
  • When I say I've taken the SPL readings at 1 metre, it's not exactly one metre. But at least I am certain that the mic didn't move between the tweeter readings and woofer readings.
  • I've not included the right enclosure's readings here, because I'm getting almost exactly the same SPL curves from that enclosure too, and finally hitting the same problem combining the xo curves. Incidentally, when I created the xo's for the right enclosure using its drivers' readings, I got the final optimised circuit to stabilise at about the same set of values as the left enclosure's xo's, +/-10-15%. I guess this can act as a sort of sanity check against careless mistakes.
  • I tried a second method to combine the xo curves. I created a new network object in SW, and copied and pasted the components of first the LP xo, then the HP xo, then hooked the two up in parallel with a single source. Then I did a "calculate response" and looked at the total response of the combined xo. I got exactly the same SPL curve this way that I'd got by running the "combine" operation on the individual SPL curves. (Jbateman, you've preempted me here even as I'm proof-reading my next post. :) )
  • I have prepared a SW file (a .swd file) with the SPL and impedance data of the four drivers and nothing else. If you want, you can take a look at it here. Try building an HP and an LP xo and see if the combined curve shows up the same jagged shape I'm getting. One of my friends did this already, and he's able to reproduce this sort of ugly curve. He's an old hand at SW; he's never seen this before. (But he's never built MTMs.)
  • My friends and I tried to even create alternate xo's, even at other xo frequencies. We tried at 2.8KHz, 2.5KHz, etc. The same jagged SPL behaviour remains.

Do you think the problems I'm facing could be because I'm trying to build an MTM? Is some sort of comb filtering causing this problem? Just a thought.
 
jbateman said:
What I do is to create a 3rd network, which has all the elements of your hi-pass and low-pass network in it, both connected to one "source". Then I right click on the network, and select "calculate response". That always works for me.
Done that too, just to ensure that the "combine" operation really does what I thought it does. The two give identical results.
 
soongsc said:
I don't think you can do direct cut and paste. The FR with XO in there should be combined taking into consideration the phase response.
Either you are misunderstanding me or I am misunderstanding you. The way I combined the two FR curves of the two xo's does take both SPL and phase into consideration. The "combine" operation of SW does this automatically.
 
soongsc said:
Have you checked whether you had minimu phase measurement when you did that?
I don't know what this means, and I don't know how to check it. (Did I mention that this is my first attempt to design a pair of speakers?) Please can you tell me what I need to do?

And I certainly don't want to sound lazy, but do you think you could take a look at the SWD file I've put up? I'd do whatever you said myself, if I knew what to do.
 
tcpip said:

I don't know what this means, and I don't know how to check it. (Did I mention that this is my first attempt to design a pair of speakers?) Please can you tell me what I need to do?

Different systems work slightly differently. But basically what needs to be done is shifting the starting market in the impulse chart just before the rise of the impulse, then do an FFT or frequency response to generate and FR plot. Look at the phase curve to see where it wraps. Initially you need to set the marker so that there is not wrap back or maybe only one. If you can show an impulse chart and the FR/Phase chart, I could probably walk you though a bit.
 
soongsc said:
Different systems work slightly differently. But basically what needs to be done is shifting the starting market in the impulse chart just before the rise of the impulse, then do an FFT or frequency response to generate and FR plot. Look at the phase curve to see where it wraps. Initially you need to set the marker so that there is not wrap back or maybe only one. If you can show an impulse chart and the FR/Phase chart, I could probably walk you though a bit.

I can understand what you're saying about setting the starting marker just before the initial MLS pulse. But "look at the phase curve to see where it wraps" is confusing. I think I'll have to get into SW, play with the "Delay..." operation to get the phase curve to look good, and then I'll come back to you.

But I was under the impression that I don't need to do this to build a working xo if I have the tweeter and woofer measurements done from the same mic location?
 
tcpip said:


I can understand what you're saying about setting the starting marker just before the initial MLS pulse. But "look at the phase curve to see where it wraps" is confusing. I think I'll have to get into SW, play with the "Delay..." operation to get the phase curve to look good, and then I'll come back to you.

But I was under the impression that I don't need to do this to build a working xo if I have the tweeter and woofer measurements done from the same mic location?

I recall somewhere in the SW forum it's mentioned using the "remove access delay" might do the trick. But I also recall that some small marker adjustments is still necessary.
 
I opened your files just to have a look. After using the "remove excess delay" setting of 5.8msec I got the graphs below.

I think you need to try a couple things. Try getting the difference between the start and stop markers to be greater than 7 msec on the impulse test. This should increase the number of data points from 128 to 256, which will help when looking at the lower frequencies.

You may also be getting some comb-filtering cancellations, since the delay time between those 2 big woofers and your tweeter are quite large, judging by the 2 charts below.

Since you are designing a 4th order network, eventually you will want to display the phase,after removing the delay for each driver and after filtering. When your filters are correct, the phase of each driver should be in close alignment at the crossver frequency. This will give the Dip or null that your friend told you about earlier, when the tweeter's polarity is reversed.

An externally hosted image should be here but it was not working when we last tested it.


By the way, next time you upload your SWD files, you should include the pulse measurements and crossover schematics as well.
 
soongsc said:
I think you need to have the impulse data for the "remove access delay to work". I don't see the phase wraps taken out. The mic calibration file should also be there in order for correction for mic phase and spl response.

I don't think you're correct, here. The amplitude and phase graphs are already corrected for mic calibration when the measurement was made. And as long as the box is UNCHECKED,
the remove delay function only requires me to enter a value in msec.

As long as his hardware does not have a shifting latency problem, which might make the starting point for the 2 measurements occur at different times, it should be OK.
It would be helpful to have ALL of the data, however, if others are going to be evaluating it..
 
jbateman said:
I opened your files just to have a look. After using the "remove excess delay" setting of 5.8msec I got the graphs below.
Is it the same delay for both tweeter and woofer? I was told by a friend that I'll need very different delays for the two because the tweeter is actually much closer to my mic than either woofer, because the mic was level with it. But then, with one woofer on either side of the mic, maybe it results in the aggregate of the two woofers "appearing to be" almost exactly where the tweeter is. (I'm totally thinking aloud here...)

I think you need to try a couple things. Try getting the difference between the start and stop markers to be greater than 7 msec on the impulse test.
How do I do this? I don't have a large room, and floor reflections keep the MLS interval quite tight. I'd love to do 2metre readings, but that's just not possible in the room I work in, I think.

Since you are designing a 4th order network, eventually you will want to display the phase,after removing the delay for each driver and after filtering. When your filters are correct, the phase of each driver should be in close alignment at the crossver frequency. This will give the Dip or null that your friend told you about earlier, when the tweeter's polarity is reversed.
Yes, I know this (I think). But I don't know why my two xo's are not in close alignment.

By the way, next time you upload your SWD files, you should include the pulse measurements and crossover schematics as well.
Sorry about this. I was under the impression that one can generate the pulse measurement by performing an FFT on the FR curve. And xo schematics... I deliberately omitted them because I thought one can create such schematics in 10 minutes. If you want them, I can give them to you even now.

Thanks for taking all this trouble. I really need the help.
 
tcpip said:

How do I do this? I don't have a large room, and floor reflections keep the MLS interval quite tight. I'd love to do 2metre readings, but that's just not possible in the room I work in, I think.

...

Yes, I know this (I think). But I don't know why my two xo's are not in close alignment.

I agree with the others that you need more data points. One way to do that is to measure your woofer far field, then a near field, then add a diffraction response to the near field and then merge them together. I do this for my measurements and get full resolution through the audible range this way.

I assume you're going for Linkwitz-Riley slopes since your targets are 6db at Fc. You are getting the partial null at crossover point because your phase is 90 degrees apart. It doesn't matter how you connect the tweeter, it's going to be +90 or -90. That's why you get the same issues when you flip the polarity. 2nd order LR requires 180 degrees tweeter connection (inverted) and 4th order requires 360 degrees tweeter connection.

You seem to be matching your target slopes well enough so the real issue is that the acoustic center of your tweeter is an inch or two closer than the woofers. There are several ways to address that. The easiest is to use assymmetrical slopes. Try a slightly steeper tweeter slope, or a shallower woofer slope. You will likely have to add a component somewhere to do this.

The more difficult ways are 1)Build your cabinets with slanted fronts or some other construction that sets the tweeter back so the voice coils line up. Looks like your cabinets are built already, so that rules out that option. 2)Add a ladder delay network. It's complicated and difficult, and I don't recommend it for new users. At the minimum, it adds 4 parts to the crossover. I can give an example if needed.

I'm a Soundeasy guy, but I recommend you contact Roman Bednarek on either the PE or Madisound forum. He seems to know his way around Speaker Workshop pretty well.

John
 
quote:
" I was told by a friend that I'll need very different delays for the two because the tweeter is actually much closer to my mic than either woofer, because the mic was level with it. But then, with one woofer on either side of the mic, maybe it results in the aggregate of the two woofers "appearing to be" almost exactly where the tweeter is. (I'm totally thinking aloud here...)"

Since your mic was stationary, any phase or time delay change you make to the tweeter measurement should be duplicated on the woofer measurement. The mic is essentially your ear, and you will be listening from a fixed position in relation to all the drivers.

quote:
"How do I do this? I don't have a large room, and floor reflections keep the MLS interval quite tight. I'd love to do 2metre readings, but that's just not possible in the room I work in, I think."

Well, you could just increase the time between your start and stop markers. Some of the reflections will get into the measurment, and the graph may not look as pretty, but it will give more resolution of the data. There are compromises that have to be made when you don't have an ideal measurment chamber, and you are encountering them now....sorry.

As Zaph wrote, Roman Bednarek can probably help more at Madisound forum or here: http://www.rjbaudio.com/
 
jbateman said:


I don't think you're correct, here. The amplitude and phase graphs are already corrected for mic calibration when the measurement was made. And as long as the box is UNCHECKED,
the remove delay function only requires me to enter a value in msec.

As long as his hardware does not have a shifting latency problem, which might make the starting point for the 2 measurements occur at different times, it should be OK.
It would be helpful to have ALL of the data, however, if others are going to be evaluating it..

First of all, the way the FR plot is regenerated is that it uses the original measured MLS data, which is normally with the impulse data, intruduce the delay to corelate the data versus reference, then regenerates the FR chart.

Another thing to look into is time of flight used to introduce delay. Using the measurement method, you are not removing the distance from the acoustic center. What normally can be done is to get into the ballpark first, then adjust 1/samplerate each time untill the results look right.

If the wraps never gets untangled, then you know there are some reflections getting mixed in. But from what the data looks like right now, this does not seem to be the case (at least not for the tweeter).
 
Zaph said:
You are getting the partial null at crossover point because your phase is 90 degrees apart. It doesn't matter how you connect the tweeter, it's going to be +90 or -90.
I agree with Zaph here. The evidence is in that the two combined slopes (in the first post) look the same but are actually different.
Try a slightly steeper tweeter slope, or a shallower woofer slope. You will likely have to add a component somewhere to do this.
I have needed to use close to a first order on my woofer and close to a second order on my tweeter in one example of overcoming this kind of problem.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.