ProSoundWeb Community

Sound Reinforcement - Forums for Live Sound Professionals - Your Displayed Name Must Be Your Real Full Name To Post In The Live Sound Forums => Audio Measurement and Testing => Topic started by: Frank Koenig on June 16, 2020, 02:33:30 PM

Title: A look at optimum smoothing in speaker EQ
Post by: Frank Koenig on June 16, 2020, 02:33:30 PM
In working on tools for creating speaker settings I've encountered the problem of how much smoothing to apply to the inverse of the combined responses when generating the prototype from which the correction filter is synthesized. The availability of easy-to-synthesize FIR filters, or high-order IIR combined with automated, optimized fitting, allows us to have arbitrarily detailed filters, so the question arises of how much is best. This is not a simple question as it is fundamentally a perceptual one, but there are some statistical observations to be made.

The psychoacoustic dogma is that peaks in the frequency response are more perceptible than dips, and that peaks or dips that span less than the critical bandwidth are less relevant. (Why, exactly, it follows that the required smoothness of the frequency response is determined by critical bandwidth I don't understand, and perhaps it's just an empirical observation.) In any case, this has led me, and likely others, to use a frequency-proportional smoothing of about 1/6 octave at mid to high frequencies with perceptually satisfactory results, but that's not the point here.

Here's the  problem. Too much smoothing leaves correctible frequency response errors on the table. In the limiting case smoothing the prototype filter with infinite bandwidth applies no correction at all. As we reduce the amount of smoothing (narrower smoothing bandwidth) the correction gets better. Indeed, if correcting the response at a single angle the unsmoothed correction can be "perfect". But we're never interested in correcting at a point but rather finding a compromise over the intended coverage angle of the speaker (perhaps weighting some angles more heavily, or discarding outliers, as when a reflection off the grille causes a measurable but imperceptible dip in the response over a narrow range of angles). As the amount of smoothing is decreased further there comes a point of diminishing returns as the variation between the responses at different angles dominates the single, electrical correction. So there likely can be too little smoothing, too. A highly detailed filter requires a longer impulse response, at the very least, and might come at some perceptual cost. (I'm unclear on this last point.)

To investigate this point of diminishing returns I generated smoothed, log-magnitudes (inverses of the electrical correction curves) combined* over multiple angles using different amounts of smoothing. I then calculated and plotted the sums across angles of the standard deviations (SDs) across frequency of the differences between the raw measurements and the smoothed curves. I also calculated the SDs of only the positive differences as that might be a more perceptually representative metric (counting the peaks but not the dips).

Below are plots of one set of 18 measurements smoothed at 1/3 octave and 1/24 octave (colorful), the overlaid corrected responses at those smoothings (all black), and the SDs as a function of smoothing. I've tried this on a few different measurement sets and got similar results. The upshot, perhaps unsurprisingly, is that as the smoothing is reduced the variation in response between different angles rapidly swamps our ability to correct those responses with a single, upstream electrical filter. This result is independent of any psychoacoustic criterion. Even if a finer-grained correction were to sound better, the ability to obtain that correction for multiple angles is not there, at least as measured by variance (or SD). Furthermore, good old 1/6 octave is about as good as we need. Even 1/3 octave (looking at you, graphic EQ) is only slightly worse. This is admittedly a simplistic look at a big problem and perhaps just a pedantic route to the obvious. Ideas welcome in any case. Thanks.

--Frank

*The responses were combine by taking the log of mean magnitudes rather than the mean of the log magnitudes. There is a scale factor ("gamma") involved. I've found this to be a perceptually better way of combining measurements. Taking the mean of the log magnitudes tends to over emphasize the dips at high frequencies, that most speakers exhibit, and results in an overly bright correction. This method accounts for the flat-top look of the overlaid corrected responses.

(http://1-3OctRaw.jpg)
(http://1-24OctRaw.jpg)
(http://1-3OctCorr.jpg)
(http://1-24OctCorr.jpg)
(http://OBWvsSD.jpg)

Title: Re: A look at optimum smoothing in speaker EQ
Post by: Mark Wilkinson on June 16, 2020, 05:34:00 PM
Hi Frank, super post.
I bet many manufacturers are studying the exact same thing, since near perfect on-axis response is so easy to accomplish.

I've played with this tradeoff for several years now, .....how much correction to apply, ...ever since i discovered FIR, and automated mag and phase corrections.

Maybe you're familiar, FirDesigner's principal way to specify the level of correction is in terms of 1/x octave smoothing per pass band, (or rather per driver with even the ability to band correction strength within the pass band).

The acid test I've come up with (since i can't begin to do the statistical work you do), is how well do 1/x corrections hold up off-axis.
If corrections continue to produce smoothish curves off-axis, it seems to me they are valid. If not, bozo.
By seat of pants, i tend to agree with 1/6th as home base.

If i have a very well behaved driver when looking at on-axis vs off-axis, or nice driver/horn combo etc,
I take 1/x higher..say to 1/12th. I've even seen 1/24th hold up, albeit rarely.
If the off-axis show's a bad letting go vs on-ax, i drop to 1/3....or give up lol.

Please post whatever statistical evidence you continue to find.... I'll study to try to keep up  :)



Title: Re: A look at optimum smoothing in speaker EQ
Post by: David Sturzenbecher on June 16, 2020, 10:31:26 PM
Frank,
I am guessing that you have read, reread, and read again all the whitepapers and patents that Dave Gunness and Fulcrum Acoustics (and EAW) has put together on the topic.  If not, that is a very good place to start. (I know the "Improving Loudspeaker Transient Response with Digital Signal Processing" is a good one)

https://www.fulcrum-acoustic.com/audio-technology-insights-resources/whitepapers/

It's been years since I have read them in detail, but I remember the jist of it being that you really need to look into what is causing each anomaly and determine if it's correctable with EQ or not. Taking multiple measurements will of course help you determine this on your own.  I don't know if you can broadly give a bandwidth for smoothing as an 1/12th octave issue at one frequency may be correctable, but a 1/12 octave issue at another might not.
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Frank Koenig on June 17, 2020, 01:55:15 PM
Mark: Thank you. It looks like we've been going down the same road on this.  I have not used FirDesigner but probably should get my hands on a copy to see what they've done.  The trouble is it would almost certainly lay waste to my years of effort, although I suppose I did learn a little in the process -- no worse than building my own speakers. On the statistics, don't overrate it. What I've done here is dirt simple, and maybe wrong. I did send a summary to a bio-statistician friend hoping she might see some parallels to other known problems. I haven't heard back...

David: I did indeed read whatever of Gunness's stuff that I could get my hands on around 2012-13 when I got started on this. And I remember well the assertion that you need to understand the physics of the aberration you're trying to correct, which philosophically I agree with. But as a consumer, not a designer, of speaker components, I've taken more of a speaker-as-a-black-box view. At the end of the day all I can do is insert an electrical linear filter upstream of whatever speaker I'm stuck with. The specification of that filter, and the evaluation of its performance, are based on linear system modeling of point acoustic measurements, and of course some listening. Even if I know the physical cause of an aberration I only can correct it to the extent that it shows up in the data. When, more often than not,  I don't know its cause I can still correct it on the basis of the data but need to be more clever in interpreting those data.

The big fuzzy part of all this, whether we know the physics or not, is what really matters perceptually and what tradeoffs to make. The are many things I measure that I can't hear. There are things I think I hear that I don't know how to measure. And there are, of course, innumerable tradeoffs.

What I'd like to do -- no promise how far I'll get -- is get better at analyzing the data. This might inform what and how to measure (such as appropriate angular sampling rate), and put an information-theoretic baseline on what can be corrected. No point in making corrections that are, statistically speaking, white noise. The above little exercise is an example of that.

Let's all keep the discussion open. I'd like to think that we're not that far behind the manufacturers.

--Frank
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Chris Grimshaw on June 17, 2020, 02:58:28 PM
Frank, I pulled this from the REW Help section, on the subject of smoothing for measurements:

Quote
Variable smoothing applies 1/48 octave below 100 Hz, 1/3 octave above 10 kHz and varies between 1/48 and 1/3 octave from 100 Hz to 10 kHz, reaching 1/6 octave at 1 kHz. Variable smoothing is recommended for responses that are to be equalised. Psychoacoustic smoothing uses 1/3 octave below 100Hz, 1/6 octave above 1 kHz and varies from 1/3 octave to 1/6 octave between 100 Hz and 1 kHz. It also applies more weighting to peaks by using a cubic mean (cube root of the average of the cubed values) to produce a plot that more closely corresponds to the perceived frequency response. ERB smoothing uses a variable smoothing bandwidth that corresponds to the ear's Equivalent Rectangular Bandwidth, which is (107.77f + 24.673) Hz, where f is in kHz. At low frequencies this gives heavy smoothing, about 1 octave at 50Hz, 1/2 octave at 100 Hz, 1/3 octave at 200 Hz then leveling out to approximately 1/6 octave above 1 kHz.

Which sounds like some direction for the questions you're asking. The author is describing the three not-fractions-of-an-octave smoothing options in REW: Variable, Psychoacoustic, and ERB.


FWIW, when it comes to measuring at different angles, I find it's something that varies from box to box. The speaker I worked on most recently was a Faital 10HX230 in a ported box, and I found the off-axis behaviour to be very good - the peaks and dips largely stayed in the same place, but as I moved off-axis there was a smooth decline towards the HF. I did a few sweeps to start off with and "get a feel for it", and went from there. In the end, I think I just averaged the on-axis and 45-degrees off, with 1/6th octave smoothing.

I do tend to eyeball this stuff, though - I'll pick a few measurements that I believe are representative of where the paying-attention-audience is, average them, and EQ the result.

Chris
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Frank Koenig on June 17, 2020, 04:09:31 PM
Variable smoothing applies 1/48 octave below 100 Hz, 1/3 octave above 10 kHz and varies between 1/48 and 1/3 octave from 100 Hz to 10 kHz, reaching 1/6 octave at 1 kHz. Variable smoothing is recommended for responses that are to be equalised. Psychoacoustic smoothing uses 1/3 octave below 100Hz, 1/6 octave above 1 kHz and varies from 1/3 octave to 1/6 octave between 100 Hz and 1 kHz. It also applies more weighting to peaks by using a cubic mean (cube root of the average of the cubed values) to produce a plot that more closely corresponds to the perceived frequency response. ERB smoothing uses a variable smoothing bandwidth that corresponds to the ear's Equivalent Rectangular Bandwidth, which is (107.77f + 24.673) Hz, where f is in kHz. At low frequencies this gives heavy smoothing, about 1 octave at 50Hz, 1/2 octave at 100 Hz, 1/3 octave at 200 Hz then leveling out to approximately 1/6 octave above 1 kHz.

I dunno ??? Hate to say it but that sounds like a bunch of studiophool mumbo-jumbo to me, although I appreciate your posting it.  First off, their (unsupported) recommendations are all over the map. 1/48 octave or 1/3 octave below 100Hz, which is it? Furthermore, for 1/48 octave smoothing to have any effect at 100 Hz you'd need a data window of almost 700 ms so that the inherent smoothing of the window would not dominate. The second and third recommendations are at least close to our notion of critical  bandwidth in humans, which has some support -- 1/6 octave above a few 100 Hz sounds familiar.

Be that as it may, the idea of smoothing that varies with frequency is worth investigating. It seems to me that in order to go about this rationally we need to know two lower limits as a function of frequency. One is based on the information content of the data, which depends on the specific speaker and how it's measured, and the other, which is fixed but less well defined, is based our knowledge of perception.

--Frank
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Chris Grimshaw on June 17, 2020, 07:08:46 PM
Yep, there's certainly a range of recommendations in that text. Of the three, the "Psychoacoustic" one makes the most sense on an intuitive level. 1/48 below 100Hz wouldn't be useful, and neither would be 1-octave smoothing - I'm certain I can hear more resolution at LF than that.

All that said, I did a little digging around and couldn't find much science behind what was written in the REW help file, so it's worth taking with some salt.


I'm now wondering if smoothing/weighting should be tied in with the equal loudness contours. If there was a dip at 19kHz, would we bother to EQ it back in? I don't think I would. If the dip was at 3kHz, though, I'd be working hard to figure out what was going on and how to fix it (EQ or otherwise).

Chris
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Timo Beckman on July 07, 2020, 10:12:54 AM
Did you check the new FIR Designer beta?

You can load an on-axi trac and correct the respons the way you see fit and simultaneously see the effect of those on traces taken at other mic positions...

https://timobeckmangeluid.wordpress.com/2020/07/07/fir-designer-m-beta-supplementary-responses-window/ (https://timobeckmangeluid.wordpress.com/2020/07/07/fir-designer-m-beta-supplementary-responses-window/)
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Frank Koenig on July 07, 2020, 06:44:37 PM
You can load an on-axi trac and correct the respons the way you see fit and simultaneously see the effect of those on traces taken at other mic positions...
https://timobeckmangeluid.wordpress.com/2020/07/07/fir-designer-m-beta-supplementary-responses-window/ (https://timobeckmangeluid.wordpress.com/2020/07/07/fir-designer-m-beta-supplementary-responses-window/)

Interesting. This is exactly what I've been working on in my code. The conclusion I'm coming to is that for a speaker with pretty good polar uniformity correcting onax (or an average over a narrow range of angles near onax) at high resolution can really clean things up. I've been playing with data from a B&C 8CXN51 8" coax and fixing onax fixes +/- 20 deg very well. The FIR filter was synthesized from a 1/12 octave smoothed frequency response. (Before and after onax TFE plots below, and the offax corrected by onax look almost as good.) When I look at a large, loud PA speaker, that will remain unnamed for the moment, while the polar uniformity from a tonality standpoint isn't bad, the fine wiggles are so uncorrelated from one angle to the next that I see no point in going beyond 1/6 octave. The corrected TFE plot for any angle, other than the one on which a high-resolution correction is based, looks almost as bad as no correction at all.

I've been playing with statistical clustering, using the kmeans() function in R, in an attempt to cluster measurements taken at different angles to choose the subset to use for "fine" correction. Dunno if this will go anywhere.

I need to get back to my old outdoor measurement spot on the Stanford campus and get more data to work with. Trouble is they've got a small tent city of COVID testing stations there now and I don't want to get anywhere near it, unless I'm getting tested.

--Frank
(http://8CXN51FIR.jpg)
(http://8CXN51none.jpg)
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Timo Beckman on July 08, 2020, 07:56:08 AM
I'm just a mis-user of software so i've got no idea what the statement below means ;-)
The new supplementary response option is something i've been waiting for (had no time to find a work around before the beta came so now there's no need to).

"I've been playing with statistical clustering, using the kmeans() function in R, in an attempt to cluster measurements taken at different angles to choose the subset to use for "fine" correction. Dunno if this will go anywhere."

Title: Re: A look at optimum smoothing in speaker EQ
Post by: Frank Koenig on July 08, 2020, 07:10:19 PM
I'm just a mis-user of software so i've got no idea what the statement below means ;-)

Hey Timo, thanks for even looking at it. Here are a few pictures from the clustering experiments that I hope will explain what I'm doing. It's pretty simple. By way of background, I generate time-frequency-energy (TFE) plots as follows. This gets essentially the same result as the method of Gunness, it's just a little different computationally. I refer to it as the short-frequency Fourier transform (SFFT), in contrast to the short-time Fourier transform that is typically used to generate spectrograms.

*Window the impulse response to obtain a pseudo-anechoic measurement. (I've been using a 75% rectangular, 25% half-raised-cosine window. It's not critical.)

*Take the discrete Fourier transform (DFT) of the windowed impulse response to obtain the frequency response.

*Multiply the complex frequency response by a Gaussian window for each frequency band of interest. The windows are of constant octave width so must be calculated for each band.

*For each band set the response for negative frequencies to zero so that the inverse transform represents an estimate of the analytic time function that we might think of as the "envelope" of the band-limited impulse response.

*For each band take the inverse DFT to obtain the analytic impulse response.

*Plot the log magnitude of each inverse DFT.

The first plot shows the log-magnitudes of the frequency responses overlaid with the log-magnitudes of the Gaussian windows.

Once I have a collection of these impulse response envelopes for each band and measurement I let kmeans() do its magic and cluster them into a certain number of clusters, 3 in this example. kmeans() uses the sum of squared differences as its distance measure.

The second plot shows the impulse response envelops for each band color coded for the cluster kmeans() has assigned them to.

The third plot shows a grid for each band and cluster that represents the horizontal and vertical index of each measurement. Onax is in the lower left corner (0, 0) and there are 3 vertical and 6 horizontal indices for a total of 18 measurement's at ~5 deg increments. Green represents the measurement's membership in that cluster.

That's it, for what it's worth. I'm not expecting this to be of any great value but it was something I wanted try. I keep hoping that this blind squirrel might still stumble across nut. I do enjoy generating cool looking graphs. Ideas welcome, as always.

--Frank

https://www.dropbox.com/sh/zsgta3fw3juwuv2/AAAQfKwvyjNa8ue_e-t5xNrWa/Audio?dl=0&preview=GaussWindows.jpg&subfolder_nav_tracking=1 (https://www.dropbox.com/sh/zsgta3fw3juwuv2/AAAQfKwvyjNa8ue_e-t5xNrWa/Audio?dl=0&preview=GaussWindows.jpg&subfolder_nav_tracking=1)
https://www.dropbox.com/sh/zsgta3fw3juwuv2/AAAQfKwvyjNa8ue_e-t5xNrWa/Audio?dl=0&preview=SFFTclusters.jpg&subfolder_nav_tracking=1 (https://www.dropbox.com/sh/zsgta3fw3juwuv2/AAAQfKwvyjNa8ue_e-t5xNrWa/Audio?dl=0&preview=SFFTclusters.jpg&subfolder_nav_tracking=1)
https://www.dropbox.com/sh/zsgta3fw3juwuv2/AAAQfKwvyjNa8ue_e-t5xNrWa/Audio?dl=0&preview=HVclusters.jpg&subfolder_nav_tracking=1 (https://www.dropbox.com/sh/zsgta3fw3juwuv2/AAAQfKwvyjNa8ue_e-t5xNrWa/Audio?dl=0&preview=HVclusters.jpg&subfolder_nav_tracking=1)
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Timo Beckman on July 10, 2020, 03:26:33 AM

*For each band set the response for negative frequencies to zero so that the inverse transform represents an estimate of the analytic time function that we might think of as the "envelope" of the band-limited impulse response.

I do not get the "the negative frequencies" bit...For the rest of it: It sort of makes a little sense to me (did not expect it to make sense since i'm not a math/physics person but a "mis-user" of very sophisticated softwares like smaart and fir-designer ;-) as stated before)

Correct me if i'm wrong: the last screen shot represents parts of the IR but represented as a wavelet (can't remember if it's the correct word for it but i'm on a old MBP. I'll check what it's called when i'm working on the mac pro again sometime today).
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Mark Wilkinson on July 10, 2020, 10:15:42 AM
Hi Frank, like Timo, I'm a misuser of Smaart and FirD (i like that Timo :)
So all i really do is twist knobs so to speak, and take measurements....

And I must say, i can't really follow very deeply what you're doing...
Here's some thoughts about what I think you're doing...please redirect and correct...

Appears you are applying  impulse inverse as correction filters, across the entire speaker (or at least from 1kHz up)
(I'm thinking this is with existing speaker processing and xovers in place....? Or are you redoing from scratch?)

That a polar set of impulse inverses is what you are doing the averaging and statistical work on...?
An average based of the envelope of that set looks like what is being used to test how much smoothing works best?

Am i in the ballpark so far?

If so, does the statistical work you are doing compare each of the individual polar inverses, to the 'envelope generated average'?
By looking at how various frequency bands hold up statistically?

Or do you retake polar measurements with the 'envelope generated average' as the correction filter, and look at those statistically?

If I can catch up with what you're doing, I'll try to explain the process I've come up with for deciding how much correction to apply, or probably more to the point ..when and where does correction work. 
I feel like my method and results are steadily improving, but my method is alot of work.  Gathering what you're doing might help lessen the work....
Because so fa,  i just try to understand how to best use Smaart and FirD ,..... twist knobs and measure.. re-twist and re-measure...and on.....
 


Title: Re: A look at optimum smoothing in speaker EQ
Post by: Mark Wilkinson on July 10, 2020, 04:52:15 PM
Hi again Frank, sorry to have asked so many damn, probably muddled, questions.

So, if i may, here's what i've been working on...

Driver-by-driver, before any xover summation.....
I've been measuring their raw polars in whatever box I'm building. 
Then, kinda eyeballing/guessing how much correction may hold up both on and off axis, I build a FIR file to correct on-axis.
And measure how well it holds up off-axis.

Then I sum the drivers and go thru the same on and off axis measurement discovery.

What I've come to conclude is the only valid corrections for both on and off axis, are minimum phase corrections at the individual driver level.

Once two or more drivers are summed, i think i can almost throw corrections out the window.....because they become point-in-space, geometric-like, corrections only.

My understanding is summation leaves the realm of minimum phase, where when we fix mag we fix phase.
So it seems to me, any frequency response range that is the result of driver summation is no longer a candidate for impulse inversion correction, either on or off axis.

That thought train has been working pretty well for me...tune individual drivers, and don't try to go past that....
And then I go thru the same questions on individual drivers,  that your thread poses...

Title: Re: A look at optimum smoothing in speaker EQ
Post by: Frank Koenig on July 11, 2020, 03:48:36 PM
Hi Mark,

I think we're on convergent paths on much of this. As for whole-system correction with crossovers I've been working almost entirely with smaller coaxials and coaxial-like speakers such as the SH-46, which do better in terms of whole-system polar uniformity. In the case of the SH-46 I'm applying the FIR correction over the MF and HF, including the passive crossover, treating them as a single passband. Certainly trying to correct over a range of angles with non-coincident drivers is a can of worms that folks have been struggling with forever. Maybe coaxes are cheating  ;)

The statistical fiddle-farting is all part of what I would call analysis or "pre-processing" and not directly part of the filter synthesis. I'm just trying to get a handle on what's correctable and what measurements or combination of measurements to use -- trying to get a feel for the data. The frequency ranges in the examples do not represent actual corrections.

I'll make a side trip into how I'm currently synthesizing the filters -- sort of my version of FIR Designer. The starting point is a log-magnitude (LM) response and, optionally, an excess group-delay (EGD) response.  These two frequency domain representations taken together are "complete" in the sense that an impulse response (IR) can be reconstructed from them. They appear to embody two relatively distinct aspects of a speaker's behavior and are invariant with respect to random time offsets between multiple measurements.

The LM, which determines the minimum-phase, contains all the fine detail and pretty much all the variation from one measurement to the next on every speaker I've encountered. The LMs from multiple measurements can be combined, as by averaging, and the minimum-phase recovered by the discrete Hilbert transform. The phase so determined is invariant with respect to time differences between the measurements, which is a huge advantage as it gets us out of having to align the multiple IRs.
 
The EGD, or equivalently the excess phase, tends to be very smooth and varies little with angle. Each EGD has an offset that depends on the alignment of the IR from which it was determined but these time offsets only affect the offset of the average and so, too, become irrelevant.  Normalizing the average EGD by subtracting its mean over the whole frequency range causes the phase to be zero at fs / 2, which I've found to be a satisfactory condition for synthesizing the filter.

In both the LM and EGD responses I extrapolate the response outside a frequency range of interest. This is the "don't care" part. The lower bound is determined either by the speaker's lower cutoff (or crossover) frequency or a limitation on the number of FIR coefficients. The upper bound usually is determined by the point where I consider fixing the speaker's response to be hopeless either because it falls off a cliff or is too chaotic. I try to choose the bounds at a point where the LM or EGD have zero slope so as to make a smooth transition to the extrapolated part. This is prior to final smoothing which serves further to smooth the transition.

So, to summarize, here's the step-by-step process starting with the combined LM and EGD:

*Extrapolate the LM above and below some range such that LM(0 to fmin) = LM(fmin) and LM(fmax to fs/2) = LM(fmax).

*Apply frequency-proportional (constant octave-bandwidth) Gaussian smoothing.

*Normalize the LM over some range to set the overall filter gain.

*Obtain the minimum-phase by the discrete Hilbert transform.

*Generate a protype filter with magnitude = -exp(LM) and phase = -minimum-phase. This is the inverse minimum-phase filter.

*Take the inverse discrete Fourier transform of the prototype filter to get the unwindowed filter coefficients.

*Extrapolate the EGD above and below some range such that EGD(0 to fmin) = EGD(fmin) and EGD(fmax to fs/2) = EGD(fmax).

*Optionally apply smoothing. Generally not required.

*Normalize the EGD such that mean(EGD) = 0.

*Generate a protype filter with magnitude = 1 and phase  = integral of EGD. This is the inverse EGD all-pass filter.

*Take the inverse discrete Fourier transform of the prototype filter to get the unwindowed filter coefficients.

*Convolve the unwindowed filters together and with any other filters such as a crossover filter. This is the total unwindowed filter.

*Multiply the filter by a window. I've been using an 80% rectangle with 10% half raised cosines at each end for non-causal filters and a 90% rectangle with a 10% half raised cosine at one end for causal (minimum-phase only) filters. Optimize the timing of the widow to minimize the error between the windowed and unwindowed LM. This is important.

*Write the coefficients to a file in the format required by the DSP.

So back to the overall process. Like you, I've been applying this to the individual passbands without crossover, usually just the HF. For what I've been doing I find the LF can be handled pretty well with IIR biquads which, so far, I've been fitting the old way by eye. (I've spent a bunch of time trying to write an automated fitter using R's built in optimization functions and while it works some of the time it gets tripped up and makes bad decisions too often to be useful.)

For developing crossovers I take a set of measurements where, obviously, the mic can't move for each HF/LF pair. I align the HF impulse responses by their peaks maintaining the time relation of each HF/LF pair (after much fooling I find this still to be the most reliable, and sufficient) and smooth the complex frequency response prior to averaging the magnitude and phase directly. Since with a crossover I'm only concerned with a narrower range of frequencies this is satisfactory. I can apply the individual band correction settings from above to the crossover model so that I don't need to remeasure. A final check using the filters in-line is a good idea, but the fidelity of inserting the filters into the model has been good.

With a passive crossover (I've got a pretty nice optimizer for element values) I remeasure the whole system with the crossover as there are too many errors that can creep into the data and model and the FIR correction does a good job of fixing any little problems around the crossover frequency. I just went through this with the B&C 8CXN51 and got a pretty satisfactory result. I think it's a really nice driver, by the way. A good passive crossover didn't require any heroics.

I'm sorry if I haven't answered your questions directly. This writing thing is hard. But we can keep batting it around.

--Frank
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Mark Wilkinson on July 12, 2020, 12:44:56 PM


Thank you Frank, that was so well written I feel i understand most everything you said.   :)
And yep, writing is such damn hard work.... very hard for me too.

The LM part, the minimum phase part, has been where most of my work goes.....finding corrections that hold up on and off axis..
I think this is probably because i let smaart automatically handle the EDG part, by finding the delay that equates to flat phase and mag in the middle of the passband. (Always with no low-pass in place for determinging timing)
As you say EGD tends to be smooth and vary little with angle.  When EDG does vary some by angle, I find tuning gets really challenging.

I try to extend a driver's flat mag and phase found in the middle of the band, with out-of-band flattening.
I'll use what would almost appear to be nuts amounts of flattening, certainly dangerous amounts, if not for the very steep xovers I lay on top after the flattening.
So if I use 2, 3, or even 4 orders of out-of-band flattening, after I lay 8 to 16 orders of xover on top, I'm left left with an electrical crossover that nets the two, and still is safely steep. 
And most importantly holds flat mag phase through xover summation regions.

Then adding complementary linear phase xovers makes tuning no more than setting delays and levels. 
No xover work to do at all, other than see how polars look....whether xover needs to bump up or down.

I guess we all end up with IIR down low. 
But otherwise,  I limit latency to 15ms  for live.
For playback, I use all the FIR I have that's easily deployed, 4096 taps @48 kHz.
This let's me typically use LR 12th order at 100Hz for sub xover, and imbed a BW3 high pass.


Title: Re: A look at optimum smoothing in speaker EQ
Post by: Mark Wilkinson on July 15, 2020, 03:42:07 PM
Hi Mark,

I think we're on convergent paths on much of this. As for whole-system correction with crossovers I've been working almost entirely with smaller coaxials and coaxial-like speakers such as the SH-46, which do better in terms of whole-system polar uniformity. In the case of the SH-46 I'm applying the FIR correction over the MF and HF, including the passive crossover, treating them as a single passband. Certainly trying to correct over a range of angles with non-coincident drivers is a can of worms that folks have been struggling with forever. Maybe coaxes are cheating  ;)



Hey Frank,  was thinking about your work with the SH-46.....
How have the polars looked 'as is' with the passive xovers?  Do they generally all more or less fall as angle increases, or do some areas of response increase, even above onax response?

I ask because I've been working on DIY synergies for about a year now.  A 60x60, a 60x40, and now a 90x60.
Both with and without secondary flares, etc.
All of them have patterning 'flip flop' to some degree, especially when originally tuned to on-axis.
If i tune to about 15 deg off axis, that tends to minimize the maximum flip-flop, by having it move in a different direction towards onax than towards further offax past the 15 deg 'centering'.
Hope that made sense...
An example of 'flip-flop' is below.....current 90x60 synergy project...48"x 29" with secondary flares.
Blue is spot-on tuning at 15 deg, green is 0 deg (onax), and red is 30 deg. 1/3 oct for ease of depicting.
Notice how green and red move away from each other around 0dB.

Like said, every synergy tried so far, with straight sided conical walls, does this to one degree or another. I've seen it with just a coax CD mounted to the throat, before any mid/bass ports are added. 
I know the secondary flare is supposed to counter waistbanding, and I've seen it does. But nothing I've done yet, eliminates it.
Smooth polars have been much easier to obtain with commercial waveguides like Peter uses in his PM90 & 60. And other ones I've experimented with.

So I'm really curious how much there is to learn, still on the table, if a box like the SH-46 has generally smoothly falling polars...?????

If not so smooth out of the box, did your FIR overlays help? 

Always the questions....sorry... and Thanks  :)
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Mark Wilkinson on August 13, 2020, 10:52:45 AM
I guess it probably isn't fair to ask such questions about a specific box like that, sorry.
(I've never been known for being politically astute lol)

Anyway, in the continued pursuit of trying to determine how to best optimize speaker EQ, here's some recent work on the latest synergy project.
FirD was used with 1/6 oct auto mag and phase smoothing on all three driver sections, along with linear phase xovers.
Tuning was made for chosen reference axis (which was about 5 deg ofax), then simply measured on-axis to see how well it held up.
Attempts to smooth beyond 1/6th oct didn't seem to make any appreciable difference to polars, other than of course the reference tuning axis.
 
Horizontal polars are in 10 deg increments.  Green 0, orange 10, purple 20, light blue 30, pink-red 40, off-green 50, rust 60.
There is an intentional 6dB downward slope, end to end, built in to the tuning.
(haven't figured out an easy way to make vertical polars yet)

The synergy is a 90x60,  and seems to maintain horizontal pattern well through 30-40 degrees.
I forgot to get a 45 deg reading, but the falloff between 40 and 50 deg seems about right for the 90 degree coverage goal.

The secondary flares are not straight, they have a quasi tractrix curvature in an attempt to improve polars.
Made out of 2" XPS foamboard wrapped with glass cloth and epoxy. Removable, 2-3 min on/off task, with a weight of 2lbs!
The whole speaker with secondary flares, two faital 10PR300 10" mid drivers, attached stand with a built in adjustable-tilt pole cup....
....weighs 52lbs with a bms 4594HE coax compression driver, or 54lbs with a b&c dcx464 !
Have to admit i'm kinda proud about the weight... for a speaker that's 48Wx28Hx25D. 
Only thing i like better than the weight, is the sound  :)


Title: Re: A look at optimum smoothing in speaker EQ
Post by: Art Welter on August 14, 2020, 03:53:04 PM

The synergy is a 90x60,  and seems to maintain horizontal pattern well through 30-40 degrees.
I forgot to get a 45 deg reading, but the falloff between 40 and 50 deg seems about right for the 90 degree coverage goal.
....weighs 52lbs with a bms 4594HE coax compression driver, or 54lbs with a b&c dcx464 !
Have to admit i'm kinda proud about the weight... for a speaker that's 48Wx28Hx25D. 
Only thing i like better than the weight, is the sound  :)
For comparison, the SynTripP uses two B&C 10CL51 10" with a Celestion CDX14-3050 three inch diaphragm 1.4" exit high frequency (HF) driver come in at just under 34 pounds (15.5 kilos) for the 26.5" wide x 11.25" tall, 15" deep (67.3 x 6.075 x 38.1 centimeters) main cabinet. The secondary horn is 41" wide x 25.5" tall x 7.5" deep (104.1 x 64.8 x 19 centimeters), weighing about 5 pounds (2 kilos). The horns nest like Dixie cups, attached by a ratchet strap and bridle assembly to the main enclosure in about the time it takes to tie a pair of shoes. Nominal 90 x 40 degree dispersion.

Used a DBX DriverackPA for the polars below, not enough filters to take care of everything, and some "conical blues".
Seems the ported (81Hz Fb) SynTripP has more consistent (no reversals) below about 600Hz, while your 90x60 is better behaved above.

Anyway, better hit post before another lightning outage, just found my "uninterruptible power supply" is not.

Art
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Frank Koenig on August 15, 2020, 11:59:22 AM
Mark, Art, sorry not to have responded sooner. In my scanning of the forum I missed your new posts and I tend to work on this stuff in fits and starts. Let me digest this all a bit. I'll be back. --Frank
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Mark Wilkinson on August 16, 2020, 10:06:33 AM
For comparison, the SynTripP uses two B&C 10CL51 10" with a Celestion CDX14-3050 three inch diaphragm 1.4" exit high frequency (HF) driver come in at just under 34 pounds (15.5 kilos) for the 26.5" wide x 11.25" tall, 15" deep (67.3 x 6.075 x 38.1 centimeters) main cabinet. The secondary horn is 41" wide x 25.5" tall x 7.5" deep (104.1 x 64.8 x 19 centimeters), weighing about 5 pounds (2 kilos). The horns nest like Dixie cups, attached by a ratchet strap and bridle assembly to the main enclosure in about the time it takes to tie a pair of shoes. Nominal 90 x 40 degree dispersion.

Used a DBX DriverackPA for the polars below, not enough filters to take care of everything, and some "conical blues".
Seems the ported (81Hz Fb) SynTripP has more consistent (no reversals) below about 600Hz, while your 90x60 is better behaved above.

Anyway, better hit post before another lightning outage, just found my "uninterruptible power supply" is not.

Art

Hi Art,
Have always admired your SynTripP...i think it may me the lightweight champ of the world.
Nice job with tuning. In keeping with this thread, may i ask what your procedure is.....
as in, do you tune to on-axis or some angle near on-axis, and then see how well it holds up off-axis?
Or do you have some other routine that takes in off-axis at the beginning?

I'm a little surprised your measurements don't show more pattern flip or waistbanding.
i've often read pattern flip blooms when the aspect ratio, horizontal to vertical, exceeds somewhere around 1.5-1.6X.
But the SynTripP's 90x40 at 2.25X appears to looks fine, for at least the horizontal.
What'd you do right?  :)

@ Frank, cool, thx..
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Art Welter on August 16, 2020, 01:33:18 PM
.. do you tune to on-axis or some angle near on-axis, and then see how well it holds up off-axis?
Or do you have some other routine that takes in off-axis at the beginning?

I'm a little surprised your measurements don't show more pattern flip or waistbanding.
i've often read pattern flip blooms when the aspect ratio, horizontal to vertical, exceeds somewhere around 1.5-1.6X.
But the SynTripP's 90x40 at 2.25X appears to looks fine, for at least the horizontal.
What'd you do right?  :)
What was "done right" is the vertical polars weren't shown, so you can't determine the pattern flip or waistbanding ;^).

As far as the tuning routine, nothing too ground breaking- rough in response on axis, if the on axis corrections don't work off axis, decide what compromise works best overall.

Art
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Frank Koenig on August 16, 2020, 01:47:56 PM
Hey Frank,  was thinking about your work with the SH-46.....
How have the polars looked 'as is' with the passive xovers?  Do they generally all more or less fall as angle increases, or do some areas of response increase, even above onax response?

Mark, on polars. I have data for the as-is SH-46 but they're so old now I'd have to do some fooling around to plot them. So it's hard for me to answer that question. The measurements (below) I have for the modified SH-46 (replaced the HF driver with B&C DE980TN and developed new crossover) were taken 13 ft above ground level at a 10 ft measurement distance yielding 16 ms of pseudo-anechoic data corresponding to a frequency resolution of 63 Hz. So there's not too much detail in the range of frequencies where I would expect to see pattern flip. I've blown up the lower-left corner of my usual log-mag plot. This is for a total of 17 measurements taken at 5 deg increments with 6 in the horizontal, 3 in the vertical and one tossed out as an outlier. (0, 5, 10, 15, 20, 25 horiz. and 0, 5, 10 vert.) The colors run through the rainbow starting onax (red) and going through all the verticals for each horizontal. This is admittedly a lousy polar representation but it's what I've got at the moment. However, there is evidence, if I'm reading it right, of some mild pattern flip around 600 Hz. The good news is that the total variation in the response is only ~4.5 dB, which may be why I never gave it any thought until now.

When I'm ready for another programming project maybe I'll work on a better polar representation. What would you like to see?  Possibilities include a clearer collection of frequency responses, traditional polars like you see in a mic spec sheet, balloon plots like CLF, or beam width diagrams. Maybe the best would be to write out the data in CLF format and use the available viewers.

A problem is that unless I get a taller tower (unlikely), I'm stuck with dimishing frequency resolution below ~1 kHz. Ground plane measurements are likely useless for polars. Speaker on the ground pointing up gets confounded as the ground comes into play with dropping frequency. What do you think?

--Frank

(http://46BCPatFlip.JPG)
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Mark Wilkinson on August 17, 2020, 10:05:17 AM
Mark, on polars. I have data for the as-is SH-46 but they're so old now I'd have to do some fooling around to plot them. So it's hard for me to answer that question. The measurements (below) I have for the modified SH-46 (replaced the HF driver with B&C DE980TN and developed new crossover) were taken 13 ft above ground level at a 10 ft measurement distance yielding 16 ms of pseudo-anechoic data corresponding to a frequency resolution of 63 Hz. So there's not too much detail in the range of frequencies where I would expect to see pattern flip. I've blown up the lower-left corner of my usual log-mag plot. This is for a total of 17 measurements taken at 5 deg increments with 6 in the horizontal, 3 in the vertical and one tossed out as an outlier. (0, 5, 10, 15, 20, 25 horiz. and 0, 5, 10 vert.) The colors run through the rainbow starting onax (red) and going through all the verticals for each horizontal. This is admittedly a lousy polar representation but it's what I've got at the moment. However, there is evidence, if I'm reading it right, of some mild pattern flip around 600 Hz. The good news is that the total variation in the response is only ~4.5 dB, which may be why I never gave it any thought until now.

When I'm ready for another programming project maybe I'll work on a better polar representation. What would you like to see?  Possibilities include a clearer collection of frequency responses, traditional polars like you see in a mic spec sheet, balloon plots like CLF, or beam width diagrams. Maybe the best would be to write out the data in CLF format and use the available viewers.

A problem is that unless I get a taller tower (unlikely), I'm stuck with dimishing frequency resolution below ~1 kHz. Ground plane measurements are likely useless for polars. Speaker on the ground pointing up gets confounded as the ground comes into play with dropping frequency. What do you think?

--Frank

(http://46BCPatFlip.JPG)

Big thanks Frank,
I don't mean to be asking you to come up with very detailed, hi-resolution info.   
It's always nice to see careful measurements, but i was just trying to get your big picture take on conical horn pattern flip, and show why I'm interested due to DIY synergy attempts.
I guess it all gets back to the thread title..'optimum smoothing in speaker EQ'..cause i see that, along with xover selection and acoustic time delays, as the only ways of smoothing out polar variations. 
Since xover freq/type/order selection and acoustic time delays tend to become relatively fixed when tuning, EQ's seem to be the big variable. 
How fine to EQ, and to what axis, or to what set of averaged measurements?
But again, just looking for big picture impressions. I enjoy measurements and speaker building a lot, but the real purpose is to simply hear something better than I've heard before.

My polar measurement aren't taken in quite a clean environment as yours.  They are off a deck that faces into a very open setting,  but the deck has a high vaulted roof over it, and it's about 12 ft back to the house wall from where speakers sit. So reflections get in for sure.
Mic is on a boom about 15ft off the ground, hanging from a roof beam. Mic to speaker distance is about 9ft.  The boom rotates and hold 3 mics vertically spaced, but i'm finding i like a turntable a little better.
Anyway, just saying there's a lot of slop in my polar measurements.
That said, my builds do keep sounding better, especially indoors, as polars get smoother.
I really don't know what to do to look for better sound, other than work on polars.  It's so easy to get on-axis mag and phase flat today, that's no longer even a tuning issue imho.



Title: Re: A look at optimum smoothing in speaker EQ
Post by: Mark Wilkinson on August 17, 2020, 10:08:34 AM
What was "done right" is the vertical polars weren't shown, so you can't determine the pattern flip or waistbanding ;^).

As far as the tuning routine, nothing too ground breaking- rough in response on axis, if the on axis corrections don't work off axis, decide what compromise works best overall.

Art

Haha, yes!...what's vertical anyway ?  ;)

Yep, that's pretty much what i've come to...see if there are any real off-axis problems and start trading off..
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Frank Koenig on August 17, 2020, 12:10:30 PM
Mark, I just realized something about that last plot I put up. It's not true polar data because each trace is individually amplitude-normalized and there was less than fanatical control over relative mic distance, although it should be pretty close. This is because I'm going to combine, one way or another, those traces to get the correction curve and their individual gain scaling goes away. You might call them "relative polars". The polars are there in the original data, to the extent that I controlled mic distance, but I need to change the process a little to get them out.

Since I'm not actually designing and building horns, as you are, I'm powerless to do anything about the polars anyway beyond choosing who in the audience to favor with the correction curve. True though, that soon as I change a driver or crossover the speaker is no longer a "black box" and I should look at the whole picture. Perhaps I've met my match. That Klippel rig is NOT in my future  ;)

--Frank
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Mark Wilkinson on August 20, 2020, 12:37:42 PM
Mark, I just realized something about that last plot I put up. It's not true polar data because each trace is individually amplitude-normalized and there was less than fanatical control over relative mic distance, although it should be pretty close. This is because I'm going to combine, one way or another, those traces to get the correction curve and their individual gain scaling goes away. You might call them "relative polars". The polars are there in the original data, to the extent that I controlled mic distance, but I need to change the process a little to get them out.

Since I'm not actually designing and building horns, as you are, I'm powerless to do anything about the polars anyway beyond choosing who in the audience to favor with the correction curve. True though, that soon as I change a driver or crossover the speaker is no longer a "black box" and I should look at the whole picture. Perhaps I've met my match. That Klippel rig is NOT in my future  ;)

--Frank

Thx Frank, I'll be very interested if you find an averafing technique you really like.
I keep playing with averaging raw polars using Smaart or FirDesigner, trying the various options, dB vs power, etc.
But it seems such options are a lot less important than determining exactly which polars to average. 
So far, I've been getting best results holding the averaging to within +/- 20 degrees of onax.
If I try to average in beyond that, not so good.
So beyond 20 degs, I just look for bigger problems that trend all the way to coverage boundaries. Then try to correct them, and see how bad it screws up inside 20 deg. 
Kinda a two-part, average first, then go to a manual approach maybe kin to eyeballing response envelopes.

Anyway, here's another project i have going, that used that process. 
A friend gave me a pair of old PAS horns, that i believe was made by DDS. They're about 30"Wx17"Hx16"D.
Below are the horiz polars. Bms4594he on it, hpf at 400Hz, xover at 5.8kHz.
Made indoor close, no gating (i no likey gating), 1/6 smoothing.
Used your rainbow ordering for 10deg takes, so violet =onax, red -50 deg.
Hope verticals don't suck too bad, i kinda like these....

It's amazing to me how much easier it is to get smoother, none-waistbanding polars from manufactured horns than my conical synergy builds.
That's why I keep hoping to see some polars from someone who actually knows how to build one right, aka Mr TD! 
Need to see how much improvement room there is.....to find out whether to play with different secondary flare sizes/angles...etc...cause that's kinda a PIA...
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Art Welter on August 22, 2020, 11:38:55 AM
It's amazing to me how much easier it is to get smoother, none-waistbanding polars from manufactured horns than my conical synergy builds.
That's why I keep hoping to see some polars from someone who actually knows how to build one right, aka Mr TD! 
Need to see how much improvement room there is.....to find out whether to play with different secondary flare sizes/angles...etc...cause that's kinda a PIA...
Mark,

Straight sided conical horns fit the multiple entry concept nicely, but as you are aware, are not the best approach for consistent polar response.

I don't have a PC anymore, so don't know if the EASE data on DSL's website provids polar response, but judging by the "flagship" SH-50 polars (and Hornresp sims) your results are about as good as you can expect from conical expansions.

Art
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Mark Wilkinson on August 25, 2020, 03:44:16 PM
Mark,

Straight sided conical horns fit the multiple entry concept nicely, but as you are aware, are not the best approach for consistent polar response.

I don't have a PC anymore, so don't know if the EASE data on DSL's website provids polar response, but judging by the "flagship" SH-50 polars (and Hornresp sims) your results are about as good as you can expect from conical expansions.

Art

Thank you Art,

Appreciate your ongoing help, here and at DIY, re working with conical horns.

And yeah, I've kinda come to realize the price of a synergy's multiple drivers on a single horn, is the less than optimal straight-wall horn type it takes to mount the drivers.
I guess that just means progress is begging for some really experienced smart DIY guy (hint hint  ;))... to figure out how to fit multiple drivers onto an OS guide or something...
Title: Re: A look at optimum smoothing in speaker EQ
Post by: Art Welter on August 26, 2020, 03:03:11 PM

I guess that just means progress is begging for some really experienced smart DIY guy (hint hint  ;))... to figure out how to fit multiple drivers onto an OS guide or something...
That has already been done by a number of guys using 3d printing.
But 3d printing is s-l-o-w, if you want multiple cabinets you need molds.
And you better have it all worked out before committing to the mold costs.
Held on to my 1979 system molds for at least 10 years after that system became obsolete in two years.

Was thinking of making some molds for a few different multiple entry horns about 4 years ago, but fortunately heart and mental health issues, a brain injury, a few hurricanes, colon cancer and hearing loss prevented me going down that rabbit hole again, the market needs new product like I need another hole in my head ;^).

That said,  finally going to use the last of the B&C drivers (4NDF34-8) Bennett Prescott was kind enough to let me demo before things shifted into slow. Got my ass out to the trailer, hauled tools into the apartment (sweated through a set of clothes), let the "fun" begin again!

It's going to be a mixture of about 5 decades of shit crammed in one cubic foot, and will be quite loud for it's size, though it still won't be close to Curt Graber HyperSpike loud.

Art