Saturday, March 9, 2024

The Perfect Active Crossover Clone

Audiophiles are often tinkering with their speakers, and some of the most ambitious want to convert their speakers with passive internal crossovers to external, active crossovers.  We will assume you know the costs, pros and cons of doing so and have decided this is the way forward for you. 

What we are going to discuss is a very special type of speaker analysis you must do in order to rip out the passive components and accurately recreate their behavior in an external DSP based system. The good news is you won't need a measurement microphone.  The bad news is you'll need a tool to accurately measure part values, including the speaker driver impedance.  

TL;DR

What we want to do is capture the transfer function of the original crossover.  This means we need to understand how the signal at the driver is different from what the amplifier has provided. 

There are some major advantages to this approach:

  • No reason to do a full speaker analysis, including measurement of the frequency response of each driver as well as acoustic offsets which otherwise all have to be measured.
  • Recreates the original speaker designers intention
  • Keeps the original phase and frequency relationships between drivers

 On the other hand, maybe you are dealing with a speaker which you want to improve upon from the original.  Troels Gravesen's website has a couple of examples of these.  At least a vintage Yamaha and B&W speaker which benefit from more modern sensibilities in frequency balance. This approach will at least serve as a starting point, from which you can then experiment from. 

Inspiration

This work is partly inspired by the really excellent features and manual for the JBL DD67000 Project Everest loudspeakers.  This is the first time I've ever seen a home use speaker built to have the crossover disabled AND provide the accurate transfer functions in the manual itself.  Outstanding work, JBL.
 

Limitations

This approach should work for almost all passive crossover speakers out there which do not use all-pass filters.  These filters are used to delay one driver versus another, and usually found in speakers which attempt to provide perfect impulse and square wave responses.  In these cases you'll need to use a digital delay to substitute for this behavior since it won't be contained in the transfer function.   Again, these cases are outside this post, but if you can replicate the transfer function, it's likely you can use a measurement microphone to estimate the appropriate delay, or even read it from XSim's group delay plot. 

Why bother? 

Many who want to go from passive to active designs ask why bother going through this effort to set slopes and volume.  The answer to this is that a good multi-way speaker crossover almost always includes equalization and careful phase matching to ensure smooth responses as well as to prevent unwanted lobes, or focus changes across the vertical and horizontal planes.  If your original crossover has any sort of complexity and you want to keep the sound qualities and design expertise built into the original you need to go through this exercise. 
 
There is a time when you don't, when you deliberately want to throw away the original thinking and you are prepared to do the careful driver measurements, acoustic offsets and perhaps even introduce digital delays.  That is another way to go, and outside the scope of this post, and requires a lot more work and expertise.  

Two Approaches

There is the Room EQ Wizard path, which is the simplest, and then there is the crossover analysis method which is more work but doesn't require you to connect your laptop to the amplifier outputs.  
 
Reasons for the first approach:
  • Less work
  • Good if you know you are throwing away the internal crossover
  • Measures the transfer function directly.
     
 
The reason for doing the second approach:
  • You are afraid of hooking up your laptop to your amp
  • You really want to tinker with the original crossover.  For instance, in analyzing a pair of Focal Profile speakers I came across a curious grouping of power resistors in the woofer section.  Analyzing the transfer function led me to realize that they were there to deliberately make the speaker harder to drive.  One set of resistors could be clipped off without changing anything in the output, and the other could be removed by altering the low pass coil values.  You don't always see wins like this.  
  • You are doing a complete speaker analysis and will also add the driver measurements (FRD) to the simulation. 
  • You think something might be broken
 

Room EQ Wizard

You'll need to create a custom cable to connect your microphone inputs to the individual drivers.  You can use the terminals at the crossover if they are easier to reach.  
 
You will also want to use a multi-meter.  Make sure your volume is set so the amplifier puts out no more than 1V at 60 Hz. When you've got the level correct (and it is fine to be under) then you are safe to connect your laptop's line input.  You also should do an impulse test and note which driver goes up and which go down so you replicate this behavior in your DSP. Also note level changes.  Tweeters for instance are often padded down and you'll want to do this as well.
 
For each driver, run a full frequency sweep.  Store the results and move onto the next driver.   
 
When you are done you'll have the transfer functions for each driver, the relative output level and the correct polarity to set for each. 

Crossover Analysis / DATS 

In this method we essentially do a complete analysis of the crossover and the driver impedance curves to simulate the results. 

Tools

You'll need two things, a crossover simulator, such as the free and excellent XSim, as well as an impedance measurement tool such as Dayton Audio Test System or similar.  I don't know of any other tool that inexpensive unless you do a DIY solution with Room EQ Wizard.

Outline

DATS will give us the impedance data we need, and XSim will give us the resulting transfer function.  The process is, more or less:

  1. Measure the speaker's impedance curve as a benchmark for the simulation.  If Stereophile has published measurements make sure your curve matches or you may have a bad speaker to start with.  Both of your speakers should match nearly identically, this is another important spot check before proceeding.
  2. Remove the crossover.
  3. Trace the crossover and recreate a matching schematic in XSim (see below). 
  4.  Measure each driver's impedance curve with DATS. Ideally measure woofers with ported cabinets in place.  We'll leave the frequency curves blank because we don't care.  Really.
  5. For each driver add the ZMA files you gathered in DATS to XSim under the Tune option.
  6. Measure DCR and ESR values for the crossove4r coils and caps respectively to enhance the XSim results
  7. Check your simulation's impedance curve against the speaker's original curve to make sure you got all the parts in the right place in the schematic.  Your curves should match very tightly or you missed something.
  8. In XSim, select Add Graph, then Filter Response for each driver. 
  9. Use the filter response curves to set your new active crossover settings.   
Sample drawings are below, in no particular order.  

Sample Schematic

 

Sample Filter Response  Curves 

Note that the individual curves can be exported which some DSP systems let you import to make it easier to match an arbitrary curve (such as you see here).  Also note the relative level differences.  In this case the blue line represents the tweeter which is about 8 to 10 dB below the woofer. That's not something you should ignore. 😉

 

 Whole Speaker Impedance Curve

 The speaker curve should look complicated, like this.

 

Woofer in Ported Cabinet

The woofer alone however looks more simple