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 & the transition band width is 4 Hz. I'm looking for about 40 dB attenuation in the stop band & 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 & 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?


2 Answers 2


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.


The goal of an interpolated FIR is not to reduce the group delay for a given cut-off frequency. Instead, the advantage of an IFIR is to reduce the computational load compared to a regular FIR filter. As you mentionned the zeros in the coefficients reduce the number of multiplications needed compared to a regular FIR.

So basically, if you want a narrow transition band with an FIR, if you will have to accept a (relatively) high group delay.

Care to tell us more what you want to do? If you work with powerline signals, you probably don't need a 4-Hz transition band. Have you considered cosine filters?

  • $\begingroup$ This isn't for power line signals but for a research application involving isolation of 2 signals, one within 60 Hz & another beyond 65 Hz. I need fairly high attenuation for everything beyond 60 Hz along with a low group delay. In the worst case, I could live with a transition band width of 10 Hz. I did look at raised cosine filters but the same problem popped up there as well, i.e. high number of taps. Are you suggesting any specific variant of the raised cosine filter that's meant for this scenario? $\endgroup$ Commented May 18, 2018 at 19:27
  • $\begingroup$ 1 - use a sharp filter, maybe an IIR filter 2 - Try curve fitting $\endgroup$
    – Ben
    Commented May 18, 2018 at 21:27
  • $\begingroup$ Does your higher-frequency signal have bandwidth out to 10+ kHz so that you need to sample at 25 kHz, or could you decimate to something closer to 3-4x 60 Hz? If you don't need linear phase, check elliptical IIR for both decimation and signal separation. $\endgroup$
    – user35336
    Commented May 19, 2018 at 5:11
  • $\begingroup$ @Ben I'm looking at IIR filters now but the non-linear phase response is a concern. If I can get linear phase response until just 65 Hz, it'd be good enough. I'm not that familiar with curve fitting though. Could you point me to some resources? $\endgroup$ Commented May 19, 2018 at 9:19
  • $\begingroup$ @msm No, not at all. I don't really care about the content beyond 65 Hz. It's just that the same samples gets used in another application where the higher frequency content is necessary & that's why the sampling rate is high. Doesn't matter for this application. However, I do need linear phase at least until the 65 Hz mark. Any suggestions? $\endgroup$ Commented May 19, 2018 at 9:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.