Rickson
Rickson

Reputation: 1090

Bandpass filtering at low frequencies

I would like to know if there is any best practice to solve the following problem which I think may be of general interest.

I have a signal sampled with 40 kHz for about 60s. That signal contains frequencies up to 5kHz but I am only interested in its 40 Hz component.

How can I get a stable, narrow bandpass filtered (around 40 Hz) signal which also has the same time base as the original signal (zero lag). The filter should also have a linear phase.

Computational efforts are not an issue.

Upvotes: 0

Views: 999

Answers (1)

Gideon Kogan
Gideon Kogan

Reputation: 763

Design a narrow band pass filter using: https://docs.scipy.org/doc/scipy/reference/generated/scipy.signal.iirpeak.html and then implement it on the signal using the a forward-backward filter, filtfilt: https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.signal.filtfilt.html.

The forward-backward filtering requires sectioning of the signal but you can always produce sections with a large overlap.

Upvotes: 1

Related Questions