FilterHRV: Calculate rest HR from AVNN #2797

This ensures the filter used for all the other HRV metrics is also applied to rest HR . The previously used "average_hr" metric is calculated without the filter, which leads to skewed results due to the relatively short timespan and data point count of an HRV measurement.
This commit is contained in:
Antonius Riha
2018-02-25 09:43:24 +01:00
committed by Ale Martinez
parent ac3dce897c
commit ecd5b1568d

View File

@@ -283,10 +283,12 @@ FilterHrvOutliers::postProcess(RideFile *ride, DataProcessorConfig *config=0, QS
if (setRestHrv) {
RideItem *rideItem = ride->context->rideItem();
double avnn = rideItem->getForSymbol("AVNN");
HrvMeasure hrvMeasure;
hrvMeasure.when = rideItem->dateTime;
hrvMeasure.hr = rideItem->getForSymbol("average_hr");
hrvMeasure.avnn = rideItem->getForSymbol("AVNN");
hrvMeasure.hr = !qFuzzyIsNull(avnn) ? 60000 / avnn : 0;
hrvMeasure.avnn = avnn;
hrvMeasure.sdnn = rideItem->getForSymbol("SDNN");
hrvMeasure.rmssd = rideItem->getForSymbol("rMSSD");
hrvMeasure.pnn50 = rideItem->getForSymbol("pNN50");