DSP crossover benchmarking

Are there any standardised tests for evaluating the performance of DSP crossovers?

Besides the obvious tests like dynamic range and noise level, some of the things I'd be interested in would include:

1. Latency
2. Filter accuracy or correctness
3. Low frequency resolution
4. GUI representation vs actual filter for those that come with their own user interface.

I'm thinking of simple tests that one can do to, for instance, compare a Dayton DSP to a MiniDSP.

Should such a standard not exist, what might be a good set of tests?
 
Last edited:
Many DSP crossover boxes use cheap ADCs to convert analog inputs to digital, then processing may be performed at 48kHz to get the most out of a cheap DSP. After that a cheap DAC is used to output analog again.

In such cases the quality of the DSP is hardly the biggest or most audible problem. Unfortunately, some of the problems are hard to measure (e.g. close-in phase noise effects). Other things are much easier to measure (e.g. analog throughput HD and noise, say, verses level and or frequency).
 
Keeping in mind pro-audio sector with passively XO'ed 12/15" drivers with 1/2" compression drivers at a maximum human reception sensitivity range around 1,2-1,5 kHz i really doubt than ADC-DSP-DAC have audible influence.

First step further is a clear digitally XO'ed three way with at least potent amplifiers and Hi-freq drivers.
 
Many DSP crossover boxes use cheap ADCs to convert analog inputs to digital, then processing may be performed at 48kHz to get the most out of a cheap DSP. After that a cheap DAC is used to output analog again.

In such cases the quality of the DSP is hardly the biggest or most audible problem. Unfortunately, some of the problems are hard to measure (e.g. close-in phase noise effects). Other things are much easier to measure (e.g. analog throughput HD and noise, say, verses level and or frequency).

I understand what you are saying about the ADC/DAC interfaces. My concern is with the DSP engine. If there were a benchmark, one would be able to evaluate how much one is giving up by going for the cheaper variants.
 
The lower cost DSP chips tend to rely a lot on biquad filters and 32-bit processing.

Some of the higher end DSP chips also have a 64-bit CPU inside for doing more in the way of custom DSP.

Neither of the above types I have looked at so far have what I personally would consider to be top-notch ASRC. If ASRC were not needed then I might use one, or maybe use one with an outboard ASRC chip.
 
.

Should such a standard not exist, what might be a good set of tests?

Latency is usually zero, or one sample period, unless you are working with filters that inherently have latency themselves. In which case that's not DSP bound but filter bound.

Filter accuracy and low frequency resolution are dependent entirely on the bit depth and sample frequency used. These aren't really DSP based, as per say, they are mathematically dictated by the bit depth the DSP runs at and the sample frequency. If one DSP is performing 64 bit fixed point computation on an IIR filter (biquad) it'll do exactly the same job as another DSP performing 64 bit computation on an IIR filter.

The DSP is just a number cruncher taking in data and churning out data. If you're referring to the specification of a finished product, with analogue inputs and outputs, then this is going to be dictated by the performance of the converters on top of the DSPs capabilities.

From my perspective, on the DSP core itself, I want to know the bit-depth it computes at and then what options I've got for filter selection. State variable filters don't have low frequency inaccuracies like IIR filters do and double precision bi-quads help to improve filter accuracy where very steep filters are involved or when being used at low frequencies.

I'm guessing that your idea of a standard is more related to the analogue performance of the converters, used along side the DSP, than the DSP core itself.
 
The lower cost DSP chips tend to rely a lot on biquad filters and 32-bit processing.

Some of the higher end DSP chips also have a 64-bit CPU inside for doing more in the way of custom DSP.

What's wrong with bi-quad filters? 😕

There's also nothing wrong with 32 bit DSP computation either. For the most part 32 bit computation is going to be far in excess of the audio that the DSP is working on. The extra bits being useful for signal processing overhead (digital gain, but you still have to normalise the eventual DSP output to 0dBfs) and maintaining filter accuracy when large amounts of digital attenuation is used, like if you wanted to go probing way down in a filters stop band.

The original sigmaDSP chips, found in the original miniDSP, worked around a 28bit DSP core, giving, with 24 bit data, 24dB worth of digital gain, during processing, before normalisation at the DSP output. Or, looked at in another way, 24dB extra processing precision before you start chucking away bits when working with 24 bit data. Obviously most data is 16 bit, so a 28 bit data path would provide 72dB of manipulation before you start chucking away bits.

Not happy with that? Then use the double precision filter blocks for 56 bits, or a whopping 192dB worth of jiggery pokery before bits end up being lost.

The recent sigmaDSP chips use 32 bit DSP cores as standard and then 64 bit on double precision processing.

For anything but the most demanding, and niche applications, 32 bit processing, with signal normalisation at the end of the DSP chain, should be way more than enough.

Neither of the above types I have looked at so far have what I personally would consider to be top-notch ASRC. If ASRC were not needed then I might use one, or maybe use one with an outboard ASRC chip.

Why do you need to use an ASRC at all though? The sigmaDSP chips can be used with their input and output ports configured as slaves. Feed an ADAU1467 with the data output from a modern USB interface, slave the input and output ports to the clocks of the USB interface and there's no need for an ASRC. The data on the output ends up synchronous with the data on the input plus the processing.
 
If you're referring to the specification of a finished product, with analogue inputs and outputs, then this is going to be dictated by the performance of the converters on top of the DSPs capabilities.

I should not have said "DSP core": I actually meant DSP implementation or, as you said, finished product.

I have two DSP crossovers here that I can measure. One is Ground Sound DCN23 and the other is Najda. I can just throw arbitrary filters in the mix to compare them, but I really would like to do it intelligently.

For instance, one of the configurations that I have implemented is a Linkwitz transform plus high-pass filter, as well as some bass EQ. Whereas it looks perfect in the GUI, I doubt that it is giving me the same in practice.
 
It depends on the GUI and how the filters are displayed.

Analog Devices SigmaStudio GUI actually represents what the filters are doing. So, for example, if you were to implement a very low frequency bi-quad, or a very steep notch, there will be filter inaccuracies. If the graphical representation is showing the ideal filter transfer functions then that's what you'll see, but if the graphic representation is showing the way the filter co-efficients actually perform then you're getting something closer to life.

The only way you can get something true to life though is to perform frequency sweeps on the output of the DAC. So for a standard soundcard loopback just put the DSP into the loop. Sound card out > DSP analogue input > DSP analogue output > Sound card input. Then use some suitable software to see what's going on.
 
It depends on the GUI and how the filters are displayed.

Analog Devices SigmaStudio GUI actually represents what the filters are doing. So, for example, if you were to implement a very low frequency bi-quad, or a very steep notch, there will be filter inaccuracies. If the graphical representation is showing the ideal filter transfer functions then that's what you'll see, but if the graphic representation is showing the way the filter co-efficients actually perform then you're getting something closer to life.

The only way you can get something true to life though is to perform frequency sweeps on the output of the DAC. So for a standard soundcard loopback just put the DSP into the loop. Sound card out > DSP analogue input > DSP analogue output > Sound card input. Then use some suitable software to see what's going on.

Agreed and agreed. You are on my wavelength.