Why not IIR filters + a global phase linearization by FIR

Yeah I saw that the other day and was like WTF is up with that step response??
A perfect example of what I wrote above, this appears to be a speaker where the natural phase response from the woofer highpass was corrected to linear phase which creates the point-symmetric step response.
That's a neat trick for speakers to have "fast bass" down low. The price you pay is that some signals (like certain kick drum sounds) may be rendered with audible artifacts. The rising slope in the time-domain is not ringing and does not sound like ringing, rather it sounds like pink noise pulse ramping up (very interesting acoustical illusion).
 
The article appears to require an AES subscription. But since you're yourself the author, is it possible for you to share a copy here, on the forum? I'm sure many would be interested in reading it.
I'll be happy to. Anybody who's interested, just send me a private message with your email address. I'll send you the latest version of the paper.
 
  • Like
  • Thank You
Reactions: 6 users
Ok, one final, final, step response of same thing as in the first post. :)

The same 3-way IIR xover, 24dB/oct LR simple straight summing, and the globally FIR corrected mag and phase.
Core 110f came back from repair, and i could put a USB soundcard in the design to eliminate clock issues, as well as AD/DA conversions.
here's the schematic
110f schematic.JPG

And here's the measurement, albeit all in the digital domain. man were you guys right, as has already been proven..

110f step.jpg


Interestingly, I can't get REW to work with the soundcard embedded into the Qsys schematic. REW accepts the device setup just fine, but rolls off vhf above 10kHz by about 5dB for some reason. I think maybe because the qsys USB is only 16 bit. It's supposed to switchable to 24 or 32 bit...haven't seen how yet..
The trace above came from a wave file export from Smaart, which had no problem with Q-sys.

For me, the moral of the story, is measurements have a bunch of unique pitfalls, often beyond the set of pitfalls in sims.
I apologize to all for the false alarm, and belaboring my own learning experience.
 
  • Like
Reactions: 2 users
However, when I apply a global FIR filter to a processing already in place, like an IIR DSP, or a passive or active analog speaker.....
or getting back to the electrical example I posted.....
I get measured results of the two processes in series, like I think would exist in real world global FIR correction .....that show pre-ring.
Happy to find out if i'm doing something/ thinking something / incorrect.
Hey mark I am obviously too late in this reply as the problem has been discovered but I just wanted to point out something in one of your measurements that showed the issue clearly to me.

In your image I cropped, there is a slow phase growth from negative to positive over the whole bandwidth and it appears like the high pass of the woofer has been "compensated" whether by accident or not, whereas your linear phase crossovers have a flat phase with the natural high pass appearing minimum phase. It should be no surprise that these two responses would have very different step responses.

I also see the same thing where complete inversions have been done without the necessary stage of rolling off the two ends of the inversion.
And yes many (if not most) DAC's use linear phase reconstruction filters which will give pre-ringing around nyquist, another problem for the eyes on the graph more so that the ears in reality. I actually tend to prefer the sound of linear phase DAC filters if I can hear any difference at all.

Phase Traces.PNG
 
I'll be happy to. Anybody who's interested, just send me a private message with your email address. I'll send you the latest version of the paper.
Wow! I must say, I'm surprized and very pleased by the interest in the Gaussian perfect reconstruction crossover. When I published the paper in 1999, the most enthusiastic response to it was, "Ho, hum." At the time, digital crossovers were only in their infancy, and only in the Pro Audio world -- they had their Linkwitz-Riley crossovers and they were perfectly happy with them. (I once had a brief and frustrating discussion with Sigfried Linkwitz about his crossovers vs. mine, and he scoffed at the idea that phase was in the least bit important.) Now we have something like 1000x the processing power, and digital "everything", even in the home market. I hope that perhaps the time has come for these crossovers.

I think that I have kept up with requests for the paper. If you make a request and I don't respond after a day, please repeat your request. I promise that I'm not ignoring you.
 
  • Like
Reactions: 4 users
gberchin .. Can these filters be approximated with an old Merlin ISP100?
Holy, cow ... do you actually have one? I thought that I had the only one left. I wrote all of the DSP software for the Merlin.

