Why not IIR filters + a global phase linearization by FIR

Do you think maybe it’s the vector average causing poor results maybe in smaller sized rooms especially?

Hi Andrew,
My understanding is that room reflections are mixed phase.....some are minimum phase and some are not.
I believe the minimum phase reflections are candidates for vector/complex/phase averaging; whereas other reflections are not.
Vector averaging non-minimum phase reflections can only lead to trouble it seems, unless you are intentionally using phase to alter magnitude to a specific spot. I suspect this is what Dirac is doing, and is why it only really works for low frequencies (where reflections have a greater chance of being minimum phase).

So it seems to me the trick is how to determine which reflections are minimum phase, and which are not.
And then ideally apply vector averaging to those which are, and then maybe power or dB averaging to anything else.
How to do that? No clue, other than put a correction curve in place and see how well it holds up spatially.


Would a db average of 9 measurements around a head , and a generated minimum phase be a valid phase to use as a correction?

It’s only a minimum phase version….. but wouldn’t that also do the trick ?
I dunno, but i don't think so.
I still don't think the idea of global phase correction is a good idea.

It appears (per learning achieved in this thread) that correcting the phase rotation of IIR xovers globally is totally fine,
given the one-dimensional nature of electric xovers.
But why would anyone pragmatically do that?
It seems to me if they have FIR capability, it's a no-brainer to simply put complementary linear phase xovers into place to begin with.
I guess the only situation global makes sense is when FIR capability is limited to a single channel, and not multi-channel capable.

If single channel FIR is indeed the extent of the capability, i think phase correction of the IIR xovers is still the only valid application of global phase correction..
if for no other reason than what was just discussed above,..... the need to separate relections into what can and can't be corrected.

And there's also the issue of the speaker itself, with multiple drivers having different geometric acoustic centers, causing lobing and such.
Global is forced to accept a measurement as representative of the multiple drivers' focus point and focus distance. (even if the measurement is an average)


Personally, the only FIR phase correction I'm fully comfortable with is at the driver level where minimum phase rules, and as devoid of reflections as possible.
There, i'll correct either a single measurement or an average, and then with lin phase xovers in place, simply measure how well it holds up through all the off axis' angels.
When I then put sections corrected like that together; apart from setting delays and levels....there is nothing left to be done....

Unless of course i wanted to add room correction...in which case i'd use some kind of global rig on the input. And i wouldn't touch the FIR files used for the speaker tuning.
It would be IIR global, and no doubt just for subs/low freq. I'd stick to delays and polarities and sub positioning, until i could prove to myself phase adjustment is helpful/needed.

I just have a hard time getting interested in room correction, because I'm using large constant directivity speakers to solve reflections, as low in freq as possible....and i just plain don't like the loss of impact and tactile feel from using multiple subs.
So why bother...(plus I'm in love with the sound I'm getting 😀)

Just my situation/preference....and is meant to explain why I can't offer more experience with room correction measurement techniques......averaging etc.
Guys like wesayso and fluid, and a host of others know alot more about this than i.......
 
Do you think maybe it’s the vector average causing poor results maybe in smaller sized rooms especially?
Vector averages always weight the dips more strongly, and if multiple measurements have the same dip they just get bigger.
Bob McCarthy has a good explanation of the different average types in his Sound System Optimization book.

Time aligning the measurements together correctly also helps to avoid the high frequencies from being artificially reduced but it is not usually a major difference.
Would a db average of 9 measurements around a head , and a generated minimum phase be a valid phase to use as a correction?

It’s only a minimum phase version….. but wouldn’t that also do the trick ?
That doesn't make any sense. Without a valid measured phase trace there is nothing to equalize and if you only want to correct for magnitude there is no need to worry.

All averages can introduce uncertainty, not including phase in the average just obfuscates phase cancellation problems as the opposite to averaging with phase can produce enhanced dips.

I think anyone expecting significant audible changes from equalizing group delay of LR4 or lower slope crossovers alone is going to be underwhelmed.
For me the most audible change with phase comes from including the room at low frequencies.

@mark100 most Dirac versions do not touch phase at low frequencies, too many taps for it to be usable on all devices.
 
Thank you @fluid

So someone on another form said to do that by generating minimum phase , lol sorry I had to ask…. But maybe that was just a view the minimum phase but that’s pretty useless


So here is my smaart averages and REW vector averages, and I did this order

Take measurements, have REW shift IR on each measurement, smooth all to 1/3, time align measurements , vector average send to rephase for work

Smaart is a direct capture and sent to rephase

Huge differences, you can see in the one named REW , the magnitude is dips like crazy and there not there in smaart,and smarts correction sounds 10x better…..

