The importance of crossover steepness - Page 3 - diyAudio
Go Back   Home > Forums > Source & Line > PC Based

PC Based Computer music servers, crossovers, and equalization

Please consider donating to help us continue to serve you.

Ads on/off / Custom Title / More PMs / More album space / Advanced printing & mass image saving
Reply
 
Thread Tools Search this Thread
Old 7th July 2012, 12:01 PM   #21
diyAudio Member
 
Join Date: Feb 2008
Quote:
Originally Posted by steph_tsf View Post
5. Decide what kind of phase linear crossover you want : a 1st order, a delay-compensated Lipsitch-Vanderkooy possiby emulating a 16th-order Bessel Lowpass which is delivering no preshoot and no overshoot, or a myriad of other implementations delivering preshoot and overshoot
6. I would always give a first try to the delay-compensated Lipsitch-Vanderkooy emulating a 16th-order Bessel Lowpass
By the way, just to give credit where credit is due; the matched-delay subtractive crossovers that you attribute to Lipshitz and Vanderkooy weren't invented by Lipshitz and Vanderkooy -- that honor goes to Ng and Rothenberg [1]. Furthermore, Lipshitz and Vanderkooy did not address time domain transient response at all in their paper [2]; in fact, their description of an ideal crossover consisted only of:
1. Flatness in the magnitude of the combined outputs
2. Adequately steep cutoff rates of the individual low and high pass filters
3. Acceptable phase response for the combined output
4. Acceptable polar response for the combined output
Thus they did not recognize the superior transient characteristics of Gaussian or Bessel filters (with regard to overshoot and ringing) in subtractive-delay implementations; that did not occur until Berchin [3].

Full disclosure: How do I know all this? I am Berchin.

[1] Tak Kwong Ng and Martin Rothenberg, “A Matched Delay Approach to Subtractive Linear Phase High-Pass Filtering”, IEEE Transactions on Circuits and Systems, Vol. cas-29, no. 8, August 1982, pp. 584-587.
[2] Stanley P. Lipshitz and John Vanderkooy, “A Family of Linear-Phase Crossover Networks of High Slope Derived by Time Delay”, Journal of the Audio Engineering Society, Vol. 31, 1983 January/February, pp. 220.
[3] G. Berchin, “Perfect Reconstruction DigitalCrossover Exhibiting Optimum Time DomainTransient Response in All Bands,” presented at 107th AES Convention, paper 5010, New York,USA (1999 September).
  Reply With Quote
Old 7th July 2012, 09:55 PM   #22
diyAudio Member
 
steph_tsf's Avatar
 
Join Date: Mar 2008
Quote:
Originally Posted by gberchin View Post
[1] Tak Kwong Ng and Martin Rothenberg, “A Matched Delay Approach to Subtractive Linear Phase High-Pass Filtering”, IEEE Transactions on Circuits and Systems, Vol. cas-29, no. 8, August 1982, pp. 584-587.
[2] Stanley P. Lipshitz and John Vanderkooy, “A Family of Linear-Phase Crossover Networks of High Slope Derived by Time Delay”, Journal of the Audio Engineering Society, Vol. 31, 1983 January/February, pp. 220.
[3] G. Berchin, “Perfect Reconstruction DigitalCrossover Exhibiting Optimum Time DomainTransient Response in All Bands,” presented at 107th AES Convention, paper 5010, New York,USA (1999 September).
That's true. And me too, reading the 1983 Stanley P. Lipshitz and John Vanderkooy publication at the AES, I regret they have not discussed in depth the use of a Bessel lowpass as kernel, delivering a 12db/octave complementary highpass. They preferred dealing with the details of the Butterworth lowpass kernel, delivering a 18dB/octave complementary highpass.

There is a reason explaining their choice. A crossover featuring a 12dB/octave highpass rolloff in the transition band, is an insufficient performance as most unfiltered tweeters already exhibit a 12dB/octave highpass rolloff at 800 Hz or so (tweeters equipped with a back chamber) or 2 kHz or even higher (tweeters without a back chamber). Say you design the crossover for acoustically crossing at 2 kHz at 12dB/octave. The tweeter won't get properly isolated from the low frequencies. It will nearly receive all the low frequency content. You run the risk of exceeding the tweeter Xmax, and even if you don't exceed it (thanks to a stiff tweeter suspension), the bass content flowing in the tweeter coil will heat the tweeter magnet (modifying the system efficiency), and will modulate the magnetic field (it may lead to magnetic saturation).

When I read your 1999 publication, it looks like the Gaussian lowpass filter (no overshoot) is an infinite order Bessel lowpass. Because with the Gaussian filter as lowpass kernel, just like in the Lipshitz-Vanderkooy operating with a Bessel lowpass as kernel, the complementary highpass is characterized by a 12dB/octave rolloff in the transition band.

