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 25th July 2012, 07:46 PM   #111
diyAudio Member
 
Join Date: Feb 2009
Location: UK
Quote:
Originally Posted by steph_tsf View Post
compare with iDFT_Lab
see attached .jpg and .zip
I think we're on the same wavelength, so to speak. I enclose a screenshot of another filter type I've included: the Chebyshev* (but it's not obvious I've gained much by it, in terms of selectivity vs. ripple and overshoot).

Chebyshev filter - Wikipedia, the free encyclopedia

Steph, a while ago you were talking about numerical methods for optimising the filter. Could you just go over how you envisage that working? I think you were talking about starting with a basic prototype impulse response, and adjusting a window to influence its ripple and the resulting frequency response for optimum measurements.

*Ripple factor in this case 0.01
cutoff frequency is not the usual definition, which complicates things a bit
Attached Images
File Type: jpg CHEBYSHEV xo freq 4000Hz order 4.00.JPG (171.6 KB, 93 views)
  Reply With Quote
Old 26th July 2012, 12:32 AM   #112
diyAudio Member
 
steph_tsf's Avatar
 
Join Date: Mar 2008
Quote:
Originally Posted by CopperTop View Post
Steph, a while ago you were talking about numerical methods for optimising the filter. Could you just go over how you envisage that working? I think you were talking about starting with a basic prototype impulse response, and adjusting a window to influence its ripple and the resulting frequency response for optimum measurements.
Yes that's why I did FIR_Lab, as a starting point, to open my eyes.

Afterwards I did iDFT_Lab. Using iDFT_Lab I realized there are many degrees of freedom, especially when you can arbitrary define the lowpass sharpness (Brickwall - Asymptot - Butterworth - Bessel) and lowpass slope (equivalent from 1st order to 6th order). You can consider "my" Asymptot as "your" Cheybychev. This is the advantage of the iDFT approach, cleaner than Cheybychev.

A nice generalization would be to define a "sharpness" parameter that's continuously variable, allowing to go from Asymptot (max. sharpness) to Bessel (min. sharpness), as target lowpass. Then introduce the "equivalent order" for defining the slope. Any idea welcome.

As usual there is no free lunch. The sharper the transition band, the longer and more intense preshoot and ringing. I have included the "double" option for emulating all Linkwitz-Riley amplitude behaviors, when selecting the Butterworth sharpness.

Very important is to keep an eye on the complementary highpass slope. Due to the fact that a Bessel lowpass is close to Gaussian (especially high order Bessel), we see that all complementary highpass built from a Bessel lowpass are only 2nd order. Which is insufficient in most practical cases.

I tried refining iDFT-Lab, adding an auxiliary highpass on the higpass (needed when the highpass slope is only 2nd-order), but that's far from easy when asking for a pure LPF + HPF reconstruction. What you take out from the highpass, you need to give it back through the lowpass. This implies a second DFT + iDFT stage. Such feature is not yet enabled in iDFT_Lab.

The FIR length can be quite short when operating at 4 kHz or so. For a 4 kHz crossover operating at 48 kHz, I would never exceed 101 taps, and just like Philips did with their DSS930 back in 1993, a 31-tap FIR seems to work pretty well.

One could take twice this length as basic quality improvement (20 years now from Philips DSS930), and again twice the lenght for accomodating a 2 kHz crossover frequency instead of a 4 kHz crossover frequency. A 121-tap FIR seems thus adequate, in 2012, for a highly flexible FIR-based crossover operating at 48 kHz. Now if the system is running at 96 kHz, we'll need a 301-tap FIR.

Operating at 96 kHz, if wanting to apply a high resolution amplitude + phase linearization, individually applied to all speaker drivers along with the crossover function, the FIR needs to be much longer, something like a 601-tap FIR.

Now it's time to design an all-in one system, WinXP-based, doing the high resolution amplitude + phase linearization along with the crossover function. Also enabling a few IIRs, assisting the linearization FIR.

I'm attaching as .zip the various tools I have developed. They are quite handy, enabling to taste the digital reality, intuitively.
Attached Files
File Type: zip IIR_Lab.zip (228.7 KB, 8 views)
File Type: zip IIR_Lab_mini.zip (223.2 KB, 7 views)
File Type: zip FIR_Lab.zip (217.2 KB, 6 views)
File Type: zip iDFT_Lab.zip (218.3 KB, 7 views)
  Reply With Quote
Old 26th July 2012, 08:25 AM   #113
diyAudio Member
 
