Enquire Now
70+ Topics · Spectre · Spectre · cloud sim Sim · MATLAB · Webots · Hardware · Bangalore 2026

Ppg Pulse Oximeter Design

Simulation · Control · Perception · Hardware — 12 Lead ECG Acquisition — hardware, sensors, cloud dashboards and protocols (Spectre, REST, CoAP, WebSockets) for BE BTech MTech students. Final-year robotics support with Spectre stacks, simulation worlds, reports and viva from Bangalore.

70+
Related Topics
6+
Sim & HW Tools
4.9★
573 Ratings

Benchmarking Open-Source PPG Foundation Models for Biological

March 2026

Keywords: photoplethysmography; biological age; foundation models; PPG embeddings; cardio-

Abstract

A model trained on 212,231 subjects to predict vascular age from PPG (AI-PPG Age, trained on UK Biobank finger PPG) fails when applied to a different clinical population—its predictions collapse to a narrow range (38–67 years) regardless of the patient’s true age. A general-purpose foundation model trained on no age-related objective at all achieves lower error on the same data. We document this reversal, explain its cause, and show that open-source PPG embeddings reliably encode biological aging information across acquisition contexts.

ppg-pulse-oximeter-design Diagram
Figure: System Model & Simulation Flow for Ppg Pulse Oximeter Design

We benchmark three open-source PPG models—Pulse-PPG, PaPaGei-S, and AI-PPG Age— on 906 surgical patients from PulseDB (VitalDB clinical finger PPG, 125 Hz, 10-second seg- ments), using frozen embeddings with Ridge regression and 5-fold stratified cross-validation.

Pulse-PPG achieves MAE = 9.28 years (R2 = 0.388), outperforming both the task-specific AI- PPG Age in linear probe mode (MAE = 9.72) and the combination of heart rate variability with all demographic features (MAE = 9.59). Fusing Pulse-PPG embeddings with demograph- ics yields MAE = 8.22 years (R2 = 0.517, r = 0.725). The age-adjusted PPG age gap correlates significantly with diastolic blood pressure (r = −0.188, p = 1.2 × 10−8), consistent with Apple’s finding that PPG morphology captures vascular aging beyond chronological age. The perfor- mance gap with Apple’s PpgAge (MAE = 2.43 years) is attributable to dataset scale (∼236× fewer subjects) and population differences, not model architecture: our learning curve shows no plateau at 906 subjects. All code is publicly available.

Introduction

Biological age—a measure of physiological deterioration independent of chronological age—is a pow- erful predictor of mortality, cardiovascular disease, and age-related conditions [Jylh¨av¨a et al., 2017]. Traditional biological age clocks rely on blood biomarkers [Levine et al., 2018], DNA methylation [Horvath, 2013], or clinical assessments, limiting their use to periodic clinical visits.

The photoplethysmogram (PPG), a ubiquitous optical signal captured by pulse oximeters and consumer smartwatches, encodes information about arterial stiffness, cardiac output, and auto- nomic function—all of which change with aging [Elgendi, 2012]. In October 2025, Apple introduced PpgAge, a deep learning model trained on 213,593 Apple Health Study participants that predicted chronological age with MAE = 2.43 years from wrist PPG and demonstrated that the PPG age gap (predicted −chronological age) predicted incident cardiovascular disease (HR = 1.46) [Miller et al., 2025].

Arxiv:2603.14030V1 [Cs.Lg] 14 Mar 2026

PpgAge’s reliance on proprietary data (Apple Health Study) and closed-source models, however, limits reproducibility and broader adoption. Two questions remain unanswered: (1) Can open- source PPG foundation models replicate this capability? (2) Does the PPG age signal persist in clinical finger PPG, beyond Apple Watch wrist PPG? Several open-source PPG foundation models have recently emerged.

Pulse-Ppg [Saha Et

al., 2025] is a ResNet-based model pre-trained via contrastive learning on wearable PPG data, while PaPaGei [Pillai et al., 2025] uses a mixture-of-experts ResNet architecture pre-trained on 20 million PPG segments from public datasets. Both produce general-purpose PPG embeddings that can be used for downstream tasks via linear probing.

A critical question for clinical translation is whether foundation model embeddings capture aging information beyond what can be extracted from simple heart rate (HR) and heart rate variability (HRV) features.

Apple reported that HR/HRV alone achieved MAE = 6.1 years on their large dataset (using 30-day aggregated statistics from thousands of segments per subject), compared to 2.43 years for their full model. If foundation model embeddings merely encode HR/HRV, their added complexity would be unjustified.

