Wednesday, August 12, 2020

Yet Another Time Alignment?

After having done 3 time alignments in the past month or so, you'd think I'd be done.   I had done the previous one on Saturday August 8, and wrote it up in this blog on Monday August 10.  But by August 11, I found more evidence it was wrong, and began doing the one I will report below.

I was unsure of the previous one from the beginning.  Covering the range of 1.32ms to 11.32ms delay for the woofers in 2ms steps, and as compared with a fixed 10ms delay I apply to the panels, I expected that because of the 8ms period of the 125 Hz nominal crossover frequency, I would found two peak summation points in any 10ms range.   Indeed I did, at 5.32ms and 11.32ms.  One curious thing was that the second one, at 11.32ms delay, which is 1.32ms more delay than the panels, I measured the highest summation point of all.  But I wrote that off as random noise and chance.  It was just chance, I surmised, that the second point happened to be closer to the true optimum than the first.  I believed that if I found the local optimum close to 5.32, it would be as good or better.  Call this the difference in local optimality theory.  This theory was somewhat supported by the fact that 11.32 - 5.32 = 6, which is not the expected 8 difference between local optima.

I then looked at the possibilities between the first maximum, at 5.32 ms, and the closest second, at 3.32 ms (which had been the "time alignment" of a week ago) and found an intermediate delay time which gave the highest best crossover magnitude in that interval: 4.86, which is 6.46 different from 11.32, still not 8.

This new 4.86 ms delay adjustment still did not yield summation as large as 11.32 ms, and I could not write it off to a difference in local optimality, in fact now it looked like even 11.32 was not the actual local optimum, but probably something more like 4.86 + 8.

But with a few hand waves, I wrote this off in my previous post.  I argued that you could never tell which of the many possible local optima was the true correct value by its magnitude alone.  I argued you'd need some entirely different way of doing that, such as by examining the transient stimulus delay time for each driver.  And I had already done that in previous tests. I asserted.

That was before the more careful record keeping I've started to do.  I couldn't exactly remember the numbers had come out, I might have made mistakes, and other things might have changed.  For one thing, I couldn't remember the delay time settings at the time I did the first transient stimulus tests, since I began adjusting them without writing down the starting values.  It was carelessness at first, but then I thought at the time, "well it doesn't matter now that I've got the ultimate standard, the first detectable response to a transient pulse input, who cares what the earlier misbegotten values were."  Only later I discovered that first detectable response method wasn't necessarily the ultimate standard after all, or so it seemed, and I then did a cancellation method alignment, followed by a summation method alignment. Each one seemed to raise more questions than it answered.

And now I even suspect that I made some mistakes not knowing that ARTA puts out a negative transient pulse, which confused the interpretation of some graphs.  Also for several days I deliberately had the panels out-of-polarity (for the cancellation tests), but nevertheless treated respectfully the apparent "improvement" in plus coherence as I approached the apparent optimum (by the cancellation method).

Anyway, considering my hand wave about entirely different ways, I decided it was time I go back and try the transient stimulus test all over again.  The panels showed a total delay of 97.5ms (mostly caused by the FIR filtering).


Notice I have corrected the polarity using the ARTA "invert on input" option.  Actually I measured the bass beforehand, but I believe I also had the "invert on input" option selected (though, I find the user interface on the ARTA so weird that I am constantly shutting it down by accident, and then on restart some options gets saved, and others lost).


Nothing in particular seems to start at 97.5 ms, however a downward inverted signal starts around 98.or so.  But I was still discounting that as "phase lead," what counts is where the positive phase begins.  On a lumpy shape like this, I'm not sure where to start that, but it would be at or somewhat beyond the lowest point, which is 108.7ms, which seems about 11 ms too late.  This strongly suggested to me that I was delaying the bass too much, though I admit now it's somewhat ambiguous.  The point of first movement is actually fairly near that of the panels.  (But bear with me.)

I captured the issue better in a later measurement, in which I played the woofers and the supertweeters (which are visually very well aligned with the panels).  Here you can see quite clearly that the tweeter signal is occurring AFTER the woofer has already begun, and by at least 6 ms.  (The curious second HF burst is the downward portion of the 10ms transient impulse.)

10ms pulse with 5.32ms subwoofer delay


OK, now I tried the second value where I had observed a maximum, but without searching for a local optimum.  That was 11.32 ms delay for the woofer (compared with 10ms fixed delay used on the panels).

Subwoofer pulse with 11.32ms woofer delay


I believe this is looking better.  I expanded the Y axis a bit for clarity.  The supertweeter leading transient occurs at exactly 97.6 ms, which aligns with the panels.  It has a smaller reflection at about 99ms, possibly the chair, so ignore that for now.  The bass clearly begins about 2 ms later, at around 100ms, with a positive cycle.  Perhaps if I expanded the Y axis much more, I would see it go back closer to 97.5ms.  Anyway, this sort of makes sense as a near-alignment, possibly in need of about 2 ms fine tuning.  By comparision, the previous graph makes no sense as a near alignment.

To fix the alignment, my method was the same as I used for the 5.32 tentative local optimum, but now applied to the 11.32 tentative local optimum.  I would measure the frequency response at 11.32, noting the magnitude at 125 Hz.  Then I would add or subtract some small increment, enough to make a measureable and hopefully reliable difference.  If it showed higher magnitude, I would continue in that direction with the same increment.  From my existing knowledge of the repeating maxima every 8 ms, I suspected that the optimum was very nearby, so I would most likely not have to make too many measurements, and the denser measurements would also provide a kind of redundancy, reducing the effect of noise.  OK, this was a slightly different method that what I did the previous time.

Response with 11.32ms sub delay


