遇见数据集

Half-marathon wearable sensor data

收藏
Zenodo2026-11-03 更新2026-11-05 收录
官方服务:

资源简介:

# Breathing pattern, locomotor-respiratory coupling and perceived fatigue during a half-marathon: data and analysis code Data, analysis code and supplementary information for: > Harbour E, Kranzinger S, Prigent G, Apte S, Treff G. *Respiratory frequency does not> track perceived fatigue independently of time-on-task during a half-marathon: a> wearable-sensor field study.* Submitted to *Scientific Reports*. Contact: Eric Harbour, eric.harbour@plus.ac.at ## Contents - **Raw data** (`data/HM_data.mat`): the device recordings of all 15 runners. These are respiratory inductance plethysmography, trunk acceleration, heart rate, GPS speed and ratings of fatigue, plus the seated calibration recordings before and after the run.- **One live script** (`HM_analysis.mlx`): runs the whole analysis, from raw signals to every number, table and figure in the article and its supplement.- **Supplementary Information** (`supplementary/HM_Supplementary_Information.docx`): the supplementary tables and figure of the article.- **Reference results** (`results/`): the tables, figures and console log from the reference run, for comparison with your own run. ## Quick start 1. **Get the two algorithm repositories.** Breath segmentation, breathing-pattern metrics and locomotor-respiratory coupling are maintained on GitHub and are *not* included in this archive. Clone them into `deps/` at the commits used for the article: ``` git clone https://github.com/eharbss/hexoskin-rip-algorithms deps/hexoskin-rip-algorithms git -C deps/hexoskin-rip-algorithms checkout d5b289a git clone https://github.com/eharbss/calc_LRC deps/calc_LRC git -C deps/calc_LRC checkout 52dcb46 ``` Without git, download each repository as a ZIP from GitHub and unpack it into `deps/` under the folder names above. You can also put the repositories anywhere on your MATLAB path. If either one is missing, `hm_setup` stops and prints these instructions. 2. **Open `HM_analysis.mlx` in MATLAB and press Run.** The first run reprocesses all raw signals and caches the result in `results/HM_processed.mat`. It takes about 20 min on a recent laptop. Later runs start from the cache and take about 11 min, mostly spent on the classification sensitivity analyses. Set `REPROCESS = true` in section 2 to rebuild the cache. 3. **Compare** your `results/` with the reference run in this archive. With the same MATLAB release, the numbers should be identical. ## Requirements - MATLAB R2026a (tested)- Signal Processing Toolbox- Statistics and Machine Learning Toolbox- [hexoskin-rip-algorithms](https://github.com/eharbss/hexoskin-rip-algorithms)- [calc_LRC](https://github.com/eharbss/calc_LRC) No other toolbox or download is needed. The reference run started from`restoredefaultpath` with only the two repositories in `deps/`, which confirms that thearchive is self-contained apart from them. ## Layout ```HM_analysis.mlx main live script - run thisdata/ HM_data.mat raw device recordings, one element per participantcode/ hm_setup.m paths, dependency and toolbox checks, EVERY analysis threshold hm_process.m one participant: raw signals -> breathing pattern + coupling hm_process_all.m loop over participants hm_segment.m summaries per ROF prompt and per participant hm_stats.m raw and time-adjusted associations, linear mixed models hm_clmm.m ordinal (cumulative-logit) mixed models hm_classify.m leave-one-participant-out classification of ROF hm_robustness.m classification and association sensitivity analyses hm_figures.m all article and supplementary figures hm_export.m results tables (CSV and one XLSX) lib/ check_RIP_signal.m flat-signal and gap check of raw RIP channels hip_SR_Benson.m initial contacts and step rate from trunk acceleration hm_sampen.m sample entropy third_party/HRV/ RMSSD and DFA, HRV toolbox by M. Vollmer (MIT, see LICENSE.txt) tools/ hm_build_data.m provenance only: how HM_data.mat was built from the study files hm_clmm_simulation.m parameter-recovery check of the ordinal mixed modeldeps/ empty: clone the two algorithm repositories here (step 1)results/ reference run, rewritten by HM_analysis figures/ PDF (vector), PNG (300 dpi), FIG tables/ CSV + HM_results.xlsx (one sheet per table) HM_analysis_log.txt console output of the reference runsupplementary/ HM_Supplementary_Information.docxdocs/ HM_analysis.m plain-text copy of the live script, readable without MATLAB``` ## Data: `data/HM_data.mat` The file holds `HM`, a 1×15 struct array with one element per enrolled participant(`HM(k).id = k`), and `info`, a short description. Every timetable uses `duration` row times.Race recordings are zeroed to the start of the run, and seated recordings to their own start. | field | content | rate ||---|---|---|| `resp` | respiratory inductance plethysmography, `thc` (rib cage) and `abd` (abdomen), arbitrary units. Hexoskin polarity: signal **maximum = end-expiration** | 128 Hz || `acc` | trunk accelerometer `accx accy accz` (g), Hexoskin | 64 Hz || `hr` | heart rate (bpm), chest strap; incomplete for some runners | 1 Hz || `speed` | running speed (m/s), GPS watch, smoothed; incomplete for some runners | 1 Hz || `rof` | at each prompt: rating of fatigue `rof` (1–10; Micklewright et al. 2017) and `hr`, the mean HR over the preceding interval (chest strap, or Hexoskin ECG where the strap failed; Prigent et al. 2022) | ~5 min || `seated_pre`, `seated_post` | 5-min quiet seated RIP (`thc`, `abd`) before and after the run, used for calibration | 128 Hz | Participants 2 and 5 have no respiration recording. Participant 13's thoracic channel isflat, and the pipeline rejects it automatically. Participants 3 and 6 have breathing databut no usable rating-of-fatigue audio. The analysis therefore includes 12 participants forbreathing and coupling, and 10 for all fatigue analyses. **De-identification.** Participants are identified only by a number from 1 to 15. The filecontains no names, birth dates, demographic or anthropometric data, calendar dates, clocktimes, GPS positions or audio. The ratings of fatigue were transcribed from the spokenrecordings, which are not shared. The study was approved by the EPFL human research ethicscommittee (HREC 039-2018). GPS speed underestimates the known race distance by about a quarter. Average pace istherefore computed from distance and running time, and speed is only shown relative to eachrunner's own mean. Speed is not used in any statistical analysis. ## Algorithms | step | function | source ||---|---|---|| raw-signal check | `check_RIP_signal` | this archive, `code/lib` || bandpass, breath segmentation | `rip_bandpass`, `segment_RIP`, `segment_ABD` | hexoskin-rip-algorithms; Harbour et al. (2021) *Sensors* 21:5606 || validity gate | `rip_quality` | hexoskin-rip-algorithms || calibration (QDC) | `rip_calibrate_K` | hexoskin-rip-algorithms; Sackner et al. (1989) || breathing pattern, %RC, TAC | `enrich_BP` | hexoskin-rip-algorithms || steps | `hip_SR_Benson` | this archive, `code/lib`; after Benson et al. (2019) *Sensors* 19:1483 || coupling, attachment | `calc_LRC`, `circular_coherence` | calc_LRC v1.0.0; Harbour et al. (2023) *Front Sports Act Living* 5 || breath-time variability | `RMSSD`, `DFA` | HRV toolbox, M. Vollmer (MIT), `code/third_party/HRV` || sample entropy | `hm_sampen` | this archive; Richman & Moorman (2000) | ## Outputs Figures (`results/figures`): | file | content ||---|---|| `Fig1_signal_example` | RIP and trunk acceleration, participant 11 (Methods figure) || `Fig2_ROF_speed` | rating of fatigue and relative speed across the run || `Fig3_breathing_pattern` | HR, f<sub>R</sub>, breath depth, Δ%RC, TAC and sample entropy across the run || `Fig4_LRC_by_participant` | locomotor-respiratory coupling by runner || `Fig5_raw_vs_time_adjusted` | within-runner associations with ROF, raw and adjusted for time-on-task || `FigS1_calibration_and_validity` | Supplementary Figure S1 | The file numbers follow the pipeline, not necessarily the final figure numbers in the article. Tables (`results/tables`; each is also a sheet of `HM_results.xlsx`): | file | content ||---|---|| `Table_classification` | Table 1: leave-one-runner-out classification of ROF class || `Table_participants` | per-runner summary, calibration, signal quality and coupling || `Table_rof_observations` | the analysis dataset, one row per rating (172 rows) || `Table_group_correlations`, `Table_within_participant_correlations` | raw and time-adjusted Spearman associations, group and per runner; `rho_MDE` is the smallest detectable mean association || `Table_mixed_models` | linear mixed models || `Table_ordinal_mixed_models` | cumulative-logit mixed models, ROF 1–10 and 3 classes || `Table_classification_paired` | paired per-runner differences in accuracy (physiology + time vs time, and each vs the majority-class baseline), for every sensitivity pipeline || `Table_classification_by_participant` | accuracy, κ and F1 for every held-out runner and model || `Table_classification_confusion`, `Table_classification_recall` | pooled confusion counts, per-class recall and precision || `Table_classification_sensitivity`, `_filtering`, `_tuning` | Table 1 with per-fold feature filtering and per-fold hyperparameter tuning; features and settings chosen in every fold || `Table_classification_seeds`, `_seeds_summary` | 20 random seeds || `Table_classification_rof10` | classification of all ten ROF levels || `Table_sensitivity_noP10_correlations`, `_noP10_classification` | without participant 10 || `Table_sensitivity_jackknife` | time-adjusted mean ρ leaving out each runner in turn | ## Licence Code: MIT (see `LICENSE`). Data and supplementary information: CC BY 4.0.`code/third_party/HRV` keeps its MIT licence (see the `LICENSE.txt` in that folder). The twoalgorithm repositories are distributed separately under their own MIT licences. ## How to cite Please cite the article and this archive (see `CITATION.cff`). If you use the algorithms,please also cite the two repositories and the papers listed under Algorithms.

提供机构:
Zenodo
创建时间:
2026-11-03
二维码
社区交流群
二维码
科研交流群
商业服务