Interpolated FIR filter group delay I'm trying to design a digital low pass filter with a narrow transition band. My sampling rate is 25 kHz, the cut off frequency is 60 Hz &amp; the transition band width is 4 Hz. I'm looking for about 40 dB attenuation in the stop band &amp; 0.1 dB in the pass band.

I looked at the traditional FIR methodology using the Windowed Sinc filter but the number of taps required to get such a transition band is too high. Going by the reference here, we get a value of 25000 which is 1 second in terms of time.

As an alternative, I looked into IFIR filters. While the model filter results in a decrease in the filter length by a value that's equal to the interpolation factor, the interpolated filter formed by inserting zeros into the model filter's kernel increases the length to almost the same as what you'd get with a conventional FIR filter.

So, my question is, does the IFIR methodology make the filter more efficient from a group delay point of view? Is the only benefit here the fact that more zeros implies fewer multiplications &amp; additions? I'm trying to achieve around 1 to 2 cycles of delay (in terms of time for a 50 Hz signal). Considering that the sampling rate is so high, shouldn't it be easier to achieve this? If not, what other methods could be used to obtain such a filter?
If you need to discriminate between 60 and 65 Hz signals, the fact that you're sampling at 25 kHz means that you're basically doing real time signal processing: the Nyquist Frequency is far above the frequencies of interest.

Thus, from classical Fourier theory, you're going to need on the order of 1.0/5 Hz = 0.2 seconds of data, no matter how you process it.  If you do FIR, that means that you'll need at least 5000 coefficients --- and probably more like the 25000 that you mention.

It's possible that you could use much smaller IIR filters.  You'll do less math, but you'll still have to chew through at least 5000 samples for fundamental Fourier reasons.  And you'll need to be careful with that IIR filter, because the pole will be very close to the unit circle: you'll probably want to convert your data to float or double rather than an integer format (which would likely work for FIR).

Now, if there is some prior knowledge you have about your signals --- "high SNR, knowledge of the phase of the 60 and 65 Hz signals..." then you can create discrimination algorithms that are faster.  But all you know is 60/65 Hz, you're sort of out of luck.