This 128.79 dB magnitude was already better than the best magnitude I measured before at 4.86, and the overall response is remakably smooth from 20-10,000 Hz, it closely fits a slightly sloping line.   Also the distortion remains low from through the bass, as if the subs were just an extension of the panels.

Thinking mostly of how the  local optimum here ought to be about 8ms different from the previous one at 4.86ms, I guessed upwards would be the way to go (though this contradicts the graph above, I see now).  Anyway, my guess appears to have been correct anyway, magnitude kept rising as I kept adding more delay in 0.2ms increments.

Response with 11.52ms sub delay


Magnitude at 11.52ms has risen notably to 128.96dB.  Increasing magnitude appeared to be the way to go, so next I tried 11.72 ms.

Response with 11.72ms delay

At 11.72ms, the magnitude has risen even more to 129.23dB, further confirming we are going in the correct direction.  So I tried 11.92.

Response with 11.92ms delay

11.92 ms delay was better still at 129.32 db, so on to 12.12 ms delay.

Response with 12.12ms delay

12.12ms  was better still at 129.35dB.  So on to 12.32ms.

Response with 12.32ms delay

A second very small improvement at 129.37dB, but off to 12.52ms.

Response with 12.52ms delay

At 12.52ms delay, there has been a sudden small drop to 129.33ms.  This suggests the optimal point is less delay than this.   At this point we could try 12.42 or 12.22, the intermediate points surrounding the previous high value.  I decided to try 12.22.



12.22 ms delay gave the best magnitude of all, at 129.41dB.  There seemed little point in trying 12.42 since the two points upwards from this measured worse (although we are well into the territory where noise matters...it's amazing that I can measure these incredibly tiny differences in the first place!)  I could try to fine tune the delay around 12.22, but it would be hard to tell improvements from noise at this point.  So I decided to choose 12.22ms delay as the final value.

It was much more important to me to be sure that THIS was the correct "peak crossover magnitude vs subwoofer time delay" peak to optimize.  I still wondered a bit if the previous one near 4.86ms was actually more correct.  I now wanted to do other kinds of tests to verify.  First I took a look at the transient time response with at 20 ms pulse.


3 way response to 20ms transient

Ideally, what this would look like would be an upward spike at 97.5ms followed by a flat line, then a downward spike back to baseline at 117.5ms.  The rough looking lines are the supertweeter response, and they occur about where they should be occurring.  In between, instead of flat line there is some bass resonance possibly mostly driven by acoustical room reflections.

Still, looking at this graph, you might wonder if the optimal sub delay would be about 4ms less, then the rolling peak of the bass might occur where the inital response is collapsing.  However that would be nowhere near a peak magnitude at the crossover frequency, AND in all my adjustments I have never seen the "M" figure corresponding to spikes go away.  I have been figuring that to be caused by local reflections around the microphone, possibly the listening chair, which I did not move out of the way for these tests (it's not easy to do because there's not much extra space in the living room, and arguably it should be there to reflect the "real world" listening experience).  That the second M is upside down is correct, since the first is an upward spike and the second is a downward spike.  However clearly the downward spike is obscured in the measured response by bass reflections already underway.

I repeated the transient test with the panels turned off for more clarity.

Sub and Tweeter response to 20ms transient

This does indeed show the sub response starting to rise significantly past the tweeter response.  However it's still unclear if the sub has started to respond at the same time as the tweeters, possibly with an out-of-polarity segment.

The next day I ran frequency response analysis on the two peak magnitude candidates, the current 12.22ms delay  and the earlier 4.86ms.  I tried to do these more carefully, and by running them back to back unwanted extraneous influences are minimized.

Response with 12.22 ms delay

Almost identical to the one run previously, now with an even higher magnitude at 129.43dB (0.02dB higher).

Response with 4.86ms delay

When all is said and done, it's remarkable how similar these are, despite the nearly 8ms difference in subwoofer delay.  I see no reason in the frequency response to prefer the 4.86 to the 12.22; they are virtually identical.  The 12.22 has slighly lower distortion though the subwoofer range, though possibly a hair more distortion in the 150-250 Hz region (where the 4.86ms delay has very slightly more output).

I still felt insecure about electrically delaying the subs more than the panels, so another day later I decided to compare 4.86 and 12.22 some more.  First I did a transient with tweeter and woofer at the 4.86ms subwoofer delay.

Sub+Tweeter transient response at 4.8ms sub delay

This looks wrong.  The supertweeter is starting right at the crest of the subwoofer response which started about 8ms earlier.  The falling subwoofer wave should take the stuffing out of any transient longer than a few ms.  For the 12.22ms delay, I cranked up the X axis to see more clearly

Sub+Tweeter transient response at 12.22ms sub delay
Add caption

Now this seems to make more sense.  It seems like the sub and tweeter are almost starting at the same moment (possibly the sub is starting a fraction of a ms sooner), but the sub is starting with a slight negative phase lead which then goes strongly positive a few ms later.  But was that apparent "phase lead" real or just room noise?  I repeated the sub by itself 2 times and got an identical transient response each time:

Sub transient response at 11.22 ms sub delay
Sub transient response at 11.22ms sub delay

It's clear that there is a consistent negative phase lead extending about 5ms in front of the positive sub response, regardless of the preceding noise, and this negative phase lead starts at about 97 ms, possibly 0.5ms earlier than the tweeters and panels, though it's hard to tell exactly because of the random noise.

I'm now fairly confident that the 11.22ms alignment is better than the 4.86ms alignment, but possibly there is an even better alignment in between, that would result in a more square looking transient, but lower magnitude at the crossover frequency.

No comments:

Post a Comment