How do I go about designing a filter with a very narrow passband?

How do I go about designing a filter with a very narrow passband? I have some data that was sampled at 10KHz for 500ms. The signal is extremely noisy and I only want the 60Hz component.

ANSWER

One way to perform this is to decimate the signal prior to filtering. If your application permits a reduction in sample rate, then this is a very nice way to go.

Without decimation, you are looking to achieve a lowpass filter with a normalized cutoff of:

fc = 60 * 2/10000 = 0.012 (very small!)

Suppose you were going to design an FIR filter using REMEZ. With a 10 kHz sample rate, a cutoff of 60 Hz, a stopband at 75 Hz, and some typical ripple specifications, the filter order, N, is approximately:

N = remezord([60 75],[1 0],[.01 .1],10000)   N =    898

If, for example, you had a sample rate of 150 Hz, your filter order would be approximately:

N = remezord([60 75],[1 0],[.01 .1],150) N =     13

You can use RESAMPLE to achieve the reduction in sample rates.

SEE COMPLETE ANSWER CLICK THE LINK

Simple! That is me, a simple person. I am passionate about knowledge and reading. That’s why I have decided to write and share a bit of my life and thoughts to.