So how do we get phase data and mag data in REW that’s not riddled with errors


Here’s the right ch , and my left ch corrected. With no sub , in which I did move the phase to match the right ch and it works so so good…..

My sub is on the right ch because the path length and phase between the right ch and sub were a good match , the left was so wildly different I had to pick one to sum and the other one to correct and match to….

Sorry 2 subject’s

Thank you for your help btw and advice I’m all ears
 

Attachments

  • F9B45A93-96CB-4FBE-BAED-88D25A63BAE7.jpeg
    F9B45A93-96CB-4FBE-BAED-88D25A63BAE7.jpeg
    209.6 KB · Views: 94
  • 976C947B-4A4B-408F-9771-781D17978230.jpeg
    976C947B-4A4B-408F-9771-781D17978230.jpeg
    204.4 KB · Views: 92
  • 4F711851-59AC-4A2B-B9A5-B02A8F52FC8B.jpeg
    4F711851-59AC-4A2B-B9A5-B02A8F52FC8B.jpeg
    149.5 KB · Views: 87
  • 778C414F-0C87-4C25-B7C2-4A4216B22EBF.jpeg
    778C414F-0C87-4C25-B7C2-4A4216B22EBF.jpeg
    206.2 KB · Views: 94
  • D7BA089B-BA9F-4413-95BC-D322F712909C.jpeg
    D7BA089B-BA9F-4413-95BC-D322F712909C.jpeg
    180.4 KB · Views: 94
I can't say I completely understand the problem you are having. I would start by looking at all the separate measurement positions you have made and compare them. Is there really much difference between them ? If they are relatively consistent within your head area then I would just pick one and use that or maybe one to represent each ear. If there is a significant difference then an average might work better, but the more each response is different the less likely the average will be truly representative of anything. I think trial and error here is still the only way to go as I have never found exactly the same recipe to be preferred with a different speaker or room.

I would use frequency dependent windowing rather than smoothing, by windowing you will remove much of the reflections that are causing the phase to be less clear. And this should only be done after the measurements have been vector averaged.

Vector averaging gives a different response at different frequencies. In a room above 1K the reflections form a pattern that averages out quite well, below that the pattern is less coherent and the averaging doesn't reduce the effect of the reflections so much.

1679456649321.png


This can be seen in the image above, 1K plus gets clean and averages down evenly, 300 to 1K the dips get exaggerated and below 300 things revert back to look much more like a frequency average. A car is no doubt different but would have it's own characteristic.

You can also try frequency / RMS averaging without phase to perform magnitude correction, (this could be moving mic in the head area) and then use a windowed single point with that correction applied to look at phase.
 
  • Thank You
Reactions: Oabeieo
The OP is about using FIR on a per driver base or as a global correction mechanism. When done properly there should be no difference.
Just incase anyone missed that lol.... Can anyone suggest a write up on; Global Done properly? OR maybe supply a short list of what that means if it can be stated simply?

Edit- I did receive this from a friend, I think this should get me pointed in the right direction
 
Last edited:
  • Like
Reactions: Oabeieo
@mark100 most Dirac versions do not touch phase at low frequencies, too many taps for it to be usable on all devices.
Yep, I've seen that on the miniDSP versions/devices...wasn't sure it's the same on the PC versions.
I don't think I've seen any non-PC correction, that has the FIR time capability to do much with phase down low.

IIR EQ/XO and FIR global phase-unwrapping:
View attachment 1156396

Now move the AP⁻1 phase unwrapper into each individual branch and multiply with the individual EQ/XO/delay and you will have individual FIR approach.

Diagram taken from https://www.grimmaudio.com/wordpress/wp-content/uploads/speakers.pdf which details on the "done right" thing.
EDIT: I see I posted that link on page 1 already ;-)
Camplo, to build on the helpful diagram KSTR posted, here's my take on when global works best, and when it may not.
KSTR and/or others may have different views, so take mine FWIW.

If the AP-1 phase unwrapper, the global FIR, is unwrapping the xovers' summed electrical phase only, I think that's the best case for global FIR working well.

If it is unwrapping an acoustic measurement of the entire speaker, I'd say 'danger Will Robinson'.....'unknown alien may be good or bad'.
 
  • Thank You
Reactions: camplo
If it is unwrapping an acoustic measurement of the entire speaker, I'd say 'danger Will Robinson'.....'unknown alien may be good or bad'.
I think caution should be advised when making phase corrections that are not analytically derived as it is quite easy to make things worse not better. It seems obvious to me that the speaker and the room form a system and that by only considering the speaker as a candidate for correction there is a real opportunity being lost for overall sound quality. There are real problems with making measurements in rooms and using those as the basis for correction but they are not insurmountable, persistence time and some free tools are all that is needed. Evaluating different correction filters is one thing that can be done at home in a controlled manner to avoid tricking yourself.
 
  • Like
