1. The Sensor Layer: Polar H10
The foundation of Your Rhythm Studio is medical-grade data acquisition. While consumer smartwatches use Photoplethysmography (PPG) — measuring blood volume changes via light — the Polar H10 captures the actual electrical potential of the heart (Electrocardiography).
Why ECG Beats PPG for Arrhythmia Detection
Wrist-based optical (PPG) sensors are convenient for tracking average heart rate during exercise, but they have fundamental limitations for cardiac monitoring:
- No waveform: PPG measures blood volume changes, not electrical activity. It cannot see the P wave, QRS complex, or T wave — the morphological features needed to classify PVCs, PACs, and other arrhythmias.
- Motion artifacts: PPG is severely degraded by wrist movement, making it unreliable during walking, gym sessions, or restless sleep. ECG chest straps are positioned close to the heart and are far more resistant to motion noise.
- Averaging windows: Most PPG-based devices average heart rate over 5–10 second windows, smoothing out the very beat-to-beat variability that reveals ectopic events. The H10 streams every single R-R interval in real time.
- Skin tone bias: Optical sensors are less accurate on darker skin tones due to light absorption differences. ECG electrodes measure electrical signals, which are unaffected by skin pigmentation.
This is why every clinical Holter monitor uses electrodes, not optics — and why the Polar H10 is the sensor of choice for serious cardiac analysis.
Clinical Validation
The Polar H10 is not just a consumer fitness device — it has been validated against clinical-grade equipment in multiple peer-reviewed studies:
- HRV validation (2022): A study of 25 participants compared the H10 against a 12-lead clinical ECG during rest and incremental cycling. At rest, RR interval correlation was r = 0.95 (ICC = 0.95). During exercise, correlation remained r > 0.93. Bland-Altman bias for RR intervals was under 1 ms — effectively negligible.
- Holter comparison in cardiac patients: A pilot study validated the H10 against Holter monitors in patients with atrial fibrillation, heart failure, and post-cardiac rehabilitation, confirming its accuracy in clinically vulnerable populations.
- RR interval precision: Polar's own white paper reports the H10 detects RR intervals with an accuracy of 2 ms — sufficient for HRV analysis and ectopic beat timing.
Sources: Siegmund et al. (2022), Sensors; Gilgen et al. (2023), Europace; Polar H10 White Paper.
Full Sensor Specifications
130 Hz sampling, output in µV
25 / 50 / 100 / 200 Hz, 2G / 4G / 8G ranges
1 Hz via standard BLE HR service
Bluetooth LE, ANT+, GymLink (5 kHz)
CR 2025, 400 hours lifetime
Two BLE connections advertised; in practice only one GATT connection completes service discovery at a time — see Help if your sensor won't connect
ECG and accelerometer raw data are accessed via Polar's SDK using custom GATT characteristics — not available through standard fitness apps.
The QRS Structure
The QRS complex is the most prominent feature of an ECG signal. It represents the rapid depolarization of the left and right ventricles. Because the ventricles contain more muscle mass than the atria, the QRS complex is much larger than the P wave.
My detection pipeline focuses on the R-peak (the highest point) as a temporal anchor. I measure the QRS width (from the start of the Q-wave to the end of the S-wave) to distinguish between narrow-complex (supraventricular) and wide-complex (ventricular) events.
Technical Deep Dive: Signal Characteristics
- Sampling Rate: 130 Hz native sampling. Each second of data contains 130 voltage measurements.
- Lead Configuration: Single-lead (equivalent to Einthoven Lead I/II depending on strap placement).
- Transmission: Bluetooth Low Energy (BLE) HRP profile for heart rate and a custom GATT characteristic for raw ECG streaming.
- Bandpass Filter: 4th-order Butterworth bandpass (0.05–25 Hz) to remove baseline wander and high-frequency muscle noise while preserving QRS morphology.
2. Arrhythmia Detection Pipeline
Detecting an arrhythmia requires more than just an AI model. It involves a multi-stage pipeline that cleans, segments, analyzes, and then validates every single heartbeat.
Morphology vs. Timing
Arrhythmias are detected using two complementary methods:
- Morphology (The Shape): The AI looks for "Wide and Bizarre" QRS complexes, which are the hallmark of PVCs (Premature Ventricular Contractions).
- Timing (The Rhythm): Some events, like PACs (Premature Atrial Contractions), may look morphologically normal but appear "early" compared to the baseline rhythm. I use a 4-gate state machine to catch these: Gate 1 detects prematurity (≥20% early), Gates 2+3 validate the compensatory pause, and Gate 4 confirms return to baseline rhythm.
Distinguishing AFIB from Ectopic Beats
Atrial Fibrillation and ectopic beats both produce irregular RR intervals, but they are fundamentally different arrhythmias. Ectopic beats are isolated extra beats — 1 to 3 consecutive irregular intervals with a compensatory pause. AFIB is a continuous, chaotic rhythm — many consecutive irregular intervals with no compensatory pattern.
My run-based AFIB detector classifies runs of consecutive irregular RR intervals:
- 1–3 consecutive irregular beats: Ectopic (already detected by the 4-gate timing logic)
- 3+ with alternating short-long pattern: Bigeminy or trigeminy (detected by pattern recognition)
- 5+ consecutive irregular beats with no alternating pattern: AFIB — confirmed by coefficient of variation (CoV > 12%) and morphology validation
Additionally, a CoV fallback detector catches sustained irregularity (CoV > 30% over 20 beats) that doesn't form clean runs, and an ectopic cluster reclassifier converts dense ectopic clusters (5+ ectopics in 10 seconds) into AFIB detections. During confirmed AFIB periods, individual ectopic detections are suppressed to prevent false positives from AFIB's chaotic rhythm.
A global ectopic density cap limits ectopic detections to 1 per 60-second window when density exceeds 1 per 15 seconds (or 1 per 40 seconds if AFIB is present). This prevents cascading false positives from noisy RR intervals. Finally, an ECG noise gate — using variance ratio and zero-crossing rate — identifies noisy signal regions and suppresses all detections within them, matching the phone app's real-time noise detection logic.
Technical Deep Dive: The Neural Network (AgeV4)
Arrhythmia Agent: Uses a 1D-Convolutional Neural Network (1D-CNN) trained on the MIT-BIH Arrhythmia Database. It analyzes a 1-second window (130 samples) centered on the R-peak (43 samples before, 87 after).
Rule-Based Overrides: To prevent false positives, I apply a "Safety Guard." If the AI classifies a beat as a PVC ('V') but the calculated QRS width is less than 50ms, it is automatically reverted to a Normal ('N') classification, as true ventricular beats are physiologically wider.
Validation Results: Holdout Test (85 files, 4 datasets)
The detection pipeline was validated against four open-access ECG databases. Files were split into tune (50%) and holdout (50%) sets — only holdout results are reported here to avoid overfitting:
- VitalDB (43 holdout files): Clinical ECG recordings from surgical patients — diverse arrhythmias including AFIB, bigeminy, VT, and bradycardia.
- SHDB (7 files): Smart Heart Database — Polar H10 recordings from confirmed AFIB patients, providing sensor-matched validation.
- PhysioNet Apnea-ECG (35 holdout files): Sleep apnea annotations for validating the apnea detection agent. The x-records are the official PhysioNet test set.
- Zenodo Cyclist (10 holdout files): High heart rate ECG during cycling — stress-tests ectopic detection under exercise conditions.
Holdout results (85 files, 1,277 ground-truth events):
- Precision: 66.8% — up from 23.8% before noise gating and density cap fixes (89% reduction in false positives).
- Sensitivity: 34.1% — trades some recall for high precision, prioritising low false-positive rate for clinical trust.
- Type mismatches: 112 (down from 177) — mainly boundary cases between PAC, bigeminy, and AFIB that require morphology context to resolve.
- AFIB: 19 GT, 21 detected — close match.
- Apnea: 30 GT, 19 detected — under-detecting; threshold sweep confirmed 0.85 as optimal.
- Bigeminy: 21 GT, 14 detected — threshold relaxation tested but increased FPs more than TPs.
The pipeline uses a deterministic 50/50 hash split by filename. Apnea a/b/c-records are training set (used to train the apnea agent); x-records are the official PhysioNet holdout. No leakage was detected — model performs equally on both sets.
Dashboard Re-Classify: Retrospective Second Opinion
The dashboard's Re-Classify (Full Agent) button performs a retrospective re-analysis of the entire session using the full ECG waveform — not just the RR intervals recorded by the phone. It runs the same run-based AFIB detection as the phone app, plus additional detectors that require full-session context:
- Run-based AFIB detection: Same 5+ consecutive irregular beat logic as the phone, with CoV fallback and morphology validation.
- Morphology template scan: Builds a median beat template from clean beats and flags any beat whose shape differs significantly (Pearson correlation < 0.70). This catches interpolated PVCs — beats with abnormal QRS morphology but normal RR timing that the phone's 4-gate timing detector cannot see.
- HRV-suppressed detector: Scans for 60-second windows with abnormally low SDNN, indicating concealed bigeminy or trigeminy masquerading as regular rhythm.
- Re-windowing fix: Corrects bloated ectopic snapshot regions from older phone sessions to tight 400ms-before / 150ms-after windows around each event.
- TFLite model re-classification: Re-runs the 1D-CNN classifier on re-windowed beats with the full session median RR for better local context.
Findings are presented as accept/reject cards in the sidebar, allowing users to review each suggested change before applying it. Corrected CSVs are saved to the PC only — the original file on the phone is not modified.
A note on training data
The validation datasets above are clinical recordings. Real-world Polar H10 ECG examples of many arrhythmias remain scarce — and that's where you can help. If you felt an event the app missed, or it flagged one you didn't feel, submit the session for review. Every real recording improves the pipeline.
3. Dual-Agent AI Architecture
Analysis is performed by two independent Neural Networks, collectively referred to as the AgeV4 architecture. These agents are optimized for on-device inference using TensorFlow Lite.
130 samples
Feature extraction
Downsampling
Classification
Probabilities
Agent 2: Apnea Detector
A temporal monitor that looks for long-term patterns in heart rate variability associated with breathing cessation events during sleep.
Technical Deep Dive: Apnea Architecture
Apnea Agent: A Temporal 1D-CNN with Global Max Pooling. It analyzes 60-second windows (7,800 samples) to detect Respiratory Sinus Arrhythmia (RSA) disruptions.
Input: (batch, 7800, 1). Binary output (Apnea/Normal). Trained on the PhysioNet Apnea-ECG Database.
4. The Mobile Engine
The Android app serves as the real-time processing hub. It performs signal denoising, beat detection, and AI inference without ever sending your raw data to a cloud server.
Privacy & Efficiency
By running the neural networks locally (on-device), I achieve two goals: Total Privacy (your ECG never leaves your phone) and Real-time Feedback (latency is measured in milliseconds, not seconds).
Technical Deep Dive: Preprocessing Pipeline
- Pan-Tompkins Algorithm: A digital bandpass filter (5-15Hz) followed by derivative and squaring operations to isolate the QRS spike.
- Z-Score Normalization: Each window is normalized
(val - mean) / stdto make the AI invariant to sensor gain or skin contact quality. - Event Stitching: To save space, the app can export "Events Only" files which contain high-resolution 130Hz data only around detected anomalies, while maintaining a 1Hz trend for the rest of the session.
5. Sleep & Respiratory Science
When you select the Sleeping activity, the app activates a specialized multi-modal analysis pipeline combining heart rate, HRV, and accelerometer data.
Sleep Staging (Hypnogram)
I classify sleep into Wake, Light, Deep, and REM using a proprietary algorithm based on two primary inputs:
- Motion (ENMO std): The standard deviation of gravity-subtracted acceleration identifies waking periods.
- HRV (RMSSD): High RMSSD with low motion indicates REM sleep; low RMSSD with zero motion typically indicates Deep sleep.
Respiratory Rate Estimation
While you sleep, your chest movement modulates the accelerometer signal. I use a windowed Fast Fourier Transform (FFT) on the Z-axis (up/down) movement to isolate the breathing frequency (typically 0.1 to 0.5 Hz).
6. Biofeedback & Coherence Training
The Polar H10 doesn't just measure your heart — it can help you actively improve it. My guided meditation turns the same chest-strap data into a real-time, closed-loop biofeedback session. Tiny accelerometer movements from your chest are fused with your heart rate and beat-to-beat (RR) intervals, and the result is fed back to you as adaptive audio that responds to your body in real time.
A Closed Loop: Measure → Guide → Improve
- Measure: The H10 streams ECG, RR intervals, and 3-axis accelerometer data at up to 130 Hz.
- Estimate breathing: The accelerometer tracks the direction your chest tilts as you breathe — calibrated on the fly, per session — with ECG-derived respiration (EDR) as a fallback when movement is too subtle.
- Guide: A real-time soundscape engine renders real recorded sound through a 3D spatial renderer — each layer sits at a depth and direction around your head — driven continuously by your physiology, never step-changes, always gradual. Best experienced on headphones.
- Improve: Resonance breathing strengthens parasympathetic tone, which typically raises HRV (RMSSD) over the session.
A Living Soundscape, Driven by You
The meditation engine is not a timer with background music. Every preset is a layered soundscape built from real recordings, mixed and spatialised around your head in real time. Choose a soundscape on the duration picker and switch it mid-session — the preference is remembered between sessions. The fourteen presets fall into four families:
- Guided breathing — Resonance I–III and Breath Shepherd: the flagship. Resonance hides a shimmer inside a quiet room ambience that only blooms when your heart rate and breathing synchronise — it measures the peak-to-peak swing of your heart rate within each breath (the same RSA amplitude used in HRV biofeedback) and rewards coupling with sound. Three difficulty levels set how much synchrony the shimmer demands, so it works as genuine progression training. Breath Shepherd is a guide tone that meets your actual breathing rate, then slowly leads it down toward ~6 breaths per minute.
- Breath-reactive — Ocean Breath, Moonlit Shore, Expanding Space: the soundscape starts close and narrow in front of you on the inhale, expands through 3D space, then contracts on the exhale — waves that literally breathe with you.
- Your heartbeat — Inner Pulse, Lub-Dub Heart, Endless Descent, Heart Keys: your pulse becomes the instrument — real-time beats, lub-dub pairs, an endlessly descending Shepard tone stepped by each beat, or a pentatonic melody whose rises and falls are your live HRV.
- Brainwave tones — Theta Drift, Alpha Calm, Sleep Drift: classic binaural entrainment carriers (theta/alpha/delta), best on headphones. Sleep Drift also fades to near-silence once your breathing settles into a sleep-like rhythm.
This is not the sound of a babbling brook on a timer — it is a deep physiological experience that listens to your body and answers in sound. The Resonance soundscape alone is worth downloading the app for, even if you never use anything else: it is the kind of feature many apps charge for as a standalone subscription. In Your Rhythm Studio, it is included in the free Android app — because the best use of heart data is not just to report it, but to help you change it.
7. HRV & RHR Baselines
The most important data point in Your Rhythm Studio is your Morning Baseline. Your autonomic nervous system is a sensitive indicator of stress, recovery, and impending illness.
The Autonomic Nervous System and the Heart
Your heart rate is constantly modulated by two opposing branches of the ANS:
- Sympathetic ("fight or flight") — speeds the heart, suppresses HRV. Activated by stress, exercise, fear.
- Parasympathetic ("rest and digest") — slows the heart, increases HRV. Dominant during sleep and recovery.
HRV is the net result of this push-pull balance. When parasympathetic activity is high (you are calm, rested, recovered), the intervals between heartbeats vary more — a sign the brain is actively fine-tuning cardiac output. When sympathetic activity dominates (exercise, stress, illness), intervals become more uniform and HRV falls.
RMSSD Interpretation Ranges
Important: RMSSD values are highly individual. Track your own baseline over time rather than comparing to published population averages.
Resting Heart Rate (RHR) Interpretation
Why "First Thing in the Morning"?
Measurements taken after coffee, stress, or a commute are "contaminated" by sympathetic activation. For a true baseline, you should measure RHR and HRV while sitting or lying still immediately after waking. This represents your body's "ready state" for the day.
Resting Heart Rate (RHR): An indicator of overall cardiovascular efficiency. A rising RHR often precedes symptoms of overtraining or viral infection.
HRV (RMSSD): An indicator of parasympathetic (recovery) dominance. A significant drop in your morning HRV suggests that your nervous system is still under stress from previous days.
8. Heart Rate Recovery Science
Heart Rate Recovery (HRR) measures how quickly your heart rate returns to baseline after exertion. It is a well-established clinical indicator of cardiovascular fitness and autonomic health.
The phone app measures your recovery using the Cool Down activity. It records your heart rate at the moment you select Cool Down (your peak HR) and again 60 seconds later (your recovery HR).
Rather than reporting the raw BPM drop, the app stores your relative recovery percentage. This scales the drop to how hard your heart was working, making it easier to compare recovery across different intensities.
For example, if your peak HR was 150 bpm and your HR after 60 seconds was 120 bpm, your HRR would be 20%. If your peak was 180 bpm and your recovery HR was 144 bpm, your HRR would also be 20%.
HRR Interpretation
Best practice: Use the same peak-effort protocol each time (e.g. finish a hard effort, immediately select Cool Down) so the percentage is comparable day-to-day.
Auto Cool Down Detect Methodology
The phone app offers an optional Auto Cool Down Detect setting (off by default) that captures the peak-at-cessation HR more faithfully by eliminating the manual phone-interaction delay. When enabled, a 3-way trigger fires during a recording if: (1) the user double-taps the sensor, (2) ACC movement drops by ≥60% within 10 seconds, and (3) HR falls by ≥5 bpm within the same window. The tap makes user intent explicit; the ACC and HR signals confirm the user actually stopped and recovery began.
The peak HR is sampled from the live HR stream at the moment the trigger fires — typically within 2 seconds of actual exercise cessation. This matches the clinical HRR1 protocol (peak HR at cessation minus HR 60 seconds later) more closely than the manual flow, where 10–30 seconds of phone fumbling causes the sampled "peak" to be understated. The app does not use session-max HR, because in real-world workouts the maximum HR often occurs mid-session rather than at the end; using session-max would conflate the fast and slow recovery phases and produce inflated HRR percentages.
9. Training Zones & Exercise Physiology
Heart rate zones divide your effort into training intensities based on a percentage of your maximum heart rate. The dashboard and phone app use the Karvonen method, which factors in your resting heart rate for personalised zones.
Zone boundaries are calculated automatically from your age and resting HR, but can be manually adjusted in the phone app's Settings → Heart Rate Zones section. The dashboard displays zones as a coloured band beneath the ECG trace when the Zone toggle is enabled.
9b. Health Metrics Methodology & Reliability Grading
YourRhythm computes 99 health metrics from each session's RR intervals, ECG signal, breathing data, and user profile. Each metric is assigned a reliability grade (A–D) based on input quality, formula validity, and expected measurement error.
Grading Criteria
| Grade | Criteria |
|---|---|
| A | Direct formula with exact inputs. Error < 2%. Absolute values are trustworthy. Example: BMI (weight/height²), SDNN (standard deviation of measured RR intervals). |
| B | Validated estimation from measured data. Error 2–10%. Absolute values approximate; trends are reliable. Example: LF/HF ratio (depends on resampling and windowing), TRIMP (depends on HRmax estimate). |
| C | Trend-reliable only. Error > 10% or depends on population assumptions. Track changes, not absolute values. Example: CTL/ATL (sensitive to decay constant and history length). |
| D | Experimental. Research-stage metric; interpretation may change. Use with caution. |
Session Metrics
Session Duration (Grade A): Total recording length in minutes. Direct computation from the first to last ECG sample timestamp.
Heart Rate Metrics
Resting Heart Rate (RHR) (Grade A): Average heart rate during the lowest-activity period of the session, identified from the accelerometer signal. Direct computation from validated RR intervals.
Avg / Min / Max BPM (Grade A): Mean, minimum, and maximum heart rate across the entire session. Direct from the cardiac report's beat-to-beat HR series.
HR Range (Grade A): Max HR − Min HR. Direct computation.
Mean RR Interval (Grade A): 60000 / avgBpm. Direct conversion from the average heart rate to the mean inter-beat interval in milliseconds.
Session-Level HRV
RMSSD (Grade A): The primary session-level HRV metric. Computed as √(Σ(RRi+1 − RRi)² / (n−1)) from all clean RR intervals in the session. The trends column prefers the spot measurement when available, falling back to sleep RMSSD. See Time-Domain HRV below for the health-metrics variant.
SD1 (Grade A): Poincaré short-term variability for the session. SD1 = RMSSD / √2. See Poincaré Analysis below for the health-metrics variant.
Spot Measures
Spot RHR (Grade A): Heart rate measured during a dedicated resting HRV & RHR spot measurement in the app (typically 60 seconds). More reliable than session-wide RHR for daily trending.
Spot HRV (Grade A): RMSSD measured during the dedicated spot measurement. More reliable than session-wide HRV for daily trending because the recording conditions are controlled.
HRR % (Grade B): Heart rate recovery percentage in the first 60 seconds after peak exercise: ((peak HR − recovery HR) / peak HR) × 100. Grade B because recovery HR depends on when the cool-down measurement starts. >20% is typically good; <10% may indicate poor cardiovascular recovery.
HRR Start BPM (Grade A): Peak heart rate at the start of the HRR measurement. Direct from the HR stream.
HRR Score (Grade B): Composite score derived from HRR percentage thresholds. Grade B because it combines the estimated HRR % with population-derived threshold bands.
Rhythm Events
Ectopic Beats (Grade B): Count of premature beats (PVC + PAC) detected by the arrhythmia pipeline. Grade B because single-lead ECG cannot reliably distinguish PVC from PAC, and detection sensitivity is ~95%.
AFIB Beats (Grade C): Count of beats classified during atrial fibrillation. Grade C because AFIB detection from a single lead has lower specificity than clinical 12-lead ECG.
VT Beats (Grade C): Count of beats during ventricular tachycardia. Grade C because sustained VT is rare in ambulatory recordings and false positives are possible with noise or artifact.
Pauses (Grade B): Count of pauses (RR interval > 2 seconds). Direct from the RR interval series, but Grade B because the 2-second threshold is convention-based.
Bigeminy / Trigeminy (Grade B): Count of beats in alternating (bigeminy) or every-third (trigeminy) premature beat patterns. Detected from the RR interval pattern analysis.
Bradycardia (Grade A): Count of beats during heart rate < 50 bpm. Direct threshold-based computation from the HR series.
Apnea Events (Grade C): Count of apnea events detected via HR drop-surge patterns during sleep. Grade C because ECG-based apnea detection is an estimation, not a direct measurement of airflow.
Ectopic Total (Grade B): Total PVC + PAC beats — same as the ectopic count, provided as a convenience column.
Ectopic Burden % (Grade B): (PVC + PAC) / total beats × 100. <1% is normal; 1–10% warrants monitoring; >10% is clinically significant.
AFIB Burden % (Grade C): Time in AFIB as a percentage of total session time. Grade C because it depends on AFIB detection specificity.
Total Rhythm Events (Grade B): Sum of all anomaly counts (ectopic + AFIB + VT + pause + bigeminy + trigeminy + bradycardia + apnea).
User Events (Grade B): Count of event regions marked by the detection pipeline (excluding Normal, Noise, Artifact, Unknown).
HR Zones
Zone 1–5 Time (Grade B): Time spent in each of the five heart rate zones, converted from seconds to minutes. Zones are defined as percentages of age-predicted max HR (220−age): Zone 1 (<57%), Zone 2 (57–63%), Zone 3 (63–76%), Zone 4 (76–96%), Zone 5 (>96%). Grade B because the zone boundaries depend on the population-derived 220−age formula.
Data Quality Metrics
Breathing Confidence (Grade A): Average confidence of the respiratory rate estimates across all epochs. Direct from the EDR/ACC fusion algorithm. Values < 0.5 indicate respiratory metrics may be unreliable.
Total ECG Samples (Grade A): Total ECG data samples in the session. Direct count from the recording.
Breathing Rate Variability (Grade B): Coefficient of variation of breathing rate across epochs. Direct computation, but Grade B because it depends on the quality of the underlying breathing rate estimates.
Total Breathing Epochs (Grade A): Total number of 30-second breathing epochs processed. Direct count.
High Quality Epochs (Grade A): Epochs with high fusion confidence. Direct count from the EDR/ACC fusion algorithm.
Avg EDR Weight / Avg ACC Weight (Grade A): Average fusion weights for the ECG-derived respiration (EDR) and accelerometer (ACC) signals. Direct from the fusion algorithm — indicates which signal dominated breathing rate estimation.
Fusion Stability (Grade A): Stability of the EDR/ACC fusion over time. Direct computation from the fusion weight time series.
User Profile Metrics
BMI (Grade A): Body Mass Index = weight / height². Direct formula with exact user-entered inputs.
BMI Category (Grade A): WHO classification derived from BMI: Underweight (<18.5), Normal (18.5–25), Overweight (25–30), Obese (>30).
BMR (Grade B): Basal Metabolic Rate (Mifflin-St Jeor equation). Estimated daily calories at rest. Grade B because the formula is a population average with individual variation of ±10–15%.
BSA (Grade A): Body Surface Area (Mosteller formula): √(height × weight / 3600). Direct formula with exact inputs. Used for cardiac index normalization.
Time-Domain HRV
SDNN (Grade A): Standard deviation of all NN (RR) intervals. Direct statistical computation from clean RR data. Reflects overall HRV. Sensitive to recording length — longer sessions yield higher SDNN.
RMSSD (Grade A): Root mean square of successive RR differences. The primary parasympathetic tone marker. Computed as √(Σ(RRi+1 − RRi)² / (n−1)). Robust to recording length.
pNN50 (Grade A): Percentage of successive RR intervals differing by more than 50 ms. Direct count-based computation.
CV (Grade A): Coefficient of variation = SDNN / meanRR. Normalized HRV, allows comparison across different recording lengths.
Poincaré Analysis
SD1 (Grade A): Short-term variability. SD1 = RMSSD / √2. Measures dispersion perpendicular to the line of identity. Parasympathetic.
SD2 (Grade A): Long-term variability. SD2 = √(2·SDNN² − RMSSD²/2). Measures dispersion along the line of identity. Both sympathetic and parasympathetic.
SD1/SD2 Ratio (Grade A): Autonomic balance index. Higher values suggest greater parasympathetic contribution.
Frequency-Domain HRV (Welch's Method)
RR intervals are resampled at 4 Hz using linear interpolation, detrended, and segmented into 256-point Hann-windowed segments with 50% overlap. The DFT magnitude squared is averaged across segments to produce the power spectral density. Power is integrated within standard frequency bands:
- VLF (0.0033–0.04 Hz): Thermoregulatory, renin-angiotensin
- LF (0.04–0.15 Hz): Mixed sympathetic + parasympathetic, baroreflex
- HF (0.15–0.40 Hz): Parasympathetic (vagal), respiratory sinus arrhythmia
Grade B because results depend on resampling method, window size, and segment overlap. Requires ≥2 minutes of data; ≥5 minutes recommended. nLF and nHF are normalized units (LF or HF divided by LF+HF, ×100). LF/HF Ratio is sympathovagal balance.
Geometric HRV
HRV Triangular Index (Grade B): Total NN count divided by maximum histogram density (7.8125 ms bins). Robust to artifacts but requires ≥20 minutes of data for stable results.
TINN (Grade B): Triangular interpolation of the NN interval histogram baseline width.
Baevsky Stress Index (Grade B): SI = AMo / (2 × Mo × pNN50), where AMo is the mode amplitude (%), Mo is the mode value (seconds). Higher values indicate greater adaptation stress.
Heart Rate Intensity
%HRmax (Grade B): Average HR / age-predicted max HR (220−age) × 100. Grade B because 220−age is a population average with ±10 bpm individual variation.
%HRR (Grade A): Karvonen formula: (HR − restHR) / (maxHR − restHR) × 100. Uses your measured resting HR.
Total Heart Beats (Grade A): Average HR × duration in minutes. Direct computation — cardiac cost.
Arrhythmia Burden
PVC Burden (Grade B): PVC count / total beats × 100. Grade B because PVC detection from single-lead ECG has ~95% sensitivity. <1% is normal; >10% is clinically significant.
PVC/hour (Grade B): PVC count / session duration in hours. Normalizes for different recording lengths.
Ectopic Burden (Grade B): All ectopic beats (PVC + PAC) / total beats × 100.
Arrhythmia-Free Survival (Grade B): Time from session start to first detected arrhythmia event, in seconds.
Training Load
TRIMP (Grade B): Training Impulse (Banister): duration × HRR × e(1.67 × HRR), where HRR = (HR − restHR) / (maxHR − restHR). Grade B because it uses average HR rather than minute-by-minute zones.
ACWR (Grade B): Acute:Chronic Workload Ratio = 7-day TRIMP sum / (28-day TRIMP sum / 4). 0.8–1.3 is the "sweet spot"; >1.5 increases injury risk.
CTL/ATL/TSB (Grade C): Exponentially weighted moving averages of TRIMP. CTL uses 42-day decay, ATL uses 7-day decay. TSB = CTL − ATL. Grade C because the decay constants are population-derived and the metrics require sufficient session history to stabilize.
Respiratory Metrics
Mean / Min / Max Breathing Rate (Grade B): Breathing rate statistics from the EDR/ACC fusion algorithm across all 30-second epochs. Grade B because the fusion estimate depends on signal quality and motion.
Breathing Irregularity Index (Grade B): Coefficient of variation of breathing rate across 30-second epochs. Higher = more variable breathing.
I:E Ratio (Grade B): Total inspiration time / total expiration time from breath cycle data. Normal ≈ 1:2 (0.5). Altered in COPD, anxiety, and meditative breathing.
Breathing Category (Grade B): Eupnea (12–20 br/min), Bradypnea (<12), Tachypnea (>20).
Meditation Metrics
Meditation Duration / Avg BPM / Final RMSSD (Grade A): Duration of the meditation session, average heart rate during meditation, and RMSSD at the end of meditation. All direct computations from the HR/RR streams.
HRV Coherence Ratio (Grade B): LF power / total power. High values (≈0.6–0.9) indicate resonance at ~0.1 Hz (6 br/min).
Breath Pacing Adherence (Grade A): Target breathing rate / actual breathing rate × 100. 100% = perfect adherence to the guided pace.
Resonance Frequency (Grade B): The breathing rate that maximizes RMSSD, estimated by grouping breathing epochs into rate bins and finding the bin with highest weighted HRV. Typically 4.5–7 br/min.
VO2 Max Metrics
VO2 Max Estimate (Grade B): Estimated maximal oxygen uptake (ml/kg/min) from a submaximal treadmill test. The app pairs the Polar H10's steady-state heart rate with the treadmill speed and incline entered by the user, applies the ACSM metabolic equation for the stage, then estimates VO2max using two independent methods and reports the average. Submaximal estimates carry ±10-15% error versus a graded exercise test.
ACSM Metabolic Equations (Grade A): The American College of Sports Medicine equations predict the oxygen cost of walking or running on a treadmill:
- Walking (3–6 km/h): VO2 = 0.1 × speed(m/min) + 1.8 × speed(m/min) × grade + 3.5
- Running (≥8 km/h): VO2 = 0.2 × speed(m/min) + 0.9 × speed(m/min) × grade + 3.5
The "Auto" protocol selects the walking equation below 8 km/h and the running equation at or above 8 km/h.
VO2 Max (Extrapolation) (Grade B): Draws a line through two points — (resting HR, 3.5 ml/kg/min at rest) and (steady-state HR, ACSM stage VO2) — and extrapolates to age-predicted HRmax (220 − age, or the user's override). The VO2 at HRmax is the estimated VO2max. This is the classic single-stage submaximal method.
VO2 Max (%HRR) (Grade B): Uses the Karvonen heart rate reserve formula. The steady-state %HRR = (steadyHR − restingHR) / (maxHR − restingHR) is mapped to %VO2max assuming a linear HR-VO2 relationship, then VO2max = ACSM stage VO2 / %HRR. This method is independent of the resting VO2 assumption and provides a cross-check on the extrapolation method.
Steady-State HR (Grade A): The mean heart rate over the final 60 seconds of the steady-state stage, computed from the H10's RR intervals. The test uses a hybrid capture: a fixed countdown (default 5 minutes) with a "Capture Now" button for early capture. This matches how lab submaximal protocols are typically run — a fixed stage length with the assumption that steady state is reached by the end.
Sleep Metrics
Sleep HRV (RMSSD / SDNN / SD2 / pNN50) (Grade A): HRV metrics computed from overnight RR intervals. Direct computation from clean sleep RR data — the gold standard for sleep HRV. Separate from the spot HRV measurement.
Sleep HRV Trend Slope (Grade B): Linear regression slope of rolling RMSSD windows during sleep. Grade B because the window size and step affect the slope value.
Sleep Stage Minutes (Total / Light / Deep / REM / Wake) (Grade D): Estimated time in each sleep stage. Grade D because stages are inferred from HR and movement patterns, not polysomnography (EEG). Use for trend tracking only; absolute values are not comparable to clinical sleep studies.
Sleep Efficiency (Grade D): Sleep time as a percentage of total time in bed. Grade D because it depends on the estimated sleep stage minutes, which are research-stage estimations.
Nocturnal HR Dip (Grade B): (Resting HR − Sleep HR) / Resting HR × 100. >10% = normal dipper; <10% = non-dipper (associated with 2–3× CV risk). Grade B because it compares to the user-entered resting HR, not a measured same-day awake HR.
Movement Episodes (Grade B): Count of movement episodes detected from the accelerometer during sleep. Direct from the ACC signal, but Grade B because the movement threshold is convention-based.
AHI (Apnea-Hypopnea Index) (Grade C): Estimated apnea events per hour of sleep. Grade C because ECG-based apnea detection is an estimation of airflow limitation, not a direct measurement.
Apnea Severity (Grade C): Categorical classification from AHI: None (<5), Mild (5–15), Moderate (15–30), Severe (>30). Grade C because it depends on the estimated AHI.
Nocturnal RMSSD (Health) (Grade A): RMSSD computed from overnight RR intervals — the health-metrics variant. Direct computation.
Nocturnal HR Dipping (Health) (Grade B): The health-metrics variant of nocturnal HR dipping. Same formula and grade as above.
Longitudinal Trends
RHR/HRV/HRR Trends (Grade A): 7-day linear regression slopes of resting HR, RMSSD, and HRR respectively. Computed from the last 7 days of session data. Negative RHR slope = improving; positive HRV/HRR slope = improving. Grade A because linear regression on measured values is a direct computation, though clinical significance requires ≥4 data points.
10. Clinical References & Datasets
My models and algorithms are built upon decades of clinical research and open-access databases.
- MIT-BIH Arrhythmia Database: Used for training the beat-level classification agent.
- PhysioNet Apnea-ECG Database: Used for training the sleep disordered breathing agent.
- VitalDB: Clinical ECG dataset from surgical patients — used for validating arrhythmia detection across diverse cardiac conditions.
- Smart Heart Database (SHDB): Polar H10 recordings from confirmed AFIB patients — sensor-matched validation for atrial fibrillation detection.
- Zenodo Cyclist ECG (DOI: 10.5281/zenodo.16735771): 20 Polar H10 recordings from cyclists, 130 Hz, ANSI EC57 beat-level annotations — used for stress-testing ectopic detection under exercise conditions with sensor-matched data.
- Task Force on HRV (1996): Standards for measurement, physiological interpretation, and clinical use of HRV.
- Pan & Tompkins (1985): A real-time QRS detection algorithm for ECG signals.
- Siegmund et al. (2022): Validity of the Polar H10 sensor for HRV analysis during rest and exercise. Sensors, 22(17).
- Gilgen et al. (2023): Validation of Polar H10 chest strap vs. Holter in cardiac patients. Europace, 25(Suppl 1).
- Polar H10 White Paper: RR interval accuracy of 2 ms. Polar Electro Oy.