Yes, the issue is not so much extracting the actual beats from the signal - it is discounting the noise caused by movement.
If you're running and moving your hand backwards and forwards at 1 Hz, if you ignore acceleration, you're realistically always going to report 60 BPM, because that is the dominant repeated signal in the data.
I did in the past have some success with an autocorrelation based approach, and potentially the autocorrelation could just discount any signals where the acceleration was out of range). The downside (much like FFT) is you still don't get 'realtime' data
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Yes, the issue is not so much extracting the actual beats from the signal - it is discounting the noise caused by movement.
If you're running and moving your hand backwards and forwards at 1 Hz, if you ignore acceleration, you're realistically always going to report 60 BPM, because that is the dominant repeated signal in the data.
I did in the past have some success with an autocorrelation based approach, and potentially the autocorrelation could just discount any signals where the acceleration was out of range). The downside (much like FFT) is you still don't get 'realtime' data