# How to convert raw pulse sensor data into actual pulse?

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

I get these 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.comJun 2 '13 at 15:04

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

• Do you know what a Fourier transform is, and/or how to implement it? – Zetta Suro Jun 1 '13 at 22:44
• What do you consider a "pulse" ? To my eyes, the signal is a DC value with spiky noise. – Peter K. Jun 2 '13 at 15:32
• @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). – DP_ Jun 3 '13 at 6:27
• 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? – Matt L. Jun 3 '13 at 12:11
• 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. – Jason R Jun 3 '13 at 14:04