Multi Way Loudspeaker DSP Crossover, How Many Taps Do We Really Need?

By looking at the trend in loudspeaker designs it's apparent DSP has already for some time become quite mature and more easily available for DIY loudspeaker projects, and quite easy to realize quite impressive results, at least in comparison to what passive cross overs can do.

But when I read through some threads, such as the rePhase(*1) thread, it appears as if, when one wants to do a whole range of corrections for say the frequency response, phase and splitting up the crossover over say a 3 way speaker where each element is fed by its own amplifier, that the amount of taps needed for such an example would grow astronomically and hence not being feasible with something like MinDSP due to the sheer lack of processing power.

Have to point out that, I am aware my knowledge of DSP crossovers is rather thin so I am neither able to really quantify nor formulate my question very well so bear with me, yet I am imagining that realizing a high quality 3 way DSP crossover would require a whopping hundreds of thousand of taps and hence lots of processing power which rather something like a multi-core multi-threaded CPU or even a GPU for say desktop PC only can provide with.
I guess my views stems from when I look at filter response realized with only few thousands of taps, that the frequency response looks jagged with small wave ripples and quite crude "lo-fi".

So what I am trying to ask is, how many taps do we need to accomplish a high to really high quality 3 way speaker DSP crossover, including encompassing a very precise frequency and phase response correction? Is it somehow possible to calculate or estimate the amount of taps and processing power needed?

And as a follow up question, am also wondering what hardware + software options are available in order to realize a high quality 3 way speaker DSP crossover and with emphasize on DIY?

Edit history:
*1 wrote initially REW, meant rePhase


---
ps. please try avoid chitchatting and instead stick to the topic so we can keep the signal-noise ratio reasonable.
 
Last edited:
Could you elaborate on what you mean by "taps"?

My understanding of DSP filters / amps is based on reading the Hypex manual for the FA253, which is intended to be used as a 3-way filter/amp. There is an analog and digital input, and three amps. Each amp has a DSP filter which can be programmed from a laptop. Each amp has a fixed number of filter stages (which are called "biquads"), I believe there are 10 biquads per amp (not sure about that... it may be 15 biquads). The crossover filter would typically consume 2 biquads, leaving plenty available for driver equalization. The net output of the system is a high power-amp drive to the woofer, the mid, and the tweeter. I am not sure what you mean by "taps".

With MiniDSP, you would program your crossover filter and driver equalization into one or more MiniDSPs... The resulting 3 channels of analog line-level output would be fed to 3 power amps which you would supply.

Does this make sense?
 
taps must refer to FIR type filters, that consume more resources than IIR filters, thus limited "taps" within a device. These limited taps can be used wisely or can be ignored and just use IIR filters. IF one specifically wants to use FIR to linearize phase for example, or predistort the signal, then buy a product that has enough FIR taps for the task. I'm not sure if micromanaging frequency response is necessary, maybe it is, certainly it seems easy to measure and then apply a correcting filter (without manually adjusting multiple IIR filters). Good drivers won't need too many regular IIR filters to get response within +-1db in their intended pass band.

I think you can better any passive crossover system with just IIR capable DSP ;) I've yet to try FIR myself. Things to consider with FIR though: you'll introduce system delay, which makes video / sound sync problem if you watch movies or use the speakers in recording (live monitoring). You'll introduce audible preringing if not careful with the FIR.

Anyway, checkout rePhase thread if you haven't: rePhase, a loudspeaker phase linearization, EQ and FIR filtering tool
I'd imagine it has answers to your questions about required taps.

ps. remember FIR won't automatically solve problems of crossover/system design.
Have fun!:)
 
Last edited:

Thank hifijims, I checked up and skimmed quickly through Hypex FA253 manual, yes indeed it has 15 biquad filters per channel, ei. a 3 way speaker gets 3x15 biquads:
Hypex Electronics B.V.
and the HFD, (Hypex Filter Design)
Hypex Electronics B.V.
The manual for HFD reveals what kind of filters one can model, it appears to be rather generic, low pass, high pass, setting Q, filter types like Bessel, Linkwitz-Riley (fixed phases such as 2nd order is 180deg is out of phase and Q = 0,71) etc., one of the FAQ's goes like this (page 52 in HFD 4,95 manual):

