• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

Does a 4 million taps FIR filter sound better than a 16K one? Let's find out.

Aaah, i see the root of one difference in our understandings.

I don't consider a constant delay to be group delay, or a part of group delay.
Acoustic time or flight, constant processing latency, FIR time, etc....any fixed-time delay....needs to removed from a transfer function to make meaningful sense of phase, imo.

And yes, if phase is linear across the spectrum, the group delay is constant... but it's zero in my book ! (for reason just stated)

I see what you mean, but it's not right. First of all, group delay is group delay regardless if it is constant or not.
Secondly, you cannot get rid of it in online processing applications. If the the group delay is part of the filter and you cannot "skip ahead" (such as in offline processing applications like a music player) then you cannot just remove it. It's an integral part of the transfer function.

Constant group delay also doesn't make a transfer function any less meaningful.
Phase response plots of filters with huge phase shifts become awkward to read, sure, but that's why we also have phase delay plots (which I think you also mentioned).

So it's not that simple to just say that flat delays need to be removed, but I understand what you mean.
If, for example, you look at the transfer function at the listening position and there's a constant extra group delay that is shared among speakers/drivers then you can obviously remove to simplify things when we're talking about music playback, but that's not necessarily true in other applications.


The minimum phase low pass is the only one that has phase shift !
That's not correct. The linear phase filter has phase shift as well, and much more at that.
Phase shift is frequency dependent. Just because it's linear vs. frequency does not nullify that phase shift.

Until the idea is set aside, that constant delay is group delay.... the further comparisons that follow, simply make no sense imho.
I made the comparisons to clarify this common misunderstanding and to show you that my statements are absolutely correct.
The huge group delay (and therefore phase shift) is part of the linear phase filter.

Summing all this up, I think the term you're looking for is "zero phase" filters, but that's only applicable in offline processing like I mentioned before for obvious reasons.

I agree with the exception of complementary linear phase xovers. There's no reason for pre-ring with them if well implemented.

Yep, that's often the problem with such inversions. Too perfectly.
A pure inversion like that inverts everything, the good, bad, and ugly Lol.

Yes, and is why simple inversion doesn't work for an entire speaker that is not a full-ranger (one driver, no xovers)
Xover regions, being non-min phase with their all-pass phase rotations, are not really suitable for such inversions (or phase corrections)
That's one of the reasons I've so far stayed away from room correction products...wondering how they actually separate min phase single-driver-only regions from xover-two-driver all-pass phase regions from room reflections from yada.....
Yes, except I don't understand the "too perfectly" remark. Obviously you cannot use a min phase filter to perfectly invert a filter or transfer function with all-pass components.
On room correction: a highly interesting topic but that's for another thread I think.
 
comparing linear and minimum phase filters on group delay plot is a little confusing as it shows only when the sound starts. it won't show the ringing per se. they both ring, it's just that the pre-ringing is more obvious than the post-ringing cause the later is generaly masked.
the resonance of both is best visible in wavelet plot
 
The Original2.wav music file is 24/44.1k, about 2 minutes. I'll place both filters with a cutoff at 21,150Hz. A shorter filter will have a gentler slope than the 4M one. The 4M one is a brickwall filter, as it drops the signal by nearly 300dB within a 20Hz transition band.

Applying FIR filters is just a simple setting in DeltaWave, so I used each filter on the original music file, and then saved the results as 64-bit floating point WAV. I then loaded these up in DeltaWave to compute the difference. Below are the results.

Results
First, the spectrum comparison. The only difference is visible right around the transition band (white line is obviously the 16k filter, blue is the 4M taps filter). I zoomed in on that area to show it better:
View attachment 226655

Couple of things:

  1. Wouldn't it make more sense to fix the stopband at 22.05 kHz instead of the cutoff? What's the point of the extra taps when you don't use it for extra bandwidth (i.e. moving the cutoff closer to 22.05 kHz)?
    Note: it will not make an audible difference, but it would show the difference in extra bandwidth that the longer filter can preserve without attenuation.

  2. Is all the filtering done in 44.1 kHz? For interpolation that makes little sense because even in the ideal case it only gives you 22.05-21.15 kHz = 900 Hz of imaging/aliasing "free" bandwidth. You probably want to filter at least at 2x or much higher rates altogether, which raises the question: number of taps at what sampling frequency?

  3. The signal does not drop by 300 dB. FFT visualization issues of signal vs noise aside, it drops from about -120 to -350 dB in your graph which is a drop of 230 dB. Btw, 180 dB is what one can reasonably expect from double (64-bit floating point) FFT convolution.

  4. Something seems off with your filter generation software.
    At 44.1 kHz, a simple (not even optimized) 16k taps lowpass with 180 dB attenuation has a transition band of below 35 Hz, which is already insane and overkill ... and a group delay of over 180 ms.
    A simple 4M taps filter at 44.1 kHz would have a transition band of less than 0.2 (!) Hz ... and a group delay of over 45 seconds!
    Reality check: a simple filter at 44.1 kHz with 2 kHz transition band (like from 20050 to 22050 Hz), 180 dB attenuation needs only ~260 taps.

    So obviously, the 16k and 4M refers to filters operating at much higher sampling frequencies.
 
