Hypex DSP module(s)

and also obvious for those who understand it.
I don't think it is truly obvious, as there are a lot of misconceptions around it. And this is a perfect example:

But in short: Slopes of 96 dB/oct and higher can be realized and the phase response is linear. There are also other advantages.
I don't think that such high slopes is the 'advantage' in speaker crossover use-case. It would be if the sum is always perfect, but it isn't in real life and too high slope means too much ringing as the error appears, just look at what happens off-axis in the time domain. Phase-linear only make it worse as the ringing happens not only "post-" but also "pre-" artefacts where they are not masked and best audible.
 
You start asking about FIR.

What do you want with 96 db slopes? And do you realise FIR filters introduce latency? And this latency is frequency dependant?

To give you an example, the Grimm LS1 designed by Bruno.

All correction and xovers are done with IIR filtering. Only a FIR is applied in the input channel as a all pass phase correction. In the setup with no subwoofer it is at 1500Hz, with sub 1500 and 80Hz. Because it introduces latency you can switch this off to solve probllems with recording or home cinema setups

LS1 latency:

2 way/3way Fir off : 5 mS
2 way Fir on : 7,2 mS
3 way Fir on : 40 mS

What will happen if you use multiple FIR's? When you start your music you can grab a cup of coffee before it starts.:p
 
A loudspeaker is a minimum phase device, if you correct it with a minimum phase filter the phase respons will be flat.
Single driver - yes. Sum of multiple drivers crossed over with minimum-phase filters - no. Here you need FIR. To give you an example, the Grimm LS1 designed by Bruno. ;) He uses inverse all-pass to correct for the xover filter phase issues, but it is fully equal to using linear-phase filters of the same slope (LR4 in his design) per channel. Using the inverse all-pass is just more computationally efficient. Still - without FIR you can't get minimum phase summing of multiple drivers.
 
Single driver - yes. Sum of multiple drivers crossed over with minimum-phase filters - no. Here you need FIR. To give you an example, the Grimm LS1 designed by Bruno. ;) He uses inverse all-pass to correct for the xover filter phase issues, but it is fully equal to using linear-phase filters of the same slope (LR4 in his design) per channel. Using the inverse all-pass is just more computationally efficient. Still - without FIR you can't get minimum phase summing of multiple drivers.

Maybe you missed one very important remark from Bruno: The icing on the cake is to apply an all pass to correct the total phase respons of the speaker. And he mentioned this is the ONLY USEFULL place for a FIR filter. But it can be done with a IIR.......
 
Maybe you missed one very important remark from Bruno:
I didn't ;)

The icing on the cake is to apply an all pass to correct the total phase respons of the speaker.
This is about the LS1 design procedure. Remember - he used DSP that is quite limited computationally. What he did could be summed up more generally as:
1) EQ every driver to flat with IIR
2) Apply driver delays
3) Apply linear phase crossover which sums to 1 and has minimal slope that is suitable for the task

Where third point in his case is LR4 (or LR2 for 'sub') linear-phase crossover, but to that he applied a few optimizations that compute to exactly the same result - thanks to a few nice properties of classical IIR based LR4 filters. While LR4 is very good choice, this doesn't mean that there couldn't be better linear-phase crossovers for the task, but they cannot be so well optimized with replacing them with IIR+allpass and need to be applied per-driver and so requiring much more computations. But all this is still possible without any contradiction to his paper. Namely:
There is no excuse for anything less than full phase coherence between drivers so that they cross over at -6dB. It just doesn’t get any better.

And he mentioned this is the ONLY USEFUL place for a FIR filter.
I too had the impression he did that, but he didn't... What he mentioned is:
This filter will be non-causal so there’s a good reason for using FIR.
So, as long as the required filter is non-causal - it's use is well justified. What is 'banned' and unjustified is correcting minimum-phase (causal) issues with FIR.

But it can be done with a IIR.......
If it can be done you surely can provide at least one example of a finite set of IIR filters that form such crossover.
 
Last edited:
I didn't ;)


This is about the LS1 design procedure. Remember - he used DSP that is quite limited computationally. What he did could be summed up more generally as:
1) EQ every driver to flat with IIR
2) Apply driver delays
3) Apply linear phase crossover which sums to 1 and has minimal slope that is suitable for the task

