Newbie DSP crossover confusion

Hi,

So as I understand it passive crossovers work in the analog domain (capacitors, inductors...) and DSP crossovers work in the digital domain (ones & zeros).

I now understand that its called a crossover for a reason, there is an overlap where both drivers are outputting. I thought the overlap was an artifact introduced by the passive nature of analog, that it just wasn't possible to have a woofer low pass at exactly 1999Hz and a tweeter high pass at exactly 2000Hz?

Recently I learned that you design a DSP crossover using a passive crossover designer like WinPCD and then essentially import that into your DSP? This suggests to me that an overlap is necessary or at the very least advantageous?

In my mind a DSP should surely be able to low pass a woofer at exactly 1999Hz and high pass a tweeter at exactly 2000Hz because its just data bits, it seems nonsensical to go to all the trouble of creating a passive crossover for a DSP crossover implementation, in CamillaDSP the crossovers seem to be FIR, why can't I just create a crossover widget and type in an exact frequency?

So I must be missing something, I'm guessing its to do with physical limitations when the audio goes into the analog domain, maybe its to do with physics, deceleration perhaps, that you cant make a driver going full-bore stop instantly so you have to compensate by gradually slowing it down?

Thanks!
 
Last edited:
You have the low-pass and high-pass swapped, but besides that: suppose someone sings or plays a note with vibrato that varies from 1995 Hz to 2005 Hz. You would then hear it move up and down with the vibrato. There is also the issue of the long ringing of sharp filters; the ringing of the low-pass and high-pass is supposed to cancel, but never cancels perfectly.
 
  • Like
Reactions: GM and rthorntn
Hi,

So as I understand it passive crossovers work in the analog domain (capacitors, inductors...) and DSP crossovers work in the digital domain (ones & zeros).

I now understand that its called a crossover for a reason, there is an overlap where both drivers are outputting. I thought the overlap was an artifact introduced by the passive nature of analog, that it just wasn't possible to have a woofer low pass at exactly 1999Hz and a tweeter high pass at exactly 2000Hz?
What you describe there is an infinitely steep brick wall filter.. which isn't practical in analog or digital. In the analog world it would require massive quantities of filter components(capacitors, inductors) and in the digital realm a filter that steep would require massive quantities of DSP processing. And there are other downsides to really steep filters, they generate large amounts of phase shift and/or latency.. with DSP, so in general loudspeaker crossovers are designed with lower order filters(1st to 4th are most popular) and driver overlap is factored into the design.
The big advantage for DSP are all the things you can do in addition to just a basic crossover that are more difficult to accomplish in the analog realm, such as time and phase alignment, corrective EQ, and driver protection.
 
First: It's important to understand that "analog" or "digital" signal processing are only details of implementation. The fundamental laws of physics and mathematics apply to all signal processing, whether analog or digital.

Second: Let's do a thought experiment. Suppose you're a crossover network, presented with a sinewave signal. You don't know whether it's at 1999 Hz or 2000 Hz, so you don't know whether to send it to the woofer or to the tweeter. You also don't know its amplitude. How would you decide? You'd have to observe the signal for a long enough time to distinguish between the two frequencies.

If there was absolutely no noise in the signal, and you could measure it with perfect accuracy, then you could theoretically determine its amplitude and frequency after observing maybe a quarter-cycle. But in the real world, there is always noise and there is always measurement error, and there are often other frequencies present. So as a practical matter, you'd have to observe the signal for quite a long time before you could determine its frequency.

And that's just a super-simplified explanation. Beyond this, there are mathematical considerations such as the relationship between the frequency response and the time response of a filter, which dictates that a true brick-wall filter would have an impulse response that spans infinite time. That duration can be reduced by allowing slope in the filter transition band -- a filter that is "less steep" has a shorter impulse response, and this is the fundamental reason that lower-order filters tend to have better transient response.

This just scratches the surface, but the deeper one dives into the subject, the more complicated the math becomes. And notice that none of this depends upon whether the signal is "analog" or "digital".
 
  • Like
Reactions: GM and rthorntn
The purpose of loudspeaker crossover is to match acoustic output (response) of two or more units (drivers) in the desired way.
How you do that is secondary to basic physics of sound propagation in air.
Basic difference is that dsp-xo happens before the power amplifier, so one must have several amplifier channels per speaker. Analog xo are in most cases between power amp and the speaker.
Choosing crossover frequency and type depends on many desing objectives - electric and acoustic properties of the specific drivers used, box and placement of drivers, directivity as system, max spl requirement etc.

Basics
https://audiouniversityonline.com/speaker-crossovers/
https://sound-au.com/articles/index.htm#loud

Using dsp for xo
https://www.minidsp.com/applications/digital-crossovers/digital-crossover-basics
 
  • Like
Reactions: rthorntn