Last edited:
Couple of things:

  1. Wouldn't it make more sense to fix the stopband at 22.05 kHz instead of the cutoff? What's the point of the extra taps when you don't use it for extra bandwidth (i.e. moving the cutoff closer to 22.05 kHz)?
    Note: it will not make an audible difference, but it would show the difference in extra bandwidth that the longer filter can preserve without attenuation.

  2. Is all the filtering done in 44.1 kHz? For interpolation that makes little sense because even in the ideal case it only gives you 22.05-21.15 kHz = 900 Hz of imaging/aliasing "free" bandwidth. You probably want to filter at least at 2x or much higher rates altogether, which raises the question: number of taps at what sampling frequency?

  3. The signal does not drop by 300 dB. FFT visualization issues of signal vs noise aside, it drops from about -120 to -350 dB in your graph which is a drop of 230 dB. Btw, 180 dB is what one can reasonably expect from double (64-bit floating point) FFT convolution.

  4. Something seems off with your filter generation software.
    At 44.1 kHz, a simple (not even optimized) 16k taps lowpass with 180 dB attenuation has a transition band of below 35 Hz, which is already insane and overkill ... and a group delay of over 180 ms.
    A simple 4M taps filter at 44.1 kHz would have a transition band of less than 0.2 (!) Hz ... and a group delay of over 45 seconds!
    Reality check: a normal filter at 44.1 kHz with 2 kHz transition band (like from 20050 to 22050 Hz) needs only ~260 taps.

    So obviously, the 16k and 4M refers to filters operating at much higher sampling frequencies.

1. The point wasn't to produce a perfect 44.1kHz reconstruction filter, but to compare the difference between two filters with different number of taps. As long as the cutoff starts above the audible range, it's perfectly sufficient for the demonstration. The cutoff point I picked was one that happened to be already available in DeltaWave above audibility. I could add another frequency, but it's not going to change the result.

2. Yes, all at 44.1k. Again, the point was to compare the two filter sizes. Comparing images elimination wasn't the point -- the claim that was being examined was the timing performance of the two filters, not image elimination. Both filters I used are plenty good enough to eliminate any images when placed properly in the frequency range.

3. Not sure what your point is. Here's that same 4M-tap filter applied to white noise signal (blue), showing a drop of 293dB. Is there something wrong with this?

1661720867264.png


4. The filter is optimized for lowest in-band ripple, first, transition band, second, ripple in transition band, third. Nothing's wrong with it, it's just not optimized for the sharpest possible cut off since it was not designed to be used in a DAC. Again, has no effect on the result of this demonstration.
 
I see what you mean, but it's not right. First of all, group delay is group delay regardless if it is constant or not.

Hi again, glad we are finding more common ground.
Still must disagree that constant delay is a form of group delay.
That's not correct. The linear phase filter has phase shift as well, and much more at that.
Phase shift is frequency dependent. Just because it's linear vs. frequency does not nullify that phase shift.
Nope. And I think here is another aaah, in terms of how we are seeing things differently....

Imo, Phase and phase shift are relative between frequencies, one frequency vs another.
The phase relationship between frequencies does not change, no matter what the constant delay is.
That is the prime reason constant delay has nothing to do with group delay.

I really do think it's fairly meaningless, and certainly hard to decipher anything useful, when constant delay hasn't been removed from phase traces.
I work mainly with acoustic measurements, but I routinely run transfers of all electrical processing I do to drivers, so i feel very familiar with electrical too.

I get the sense your views reflect an electrical viewpoint, with less regard for acoustic, where time-of-flight, speaker-to -mic, quickly shows the need to eliminate constant delay.
I mean, try making any sense of a phase trace of an acoustic measurement without removing the constant delay......
 