The answer is yes, except that the steepest Bessel LPF available on the Merlin is 2nd-order. You could use the lowpass section of a Merlin crossover, which has a 4th-order Bessel option, and ignore the highpass section. You'd also need the Vue-IT signal-path generation tool -- if you don't have that, I think I have a copy somewhere. Only potential trouble is that I think in only ran under Windows 98.
 
  • Like
Reactions: 1 user
Hey mark I am obviously too late in this reply as the problem has been discovered but I just wanted to point out something in one of your measurements that showed the issue clearly to me.

In your image I cropped, there is a slow phase growth from negative to positive over the whole bandwidth and it appears like the high pass of the woofer has been "compensated" whether by accident or not, whereas your linear phase crossovers have a flat phase with the natural high pass appearing minimum phase. It should be no surprise that these two responses would have very different step responses.

I also see the same thing where complete inversions have been done without the necessary stage of rolling off the two ends of the inversion.
And yes many (if not most) DAC's use linear phase reconstruction filters which will give pre-ringing around nyquist, another problem for the eyes on the graph more so that the ears in reality. I actually tend to prefer the sound of linear phase DAC filters if I can hear any difference at all.

View attachment 1121534
Hi fluid, yes...good catch! You clearly have this stuff down.
I saw it the high-pass had been compensated too, when I was doing double checks.
That was a mistake, and the only one I could find other than REW sweeps starting out at 20Hz instead of 0 Hz. My estimate is that mistake accounted for about 30% of the big step dip, and the 20Hz sweep start 70%. Both of those corrected produced the fine response, as posted in my reply to wesayso, #38.

What's going to be interesting now that i think I have a better handle on what a discontinuity in the low frequency start of the signal generator does to step function does.......is figuring out how get accurate step response from acoustic measurements of subwoofers. I'm thinking a sine sweep or log chirp needs to start at 0Hz, or pseudo-random pink needs to include signal all the way down to 0Hz.....just to keep from screwing up the FFT math.
All this means rather low voltage testing I guess....but any sub worth a dang should easily handle 1 watt down to 0Hz i think. Thoughts?

You've probably already seen this, but maybe other haven't.....JJ posted a cool presentation on bandwidth. Seems like an appropriate related aside to this thread, with the included discussion of discontinuities effects on digital processing. https://www.aes-media.org/sections/pnw/pnwrecaps/2022/nov2022/index.htm

and @gberchin, thx for making your paper available to all.
Pls don't think I haven't requested it from you....got it a while back on the Klipsch forum (should have read it closer, to know I had to have devils in my details, lol)
 
Holy, cow ... do you actually have one? I thought that I had the only one left. I wrote all of the DSP software for the Merlin.

The answer is yes, except that the steepest Bessel LPF available on the Merlin is 2nd-order. You could use the lowpass section of a Merlin crossover, which has a 4th-order Bessel option, and ignore the highpass section. You'd also need the Vue-IT signal-path generation tool -- if you don't have that, I think I have a copy somewhere. Only potential trouble is that I think in only ran under Windows 98.
Nice to meet the brains behind that piece of equipment. Very versatile. The manuals on it must have took quite a while to produce.

... picked it up years ago off the bay for a "C" note .. new in box. Don't think the fella wanted to fiddle with it. I do remember it running on XP (in compatibility mode) for what it's worth. Have not used the Merlin in a while ... been using the old EV 34a which I really like, even though it's functionality is dwarfed by more modern kits ... but it's accurate and quiet.

If you could hook me up with the software for the Merlin that would be great as I think I lost it on a hard drive crash a half dozen years ago. I might have it saved but a spare copy can't hurt.
 
... picked it up years ago off the bay for a "C" note .. new in box.
Knowing the amount of time and effort that went into that product, $100 is a bit disappointing. But I guess everything becomes obsolete, sooner or later.

I do remember it running on XP (in compatibility mode) for what it's worth.

The original Vue-IT software was designed for Windows 95, and QuickBuild for Windows 98. I could never get either one to run properly in later versions of Windows, even in compatibility mode.

