Reading Heart Rate Measurement (x2A37) values

764 Views Asked by At

I have a polar H10, and I would like to read the bpm and rr values, consulting the characteristic specs, I am aware of each byte read from the the notification handle, however, I am still having trouble understanding the values generated. For instance: Here is an example output with the gatt tool Example output screenshot from the gattool:

Now, I understand the following: 10 48 2c 03 where (10 Flags => with bit 4 set specifying an RR value exists, 48 => uint8 Heart Rate Measurment value, 032c => uint16 rr-interval)

But I do not understand the following: 10 49 5e 03 96 03 According to the documentation, it says 1 or more rr values are present. But what does this mean? How could I receive two rr values?

Side note: The goal is to extract HRV features from these values.

1

There are 1 best solutions below

4
On BEST ANSWER

You get a Signal with the current heart rate, every Second.

No matter if a heart beat really occured in that second or not. (For Example, someone who is sleeping and got a heart rate of, let's say, about 40 bpm. 60 Seconds / 40 bpm = 1,5 seconds per beat. So if the next heart beat comes 1,5 seconds later that means, that there will be seconds (events that you receive), without a heart beat.)

Example:

10 28 DC 05

10 28

10 28 DC 05...

Now on the contrary, if you are in a very intensive training (for example the final spurt) and you got a very high heart rate of, let's say, 195 bpm. 60 Seconds / 195 bpm = 0,316 seconds per beat. That would mean, that there could be 3 or maybe even 4 beats per second.

Example:

10 C3 3C 01 3C 01 3C 01

10 C3 3C 01 3C 01 3C 01

10 C3 3C 01 3C 01 3C 01...

So the number of heart beats that you receive about every second, could vary between 0 events per second up to (I guess) 4 events.

I hope, I could help.