Reactions: wesayso
My personal goal was to get to know the alien and make em behave and be a good boy/girl/entity... worked out well for me 😀.
The time taken to experiment is free within the hobby, might as well try. Get to know the room + speakers as a system.

That sir, is exactly what I'd recommend too....as i like to think we can be friends with all alien life forms !🙂

In case my comments about "global phase unwrapping" have been misconstrued, let me contrast them to the thought of "global room correction".

Global room correction that takes the time to make acoustic measurements, experiment, address correctable items with appropriate adjustments, and leave uncorrectable items alone ....is rock and roll, the right way to fly imo.

But i think an attempt to use an existing speaker's acoustic measurement, and simply try to apply global phase unwrapping alone, is bad ju-ju at best.
I mean, too many people have tried and reported mixed to even negative results. It's never worked for me, even when the measurement used for phase unwrapping was made outdoors.....
 
But i think an attempt to use an existing speaker's acoustic measurement, and simply try to apply global phase unwrapping alone, is bad ju-ju at best.
I don't understand what is meant by global phase unwrapping in this context. My aim is to have the response at the listening position be close to a minimum phase version of the overall response. For any speaker with good low bass output making the phase flat when the speaker begins to roll off from the box/port just does not sound good to me.
 
Last edited:
  • Like
Reactions: Oabeieo
@fluid

So wait a sec , the minimum phase version of the original response


Okay ….. so could we in essence make some db averages , and generate the minimum phase version of that , but use that as an overlay to match our target to weather it be another process of getting the same thing with our fir


I wondered if my sub phase should tilt down if response goes up like the minimum phase version does….

That should do it right? I think I can import a impulse into smaart and use it as a overlay… then match my phase to the minimum phase version with a few iterations….

Although I would have to get the averaging points the same on both sets of measurements, but that shouldn’t be too difficult

I’m curious about this , pos said something in an email to me and something just like what you said but it didn’t click till now (I’m slow)

Should work yes ?
 
Okay ….. so could we in essence make some db averages , and generate the minimum phase version of that , but use that as an overlay to match our target to weather it be another process of getting the same thing with our fir
Yes, I want the phase to be as close to the minimum phase version of the magnitude response. Like below where the magnitude is flat the group delay and phase is flat but when the magnitude changes so does the phase. If the phase is forced to flat all the way down instead of being allowed to bend up that does not sound good to me given the caveat the magnitude response actually extends quite low.

An anechoic measurement of a speaker with linear phase crossovers could look like that, when that speaker goes into a room what arrives at the listening position will no longer be that. I want to correct the early sound arriving to maintain that relationship between magnitude and phase.

1679619478965.png
 
  • Like
Reactions: deanznz
@fluid

Wow this very eye opening

Yes I agree with sub rolloff it needs that tilt up , but the rest of the response, if it’s not perfectly flat , and has a tilt or some dips the phase has a peak right before the dip….

Like above 100 Hz, I thought we wanted everything zeroed out as long as our response is smooth and flat but not necessarily flat flat…

If I made mine match the minimum phase it also would have a small drift with the tilt I use and the dips would have there peak

OK so I’m gonna try doing this this is really exciting because I thought of this before but I just assumed it was wrong but it does make the most amount of sense possible to faithfully reproduce it in the most faithful manner possible…..

I can’t wait to try it …. Again as always thank you
 
I don't understand what is meant by global phase unwrapping in this context. My aim is to have the response at the listening position be close to a minimum phase version of the overall response. For any speaker with good low bass output making the phase flat when the speaker begins to roll off from the box/port just does not sound good to me.
By global phase unwrapping, I was referring to the linearizing the phase of the entire speakers' response above the low bass rolloff (which I view as an acoustic system high pass filter.)
I don't think linearizing that 'system high pass' is a good idea, because of both pre-ring potential, and I too think doing so sounds a bit off.

By minimum phase version of overall response at listening position, do you mean a phase flattened minimum phase response at LP?
I'm thinking you must, because otherwise we can just leave the IIR xovers alone, with whatever phase rotation they bring to the party.

Personally, I've come to think of "linear-phase" as a bit of a misnomer in terms of a phase objective.
I think minimum phase with flat phase at zero ((again ignoring system high pass (and system low pass)), is the right terminology/objective.

It's just that folks automatically associate flat phase at zero with "linear-phase"...(incorrectly imo, witness first order summations).
I think the reason for the association, is that linear phase xovers are by far the easiest way to eliminate xover phase rotation, and get flat phase at zero....
 
  • Like
Reactions: Oabeieo