In this work, we benchmark Pulse-PPG and PaPaGei-S for chronological age prediction on PulseDB [Wang et al., 2023], a public dataset of 5,361 subjects with clinical finger PPG from VitalDB surgical patients and MIMIC-III ICU patients.

We Evaluate Frozen Embeddings With

Ridge regression, compare against HR/HRV and demographic baselines, and test whether the PPG age gap associates with cardiovascular risk factors, an analysis motivated by the key clinical finding from PpgAge.

Dataset

We use PPG segments from the VitalDB subset of PulseDB [Wang et al., 2023], comprising clinical

Pulsedb

provides pre-segmented 10-second windows at 125 Hz (1,250 samples per segment) with per-segment annotations including age, sex, height, weight, BMI, and intra-operative systolic and diastolic blood pressure (SBP, DBP).

From 943 downloaded subject files, 906 were successfully loaded (37 excluded: 29 due to file corruption or malformed h5py object references, 8 due to age < 18). We restrict our analysis to the VitalDB subset, as MIMIC-III subjects in PulseDB lack the complete per-segment demographic annotations (height, weight, BMI, and blood pressure) required for our demographic feature exper- iments. We use up to 50 segments per subject, sampled evenly across available segments, yielding 41,104 total segments. The age distribution spans 18–92 years (mean 60.9, SD 15.6), with 56.2% male subjects.

Foundation Models

Pulse-PPG [Saha et al., 2025]: A 12-block ResNet1D (128 base filters, kernel size 11, max pooling) pre-trained via contrastive learning on wearable PPG from a 100-day field study with 120 partic- ipants. Expects 50 Hz input; we resample from 125 Hz using scipy’s signal.resample. Produces 512-dimensional embeddings directly from the forward pass.

PaPaGei-S [Pillai et al., 2025]: A ResNet1D with Mixture-of-Experts (18 blocks, 32 base filters, 3 experts) pre-trained on 20M PPG segments from public datasets using morphology-augmented contrastive learning. Operates at native 125 Hz. Produces 512-dimensional embeddings.

2

AI-PPG Age [Nie et al., 2025]: A 1D CNN with Squeeze-and-Excitation blocks trained end-to- end on 212,231 UK Biobank subjects for direct vascular age regression using a distribution-aware loss function. Input is a single averaged beat waveform (resampled to 100 samples); output is a scalar age prediction.

We evaluate this model in two modes: (1) zero-shot, using direct age predictions without any adaptation; and (2) linear probe, extracting 192-dimensional pre-dense layer activations via a forward hook on the final convolutional stage and training Ridge regression on these embeddings. Beat templates are extracted by detecting systolic peaks in each 10-second segment, isolating peak-to-peak waveforms, resampling each to 100 samples, and averaging across all valid beats in the segment.

All three models are used as frozen feature extractors—no fine-tuning is performed.

Input

segments for Pulse-PPG and PaPaGei-S are z-score normalized per segment before embedding extraction.

Hr/Hrv Feature Extraction

To contextualize foundation model performance, we extract traditional heart rate and heart rate variability features from each 10-second PPG segment. Systolic peaks are detected using scipy’s find peaks with minimum inter-peak distance of 0.4 s (corresponding to 150 BPM maximum) and minimum prominence of 0.1. Inter-beat intervals (IBI) are computed from successive peak locations and filtered to the physiologically plausible range of 0.3–2.0 s (30–200 BPM). Segments with fewer than 4 detected peaks or fewer than 3 valid IBIs are excluded.

From valid segments, we extract 7 features: mean heart rate (HR), HR standard deviation, HR range, mean IBI, standard deviation of normal-to-normal intervals (SDNN), root mean square of successive differences (RMSSD), and the proportion of successive IBI differences exceeding 50 ms (pNN50). All 41,104 segments (100%) produced valid HR/HRV features.

Age Prediction Pipeline

For each feature set, we train a Ridge regression (sklearn RidgeCV, α ∈{0.01, 0.1, 1, 10, 100, 1000}) to predict chronological age. Features are standardized (zero mean, unit variance) before regression.

We Evaluate The Following Feature Configurations:

1. Baseline: predict the training set mean age for all subjects

3. Hr + Hrv: All 7 Hr/Hrv Features