Last edited:
Imo, Phase and phase shift are relative between frequencies, one frequency vs another.
The phase relationship between frequencies does not change, no matter what the constant delay is.
That is the prime reason constant delay has nothing to do with group delay.
with the risk of getting even more off-topic;):
Linar.Vs.NonLinear.GroupDelay.jpg

for my understanding the constant(or minimum for all frequencies) delay induced by the filter design/choice is integral part of the transfer function (no matter if its linear phase or not) and therefore a characteristic expressed by the (variable) group delay that adds up to your total system delay
 
Last edited:
So um, does this conclusion also apply to FIR filters used when converting PCM to DSD or vice versa?
 
So um, does this conclusion also apply to FIR filters used when converting PCM to DSD or vice versa?
Sure. A 16k FIR low-pass filter is plenty good enough to convert DSD to PCM. These same filters are used in DeltaWave for DSD processing (the actual tap size and cutoff frequency is configurable). Since DSD doesn't need a brickwall filter, even a gentle one will work so no need for mega-tap filters.
 
with the risk of getting even more off-topic;):
View attachment 227357
for my understanding the constant(or minimum for all frequencies) delay induced by the filter design/choice is integral part of the transfer function (no matter if its linear phase or not) and therefore a characteristic expressed by the (variable) group delay that adds up to your total system delay

Thanks for that, it helps me see others perspective.
It's easy to see that constant delay is clearly a part of a transfer function, and that technically constant delay may formally included in the definition of group delay.
And I apologize if it is formally included in whatever signal theory field the definition originated.

For audio however, I continue to think including constant delay as a component of group delay is a misnomer/mistake..
For me, group delay means variable group delay....group delay that varies by frequency (as a function of phase varying by frequency)

I think minimizing variable group delay is the only goal of interest in audio, regarding "group delay" (if constant delay for video or live sync, is not a problem)
 
Thanks for that, it helps me see others perspective.
It's easy to see that constant delay is clearly a part of a transfer function, and that technically constant delay may formally included in the definition of group delay.
And I apologize if it is formally included in whatever signal theory field the definition originated.

For audio however, I continue to think including constant delay as a component of group delay is a misnomer/mistake..
For me, group delay means variable group delay....group delay that varies by frequency (as a function of phase varying by frequency)

I think minimizing variable group delay is the only goal of interest in audio, regarding "group delay" (if constant delay for video or live sync, is not a problem)
Good to see some agreement. To add to that, it's not just some extra constant delay. It's not just some zero samples that were inserted in the filter to delay the signal or some delay lines or some waiting time or extra distance to the speakers but non-zero samples that are an integral part of the filter.
If it were just an extra delay then I'd agree: remove it, it just complicates things (except in cases where such a delay would be used to, for example, deliberately delay the signal to an individual driver and you want to analyze the whole speaker), but since that's not the case you cannot remove those samples.

Audibility of (non-constant) group delay would be a whole other discussion, but let me say that while minimizing group delay variations is a goal, so is minimizing other artifacts like pre-ringing ... which is the result of linear-phase or in the worst case max phase filters.

Regarding definitions, this all comes from signal processing which is the basis for digital audio. Phase (shift), phase delay, group delay all have concise and definite definitions that are valid for audio just as much as they are for seismology or any other field that makes use of digital signal processing.
 
1. The point wasn't to produce a perfect 44.1kHz reconstruction filter, but to compare the difference between two filters with different number of taps. As long as the cutoff starts above the audible range, it's perfectly sufficient for the demonstration. The cutoff point I picked was one that happened to be already available in DeltaWave above audibility. I could add another frequency, but it's not going to change the result.
I'm just saying that you'd get the biggest difference by making use of the extra taps through a wider passband, preserving more high frequency content.
Is your argument seriously that it's above the audible range and therefore this doesn't matter? Because if that's the case then the whole comparison is pointless. Do you want to show the biggest possible difference and let people decide about audibility or not because "it's above the audible range" anyway?

2. Yes, all at 44.1k. Again, the point was to compare the two filter sizes. Comparing images elimination wasn't the point -- the claim that was being examined was the timing performance of the two filters, not image elimination. Both filters I used are plenty good enough to eliminate any images when placed properly in the frequency range.
But that makes no sense. Those filters/parameters make no sense at 44.1 kHz and have very little to do with what's in actual product ... which kinda defeats the whole exercise. Low-pass filtering at 44.1 kHz is pointless, no?
Besides, how isn't any of what you produced masked by my or your DAC's filters that will operate at the same ~21 kHz because you fed it ... a 44.1 kHz file?


