From c452b3d724bb62194326e92d8819902a59d758e0 Mon Sep 17 00:00:00 2001 From: Chris Schlaeger Date: Wed, 20 Jan 2016 17:40:52 +0100 Subject: FIX: Ensure that HRV data is synchronized with other FIT data. --- lib/postrunner/HRV_Analyzer.rb | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/postrunner/HRV_Analyzer.rb b/lib/postrunner/HRV_Analyzer.rb index 664f7c9..116561b 100644 --- a/lib/postrunner/HRV_Analyzer.rb +++ b/lib/postrunner/HRV_Analyzer.rb @@ -170,6 +170,16 @@ module PostRunner predictor.insert(dt) end end + + # The accumulated R-R intervals tend to be slightly larger than the + # total timer time measured by the device. It's unclear why this is the + # case, but I assume it's an accumulated measuring error. We calculate a + # correction factor and time-warp all timestamps so the total time + # aligns with the other data of the FIT file. We also correct the R-R + # intervals times accordingly. + time_warp_factor = @fit_file.total_timer_time / @timestamps.last + @timestamps.map! { |t| t * time_warp_factor } + @rr_intervals.map! { |t| t ? t * time_warp_factor : nil } end end -- cgit v1.2.3