Does the "Crossover" algorithm affect over all output time (latency)?
Hello guys,
I have one question about the Crossover block, as title, I got this testing on my ADAU1452 EVB as below:
From the 1452 spec, I know that if I use none block testing(the testing only has DSP 1452 and codec, no algorithm inside),
the measurement time is 1.26ms (input to output total time).
testing result:
The above test, I measure the input to output total time, I got 4.4ms,
the testing environment:
testing result:
I want to check which block will increase so much time, so I do this test on my EVB, only one Crossover block:
and the Crossover block I use:
the parameter of the crossover block:
After this test, I got the result, the total time increase to 4.32ms:
So my question is:
Why does the "Crossover" block will increase so much time? Is the algorithm design or something that I miss?
Thank you for reading this topic, hope you guys can help me
Regards,
Alvis.
Audio Signal Processors
adau1452
adau1452 sigmastudio
adau1452 eval board
SigmaDSP Audio Processors
crossover
Show More
Hello Alvis,
I do not know what you could be measuring. I did the same tests here at my desk using a scope and a USB controlled signal generator. The only thing I think I did differently is that I could only use 1kHz tone. When I turn the signal generator off and then back on it goes back to 1kHz.
So with the input tied directly to the output I got 1.26ms just like you did. When I added the crossover I still got 1.26ms. If I shift the crossover point around so that 1kHz is in a different place in the phase curve I still got 1.26ms.
I tried putting the crossover inside of an board like you did and no change. It looks like you used around 14kHz for your test signal.
I also tried the single and double precision crossovers with the same results.
Which version of SigmaStudio are you using?
I used 3.14
You could upload your project files and I could try it here. But, I think you should try it at 1kHz. See if you can replicate my results.
Dave T
Hello,
Like other IIR filters, the crossover adds a group delay which is not strictly the same as latency. We can estimate it with a simple test which both eliminates the known responses of the converters -- the ADCs are bypassed, the two DACs match -- while reducing equipment needs to a basic oscilloscope. Just have the ADAU1452 test itself:
Bottom trace is direct, top is through the crossover, both 1 mS/div.. We see how the crossover's output begins to change in step with the input change, indicating none of the delay commonly called "latency." Yet, it takes about one mS for the output waveform to reach full peak level -- also it's 180 degrees out of phase with the input. Thus whenever a crossover is used, all output signals should come through it to keep phases aligned. I discovered this the hard way when testing a full-feature PA mixer running six ADAU1701s. After carefully matching latency delays through the chips (there's a 3-sample delay from TDM out of one chip to the TDM input of the next) pink noise tests showed audible "comb filtering" effects of mismatched delays among input channels. Turns out I had a speech processor activated on some of the channels and not others. Activated channels route through a 3-way crossover -- see Limiting "ess" sounds in speech with ADAU1701
Best regards,
Bob
Hello Dave,
My SigmaStudio version is 3.13.
My case is used on the subwoofer, so my testing signal I always use 250Hz and 250mV input.
The attachment is my project, and the block what I used. Thank you for helping me test this problem
I will do another test on my 1701 product board to check the crossover block will cause this problem or not.
Regards,
Alvis.
Hello Bob,
Thank you for your testing, I will keep to find out whats wrong on my test
I will do another test on the 1701 board!
Regards,
Alvis
Hello Dave and Bob,
I do some test after the suggestion, I use my project and using 1k Hz to test, there is no output from the EVB (the DSP only has Crossover block)
I think the crossover block filter the wave.
This pic is our another testing board and this is using ADAU 1701, the delpay problem is from this DSP algorithm,
so I simulate the same block to the 1452 EVB, and meet the same delay problem, I trace the block, finally I found it is crossover block problem.
I don't know why .
I do the same test again, and at the 1701 result is like below(only one crossover block):
our hardware has inverse, so I measure the wave top(input) and the wave bottom(output)
as the 1452 EVB, I got the same delay time.
Signal Sourece:
AP
input level: 250 mVrms
input Hz: 250 Hz
Regards,
Alvis.
Hello Alvis,
I repeated your test with the -1701, this time using your same crossover settings:
With the 150 Hz Crossover's Lo output only, and a test frequency of 250 Hz:
The result shows about a 3 mS phase lag:
Add the converters' latency and you get something close to what you're measuring. The 150 Hz crossover filter's group delay at 250 Hz is a necessary result of the filter's sharp 24 dB/octave rolloff, thus is quite normal.
The Linkwitz-Riley crossovers are designed to match the phases of its outputs (to the subwoofer and the high-frequency speakers), not to match phase with its own input. Thus, If your application is a stand-alone subwoofer, you may wish to use a simple lowpass filter instead, such as a Second-Order, Double Precision Bessel Lowpass. These have less phase shift. However, the only way to get ideally matched phase is to place all the speakers within the crossover's control -- where the HF speakers receive the Hi output and the woofer receives the Lo output of the crossover. Then, all the speakers share the same delay.
You can use the Stimulus-Probe tool inside SigmaStudio to estimate the phase delay of various filters without trying them on the hardware.
One other idea -- the ADAU1772 is designed for near-zero latency. It's normally used for things like noise-cancelling headphones, so I have no idea how well-suited it might be for this application. Also I suspect that its filters would have similar group delay, since filtering is essentially a math problem. But it may be worth looking into.
Hello Alvis,
Any crossover I have ever used has all the bands running through it. You never see one just for the subs unless you are using one for subs and a physically different crossover for the rest of the system. You still are delaying all the signals to some degree. Then the challenge is to align the outputs in time. They all have delay settings and I have setup $60K recording studio monitors using TDS or MLSSA analyzers to look at the phase shift at the crossover points and aligned them that way. It is astonishing at how much difference it makes to a speaker system! No other changes to a system and you can make it sound great or lousy! I had one engineer who used this room a great deal come in and asked me what I did to the monitors? They sounded so much better and all I had done was to adjust the timing of the system.
So in your application you will need to run all the bands through delays. Either in the SigmaDSP or using external delays. The filters we use are almost all IIR filters which are basically the same as any analog filter. They sound really good but they are not linear phase. So they will need to be time-aligned just like the analog counterparts. Using FIR filters you can make the filters linear phase but it consumes a lot of resources and the group delay will be greater than an IIR filter but it will be constant over all frequencies. So it will not solve what you are seeing.
Regarding the ADAU1772. If you come in analog and go out analog it can process filters very quickly. However, they still are IIR filters and still have some latency. The filters are designed to be fast. We are coming out with a new part that has even lower latency, I think it is sub-10us but when you add a filter it will add some more delay. The DSP in this part cannot do much more than some filters, volume, mute, limiting and a few other functions. It is aimed towards noise cancellation in headphones. This new part is only available in a wafer level package making it more difficult for smaller companies to use. So I don't think this is something you would be interested in.
I hope this all helps.
Thanks,
Dave T
Hello Dave and Bob,
Thank you for you guys testing! Your comment help me a lot!
I think the Bob's testing is the best answer !
I will keep that in my note
Thank you again!
Regards,
Alvis.
Please log in to reply.





