Q: What about the phase of the filters?
A: The biquad filters are all minimum phase, which means that phase is directly
linked to magnitude response in exactly the same way as an analogue filter.
Since individual speaker drivers are minimum phase too, EQ'ing them flat also
equalises the phase response.
From the quick look through their material it seems like HFD's capability is rather like analog filter but realized digitally, ie. rather a very convenient piece of equipment for generic realization.
Not sure what they mean with "drivers are minimum phase" because the phase for an ordinary speaker over the entire audio band can be, from what I recall, several hundred degrees, maybe I just don't understand this terminology.

Digital biquad filter - Wikipedia
Quote: "In signal processing, a digital biquad filter is a second order recursive linear filter, containing two poles and two zeros."

Anyway, it was a good walk through for me refreshing my memory, thanks again.
 
Last edited:

Hi tmuikku and thanks for your reply too!
Yes I guess the taps would relate to FIR filters, my rusty brain and all those terminologies... oh and yes it was actually rePhase I was thinking of though I wrote "REW", thanks, and yes rePhase is very cool, I did read through many posts but it's long time ago, I think that is the way I would like to go but I am not sure what HW to use, mindiDSP seems to me like "100 times" (don't read too much into this superficial expression! :) ) too weak for what I would like to do.

Maybe you are correct about my overly pedantic "micromanagement" obsession being unnecessary, I don't know and maybe it's good I'm a bit blind, because only blind people who don't realize what is "too much" can reach extraordinary goals, maybe... but just for the sake of mad inspiration from "Perkele" I thought it would be intriguing to pushing the envelope and see what would be theoretically necessary in order to realize a Beast DSP system! :Pirate:

I am thinking of how BrutFIR could fit into all this...

Cheers Michael
 

Ugg10

Member
2017-11-18 9:59 am
UK
In the latest version of Boxsim (v2.0) you can simulate and optimise active filters, using these you can mimic a minidsp/hypex set up i.e. low pass, high pass, delay, parametric EQ (i.e. dips/peaks removal). Note Hypex uses biquads (I think) for the crossovers so for a 2nd or 4th order you need to use multiple biquads in series I think, it works slightly different to minidsp where the order of the filter is contained in the single filter. This also allows you to compare different order and different types of low/high pass i.e. LR2/LR4/Butterworth etc.


So, it may be worth downloading a copy, put in the frd/zma files for the drivers (or trace them from data sheets) and desired box dimensions and have a play to see whether you can get close to your intended goal. Obviously this won't be as accurate as using real driver measurements but will give you an idea of what is possible.


As has been said, I would still start designing using the best/most appropriate drivers to start with as DSP can't turn a bad driver or bad driver combination into a good one and the less wok the DSP has to do the better.


Just my thoughts so please take them at face value.
 
The number of taps required depends on several factors:
1. The frequencies involved - low frequency corrections/filters will require many, many more taps while higher frequency corrections/filters require many fewer taps
2. How complicated are the corrections/filters? How many features are contained in the response of the corrections/filters that you are implementing?
3. How close to the target do you need to get? Can you live with deviations in the frequency or phase domain of 0.5dB. 1dB, 2dB, 5 degrees, 10 degrees, etc?

Since DFT processing gives you great power to implement lots of taps, I think most people just overdesign their FIR filters and don't really give too much consideration to the number of taps. Filters with over 10,000 taps are not uncommon.

If you want to try to reduce/optimize the number of taps for a given application you can do an iterative process in which you design a filter of N taps from a target response, then implement the filter and check its frequency and phase response to the target. If you reduce N you will start to see the response and target deviate, and this is when you need to either increase the number of taps or refine your filter coefficients.

Once aspect to filter design that might be explored is to make sure the impulse response is perfectly periodic, that is to say make sure that the response across the period boundary is continuous. The FFT assumes a periodic signal, and when this is not the case the discontinuity at the period boundary will introduce artifacts into the response. Tweaking the impulse response to line it up at the boundary will eliminate these "for free".

