Digital high-pass or band-pass filter for Arduino

So I have an analog signal coming to my Arduino board and I have successfully implemented a low-pass filter to it using this library: GitHub - tttapa/Arduino-Filters: Arduino Finite Impulse Response and Infinite Impulse Response filter implementations.. But, I would like to implement a band-pass filter to my signal. From my understanding this would work with combining a low-pass and a high-pass filter or just using a straight up band-pass filter. However, I'm not quite sure if I can use this library for those filters (at least I haven't found a way yet), so do you guys know any other way to implement band-pass filters to Arduino?

You can create a band-pass filter by simply feeding the output of a low-pass filter to the input of a high-pass filter, or vice-versa.

Yes, I mentioned this in my text. However, I have yet to find out how to make a high-pass signal with this library or any other library. (I'm a noob so it might be easy to do but I just haven't found it out yet)

I used Google to search for "arduino high pass filter library" and among the many hits, this was the very first one:

Yes I definitely have Googled and found this page too, but it doesn't quite look like what I need and I'm not too sure how to use it, for example it doesn't say the cut-off frequences.

The cutoff frequency depends on your choice of sample rate and the parameter alpha in the exponential moving average filter. Those need to be chosen with care, which requires you to do some background reading.

What choices did you make for this project?

I have successfully implemented a low-pass filter

You might find this Butterworth library useful, as it requires you to specify the sample rate and includes a high pass filter:

I'm making an optical HR sensor so the signal I need is from 0.6-2hz. However, this signal is very faint and even after using a low-pass filter cut offing at 6hz it still isn't very good. That's why I would want to try a band pass signal from 0.6-2hz.

Please answer all the questions.

this signal is very faint

A filter is not necessarily the solution to this problem. If you want to solve THAT problem, post the details necessary for forum members to understand what you did. That would include details about the components, a circuit diagram and the code.

Don't know about this parameter alpha but the sampling rate has been 64hz as according to some studies I have read this should be very sufficient for HR monitoring.

64 Hz sample rate is fine for 6Hz response.

The problem lies in the other details. Please post those, as requested in revised reply #8.

Well right now the faint signal isn't the main point and the circuit itself is fine (I have checked the circuit multiple times with other people, the signal I get can't really be improved). I would just like to test the band-pass filter.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.