Garmin FIT files for RHRV analysis

3 Fourier analysis

Author

Kizen Sasaki

First version

2023 November 30

Modified

2023 December 04

Fourier analysis and Plotting Fourier analysis
Code
library(readr)
if (!require("RHRV")) {
  install.packages("RHRV")
  library(RHRV)
}
library(RHRV)
Code
FileNo <- 1
FileName <- paste0("time_HR_", FileNo, ".csv")

data <- read.table(file.path("csv_xls", FileName), header = TRUE, sep = ",", 
                   colClasses = c("character", "numeric"))

hr <- data[,2]
rr <- 1/hr
rr = rr*60*1000

hrv.data <- CreateHRVData()
hrv.data <- SetVerbose(hrv.data, TRUE)
hrv.data$Beat$RR = rr
hrv.data$Beat$niHR = hr
hrv.data$Beat$Time = cumsum(rr)/1000
hrv.data <- BuildNIHR(hrv.data)

hrv.data <- InterpolateNIHR(hrv.data, freqhr = 4)

hrv.data <- FilterNIHR(hrv.data)
hrv.data <- CreateFreqAnalysis(hrv.data)
hrv.data <- SetVerbose(hrv.data, TRUE)

hrv.data <- CalculatePowerBand(hrv.data, indexFreqAnalysis = 1,
            size = 300, shift = 30, sizesp = 2048, type = "fourier",
            ULFmin = 0, ULFmax = 0.03, VLFmin = 0.03, VLFmax = 0.05,
            LFmin = 0.05, LFmax = 0.15, HFmin = 0.15, HFmax = 0.4)

Plotting Fourier analysis

Figure 1 Fourier analysis ymax = 200, ymaxratio = 1.7

Figure 1: Plot obtained with the PlotPowerBand for the Fourier-based analysis.