Я использую HKWorkoutSession для получения данных о частоте сердечных сокращений каждые 5 секунд в workoutBuilder didCollectDataOf
. Частота сердечных сокращений указывается как «ударов в минуту». Вопрос в том, рассчитываются ли они как скользящие средние или только за предыдущий интервал времени? (Я не могу найти это, указанное в документации где-либо.)
Например, если вы получаете следующие частоты сердечных сокращений:
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)")
}
}
}
}