Unlike the previous post, this is not a rhetorical question that I will ask and then answer. I genuinely do not know the answer. I could Google it, of course, but I’d like to see if somebody reading this is able to deduce the correct answer from the available evidence.
So, here’s the deal: as an attempt to recover from a rather sedentary couple of months due to computer-based work and some plantar fascitis kind of problem in my foot that’s keeping me from playing hoops as much as I’d like, I’m spending a while each day on the exercise bike we have upstairs. While I do a bunch of reading of books and Twitter during my rides to nowhere, I also spend a good deal of time looking at the display on the bike, which includes a pulse rate monitor.
The pulse rate sensor is one of those silver metal jobs that you grab hold of while you’re riding, and I can’t for the life of me figure out what it’s doing. Here’s the observed sequence of events, starting when I grab the sensor handle:
- 0:00-0:08: No reading, but a flashing indicator showing that it’s looking for a signal.
- 0:08-0:18: It starts out at 72 bpm, and creeps slowly up to around 80.
- 0:18-0:28: It jumps from 80 to 100 bpm, then creeps slowly up to around 110.
- 0:28-0:40: It jumps from 110 to 130 bpm, then creeps slowly up into the 140-150 range, where it holds steady (unless I do something to raise my heart rate significantly, like pedalling faster, or increasing the resistance).
Now, the first bit, I understand- my pulse isn’t necessarily synched with the internal clock of the machine, so it needs a little time to identify the beats. After that, though, I’m thoroughly puzzled.
Given the nature of the process, I would expect the early readings to be off a bit, but the steady upward creep is a little harder to explain. If it’s just making estimates based on short time periods, then refining them, I would expect it to jump around a lot– when working with a short sample of a high frequency signal, I usually expect the first readings to include some that are way high, not consistently low.
Given the purpose of the device, I could understand fixing the initial readings to be low, so as to avoid alarming your customers. So, for example, you might build in something to fix the initial measurement at 72bpm, and then use the actual data to refine that. But then I don’t understand the discontinuous jumps at 10-s intervals– if you were just starting from a low fixed point and averaging in measurements of a higher rate, then it should smoothly creep up to the final value.
You could get the discontinuous jumps at 10-s intervals by averaging for ten-second blocks before updating the display, but it updates at much shorter intervals than that– the reading changes every 1-2 seconds.
So what is this machine doing to produce this pattern of readings? It’s very consistent– I’ve tried doing this at a variety of different speeds, different points during the cycle, and so on. I can’t figure out how you would get this sort of pattern from simple measurement operations, but maybe there’s some more sophisticated signal processing trick that does this. So, if you know what it’s doing, leave a comment so I can stop worrying about this and read my books in peace.