Where third point in his case is LR4 (or LR2 for 'sub') linear-phase crossover, but to that he applied a few optimizations that compute to exactly the same result - thanks to a few nice properties of classical IIR based LR4 filters. While LR4 is very good choice, this doesn't mean that there couldn't be better linear-phase crossovers for the task, but they cannot be so well optimized with replacing them with IIR+allpass and need to be applied per-driver and so requiring much more computations. But all this is still possible without any contradiction to his paper. Namely:



I too had the impression he did that, but he didn't... What he mentioned is:

So, as long as the required filter is non-causal - it's use is well justified. What is 'banned' and unjustified is correcting minimum-phase (causal) issues with FIR.


If it can be done you surely can provide at least one example of a finite set of IIR filters that form such crossover.

Have a look at the DSP diagram from the LS1:


attachment.php


All eq and xover points are done with IIR. This gives a very nice minimum phase result and everything sums correct. If you take a look at the absolute phase you will see a 360 degree phase shift at the xover. This is corrected with the Fir in the input channel. It's only correcting this shift and nothing else. But you can do this also with a IIR all pass which is non- casual. In the low latency mode this Fir is switched off. Up till now I haven't heard anybody detecting an audible difference.
 

Attachments

  • ls1.PNG
    ls1.PNG
    12.4 KB · Views: 629
Have a look at the DSP diagram from the LS1:
It seems you continue to argue... but I don't see a single point in what you have quoted you are argueing with... If you want to say I am not right in something point exactly to the place you are disagreeing with. Don't play straw man fallacy game.

And I want to remind we are in the DSP modules thread, not the LS1 design thread. If LS1 done that way this doesn't mean there are no other valid or even better ways to do things differently in different speaker designs.

All eq and xover points are done with IIR. This gives a very nice minimum phase result and everything sums correct.
The result is NOT minimum phase. This is why the AP-1 stage is needed.

If you take a look at the absolute phase you will see a 360 degree phase shift at the xover.
Exactly - this is NOT minimum phase!

This is corrected with the Fir in the input channel. It's only correcting this shift and nothing else.
What do you think happens when you apply both AP-1 and HPF in sequence? The answer is - it forms a linear-phase filter of the same frequency-response slope as the HPF. The same happens with LPF. This only works well because the magic of Linkwitz-Riley crossovers when both HPF and LPF have exactly the same phase response, so - it is just an optimization of (idealistic) linear phase LR crossover. Nothing else.

But you can do this also with a IIR all pass which is non-casual.
I asked for example of such inverse filter. You surely can have forward all-pass with IIR and sum (causal one - the speaker itself summing acoustically is such an example), but general consensus is you can't do the inverse. If you know how to do impossible - please share, I would be very interested to utilize that.

In the low latency mode this Fir is switched off.
This is a nice 'feature' of chosen optimization and I am aware of it. On the other side if you don't do live performances or mastering - you don't need to turn it off.

Up till now I haven't heard anybody detecting an audible difference.
I haven't heard of anybody doing such comparisons with a speaker as well designed as the LS1 one. Single speaker or multiple exactly the same speakers - this topic might be controversial, we don't know exact threshold of audibility. Objectively it is better with corrected phase and we have better margin - it is good by itself. The phase issues twice as much (8-th order all-pass) are known to cause audible differences already, so the margin here is quite tight. Plus - in heterogenous multi channel systems when different speakers are used in one system this phase difference is definitely destructive and quite audible. This is why RoomEQ systems such as MCACC, Dirac, Trinnov (and some others I migh not know about) - all correcting for phase issues caused by crossovers. Good ones do it gently and trying to follow same general rules mentioned by Bruno in the paper. But the implementation design may well differ. You are trying to focus on the implementation details as the absolute single possible truth and don't see the picture as a whole...
 
"The result is NOT minimum phase. This is why the AP-1 stage is needed."

You are mixing up absolute en relative phase. A LR4 filter produces a 360 degree absoluut phase shift and the relative result is that both speakers are in phase again and will sum flat if their offset is zero. So it is minimum phase.

In the LS1 the all pass only corrects this 360 degree shift in the absolute phase domain. Actually it is a time correction of one wavelenght. With or without the freq. respons stays the same.
 
A LR4 filter produces a 360 degree absoluut phase shift and the relative result is that both speakers are in phase again and will sum flat if their offset is zero. So it is minimum phase.
No
Each driver is minimum-phase, and stays minimum-phase when corrected using (IIR or FIR or whatever) minimum-phase EQs and filters, but the summation of the two drivers is *not* minimum-phase.