从PPG计算心率

时间:2014-05-15 15:34:36

标签: ios objective-c algorithm matlab

我正在为我的毕业设计进行PPG记录和心率计算的iOS应用程序,我实施了记录PPG和检测峰值的算法。现在我需要可靠的算法来计算每分钟的节拍数(从10-15秒长PPG)。这是录制信号并调用PeakFinder方法后的内容:

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以使用2种方法:

  1. 峰值计数:检测数据中的峰值。计算1个相邻峰之间的距离。
  2. BPM=(Sampling Rate/(peak(i+1)-peak(i)))*60;

    1. 对一组数据进行FFT变换。然后从0.5-2.5Hz找到峰值。最后将峰值频率乘以60秒。

答案 1 :(得分:0)

丢弃第一个和最后一个峰值,因为它从你的图表中看起来像最后一个峰值并不是真正的峰值,而第一个峰值也可能发生类似的事情。

剩余的峰值范围从第二个峰值到倒数第二个峰值。

用作您的心率:

60 *((剩余峰数) - 1)/((倒数第二峰时间) - (第二峰时间))

这实际上是一名护士在计算你的脉搏时会怎么做 - 这个数字是节拍数除以时间。结果基于峰值之间的平均距离,这可能对于此应用而言比中值距离更有效。