Roger Travis
Roger Travis

Reputation: 8548

how to use FFT to filter a 50Hz noise from a data array?

Suppose I have a data array from an ECG like this one

http://joachim.behar.perso.neuf.fr/Joachim/ECG_tuto_1/ECG_filters_basics/ecg_sample.txt

and I need to filter a 50Hz noise out of it, using an algorithm like that

http://joachim.behar.perso.neuf.fr/Joachim/ECG_tuto_1/ECG_filters_basics/notch_filter.m

and the result should be like that ( red - filtered, blue - unfiltered ) seen in Figure 2:

enter image description here

What would be the best way of doing it in Java/android? Would this library help https://sites.google.com/site/piotrwendykier/software/jtransforms ?

Thanks! )

Upvotes: 5

Views: 4290

Answers (1)

trashgod
trashgod

Reputation: 205885

In the article ECG elementary filtering, a notch filter is applied in the (mis-numbered) section on Removing power line noise; the result is displayed in Figure 2. This Java ImageJ plugin, Notch_Filters, "implements the most common Notch filters in the frequency domain." While the example is not directly portable to android, it might allow you to select a particular implementation to re-implement.

Note that the article expands on the limitations of the approach.

Addendum: The notch filter relies on an FFT, so you'll need both.

Upvotes: 2

Related Questions