So as I understand its really not that complicated: bandpass filter and peak recognition as the main steps and a median filter to remove outliers and estimate confidence.
When I looked into the data, the peak detector seems to be not that reliable. I found many peaks easily detectable by the eye after the bandpass, but missed by the peak detector. So to find a robust peak detector seems to be a valuable task.
The other obvious thing is to include accelerometer readings to suppress movement artifacts.
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.
I looked at the algorithm some time ago:
http://forum.espruino.com/conversations/372681/#16388080
So as I understand its really not that complicated: bandpass filter and peak recognition as the main steps and a median filter to remove outliers and estimate confidence.
When I looked into the data, the peak detector seems to be not that reliable. I found many peaks easily detectable by the eye after the bandpass, but missed by the peak detector. So to find a robust peak detector seems to be a valuable task.
The other obvious thing is to include accelerometer readings to suppress movement artifacts.