Why not IIR filters + a global phase linearization by FIR

Yes. That is the fundamental truth here. As I mentioned, linear-phase implies symmetrical impulse response, and vice-versa. In order for a symmetrical impulse response to be implementable as a FIR filter, a causality delay of at least floor(N/2) samples must be introduced, where N is the number of samples in the impulse response.

That is for true linear phase across the full bandwidth. As engineers we can bend that rule somewhat, in various ways, when we approximate linear phase.
Thx. Nice to have some confirmation from an expert. :)
Some rule-bending below (wav attached).

The filter is non-linear phase but together with the non-linear phase of an existing Butterworth filter, can give more or less linear phase all the way upto fs/2. The impulse is not at the centre of the file and the delay is only about double that of the regular filter.

Is it really rule bending, or is it making tradeoffs among goals?

Seems to me, there's no getting around satisfying causality.
And that all methods to reduce xover phase rotation, have to end up with same amount of delay, if each is fully optimized and has the same set of goals.

If the goal is true linear-phase, it's hard for me to see how simple complementary linear-phase xovers, for whatever order above first, are going to be bested by another method. Not saying it can't be done by any means....it's just hard to imagine how the ease and simplicity can be beat.
But true linear-phase is a pretty narrowly defined case, huh guys?
 
Possibly the disagreement about whether phase is audible or not may come down to the listener's preference: orchestral music tends to less percussion than pop or jazz music so chances of noticing a difference on that material are fewer and far between.

My experience is just the opposite: it's the musical instrumentation or performance types that you wouldn't guess would show the most subjective audibility differences. This includes non-mutitrack recordings using predominantly acoustic instrumentation from one-to-one microphone channels to music tracks (i.e., not mixed in the conventional sense). An excerpt of my experience from a few years ago:
...my tastes in music have been changing since this discovery*...my taste in 19th and early 20th century music [recordings] has dramatically increased since 1 May (including now some opera classics). This is about as dramatic a statement as I can make about what has occurred...It's the sound of the massed string orchestra that has me spellbound (among other effects).

I'm now of the opinion that the subtle sound qualities of our sound systems are more determinants of what we prefer to hear than I had allowed myself to realize...
* The discovery that is referred to is explained in more detail earlier in the linked thread here.

Of course in real life the actual sound of large string orchestras has always been much more engaging than recordings--in my experience, but the effect of excess phase/group delay in loudspeakers hasn't been identified as a major factor in the listenability of the that type of music until recently (May 2019 for this author).

I've found that three factors must be present for the audibility of this effect as described:

1) full range loudspeaker controlled directivity, down to the room's Schroeder frequency (thus eliminating most listening rooms using direct radiating loudspeakers--unless extremely overdamped or the listening space is outside away from boundaries except the ground)

2) flat minimum phase SPL response--about ±1.5 dB (psychoacoustic smoothing), excess phase within ±90 degrees, and excess group delay below the thresholds shown in the Liski paper.

3) control of early reflections within 3-5 ms of direct arrivals (both at the loudspeakers and near the listening positions), such that in-room reflections do not significantly clutter direct arrivals from the loudspeakers.

And I can add one more condition to the above three factors: source music tracks that have retained a significant portion of their overall phase fidelity--largely through the use of recording formats like DSD that cannot be edited or otherwise remastered--which virtually eliminates all music tracks that have been "multitrack recorded" or include musical instrumentation that's largely electrically amplified. [How much recorded music is available that conforms to this condition? A lot more than you might otherwise think.]

Chris
 
And that all methods to reduce xover phase rotation, have to end up with same amount of delay, if each is fully optimized and has the same set of goals.
Directly applying a linear phase FIR gives a delay of N/2, but what if the linearity in phase is the result of combining two non-linear phase filters (FIR or not) with small delays ? Won't the net delay be much smaller then, in spite of the linear phase ? See a realistic case below.

For example, f = x^2 is non-linear, so is g = 1/x, but their product f*g = (x^2) * (1/x) = x, is clearly linear isn't it ?

