在workoutBuilder didCollectDataOf中,我使用HKWorkoutSession每5秒获取一次心率数据。心率报告为“心跳/分钟”。问题是,它们是作为移动平均线计算的,还是只是在前一个时间间隔内计算的?(我在任何地方都找不到文档中指定的内容。)
例如,如果你得到以下心率:
t=0: 69 beats/min
t=5: 71 beats/min
t=10: 72 beats/min
...每个值是过去60秒内节拍间隔的平均值,还是仅仅从最近5秒的数据中推断出来的?
下面是didCollectDataOf的样子:
func workoutBuilder(_ workoutBuilder: HKLiveWorkoutBuilder, didCollectDataOf collectedTypes: Set<HKSampleType>) {
for type in collectedTypes {
guard let hrType = HKQuantityType.quantityType(forIdentifier: .heartRate) else {
return
}
if collectedTypes.contains(hrType) {
if let hrQuantity = workoutBuilder.statistics(for: hrType)?.mostRecentQuantity() {
let hrUnit = HKUnit(from: "count/min")
let hr = Int(hrQuantity.doubleValue(for: hrUnit))
debugPrint("\(Date()) HR: \(hr)")
}
}
}
}发布于 2020-01-21 11:25:59
根据我的经验,这不是移动平均线。
https://stackoverflow.com/questions/59833264
复制相似问题