我正在为我的毕业设计开发用于 PPG 记录和心率计算的 iOS 应用程序。
我实现了一种用于记录 PPG 和检测峰值的算法。现在我需要可靠的算法来计算每分钟的节拍数(从 10-15 秒长的 PPG)。这是记录信号并调用 PeakFinder 方法后得到的结果:
您可以使用2种方法:
BPM=(Sampling Rate/(peak(i+1)-peak(i)))*60;
丢弃第一个和最后一个峰值,因为从图表中看,最后一个峰值并不是真正的峰值,并且第一个峰值也可能发生类似的情况。
其余峰的范围是从第二个峰到倒数第二个峰。
用作您的心率:
60 * ((剩余峰值的数量) - 1) / ((倒数第二个峰值的时间) - (第二个峰值的时间))
这本质上就是护士在计算脉搏时的做法——脉搏率是脉搏数除以时间。结果基于峰之间的平均距离,对于此应用来说,这可能比中值距离更有效。