New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Heart Rate Value Accuracy #3
Comments
See discussion on Espruino forum here: https://forum.espruino.com/conversations/385922/?offset=75 |
I thought the difference might be because of my heart rate rhythm issue, but we tested it on Sandie and got the same result - BangleJS2 value was significantly higher than both Garmin and manual measurement of heart rate while at rest. We have not tried to do this during exercise. |
Maybe it just needs more time to settle than Garmin - if I sit still we get pretty good agreement, but if there is any movement the BangleJS reading seems to go high - I think the movement is causing spikes in the photodiode reading which is being counted as a peak. |
I have added the HRM app to this repository (and modified it so I can read the confidence value with my eyes) so we can see what it is doing more easily |
I'll have a look at this paper and see how it compares to the Banglejs algorithm: https://www.researchgate.net/publication/336880338_Analysing_Noisy_Driver_Physiology_Real-Time_Using_Off-the-Shelf_Sensors_Heart_Rate_Analysis_Software_from_the_Taking_the_Fast_Lane_Project |
Someone else has been thinking of the same sort of thing: https://www.majorinput.co.uk/post/bangle-js-2-dealing-with-noisy-ppg-signals |
I haven't had much success. I collected HRM data from the BangleJS2 while I was walking, and have tried some simple processing to try to see the signal as shown in the graphs below. The top graph is the raw HRM signal, the middle one is after I have tried differentiating it to take away the absolute level of drift. The bottom one is a check of the time spacing between readings - we sometimes miss a reading, but this will not be causing the issue as it will be only a small effect. These graphs cover 10 seconds, so we expect to see around 8 heart beats in the signal. So there is something not right about the BangleJS2 HRM for the signal to be so difficult to see in the data. One noticeable thing is the brightness of the LEDs - the device on the left is the PineTime, and the one on the right BangleJS2: Now my Garmin Forerunner 245 watch HRM LED intensity is between the two, but the Garmin LEDs are much larger, so may well be putting out similar amounts of light to the Pinetime. |
I am suspicious of the heart rate measurement accuracy - it looks like it is too high on me (I would have expected about 60 bpm but it was indicating over 90 bpm (V0.12)
The text was updated successfully, but these errors were encountered: