Являются ли данные heartRate из HKWorkoutSession скользящей средней? - PullRequest
0 голосов
/ 21 января 2020

Я использую 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)")
                }
            }
        }
    }

1 Ответ

0 голосов
/ 21 января 2020

По моему опыту, это не скользящее среднее.

...