Join Date: Feb 2009
Location: UK
Quote:
Originally Posted by steph_tsf View Post
Very important is to keep an eye on the complementary highpass slope. Due to the fact that a Bessel lowpass is close to Gaussian (especially high order Bessel), we see that all complementary highpass built from a Bessel lowpass are only 2nd order. Which is insufficient in most practical cases.
Could you explain this further? I think I am misunderstanding what you mean, here. If I plot a 2nd order Gaussian, and an 8th order (using gberchin's formula from a few pages back), I seem to get the 'correct' slope on the highpass.
Attached Images
File Type: jpg GAUSSIAN xo freq 4000Hz order 1.99.JPG (169.4 KB, 79 views)
File Type: jpg GAUSSIAN xo freq 4000Hz order 7.94.JPG (166.8 KB, 77 views)
  Reply With Quote
Old 26th July 2012, 09:21 AM   #114
diyAudio Member
 
steph_tsf's Avatar
 
Join Date: Mar 2008
Quote:
Originally Posted by CopperTop View Post
Could you explain this further? I think I am misunderstanding what you mean, here. If I plot a 2nd order Gaussian, and an 8th order (using gberchin's formula from a few pages back), I seem to get the 'correct' slope on the highpass.
Today I have no time to scan the entire thread. I vaguely remember that Berchin wrote that one must remain cautious about the wording. I vaguely remember Berchin wrote that "Gaussian" means nothing else than applying a Gauss curve as FIR, plus some windowing as an option. This is fundamental. You need to audit the source code of your "high order Gauss" then possibly rename it to "Sinus cardinal windowed by xxx" or anything like this.

FIR_Lab indicates that your "high order Gauss" may be a 61-tap FIR Sinus cardinal (having a certain natural frequency) windowed by Blackman-Harris.

As soon as you introduce Gauss as supplementary window (try FIR2 on FIR_Lab and play with the Gauss width), your highpass slope decreases.

FIR_Lab enables to replace any FIR by a rectangle window. This way you can determine who (FIR1, FIR2 or FIR3) is actually governing the FIR spectral behavior.

See the attached files.
Attached Images
File Type: jpg Gauss or not Gauss - definitely Gauss.jpg (186.6 KB, 75 views)
File Type: jpg Gauss or not Gauss - definitively not Gauss.jpg (193.5 KB, 72 views)
Attached Files
File Type: txt FIR_Lab - FIR1 FIR2 FIR3 source code.txt (8.0 KB, 5 views)
  Reply With Quote
Old 26th July 2012, 09:44 AM   #115
diyAudio Member
 
steph_tsf's Avatar
 
Join Date: Mar 2008
Quote:
Originally Posted by CopperTop View Post
I enclose a screenshot of another filter type I've included: the Chebyshev. But it's not obvious I've gained much by it, in terms of selectivity vs. ripple and overshoot.
In iDFT_Lab, use Asymptot with Blackman windowing for emulating Chebyshev. As you can see, a 81-tap FIR is adequate. See attached .jpg.
Attached Images
File Type: jpg in iDFT_Lab use Asymptot for emulating Chebyshev.jpg (179.9 KB, 19 views)

Last edited by steph_tsf; 26th July 2012 at 09:48 AM.
  Reply With Quote
Old 26th July 2012, 10:12 AM   #116
diyAudio Member
 
steph_tsf's Avatar
 
Join Date: Mar 2008
Have you considered the Philips DSS930 setup dating back from 1993? See attached .jpg.
Attached Images
File Type: jpg Philips DSS930 using modern hardware.jpg (175.8 KB, 22 views)
  Reply With Quote
Old 26th July 2012, 05:36 PM   #117
diyAudio Member
 
steph_tsf's Avatar
 
Join Date: Mar 2008
make sure you use the most recent versions of my tools, as I recently made a few cosmetic changes in the wording of some dialog boxes
see attached .zip
Attached Files
File Type: zip four tools.zip (888.7 KB, 12 views)
  Reply With Quote
Old 26th July 2012, 11:23 PM   #118
diyAudio Member
 
Join Date: Feb 2009
Location: UK
Quote:
Originally Posted by steph_tsf View Post
Very important is to keep an eye on the complementary highpass slope. Due to the fact that a Bessel lowpass is close to Gaussian (especially high order Bessel), we see that all complementary highpass built from a Bessel lowpass are only 2nd order. Which is insufficient in most practical cases.
Ah yes, you are quite right about my example being only 'Gaussian derived'.

I have to admit that I have yet to come to terms with the motivation behind all these filter types! For example, the Bessel which you mention appears to be notable because of its constant group delay across the pass band (thanks Wikipedia!). Presumably, though, this is not a factor in a linear phase implementation..?

The maths behind Bessel polynomials and Chebyshev polynomials etc. seems to be quite mind boggling, yet the end result, in a linear phase filter form at least, is quite mundane. If we look at this

Chebyshev polynomials - Wikipedia, the free encyclopedia

it is clear to me that it would take the rest of my life to develop the mathematical skills to write that page. But what would be my motivation to write that page?

Yes, it's the motivation behind the filter 'brands' that I'm not sure of. As far as I can tell, it is possible to 'dial in' a desired frequency response, and suck-it-and-see what you get in terms of the impulse response ringing. No real maths involved. If that doesn't meet your various criteria, you can then massage the frequency response iteratively until it does. And give up if it doesn't.

Or, alternatively, it might make sense to tweak a window around the impulse response in order to more directly attenuate the ringing ampltude/duration. You can then see what you get in terms of frequency response. Again, no maths involved, really. Or you could convolve the frequency response with a window to smooth off the sharp edges, and see what that gives you in terms of impulse response. Maybe the maths is significant for analogue filters (who could argue with the properties of the Butterworth?), but the digital linear phase filter seems to set us free from the maths. (Happy to be corrected on this!)

Point for discussion: my naive 'linear crossover' gives excellent attenuation of frequencies at the outer reaches of the crossover region, but visibly low amplitude ringing and overshoot around the central impulse. The ringing, however, extends for a long time albeit at a very low level. We could 'round off the corners' of the frequency response directly (as seen on a lin/lin scale) to reduce the duration of the ringing, or we could window the impulse response to achieve the same thing. But in short, if we're designing a digital crossover filter, why do we need the maths and the filter 'brands'?

(You mention the Philips DSS930. I would be happy to try to emulate it. However, I think you said that it is '2.5' design so I would need to acquire some sacrificial 3 way speakers - not a problem, and also that some of its desirable characteristics stem from the physical response of the drivers being combined with the crossover characteristics. As I mentioned, I have my calibration microphone ready (and yes, it's built from a Panasonic WM61A capsule - I bought a few some time ago) but it will be a gradual process until I am designing the optimum speaker, I think. Do you possess some DSS930s? Do they sound as good as the theory suggests?)
  Reply With Quote
Old 27th July 2012, 02:14 AM   #119
diyAudio Member
 
steph_tsf's Avatar
 
Join Date: Mar 2008
Quote:
Originally Posted by CopperTop View Post
As far as I can tell, it is possible to 'dial in' a desired frequency response, and suck-it-and-see what you get in terms of the impulse response ringing. No real maths involved. If that doesn't meet your various criteria, you can then massage the frequency response iteratively until it does. And give up if it doesn't.
Fully agree !

Quote:
Originally Posted by CopperTop View Post
The digital linear phase filter seems to set us free from the maths. (Happy to be corrected on this!)
Fully agree ! You see it through iDFT_Lab how natural and intuituve, how fun should I say, the crossover design becomes. Imagine the same, with some streamlined software tool.

Quote:
Originally Posted by CopperTop View Post
But in short, if we're designing a digital crossover filter, why do we need the maths and the filter 'brands'?
Currently, in diyAudio, we are in a transition era. We need to reassure people by letting them know that we are aware that there is a huge analog legacy to be preserved, and respected. You and me, we just realized we will blast the whole Cheyby, Butterworth, Bessel legacy, by proposing a FIR lowpass design method delivering fractional orders (say a 4 1/2 order as example), and a generalized and continuous way from evolving from brickwall to Bessel (as sharpness). However, at the end of the day, you will have people asking for an amplitude behavior emulating Butterworth, double Butterworth, and Bessel, even if the filters are phase-linear.

Quote:
Originally Posted by CopperTop View Post
You mention the Philips DSS930. I would be happy to try to emulate it.
A valid DSS930 emulation requires the 1) one or two 2nd-order IIRs assisting the FIR for eradicating the woofer breakup resonance at 4 KHz or 5 kHz (shortening its impulse response, avoiding the need for a long FIR), and 2) most important, fusionning the XO function with the driver linearization function.

Quote:
Originally Posted by CopperTop View Post
You said that it is '2.5' design so I would need to acquire some sacrificial 3 way speakers - not a problem, and also that some of its desirable characteristics stem from the physical response of the drivers being combined with the crossover characteristics.
This is the most controversial part of the DSS930 design. You better not replicate the 2 1/2 way arrangement of the DSS930. The DSS930 low midrange is quite unpredictable, because of the 90 degree phase shift between woofer 1 and woofer 2 between 100 Hz and 250 Hz. Consider the many Philips dilemna at design stage. Their beautiful flat membrane honeycomb bass driver (F9638 MFB speakers from 1983) was not sustainable. I measured such driver, dismantled one other, and believe me, that was a joke compared to previous MFB drivers. It was a dead-end. Such driver never went designed for MFB. The MFB sensor got glued on it at the last minute, just like you would do on your kitchen table. The other, older MFB drivers (AD8065/MF4, AD7066/MF4, AD8066/MF4, AD10066/MF4) had a proper miniaturized, rubber damped MFB sensor, but were inadequate for the DSS930. Their simple, straight, inexpensive paper cone was not suited for a 4 kHz crossover. They exhibited agressive cone breakups as soon as 1.5 kHz, with huge dips and peaks. For the DSS930 a 4 kHz crossover frequency (quite high, thus) was required by the Philips/Matsushita ribbon tweeter. This was a heavy, expensive, well manufactured asset Philips wanted to exhibit on the DSS930. The DSS930 designers ended up ordering a brand new bass speaker driver, featuring a soft controlled cone breakup at 4.5 kHz or so, easy to iron out using an IIR Biquad. Only small membranes behave well at 4 kHz. They thus needed two of them for delivering a decent SPL in the deep bass. However you can't allow the two speakers delivering sound at 4 kHz. You need to lowpass one of the two woofer (say at 150 Hz) for avoiding uncontrolled interferences beyond 1 kHz caused by production tolerances. In a nutshell, you will build a better DSS speaker using a conventional dome tweeter crossed at 2 kHz or so (in Butterworth 6th-order), that permits you to use any 7 inch woofer you want especially if you dare adding a piezo sensor inside the dust cap, for making your own MFB system (closed box). The only catch, is that by using a single 7 inch woofer featuring a proletarian 4 mm Xmax, you wont be able to reproduce 30 Hz at deafening levels. However, at domestic listening levels, such system will shine, especially if you manage to do the linearization + crossover fusion in each FIR, for each driver. And like in the DSS930, you can cheat by introducing a variable highpass filter in function of the listening volume for reducing the membrane excursion. Using a PC you can do this easily. If you want to experiment a little bit farther you may put two 7 inch drivers in d'Appolito (MTM) crossed at 1.5 kHz or so. Up to you to decide how you will manage the MFB, now with two MFB drivers. De Greef did it successfully back in 1981, for Wireless World, in a very simple way. Once you know how to remove the dust cap, where and how to glue the piezo disk, how to connect it to flexible wires (use quality headphone wires), how to avoid the solder flux eating the moving wires (try crimping instead of soldering, or apply epoxy on the solder joints for keeping oxygen out), how to mount the high impedance preamp, how to get your closed box absolutely air tight, everything simplifies down. Consider buying two inexpensive Dynavox DY-166 drivers on eBay Germany. No complicated maths. No ports to design. Deep bass response gets adjusted using one capacitor and one resistor. And you still can correct the response curve in digital. As IIR_Lab has established, for doing corrections in the the deep bass range, you need Biquad IIRs operating on double floats. That's not an issue with a PC.

Quote:
Originally Posted by CopperTop View Post
As I mentioned, I have my calibration microphone ready, and yes, it's built from a Panasonic WM61A capsule I bought a few some time ago but it will be a gradual process until I am designing the optimum speaker, I think.
Wrong. You need to measure using SpectraLab 4.32 right now. For fusioning the crossover function with the driver linearization. That's another iDFT application. I'll try generating a dedicated app, sort of iDFT variant. What file format to use for telling the iDFT what is the unfiltered driver gain and phase?

Quote:
Originally Posted by CopperTop View Post
Do you possess some DSS930s? Do they sound as good as the theory suggests?
No, I don't own DSS930. About 15 years ago I went in the Brussels Philips shop for buying the full set (preamp plus two DSS930) after their price got significantly cutted. The vendor was quite reluctant letting me listen to them properly. They were installed in another listening room than the rest of the Philips range. I managed to listen to some stupid music like Madonna (La Isla Bonita - I remember pretty well) then barely got allowed to listen a few CDs I had with me. Results were deceptive. In the other listening room there were the F9638 (same as mine at home), and playing some CDs on those, I had the impression that the sound coming was much better than the DSS930. The FB9638 faked wood was looking more serious than DSS930 dark matter. The FB9638 had MFB, something the DSS930 had not. I came back home, finding no need to replace my FB9638. Around 1998, my FB9638 suffered intermittent problems (the way the FB9638 power amplifier is mechanically arranged is pure madness), I repaired them several times, always a different issue. I ended up replacing them by B&O M70 speakers (4-way) and found myself not regretting the FB9638. Driven by curosity I dismantled one of those flat membrane FB9638 MFB woofers, and discovered the joke. Same for the medium driver. Beautiful, seductive, but from an engineering perspective, a joke. Only the ribbon tweeter is worth something. Perhaps. To me, the most remarkable MFB speaker, finally, is the small RH541 (2-way with 7 inch woofer and dome tweeter) that I own since 1980, delivering some astonishing sound, albeit generating listening fatigue. The RH541 delivers precision, dash, and presence in an incredible way, especialy human voice. Never experienced a technical problem with my RH541. Back in 1981, upon buying the RH541, I had the possibility to seriously compare the RH541 with the RH544 (3-way with dome medium and dome tweeter). The 544 is softer, less spectacular, less dash, less presence than the RH541. Possibly less listening fatigue. Possibly, the best MFB speaker is the very first one dating from 1974, the RH532. Because of relying on a conventional AD 5062 SQ cone medium, instead of that particular AD 0210 SQ Philips dome medium that never went acclaimed.

What a mess with Philips! We can do better using modern inexpensive components. For a quality d'Appolito, you need to reduce the distance between the two sound sources, hence the reason for selecting the Dynavox DY-166 as bass drivers. A minimal distance between them is possible thanks to the new Datyon 16mm and 20mm mini tweeters available on eBay Germany (Dayton ND16FA-6 or Dayton ND20FA-6). Those mini tweeters should operate with a 3.0 kHz crossover, say the Butterworth 6th-order that we have already sketched, providing symmetric lowpass and highpass 6th-order slopes. Start using those speakers as closed-box satellites only covering 120 Hz to 20 kHz. Allocate your full attention to precisely combining the linearization function and the crossover function in each FIR. Use IIRs, assisting the FIR whenever possible.

Later on, buy four more DY-166 bass drivers, convert all of them them to MFB, and you'll be astonished by the results. Now you have standalone compact speakers for domestic listening levels covering 30 Hz to 17 kHz in a 2 dB corridor, producing no distorsion in the deep bass range. The only Achille's heel of such concept is the woofer directivity pattern. The DY-166, at 3.0 kHz, starts beaming, while the 16mm or 20mm tweeter, is still radiating wide. This is not optimal. You may try reducing the crossover frequency, say to 1.5 kHz, chack if the tweeter doesn't some nasty over-compensation, gain and compare the subjective results.

The next step is to go 3-way. You will reuse the four DIY-166 MFB-equipped as 30 Hz to 150 Hz bass. For the medium between 150 Hz to 3.0 kHz, you need to buy four Fountek FE87 drivers on eBay Germany. Each satellite to be a d'Appolito carrying two Fountek FE87 and one Dayton mini-tweeters. Crossover frequency 3 kHz. At such frequency the Fountek FE87 and the Dayton mini-tweeter are still radiating wide.

Last edited by steph_tsf; 27th July 2012 at 02:44 AM.
  Reply With Quote
Old 28th July 2012, 02:06 AM   #120
diyAudio Member
 
Join Date: Feb 2008
Quote:
Originally Posted by steph_tsf View Post
Very important is to keep an eye on the complementary highpass slope. Due to the fact that a Bessel lowpass is close to Gaussian (especially high order Bessel), we see that all complementary highpass built from a Bessel lowpass are only 2nd order. Which is insufficient in most practical cases.
Steph, you keep making that statement without justification. The adequacy of a 2nd order highpass is entirely dependent upon the circumstances in which it is used. There are certainly situations in which a 2nd order highpass is insufficient, but to say that this is true in most cases is simply an overstatement. There are many, many cases in which a 2nd order highpass works very well indeed. And, as I mentioned in an earlier post, if it does not then perhaps one is either crossing over at too low a frequency, or using a tweeter inappropriate for the job.
  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 02:54 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