The 1993 Philips publication (6 years before yours) goes beyond this, departs from Bessel or Gaussian, and sets a new intelligent compromise, allowing a moderate woofer time-domain overshoot (say 10%), bringing a complementary 36dB/octave highpass rolloff. The design is so elegant, that both the lowpass and the highpass feature 36dB/octave slopes. All this with a 79 tap Woofer FIR and a 30 tap Tweeter FIR. Back in 1993, they did not divulged the maths. See in the attached .jpg, how they escaped from explaining the whole stuff.

Do we have an explanation, nowadays?

Using a 32768-tap FIR implemented with the FFT then inverse FFT trick, looks completely nuts unless you try to deconvolve the listening room. This would mean that we are not anymore dealing with a speaker crossover.

Considering the Philips DSS-930 results described in the 1993 AES communication, for a diyAudio FIR application on a WinXP PC, I would recommend basing on 256-tap FIRs. For a stereo 2-way system operating at 48 kHz, you only require 50 million multiply/accumulate per second, without relying on the FFT then inverse FFT trick.
Attached Images
File Type: jpg DSS-930 Stefan Willems 1993 @ AES.jpg (86.4 KB, 202 views)
File Type: jpg DSS-930 Stefan Willems 1993 @ AES (2).jpg (88.7 KB, 197 views)

Last edited by steph_tsf; 7th July 2012 at 10:15 PM.
  Reply With Quote
Old 7th July 2012, 10:17 PM   #23
diyAudio Member
 
Join Date: Feb 2008
Quote:
Originally Posted by steph_tsf View Post
There is a reason explaining their choice. A crossover featuring a 12dB/octave highpass rolloff in the transition band, is an insufficient performance as most unfiltered tweeters ...
Acknowledged. The objective behind my paper was to present the mathematically optimal solution, in terms of duration-bandwidth product, overshoot, and ringing. Application of that optimal solution to a particular driver was not a consideration.
Quote:
Do we have an explanation, nowadays?
There is a bit of hand-waving there, indeed. Basically, we can find ways to generate any response that we desire, but anything that departs from a Gaussian lowpass, and its complementary highpass, will overshoot and ring.

A very nice symmetrical solution, implementable only in FIR, is inspired by the fact that the equation for a Gaussian is exp(-x^2). If we instead use exp(-x^4) for the lowpass, then the complimentary highpass has a 4th-order slope (24 dB/octave). There is a small amount of overshoot and ringing in the time domain.

Finally, if you have a copy of my original AES paper, be aware that there is an error in the math associated with "multi-way" crossovers. Corrections are available from me, just by asking.

GB
  Reply With Quote
Old 7th July 2012, 10:25 PM   #24
diyAudio Member
 
Join Date: Feb 2008
Quote:
Originally Posted by steph_tsf View Post
Using a 32768-tap FIR implemented with the FFT then inverse FFT trick, looks completely nuts unless you try to deconvolve the listening room. This would mean that we are not anymore dealing with a speaker crossover.
Responding to your most recent edit; there is another problem with so large an FFT-based filter: latency. That's nearly 3/4 second at 44100 Hz. For audio-only that just means a 3/4 second delay between when you press "Play" and when "Play" occurs, but for audio-with-video there is a severe lipsync problem.
  Reply With Quote
Old 7th July 2012, 10:49 PM   #25
diyAudio Member
 
steph_tsf's Avatar
 
Join Date: Mar 2008
Quote:
Originally Posted by steph_tsf View Post
Considering the Philips DSS-930 results described in the 1993 AES communication, for a diyAudio FIR application on a WinXP PC, I would recommend basing on 256-tap FIRs. For a stereo 2-way system operating at 48 kHz, you only require 50 million multiply/accumulate per second, without relying on the FFT then inverse FFT trick.
I would like to write a Visual Basic application dealing with such approach.

1. You would specify the sampling frequency (48 kHz), the slopes (36db/octave for the lowpass and the complementary highpass), the allowed time-domain woofer preshoot (10%)
2. You would specify the crossover frequency. In the DSS-930, the crossover frequency was 1/12th of the sampling frequency. There shall be choices like 1/32, 1/24, 1/16, 1/12, 1/8, 1/6. This may lead to optimal results and/or lots of zeros in the FIR coefficients.
3. You would specify a FIR lenght
4. As starting point, the program would take a Gaussian lowpass FIR corresponding to the specified crossover frequency (and order possibly). This is computed in a deterministic way, in a few microseconds.