If you could hook me up with the software for the Merlin that would be great

PM sent.
 
  • Like
Reactions: 1 user
BTW, if anyone is interested in a proper implementation of the zero-phase filtering technique for audio, here it is (PDF attached).

https://www.aes.org/e-lib/browse.cfm?elib=14096

Please note that this method does not give zero phase, but linear phase (constant delay), as is the case with other FIR correction methods. The name "zero-phase" is intended only for differentiating the method from others, as it does not involve FIR filters. The actual delay of the overall process depends on the block size (samples per block).
 

Attachments

  • IIR phase correction.pdf
    210.6 KB · Views: 191
Last edited:
I do not know what the big deal is regarding FIR phase EQ (or the term I prefer, group delay EQ). It is just not that difficult to conceptualize for EQing a loudspeaker. The loudspeaker and crossover without GD EQ will have some group delay response. An example of this is shown in the paper linked above, figure 4. This shape is primarily the result of the phase response of the crossover filters, and something like that will occur for just about every type of crossover of order 2 and above. In general, below the crossover point the GD is elevated compared to above the crossover point, and there is usually some sort of peaking of the GD at the crossover point. I have to point out that this is not audible unless the differences in level or the peak level is over 2msec or so. This means that GD EQ is largely an academic exercise, except in the worst cases of GD. The time domain response of the signal may look pretty wacky but it turns out that the ear+brain can make perfect sense of this sort of signal.

But let's say you want to make your speaker have linear phase response, which is the same thing as making the group delay response look like a flat line. What you need is the inverse curve from your loudspeaker's GD curve. It's very easy to visualize! You want the sum of the unequalized loudspeaker's GD plus the GD EQ curve to be a flat line, over whatever frequency range you desire (typically you wouldn't bother to do GD EQ below 100Hz, for example). This gives you the GD EQ curve. From this, using the definition of GD, you can calculate the corresponding phase response. We do not want to change the magnitude response with our EQ (e.g. the filter magnitude is zero for all frequencies) and thus we have completely determined the magnitude and phase response of our EQing filter. That was not at all difficult, now was it?

Given the magnitude and phase of our filter, we simply want to create an FIR filter having this response. As the paper shows, it is also possible to create a many-stage IIR filter EQ to do the same thing. It's up to you.

For the FIR filter, you create the kernel by taking the iFFT/iDFT of the GD EQing filter response and then you translate and window the result. Pretty standard stuff.
 
Given the magnitude and phase of our filter, we simply want to create an FIR filter having this response. ... also possible to create a many-stage IIR filter EQ to do the same thing.
Or even more simply, we could just apply the same IIR crossover filter once more, only with reversed sample blocks. Linear phase achieved without any FIR, at least for even order functions.
 
Hi Charlie, Personally, i feel the scientific community has barely begun to have tested human's time domain hearing.
So, I prefer to do what seems technically correct, ie flat 0 degree phase across the spectrum , whether folks say it's audible or not. Just me here, not making a case.....
But let's say you want to make your speaker have linear phase response, which is the same thing as making the group delay response look like a flat line. What you need is the inverse curve from your loudspeaker's GD curve. It's very easy to visualize! You want the sum of the unequalized loudspeaker's GD plus the GD EQ curve to be a flat line, over whatever frequency range you desire (typically you wouldn't bother to do GD EQ below 100Hz, for example). This gives you the GD EQ curve. From this, using the definition of GD, you can calculate the corresponding phase response. We do not want to change the magnitude response with our EQ (e.g. the filter magnitude is zero for all frequencies) and thus we have completely determined the magnitude and phase response of our EQing filter. That was not at all difficult, now was it?
That is pretty straightforward.

I vote for making it even more straightforward........... why not forget about using group delay entirely, and go straight to phase itself.
(with all constant delay removed from any measurements.)

Flat mag and flat phase....why bother with anything else? I mean, that equals zero group delay, transient perfect, flat frequency magnitude response.

That's as simple and easy as it gets imho...