I have a 50-60Hz signal being sampled at a frequency of 25 kHz & I'm trying to filter all frequencies beyond 70 Hz with a reasonable steep transition band (approx 4 Hz) & good attenuation (~40+ dB).
For this, I tried a Windowed sinc filter using the following parameters :-
Cutoff frequency, fc = 70 / 25000 = 0.00280
Bandwidth, BW = 4 / 25000 = 0.00016
Filter length, M = 4 / 0.00016 = 25000
The problem here is the filter length. The value of 25000 means a window that's 1 second wide while my target is typically around 500-1000 samples, i.e. 1-2 cycles at 50 Hz.
I can't increase the bandwidth & I'm not sure what other options I have to meet this filtering requirement. So, my questions are,
- Is the windowed sinc not a suitable filter for this application?
- Considering that the sampling frequency is so high, shouldn't it be quite easy to achieve this type of filtering with a small filter kernel?
- Is there any other filter that I can use for this? My requirement is to offer good attenuation to all signals beyond 70 Hz using a small window. The choice of the filter isn't of much concern.
The length of the filter kernel, M, determines the transition bandwidth of the filter. This is only an approximation since roll-off depends on the particular window being used.
. In the meantime, try this, maybe it will suit you better. $\endgroup$