5. The WinXP program would graph the lowpass and complementary highpass time-domain responses.
6. The WinXP program would graph the lowpass and highpass Bode plots (gain and delay-compensated phase).
7. In order to get the required out-of-band attenuation, the program would progressively modify the woofer FIR coefficients by introducing windowing. There may be an extra parameter associated like this, like 40 dB or 60 dB.
8. In order to get the required highpass slope (instead of the 2nd-order that's coming from the Gaussian starting point), the program would progressively modify the woofer FIR coefficients by introducing preshoot
9. The program would estimate each iteration, and only validate the ones converging towards the targeted Bode plots

Currenty I don't know if there is a deterministic way to do this straight, or if it needs to be viewed as two MLS converging to particular targets (the lowpass and the complementary highpass), or if we shall rely on genetic algorithms, etc ...

I guess the program will need to iterate through steps 5 to 9.
The user would visualize the algorithm converging to some solution, and manually halt the iteration at will.
Such approach shall remain simple, halfway between deterministic and bruteforce.

Last edited by steph_tsf; 7th July 2012 at 11:18 PM.
  Reply With Quote
Old 8th July 2012, 02:29 PM   #26
diyAudio Member
 
Join Date: Feb 2009
Location: UK
Could I just ask a layman's question? Does a larger FIR (say 32768 taps) make the design problem easier? i.e. if one can live with the latency and extra processing power needed, does the larger FIR make achieving the desired slope and overshoot trivial?
  Reply With Quote
Old 8th July 2012, 02:54 PM   #27
diyAudio Member
 
Join Date: Feb 2008
Quote:
Originally Posted by CopperTop View Post
... does the larger FIR make achieving the desired slope and overshoot trivial?
It's kind of an apples vs. oranges question. The coefficients of an FIR filter represent the impulse response of that filter, i.e., its time-domain response. The duration of that impulse response, and thus the number of coefficients, is determined by interactions between the frequency-domain bandwidth of the filter, the steepness of the transition band, the sharpness of the "corners" in the response, and the sampling rate. But there is not a one-to-one correspondence between any of those parameters and the resulting duration of the impulse response. So you choose the shape of your frequency response, convert that into a time response, and only then find out how many coefficients you're going to need.

But think about that for a moment: if your objective is to minimize overshoot and ringing, then it follows logically that you are also trying to minimize the duration of the filter's impulse response. Well, if you minimize the duration, then you also minimize the number of FIR coefficients needed. So improving the overshoot and ringing properties of a filter actually reduces the number of coefficients.
  Reply With Quote
Old 8th July 2012, 03:29 PM   #28
diyAudio Member
 
Join Date: Feb 2009
Location: UK
Quote:
Originally Posted by gberchin View Post
But think about that for a moment: if your objective is to minimize overshoot and ringing, then it follows logically that you are also trying to minimize the duration of the filter's impulse response. Well, if you minimize the duration, then you also minimize the number of FIR coefficients needed. So improving the overshoot and ringing properties of a filter actually reduces the number of coefficients.
So the optimisation can be a total 'win-win'? i.e. it's not the case that improving one parameter simply makes another one worse somewhere else?

And maybe what I'm asking is, does minimisation of duration of ringing and overshoot definitely correlate with better perceived audio performance? Intuitively I suppose it would. But also intuitively, an infinitely big FIR would also be an advantage because you could use any impulse response you wanted without having to window it. Doesn't this mean I could create the perfect inverse impulse response to perfectly correct any speaker driver, for example?

Does my simplistic linear crossover (i.e. the filter response is designed as a linear slope) result in pathetically bad overshoot and ringing duration that I could improve upon greatly by simply massaging the shape of the slope in some way? If I later want to add some arbitrary frequency and phase response correction, would the beautiful optimisation go out of the window? (no pun intended!) I'm thinking of combining the crossover filter with the inverse measured impulse response for the individual driver.

I could, however, see that you could still apply some sort of iterative process to an arbitrary filter to kill off the worst excesses of overshoot and ringing while maintaining the basic shape. However, it would be a theoretical optimisation i.e. trading off 'accuracy' of response for beautiful measurements in terms of a couple of parameters. Would this necessarily sound better? (It would result in better latency and processing requirements, which are good things in themselves, obviously).
  Reply With Quote
Old 8th July 2012, 04:07 PM   #29
diyAudio Member
 
Join Date: Feb 2008
Quote:
Originally Posted by CopperTop View Post
So the optimisation can be a total 'win-win'? i.e. it's not the case that improving one parameter simply makes another one worse somewhere else?
It's not quite that simple. The only way to describe the situation is that a Gaussian shaped response (both frequency and time) is optimal, in that it has the smallest duration-bandwith product, and no overshoot or ringing. ANYTHING that departs from a Gaussian shape has a larger duration-bandwidth product, overshoots, and/or rings. The designer's problem, once it has been decided to depart from the Gaussian shape, is how much of each can be tolerated.

Quote:
And maybe what I'm asking is, does minimisation of duration of ringing and overshoot definitely correlate with better perceived audio performance?
Nobody knows for certain. Being subjective, it really becomes a matter of how much can be tolerated, rather than an absolute "best".

Quote:
But also intuitively, an infinitely big FIR would also be an advantage because you could use any impulse response you wanted without having to window it.
You have to be careful with that. As the number of coefficients becomes larger, numerical-precision problems creep-in.

Quote:
Doesn't this mean I could create the perfect inverse impulse response to perfectly correct any speaker driver, for example?
Perhaps, but you don't necessarily need a huge FIR filter to do that. Most drivers are minimum-phase, which means that their inverse responses can be created with simple IIR filters.

Quote:
Does my simplistic linear crossover (i.e. the filter response is designed as a linear slope) result in pathetically bad overshoot and ringing duration that I could improve upon greatly by simply massaging the shape of the slope in some way?
Yes. It's not Gaussian, so it overshoots and rings.

Quote:
If I later want to add some arbitrary frequency and phase response correction, would the beautiful optimisation go out of the window?
Not if you are adding that frequency and phase correction to make the driver be perfectly flat and linear phase, and the crossover be Gaussian. That is the ideal situation.

Quote:
I'm thinking of combining the crossover filter with the inverse measured impulse response for the individual driver.
That has been attempted before. If done correctly, the results can be spectacular.
EDIT: look at http://web.archive.org/web/200401021...ell.net/donwm/

Quote:
I could, however, see that you could still apply some sort of iterative process to an arbitrary filter to kill off the worst excesses of overshoot and ringing while maintaining the basic shape.
That's a judgment call.

Quote:
Would this necessarily sound better? (It would result in better latency and processing requirements, which are good things in themselves, obviously).
It might not sound any different to your ears, or to mine. Like so many things in audio, all you can do is try it.

Last edited by gberchin; 8th July 2012 at 04:37 PM. Reason: Added URL
  Reply With Quote
Old 8th July 2012, 05:41 PM   #30
diyAudio Member
 
Join Date: Feb 2009
Location: UK
Quote:
Originally Posted by gberchin View Post
It's not quite that simple. The only way to describe the situation is that a Gaussian shaped response (both frequency and time) is optimal, in that it has the smallest duration-bandwith product, and no overshoot or ringing. ANYTHING that departs from a Gaussian shape has a larger duration-bandwidth product, overshoots, and/or rings. The designer's problem, once it has been decided to depart from the Gaussian shape, is how much of each can be tolerated.
Many thanks for taking the time to answer those questions. I really appreciate it.

Do you mind if I ask another novice question, the answer to which, I suspect, may lie within previous posts in this thread, but has gone over my head!

If the Gaussian filter's shape is, well, Gaussian, in both the frequency and time domains, I presume that means you can't have a pure Gaussian low-, or high-, pass filter with an arbitrarily long flat frequency response, then a fall-off..? So how is it useful for an audio crossover? And why do we have Linkwitz Riley, Bessel, Butterworth etc. (plus your own filters)? Are they, in essence, Gaussian-derived filters?

Are there other super-performing filters that might be named after someone, if only they were to happen upon the right combination of FIR coefficients, or is the whole theory pretty well known by now?

(Just trying to work out whether digital crossover design is about managing the practical deviation from an 'obvious' perfect theory (which might need a hypothetical infinite-sized FIR with perfect numerical precision), or whether there is no obvious perfect crossover filter to start with).

Last edited by CopperTop; 8th July 2012 at 05:43 PM.
  Reply With Quote

Reply


Hide this!Advertise here!
Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Capacitor tolerance importance for high end crossover filters? garrettba03 Parts 2 11th February 2012 01:52 PM
Importance of layout robmil Solid State 8 12th April 2011 07:09 PM
The Importance of Being Biased Nelson Pass Pass Labs 74 26th July 2007 01:58 PM
Importance of building your own crossover? patchwork Multi-Way 23 3rd January 2007 09:46 AM
Importance of Heatsinking dumdum Solid State 16 4th February 2004 02:02 PM


New To Site? Need Help?

All times are GMT. The time now is 01:29 PM.


vBulletin Optimisation provided by vB Optimise (Pro) - vBulletin Mods & Addons Copyright © 2014 DragonByte Technologies Ltd.
Copyright ©1999-2014 diyAudio

Content Relevant URLs by vBSEO 3.3.2