@UltimaThule: Based on your post, I would go back and try to consider whether you need to use FIR filtering at all. Unless you have a good reason to implement something that cannot be done using an IIR filter, there is no good reason to use FIR at all.
 
Last edited:

mark100

Member
2010-12-24 5:49 pm
Ditto to all Charlie said. (except final advice part about no good reason to use FIR)

A good rule of thumb for the minimum required is that 500 taps are needed at 500Hz.
For each octave decrease, double the number of taps.
For each octave increase, halve the number.
The lowest frequency in the passband is the frequency of determination.


That is assuming linear phase is the goal, using impulse centering.
It also assumes crossovers of 4th order or less, and no really high-Q EQs.
And is for 48kHz; if 96kHz 1000 taps are needed at 500Hz.

I like to use higher order crossovers and typically use twice the rule of thumb, unless needing to minimize latency.
I've also found, through the iterative process Charlie described, if I am needing more taps than this, I am most likely over correcting what should not be corrected.

Hope this helps...good luck, it's a road well worth traveling ime :)
 

Hi Ugg10 and thanks for your input!
Good idea, I will have a look at Boxsim, I assume it's the ones given in the following links from the author and Visaton, and yes I agree on not compromising on the speaker element quality, some non-linear element behaviors have an avalanche effect which only breaks out suddenly above a certain SPL and/or frequency/-ies.

Boxsim - Homepage
Software | Visaton




Hi Charlie and great to see you here too!
With regards to "over-designing" me thinks that's the route am trying to explore here in order to find out what kind of solutions are available, I am slowly realizing it's maybe somewhat wrong metrics using "taps" as a figure as it appears to be related to FIR filters, if I got that right, but not IIR.
If one is realizing the filter using IIR instead, how or what metrics are we using then if not "taps", and roughly how much is the needed processing power ratio between FIR vs IIR, again I am not sure what I am saying so my question maybe isn't logic.
The bottom line is, if we try to go rather "extreme" on the filter, what ever the metrics or the correct nomenclature is, I'm sort of trying to figure out what HW would be needed in the end.

With regards to "impulse response is perfectly periodic", that is what I would like to accomplish, ie. a complete and minute correction in both frequency and time domain, that's why I in my rather wild imagination think we would "need" a beast HW much more powerful than MiniDSP and the alike to being able to cope with the massive amount of calculations in order to realize a very pedantic correction including XO filtering, and hence why I would like to figure out how many "taps" or what ever the metrics is as some kind of an indicator, I guess this is just my randomly chosen pedagogical path trying to get going some where and get a better grasp of the whole thing revolving about digital correction and crossovers for loudspeakers.

With regards to using FIR vs IIR, if most of what I have in mind, i.e doing a very precise correction in both frequency and time domain and apply the XO filters between the speaker elements can be realized using IIR then fine, yet I am still curious what HW solutions are there to use either of them, in the case of BrutFIR that would, I recall, requiring a PC while on the other hand it would be nicer if there's a piece of HW that can work as a stand alone and more autonomously without so much human interaction in the same way as when powering up a PC, ie. would rather prefer a HW requring pretty much a push on the power button to get up and running on its own without any further interaction besides doing some eventual manual selection, well that's yet another consideration piling up.




Hi mark 100, thank you as well!
yeah Charlie is the man when it comes to active speaker stuff! :)
ok, 500 taps at 500 Hz using 48kHz.., that's always something, a rough indicator is better than fumbling in complete darkness, btw good point mentioning the latency, something to keep in mind, perhaps one should develop at least two filters, one for audiophiling and another for movie time (with extra rumble added(!!)), but we really need more madbadass HW pushing beyond oblivion, in this case more is better me thinks! :)
btw, if I may ask, in simple terms and few words how does your set up look like?

---

Cheers Michael :Pirate:
 

mark100

Member
2010-12-24 5:49 pm
Hi mark 100, thank you as well!

btw, if I may ask, in simple terms and few words how does your set up look like?

---

Cheers Michael :Pirate:

very welcome :)

I use a qsc Core110f Core along with its Q-SYS Designer software.
The software compiles whatever processing design you want into the Core, so you can easily and directly compare all kinds of processing scenarios.