
Home  Forums  Rules  Articles  The diyAudio Store  Gallery  Blogs  Register  Donations  FAQ  Calendar  Search  Today's Posts  Mark Forums Read  Search 
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 

Thread Tools  Search this Thread 
7th July 2012, 12:01 PM  #21  
diyAudio Member
Join Date: Feb 2008

Quote:
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 subtractivedelay 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 HighPass Filtering”, IEEE Transactions on Circuits and Systems, Vol. cas29, no. 8, August 1982, pp. 584587. [2] Stanley P. Lipshitz and John Vanderkooy, “A Family of LinearPhase 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). 

7th July 2012, 09:55 PM  #22  
diyAudio Member
Join Date: Mar 2008

Quote:
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 LipshitzVanderkooy 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 timedomain 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 32768tap 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 DSS930 results described in the 1993 AES communication, for a diyAudio FIR application on a WinXP PC, I would recommend basing on 256tap FIRs. For a stereo 2way system operating at 48 kHz, you only require 50 million multiply/accumulate per second, without relying on the FFT then inverse FFT trick. Last edited by steph_tsf; 7th July 2012 at 10:15 PM. 

7th July 2012, 10:17 PM  #23  
diyAudio Member
Join Date: Feb 2008

Quote:
Quote:
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 4thorder 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 "multiway" crossovers. Corrections are available from me, just by asking. GB 

7th July 2012, 10:25 PM  #24 
diyAudio Member
Join Date: Feb 2008

Responding to your most recent edit; there is another problem with so large an FFTbased filter: latency. That's nearly 3/4 second at 44100 Hz. For audioonly that just means a 3/4 second delay between when you press "Play" and when "Play" occurs, but for audiowithvideo there is a severe lipsync problem.

7th July 2012, 10:49 PM  #25  
diyAudio Member
Join Date: Mar 2008

Quote:
1. You would specify the sampling frequency (48 kHz), the slopes (36db/octave for the lowpass and the complementary highpass), the allowed timedomain woofer preshoot (10%) 2. You would specify the crossover frequency. In the DSS930, 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 timedomain responses. 6. The WinXP program would graph the lowpass and highpass Bode plots (gain and delaycompensated phase). 7. In order to get the required outofband 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 2ndorder 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. 

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?

8th July 2012, 02:54 PM  #27  
diyAudio Member
Join Date: Feb 2008

Quote:
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. 

8th July 2012, 03:29 PM  #28  
diyAudio Member
Join Date: Feb 2009
Location: UK

Quote:
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). 

8th July 2012, 04:07 PM  #29  
diyAudio Member
Join Date: Feb 2008

Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
EDIT: look at http://web.archive.org/web/200401021...ell.net/donwm/ Quote:
Quote:
Last edited by gberchin; 8th July 2012 at 04:37 PM. Reason: Added URL 

8th July 2012, 05:41 PM  #30  
diyAudio Member
Join Date: Feb 2009
Location: UK

Quote:
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 falloff..? 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, Gaussianderived filters? Are there other superperforming 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 infinitesized 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. 

Thread Tools  Search this Thread 


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  MultiWay  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? 