I've built a simple device, which sends readings from a pulse sensor to a PC.

I get these data:

Pulse sensor data

What technique or algorithm can I use in order to calculate the pulse rate (beats per minute) from these data?

Update 1 (03.06.2013 21:01 MSK): The time series represents my heart beat during approx. 3 minutes. According to Wikipedia, adults have a pulse rate between 60 and 100 beats per minute.

Update 2 (09.06.2013 23:53 MSK): Here you can find signal values, which were measured 1000 times per second during approx. 5 minutes.


migrated from math.stackexchange.com Jun 2 '13 at 15:04

This question came from our site for people studying math at any level and professionals in related fields.

  • $\begingroup$ Do you know what a Fourier transform is, and/or how to implement it? $\endgroup$ – Zetta Suro Jun 1 '13 at 22:44
  • 2
    $\begingroup$ What do you consider a "pulse" ? To my eyes, the signal is a DC value with spiky noise. $\endgroup$ – Peter K. Jun 2 '13 at 15:32
  • $\begingroup$ @PeterK. "Pulse" is the number of heart beats per minute. The signal comes from a pulse sensor (every 10 milliseconds I measure the voltage of an analog input pin - these values are shown in the diagram). $\endgroup$ – DP_ Jun 3 '13 at 6:27
  • 1
    $\begingroup$ I think we need some more information. If I look at the data, I notice that the peaks have very different durations. Can they all be considered as one beat or, in other words, is there a maximum time for what can be considered a single beat? Otherwise, wouldn't some simple thresholding do the job? $\endgroup$ – Matt L. Jun 3 '13 at 12:11
  • 1
    $\begingroup$ Do you expect that the underlying signal is periodic? It's not apparent from looking at the data whether it is or not. I don't know too much about heart rhythms to know whether the rate is short-term stable enough to get good results from Fourier analysis. Also, you probably want to sample faster than 100 Hz; consider the case where your heart rate exceeds your sample rate, where you would miss pulses. $\endgroup$ – Jason R Jun 3 '13 at 14:04

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.