In my opinion, "true" linear-phase is pretty much useless for real-time application, if it comes with a large delay (say 100ms). Most wise people would simply prefer responses with much smaller delays, even if there's some small error in the linearity of phase, especially outside the pass-band of the filter.

To me, "linear phase" is just a synonym for flat phase at zero degrees across the spectrum.........
......which is easily satisfied by an analogue / IIR first-order crossover with minimal delay. That is definitely not the kind of "linear-phase" we're talking about in here.
The processor I use (QSys) is the most flexible and programmable I've yet encountered. ........ with 16k taps per channel....
Here, try this 16k tap 100Hz low-pass filter (attached) and tell us if its phase linearity is good enough to you. The delay is approximately 15-20ms. Note that this is the entire filter IIR + FIR, both non-linear phase.

I have also attached the correction filter alone (8k), that you may apply on top of a 2nd order 100Hz (-3dB) IIR Bessel filter (8k) to obtain the same result, live.
Fulcrum-Acoustics, which provides DSP settings for many commercial processors in use with their speakers, only uses 364 taps when their settings include a FIR filter. It's been interesting studying where they put impulse peak. ;)
Definitely not at the centre, that is clearly not necessary for coherent sound.
 

Attachments

  • 100Hz Bessel corrected.jpg
    100Hz Bessel corrected.jpg
    215.2 KB · Views: 47
  • 100Hz_Bessel_16383_pts.zip
    64 KB · Views: 36
  • Correction filter_8192_pts.zip
    32 KB · Views: 33
Last edited:
So which recordings with mass strings are your favourites... top 3?

//
I'm not sure that I have "favourites" in this case. All good quality recordings (and I'm now referring mostly to higher quality multichannel recordings in DSD and PCM originally recorded since ~2000, because I run a 5.2 setup) are subjectively much more engaging when even a small all-pass behavior is removed from all loudspeaker crossovers, nominally as small as 90 degrees of phase lag below 500 Hz under the three performance conditions that I identified in my previous post.

Extremely high quality stereo recordings of orchestras, depending on their quality, also experience similar increases in subjective sound quality and listener engagement.

Chris
 
Directly applying a linear phase FIR gives a delay of N/2, but what if the linearity in phase is the result of combining two non-linear phase filters (FIR or not) with small delays ? Won't the net delay be much smaller then, in spite of the linear phase ? See a realistic case below.
I don't think net delays will vary for the same realized transfer function, no matter what filter components are used or how they are combined.

Here's my premise, and the logic that follows...either could be wrong...happy to learn if so.

For any input A, there is a unique complex transfer function that turns it into output B. Unique being the key word.
If that is true, then logically there is one net filter that provides the transfer function. Net filter being key.
Which means to me, anyway you go about assembling filter components to achieve the unique net filter doesn't matter, as long as the net filter is indeed the same.

I think of the net filter as being a normal complex transfer function, with an additional specification of the propagation delay needed to achieve it.

The needed propagation delay, is a function of the amount of phase rotation reversals or alterations, the transfer function applies......
Iow, it's the delay needed to satisfy causality.....by whatever method that went into the net filter.




In my opinion, "true" linear-phase is pretty much useless for real-time application, if it comes with a large delay (say 100ms). Most wise people would simply prefer responses with much smaller delays, even if there's some small error in the linearity of phase, especially outside the pass-band of the filter.

For sure, very few folks have ever called me wise Lol.

Phase linearity is a system wide goal imo...for the entire speaker.

Yeah, who care what a driver's phase is when it's far out of its pass band, or more appropriately, out of its summation region.
(I try to keep drivers phase flat through -at least 30dB summation)



......which is easily satisfied by an analogue / IIR first-order crossover with minimal delay. That is definitely not the kind of "linear-phase" we're talking about in here.
Well, for me ....yes, that is what I'm talking about. Simple flat phase (at zero) . That's what linear phase means to me.
Like i mentioned before, I've experimented with every order of complementarity linear phase xovers above first order.
First order IIR 2-way does it, and IIR is what i use then. (and only then)