3. Not sure what your point is. Here's that same 4M-tap filter applied to white noise signal (blue), showing a drop of 293dB. Is there something wrong with this?
Yes. The point is that you showed a drop from -120 to -350. Now you've plotted averaged spectral noise density with actual noise, which is better but still not how filter performance is usually visualized.
Just FFT the filter and plot the spectrum.


4. The filter is optimized for lowest in-band ripple, first, transition band, second, ripple in transition band, third. Nothing's wrong with it, it's just not optimized for the sharpest possible cut off since it was not designed to be used in a DAC. Again, has no effect on the result of this demonstration.
I don't know what to tell you, as I said even the simplest design method (windowed with kaiser) produces virtually zero ripple (less than 10^-9 dB up to 20 kHz) and a much narrower transition band or significantly fewer taps. What ripple in transition band? That makes no sense. An actual third parameter for a linear-phase brickwal would be attenuation in the stopband.

How useful is any of this if the filters aren't even remotely like what would be used in actual products?
 
I'm just saying that you'd get the biggest difference by making use of the extra taps through a wider passband, preserving more high frequency content.
Is your argument seriously that it's above the audible range and therefore this doesn't matter? Because if that's the case then the whole comparison is pointless. Do you want to show the biggest possible difference and let people decide about audibility or not because "it's above the audible range" anyway?

I'm afraid you're still missing the point of the comparison. It was specifically about more taps to less taps linear phase FIR filter comparison. It doesn't matter if I had used 96k sampling rate and placed the two filters at 47k, the result would've been the same for this demonstration. The result of the null test was the definitive answer. Adding more higher frequencies to the result at -120dB would not change the outcome one bit. Sorry if this is not obvious to you, but this whole thread was in an answer to a specific claim by a hardware manufacturer. It was never meant to be a definitive treatise on the use of FIR filters in DACs, which is what you appear to want it to be.
 
I'm afraid you're still missing the point of the comparison. It was specifically about more taps to less taps linear phase FIR filter comparison. It doesn't matter if I had used 96k sampling rate and placed the two filters at 47k, the result would've been the same for this demonstration. The result of the null test was the definitive answer. Adding more higher frequencies to the result at -120dB would not change the outcome one bit. Sorry if this is not obvious to you, but this whole thread was in an answer to a specific claim by a hardware manufacturer. It was never meant to be a definitive treatise on the use of FIR filters in DACs, which is what you appear to want it to be.
I understand what you did and possibly what you wanted to achieve, but what you say now does not match what you said in the initial post:
Claim
A claim is frequently made that DAC digital filters with a lot of taps can make a significant difference in sound quality. Some software packages and even hardware manufacturers are touting the benefits of large FIR filters, often with millions of taps, supposedly because these produce a more natural, smoother, analog sound or improve "time domain" accuracy, whatever that means. Some of these are sold at large premiums, supposedly because of the complexity of implementing large filters.

Test
Let's use DeltaWave software to find out the real story. [...] For audibility testing, we'll also listen to it. Let's see if there's something to these claims!
(all emphasis by me)

If you assume that there's no audible difference and just want to visualize the difference between a random filter designed with different order, then yeah, this test is fine as it is.

In any other case, there are several issues as I've explained.
Also, saying that fixing the issues (basically designing a valid test) wouldn't change the outcome doesn't sound very, let's say, scientific. Even if that statement turned out to be true (which I assume it would), it doesn't matter. Your test is not gonna convince anyone that is not already convinced.
Everyone else (including the manufacturers that make those claims) will say this is invalid, can be dismissed, and does not invalidate their claims.
 
Last edited:
If you assume that there's no audible difference and just want to visualize the difference between a random filter designed with different order, then yeah, this test is fine as it is.

You're welcome to design and publish your own test, if this one doesn't meet with your approval.

Your test is not gonna convince anyone that is not already convinced.

Then we should just stop doing all tests and measurements. Let's close down ASR and all go home, since those who aren't already convinced will not be convinced anyway.
 
Then we should just stop doing all tests and measurements. Let's close down ASR and all go home, since those who aren't already convinced will not be convinced anyway.
Sure, just throw out another fallacious argument in an attempt to avoid the glaring issues.
Because if something is not absolutely perfect, then it's useless, right? So it doesn't matter when you aren't even remotely close either, right?
What a clown show.
 