4. Demographics only: sex, BMI, height, weight, SBP, DBP (6 features) 5. HR/HRV + Demographics: 7 HR/HRV + 6 demographic features (13 features) 6. PPG only: 512-dim embeddings from each foundation model 7. PPG + Demographics: concatenation of embeddings and demographic features (518 fea-

Evaluation Protocol

We use 5-fold stratified cross-validation at the subject level. Subjects are stratified by age decade and assigned to folds via round-robin within each stratum, ensuring balanced age distributions

3

across folds. All segments from a given subject appear in the same fold (no segment-level data leakage). For each test fold, segment-level predictions are averaged per subject to produce a single age estimate. We report subject-level MAE, R2, and Pearson correlation (r), along with per-decade MAE breakdown.

Age Gap Association Analysis

Following Miller et al. , we compute the PPG age gap as predicted age minus chronological age for each subject using cross-validated predictions (each subject’s prediction comes from a fold where it was held out). We test Pearson correlations between the age gap and cardiovascular markers (SBP, DBP, BMI), both raw and adjusted for chronological age via linear residualization. The age-adjusted partial correlation removes the confound that both the age gap and health markers correlate with chronological age.

Statistical significance is assessed at α = 0.05; given three simultaneous tests, the Bonferroni- corrected threshold is α = 0.017.

Age Prediction Performance

Table 1 presents the main results across all models and feature configurations. Table 1: Age prediction performance (5-fold stratified CV, 906 VitalDB subjects). MAE in years.

4

Traditional HR/HRV features provide minimal age prediction capability from 10-second seg- ments (MAE = 11.49, barely improving over the baseline of 11.91). Demographics alone are mod- erately informative (MAE = 10.04), with anthropometric measurements (height, weight) and blood pressure contributing the most signal. Combining HR/HRV with demographics yields MAE = 9.59— the best achievable without deep learning.

Pulse-PPG embeddings alone (MAE = 9.28) outperform the HR/HRV + Demographics com- bination (MAE = 9.59), demonstrating that foundation model embeddings capture morphological aging information in the PPG waveform that goes beyond heart rate, heart rate variability, and body measurements combined.

The fusion of Pulse-PPG with demographics achieves the best overall performance (MAE = 8.22, R2 = 0.517), with low fold-to-fold variance (±0.25 years). The AI-PPG Age model (trained on UK Biobank healthy subjects) shows poor zero-shot transfer to clinical VitalDB data (MAE = 11.50), with predictions compressed to a narrow range (38–67 years) compared to the true age range (18–92 years). This is consistent with a population shift: the UK Biobank model is calibrated for healthy ambulatory subjects, not surgical patients under anesthesia. With linear probe fine-tuning, AI-PPG Age (linear probe) achieves MAE = 9.72, still inferior to Pulse-PPG and PaPaGei-S which were pre-trained on more diverse PPG data.

Figure 1 shows predicted vs. chronological age for all 906 subjects under the best model, illus- trating the regression-to-the-mean pattern at age extremes. Figure 1: Predicted vs. chronological age for the two contrasting models (n = 906 subjects). Left: AI-PPG Age (zero-shot), a task-specific model trained on 212,231 UK Biobank subjects, produces predictions compressed to a narrow range (38–67 years) regardless of true age — a population shift failure. Right: Pulse-PPG + Demographics, a general-purpose foundation model with no age-related training objective, achieves MAE = 8.22 years with predictions well distributed along the diagonal.

Performance By Age Decade

Performance is best for the 50–70 age range (MAE 5–6 years), which contains the majority of subjects. The model struggles with extremes (<40 and >80 years), consistent with regression

Related Journal Articles & DOI Links

Selected peer-reviewed publications relevant to 12 Lead ECG Acquisition. Click the DOI to access the full paper (may require institutional access).

Why Choose Us?

Bangalore guidance for robotics, Spectre and autonomous systems projects.

Spectre & Simulation

Gazebo, cloud twin and Webots worlds with navigation, SLAM and control stacks.

Control & Planning

Compliance, deep learning control, path planning and behavior trees.

Hardware Bring-up

Motors, sensors, ESP32/STM32 firmware and HIL validation paths.

Report & Viva

University-format documentation, PPT and viva preparation.

FAQ

Spectre, Gazebo, NVIDIA cloud twin, MATLAB/Simulink, Webots, Blynk / ThingSpeak, plus Arduino/STM32/ESP32, cameras, LiDAR and motor drivers.
Yes — simulation packages, hardware guidance, report, PPT and viva Q&A.