Hey, think about this...what if we had a single transducer that really did have flat frequency response from 0Hz to way beyond audibility.
It's phase response would be flat zero too.
So is it a minimum phase transducer? Or a linear-phase transducer?

I like to think of it as a minimum phase transducer, with linear phase :D (which is why i simply go back to linear phase = flat phase)

Here, try this 16k tap 100Hz low-pass filter (attached) and tell us if its phase linearity is good enough to you. The delay is approximately 15-20ms. Note that this is the entire filter IIR + FIR, both non-linear phase.

I have also attached the correction filter alone (8k), that you may apply on top of a 2nd order 100Hz (-3dB) IIR Bessel filter (8k) to obtain the same result, live.

Definitely not at the centre, that is clearly not necessary for coherent sound.

Would try these, but another QSys limitation is 48KHz only (which i don't really view to be a limitation)
 
I think of the net filter as being a normal complex transfer function, with an additional specification of the propagation delay needed to achieve it.
The net delay for two cascaded filters is simply the summation of their individual delays. These delays may be different for different frequencies (non-linear phase) or the same for all frequencies (linear phase). Similarly, the phase angle of a combination of two filters is simply the summation of their phase angles, irrespective of whether they're linear or non-linear.
The needed propagation delay, is a function of the amount of phase rotation reversals or alterations, the transfer function applies......
Iow, it's the delay needed to satisfy causality.....by whatever method that went into the net filter.
So, does the low delay of the filters I've shown above make them non-causal ? I thought FIR filters were always supposed to be causal and stable !!!
Hey, think about this...what if we had a single transducer that really did have flat frequency response from 0Hz to way beyond audibility.
It's phase response would be flat zero too.
Definitely not zero-phase.
Would try these, but another QSys limitation is 48KHz only (which i don't really view to be a limitation)
Did you know that you could read a 44.1kHz wave file at 48kHz, and that it would simply move the 100Hz filter cutoff to 100*48/44.1 = 108.84Hz ?
 
Oh !! 48kHz then...
Is that a cinema processor ?
Thx for the 48kHz redo..
Yep, works for cinema and about any dang thing you can think of. Incredibly powerful stuff.
qsys applications..JPG


I got the same transfer functions for both your:
straight Bessel 2nd order @ 100Hz 16k FIR file,
and for the smaller 8k file for partially linearizing the same IIR Bessel.
Like you knew I would, and both had the same 13.5ms delay.

They look pretty good, but they illustrate the point I've been trying to make about why bother with something so complicated.
When for the same 13.5ms delay I can use a simple linear phase LR24. Or a LR12 with significantly less delay still.

Here's your Bessel transfer on top, and my LR24 on bottom.
Both with 13.5ms delay, and as you can see the LR24 is both phase flatter and has a higher-order rolloff (the harder to do for a given amount of delay.)
100Hz LR24 1296 tap lin phase.JPG

I played with just making a linear-phase Bessel 2 @ 100Hz, using half the delay above, or 6.75ms (648 taps total)
It's response, both mag and phase have essentially no ripple thru -40 dB.
Why make it harder than need be?

Bessel 100Hz lin error.JPG
 
I got the same transfer functions for both your:
straight Bessel 2nd order @ 100Hz 16k FIR file,
and for the smaller 8k file for partially linearizing the same IIR Bessel.
Like you knew I would, and both had the same 13.5ms delay.
So what does that tell you about the "net delay" of two filters ? Does the 13.5ms of delay appear magically or is it the result of the correction filter?
They look pretty good, but they illustrate the point I've been trying to make about why bother with something so complicated.
When for the same 13.5ms delay I can use a simple linear phase LR24. Or a LR12 with significantly less delay still.

Here's your Bessel transfer on top, and my LR24 on bottom.
Both with 13.5ms delay, and as you can see the LR24 is both phase flatter and has a higher-order rolloff (the harder to do for a given amount of delay.)
That's not the point. Like I said earlier, this is only a demonstration for learning purposes. Nobody would put a finished product onto an internet forum.
I played with just making a linear-phase Bessel 2 @ 100Hz, using half the delay above, or 6.75ms (648 taps total)
It's response, both mag and phase have essentially no ripple thru -40 dB.
That is NOT a 100Hz Bessel filter, as the gain at 100Hz is about -5dB.
 
I played with just making a linear-phase Bessel 2 @ 100Hz, using half the delay above, or 6.75ms (648 taps total)
It's response, both mag and phase have essentially no ripple thru -40 dB.
Why make it harder than need be?
2nd Bessel, 100Hz, almost linear-phase, <5ms delay, 384 and 512 taps.
 

Attachments

  • 100Hz_Bessel_512.zip
    2 KB · Views: 31
  • 512 taps.jpg
    512 taps.jpg
    130.8 KB · Views: 38
  • 100Hz_Bessel_384.zip
    1.5 KB · Views: 32
  • 384 taps.jpg
    384 taps.jpg
    129.3 KB · Views: 41
Hi newvirus, i honestly don't know what your point(s) is/are anymore.
My point above was that it is possible to get essentially linear phase (as in "linear" amplifier), without having to suffer the long delays of "true" linear phase filters. If you still can't believe it, then below is an essentially linear-phase filter (BUT2) with almost the same group delay (3ms) as that of its analogue version (~ 2.7ms).
 

Attachments

  • BUT2.jpg
    BUT2.jpg
    127.3 KB · Views: 33
  • 100Hz_BUT_2k.zip
    8 KB · Views: 30
My point above was that it is possible to get essentially linear phase (as in "linear" amplifier), without having to suffer the long delays of "true" linear phase filters.
Agreed. the more "true", perfectly flat, we want linear phase, the more time it takes. Nothing said by either of us goes against that. i think.

If you still can't believe it, then below is an essentially linear-phase filter (BUT2) with almost the same group delay (3ms) as that of its analogue version (~ 2.7ms).
So I can obviously believe it :)

My point has been, all roads lead to the same net filter when both transfer functions and propagation delays are equal.
So I say go with the simplest, easiest method available to you, to implement the goal.


Below are transfers showing the same 2.98ms delay.
On top is the last BUT2 FIR file you sent.
On bottom, is a quick output of a linear phase BUT2 from FirD, constrained to the same propagation delay.

(I say propagation delay instead of group delay, because i'm in the camp that thinks constant delay is not a component of group delay)

100bu2 compare.JPG


Anyway, does it make sense to keep chasing a case where IIR plus some FIR phase optimization of it, rules vs lin phase with insufficient taps?
I don't think so.....I'm ready to let this lie...
 
Below are transfers showing the same 2.98ms delay.
Actually Mark, I'm sorry but I don't seem to follow those graphs. The filter I gave you has -120* phase shift at 100Hz (instead of the regular 90) but according to your software, there's little variation across the entire 20kHz band!!

Maybe "phase response" has different meanings in different parts of the world, after all.
 
Actually Mark, I'm sorry but I don't seem to follow those graphs. The filter I gave you has -120* phase shift at 100Hz (instead of the regular 90) but according to your software, there's little variation across the entire 20kHz band!!

Maybe "phase response" has different meanings in different parts of the world, after all.
Oh, let me see if i can help be clearer....

All the transfers I've posted have constant (propagation) delay removed.
The lower left corner of the transfer function snips, shows the constant delay that has been removed from the measurement.
So for instance, the last comparisons in #257 had 2.98ms removed from each.

Here's REW on your BUT2 without that constant delay removed.
Has the -120* phase at 100Hz you expect.
NV BUT2 no time removed.jpg



And now with the 2.98ms constant delay removed.
Matching up with the transfer i posted.
NV BUT2 with 2.98ms removed.jpg



I oh so strongly believe constant delay has to be removed from phase & group delay plots, to both make sense of them, and to compare them fairly..