Sure, just throw out another fallacious argument in an attempt to avoid the glaring issues.
Because if something is not absolutely perfect, then it's useless, right? So it doesn't matter when you aren't even remotely close either, right?
What a clown show.

Talk is cheap, do your own tests and post the results that disprove what I posted. Until then, it's not my job to fix your confusion.
 
This further proves that kunchur’s work is bs lol.

I think it’s hard to change something that is the basic laws of physics. You can’t override universal law with some man made creation.

I find the only thing left is since we truly don’t understand how the mind functions the skeptics will stay.

From a subjective experience I did not like how the Chord products sound with the M scaler. Which the average crowd would find odd.

I think very much like the benchmark amp which I did not like. I think when you push music to these extremes where we as a listener have never experienced. As in everything we have heard prior to it has had noise distortion etc that when all of it is removed completely it is not natural to our ears. I am not saying it’s bad, but it’s different in a way we are not used too and this is why I assume I did not like how it sounded.

On a professional standpoint I completely understand. Furthermore, clearly even we would assume hey I got products with state of the art performance and it sounds great to me. This would include myself, yet as we see the extreme high majority of amps are not that high in performance and at low volumes have lower sinad. In addition, the speakers or headphones themselves are creating distortion etc which would definitely taint the chain even if everything else was spot on 115 or greater sinad

I’m not an audio expert and very new to home audio, this is just my logical hypothesis. These two examples[above] are perfect ones to further back up this notion.

Lastly, even with headphones you see some people saying the 789 or 887 sound sterile. I could imagine with a state-of-the-art dac this would further aggravate the situation
 
I think very much like the benchmark amp which I did not like. I think when you push music to these extremes where we as a listener have never experienced. As in everything we have heard prior to it has had noise distortion etc that when all of it is removed completely it is not natural to our ears. I am not saying it’s bad, but it’s different in a way we are not used too and this is why I assume I did not like how it sounded.
Had this thought today. When "professional" reviewers don't like how the best class D amps available today sound, I think it's because they got used to their music with various distortions, frequency response issues, etc. When you take that away, their music bores them.

"It sounded clean, but it lacked excitement"...whatever that is.
 
Had this thought today. When "professional" reviewers don't like how the best class D amps available today sound, I think it's because they got used to their music with various distortions, frequency response issues, etc. When you take that away, their music bores them.

"It sounded clean, but it lacked excitement"...whatever that is.
I am guessing you mean pro audio reviewers? When I said professional I meant for studios and mastering or whatever needs that level of clarity.

Indeed, I guess some say musical. I mean simply taken right, probably 80% of your life that’s all you have ever heard especially if you are under 40 years old. Before 2020 the only company I knew about for a long time was sennheiser and even then I didn’t know about 600 series or 500 series, didn’t even know the 800’s existed or headphones that actually cost that much.

Clearly we are in another league now. I am quite certain a very high percentage of society is the same in that age bracket. Clearly not everyone.

I remember my first exposure Black Friday 2019 I saw Audeze with an ad about the sale. I went to their website and I was like good god who the hell would buy headphones that expensive lol. Thought those people were nuts, and now I’m one of them.
 
Good to see some agreement. To add to that, it's not just some extra constant delay. It's not just some zero samples that were inserted in the filter to delay the signal or some delay lines or some waiting time or extra distance to the speakers but non-zero samples that are an integral part of the filter.
Sure. Any samples' coefficients before the impulse peak will create delay, be they zeroes or non-zeroes.
And those samples before the impulse peak create a constant delay.
If it were just an extra delay then I'd agree: remove it, it just complicates things (except in cases where such a delay would be used to, for example, deliberately delay the signal to an individual driver and you want to analyze the whole speaker), but since that's not the case you cannot remove those samples.
Constant delay is constant delay, from whatever the source. (computational latency, FIR samples before peak, speaker to mic distance, etc.
All of it needs to removed from transfer functions to make meaningful assessments of phase imo.
Audibility of (non-constant) group delay would be a whole other discussion, but let me say that while minimizing group delay variations is a goal, so is minimizing other artifacts like pre-ringing ... which is the result of linear-phase or in the worst case max phase filters.
Yep, audibility is for sure a whole 'nuther discussion.

I feel i must repeat though...ime, there is no pre-ringing with complementary linear phase crossovers.
The myth that linear phase necessarily creates pre-ring needs to be busted :)
 
Back
Top Bottom