Methods & signal processing
PPG signal-processing algorithms.
Explore the methods that filter, separate, and interpret PPG—from first principles to learned representations.
Start with the fundamentals
A cleaner signal starts here.
Explore bandpass filtering, then follow the signal into adaptive filters, decomposition, and learned models.
Explore bandpass filteringLMS Adaptive Filter for PPG Signal Processing
The Least Mean Squares (LMS) adaptive filter is the most widely used method for motion artifact removal in wearable PPG. It uses an accelerometer signal as a noise reference to iteratively estimate and cancel the motion-induced noise component from the PPG, adapting its filter coefficients based on the error between the filtered output and the desired clean signal.
Explore methodRLS (Recursive Least Squares) Filter for PPG
The Recursive Least Squares (RLS) algorithm is an adaptive filtering technique that minimizes the weighted sum of past squared errors using an exact inverse covariance matrix update, achieving faster convergence than LMS at the cost of higher computational complexity.
Explore methodICA (Independent Component Analysis) for PPG Signal Separation
Independent Component Analysis (ICA) is a blind source separation technique that decomposes a mixture of signals into statistically independent components without requiring a reference signal. For PPG, ICA applied to multi-wavelength or multi-site recordings can separate the cardiac signal from motion artifacts and other physiological noise sources.
Explore methodSVD (Singular Value Decomposition) Applied to PPG
Singular Value Decomposition (SVD) decomposes a PPG signal matrix into orthogonal signal subspaces, enabling motion artifact removal by truncating or filtering singular components associated with noise. SVD-based methods are particularly effective for colored noise removal in resting-state PPG.
Explore methodKalman Filter Applied to PPG Heart Rate Estimation
The Kalman filter is an optimal recursive Bayesian estimator for linear-Gaussian state-space models, applied to PPG for continuous heart rate tracking by modeling cardiac dynamics as a stochastic state variable and filtering noisy PPG observations. It fuses motion sensor data with spectral PPG features to maintain accurate heart rate estimates during artifact periods.
Explore methodLSTM Networks for PPG Analysis
Long Short-Term Memory (LSTM) networks are recurrent neural networks with gating mechanisms that capture long-range temporal dependencies in sequential data. For PPG analysis, LSTMs learn end-to-end to extract heart rate, detect arrhythmias, and remove motion artifacts directly from raw or minimally preprocessed waveforms, outperforming traditional signal processing in high-noise scenarios.
Explore methodCNN (Convolutional Neural Networks) for PPG Analysis
Convolutional Neural Networks (CNNs) automatically learn hierarchical feature representations from raw PPG waveforms through stacked convolutional layers with learned filters. For PPG, 1D CNNs applied to beat segments achieve state-of-the-art performance in arrhythmia classification, signal quality assessment, and disease biomarker extraction.
Explore methodTransformer Models Applied to PPG Analysis
Transformer models use multi-head self-attention mechanisms to model long-range dependencies in sequential data without recurrence, achieving state-of-the-art performance in PPG tasks including heart rate estimation, AF detection, and waveform reconstruction by attending to relevant temporal context across the entire signal window simultaneously.
Explore methodWavelet Decomposition in PPG Signal Processing
Wavelet decomposition decomposes a PPG signal into time-frequency components by correlating the signal with scaled and shifted wavelet basis functions, providing simultaneous time and frequency resolution superior to the short-time Fourier transform for analyzing the non-stationary, quasi-periodic PPG signal.
Explore methodEmpirical Mode Decomposition (EMD) for PPG Processing
Empirical Mode Decomposition (EMD) is a data-adaptive signal decomposition method that decomposes a PPG signal into a finite set of Intrinsic Mode Functions (IMFs) through an iterative sifting process, without requiring predefined basis functions. Each IMF represents a natural oscillation mode of the signal, enabling adaptive separation of cardiac, respiratory, and motion artifact components.
Explore methodNLMS (Normalized LMS) Adaptive Filter for PPG
The Normalized Least Mean Squares (NLMS) algorithm adapts the LMS step size by dividing by the input signal power, eliminating sensitivity to input scaling and providing more consistent convergence across varying motion intensities in PPG wearables.
Explore methodPan-Tompkins Algorithm Adapted for PPG
The Pan-Tompkins algorithm, originally designed for ECG QRS detection, has been adapted for PPG systolic peak detection through modified bandpass filtering (0.5–8 Hz for PPG vs. 5–15 Hz for ECG), derivative-based slope enhancement, signal squaring, moving window integration, and adaptive dual-threshold decision logic.
Explore methodPPG Beat Segmentation Algorithms
PPG beat segmentation divides a continuous PPG signal into individual cardiac cycle waveforms by detecting beat boundaries at pulse onset (foot) points. Accurate segmentation is prerequisite for morphological analysis, enabling extraction of systolic time, diastolic time, pulse area, and waveform shape features.
Explore methodFFT-Based Heart Rate Estimation from PPG
FFT-based heart rate estimation computes the power spectrum of a PPG signal window and identifies the dominant spectral peak in the cardiac frequency band (0.5–4 Hz, corresponding to 30–240 bpm). This frequency-domain approach is robust to waveform distortion and amplitude variations that challenge time-domain peak detection.
Explore methodAutocorrelation-Based Heart Rate Estimation
Autocorrelation heart rate estimation exploits the quasi-periodic nature of PPG by computing the signal's correlation with time-shifted copies of itself. The lag at the first significant autocorrelation peak corresponds to the dominant cardiac period, providing heart rate estimates that are inherently robust to waveform morphology changes.
Explore methodMUSIC Algorithm for PPG Spectral Analysis
The MUSIC (Multiple Signal Classification) algorithm provides super-resolution spectral estimation for PPG by decomposing the signal correlation matrix into signal and noise subspaces. MUSIC resolves closely spaced spectral peaks that FFT cannot separate, enabling accurate heart rate estimation when cardiac and motion frequencies overlap.
Explore methodSDNN: Total HRV from PPG Signals
SDNN (Standard Deviation of Normal-to-Normal intervals) is the standard deviation of all accepted interbeat intervals over a recording period, providing a global measure of total heart rate variability that reflects all cyclic components (sympathetic, parasympathetic, circadian) contributing to HRV.
Explore methodRMSSD: Vagal Tone Metric from PPG
RMSSD (Root Mean Square of Successive Differences) calculates the square root of the mean squared differences between consecutive interbeat intervals, providing the primary time-domain estimate of parasympathetic (vagal) cardiac modulation. It is the most widely used HRV metric in consumer wearables.
Explore methodpNN50: Simple Parasympathetic HRV Metric
pNN50 is the percentage of successive NN interval pairs that differ by more than 50 milliseconds, providing a simple, intuitive measure of parasympathetic cardiac modulation that is highly correlated with RMSSD and HF power but expressed as an easily interpretable percentage.
Explore methodLF/HF Ratio: Sympathovagal Balance from PPG
The LF/HF ratio divides low-frequency (0.04–0.15 Hz) by high-frequency (0.15–0.4 Hz) power in the heart rate variability spectrum. Originally proposed as a sympathovagal balance index, its interpretation is debated but it remains widely used in stress research and autonomic function assessment.
Explore methodHF Power: Parasympathetic HRV from PPG
High-frequency (HF) power in HRV spectral analysis quantifies the variance of interbeat intervals in the 0.15–0.4 Hz band, corresponding to respiratory sinus arrhythmia (RSA). HF power is the primary frequency-domain marker of cardiac parasympathetic (vagal) modulation.
Explore methodSpO2 Ratio of Ratios: Pulse Oximeter Calibration
The ratio of ratios (R) method is the fundamental calibration technique for pulse oximetry, computing R = (AC_red/DC_red) / (AC_IR/DC_IR) and mapping it to SpO2 via an empirical calibration curve derived from controlled desaturation studies in human volunteers.
Explore methodCuffless BP via Pulse Transit Time (PTT)
Cuffless blood pressure estimation using pulse transit time (PTT) exploits the Moens-Korteweg relationship between arterial pressure and pulse wave velocity. As blood pressure rises, arterial walls stiffen, increasing PWV and decreasing PTT, enabling continuous BP estimation from ECG-PPG or dual-site PPG timing measurements.
Explore methodPulse Wave Analysis for BP Estimation
Pulse wave analysis (PWA) estimates blood pressure from single-site PPG waveform morphology features — systolic upstroke slope, pulse width, augmentation index, dicrotic notch timing, and second-derivative ratios — that encode arterial impedance and blood pressure information without requiring multi-site transit time measurement.
Explore methodRespiratory Rate Estimation from PPG
Respiratory rate can be extracted from PPG through three modulation mechanisms: amplitude modulation (respiratory variation in pulse amplitude), frequency modulation (respiratory sinus arrhythmia in IBI), and baseline modulation (intrathoracic pressure changes shifting DC baseline). Estimates from the three sources can be fused.
Explore methodHRV-Based Stress Detection from PPG
HRV-based stress detection algorithms classify psychological and physiological stress states by detecting autonomic nervous system activation patterns in PPG-derived HRV features — reduced RMSSD, elevated LF/HF ratio, decreased HF power, and altered nonlinear complexity measures.
Explore methodPPG-Based Sleep Staging Algorithms
PPG-based sleep staging classifies sleep into wake, light (N1/N2), deep (N3), and REM stages using heart rate dynamics, HRV spectral changes, respiratory rate modulation, and accelerometer-derived movement patterns.
Explore methodAFib Detection via RR Irregularity Analysis
PPG-based atrial fibrillation detection exploits the hallmark irregularly irregular ventricular rhythm of AF by analyzing statistical properties of consecutive interbeat intervals — coefficient of variation, RMSSD, sample entropy, and Poincaré plot dispersion — to distinguish AF from normal sinus rhythm.
Explore methodPAD Screening from PPG Waveform Analysis
PPG enables non-invasive peripheral artery disease screening through waveform morphology analysis at ankle and toe sites, where arterial stenosis produces characteristic monophasic waveforms, reduced pulse amplitude, absent dicrotic notch, and prolonged systolic upstroke time correlating with hemodynamic significance.
Explore methodVascular Age Estimation from PPG
Vascular age estimation from PPG uses the second derivative of the photoplethysmogram (SDPPG/APG) wave ratios and pulse wave morphology features to estimate arterial stiffness, providing a biological age estimate that may differ from chronological age and reflects cardiovascular risk.
Explore methodSignal Quality Index (SQI) Algorithms for PPG
Signal Quality Index (SQI) algorithms automatically grade PPG signal reliability on a 0–1 scale using template matching, spectral analysis, morphological validation, and statistical tests, enabling downstream algorithms to process only high-quality data and suppress false measurements.
Explore methodTemplate Matching for PPG Beat Detection
Template matching detects PPG systolic beats by sliding a reference pulse waveform template across the signal and identifying locations of maximum cross-correlation. This approach simultaneously provides beat detection and signal quality assessment through the correlation coefficient.
Explore methodPCA for PPG Analysis
Principal Component Analysis (PCA) projects multi-dimensional PPG data (multi-wavelength, multi-site, or multi-feature) onto orthogonal principal components ordered by variance explained, enabling dimensionality reduction, artifact separation, and identification of dominant physiological signal modes.
Explore methodBandpass Filtering for PPG Preprocessing
Bandpass filtering is the fundamental preprocessing step for PPG, passing the cardiac frequency band (typically 0.5–8 Hz for HR, 0.1–0.5 Hz for respiratory rate) while rejecting DC offset, baseline wander, high-frequency noise, and powerline interference. Filter design must balance noise rejection against pulse waveform fidelity.
Explore methodNotch Filter for PPG Interference Removal
Notch (band-stop) filters suppress narrowband interference at specific frequencies in PPG signals, primarily targeting 50 Hz (Europe/Asia) or 60 Hz (Americas) powerline noise and their harmonics that couple into the photodetector electronics through ambient light modulation or electrical interference.
Explore methodMedian Filter for PPG Artifact Removal
Median filtering is a non-linear smoothing operation that replaces each PPG sample with the median of surrounding samples within a sliding window, effectively removing spike artifacts and impulse noise while preserving sharp transitions like the systolic upstroke that linear filters would blur.
Explore methodSavitzky-Golay Filter for PPG Analysis
The Savitzky-Golay filter fits a local polynomial to each PPG data window using least-squares regression, providing optimal noise smoothing while preserving higher-order waveform features (peak position, width, area) that simple moving average filters would distort.
Explore methodHilbert Transform for PPG Analysis
The Hilbert transform generates the analytic signal representation of PPG, providing instantaneous amplitude (envelope), instantaneous phase, and instantaneous frequency at every sample point — enabling continuous heart rate estimation with temporal resolution far exceeding FFT-based methods.
Explore methodShort-Time Fourier Transform (STFT) for PPG
The Short-Time Fourier Transform (STFT) computes the frequency spectrum of successive windowed PPG segments, creating a time-frequency spectrogram that visualizes how the cardiac frequency, motion artifacts, and respiratory modulation evolve over time.
Explore methodCWT Scalogram Analysis for PPG
The Continuous Wavelet Transform (CWT) convolves the PPG signal with scaled and shifted wavelet functions across a continuous range of scales, producing a scalogram with adaptive time-frequency resolution — high frequency resolution at low frequencies (respiratory band) and high time resolution at high frequencies (cardiac harmonics).
Explore methodCompressed Sensing for PPG Signals
Compressed sensing exploits the sparsity of PPG signals in the frequency domain to reconstruct full-bandwidth waveforms from sub-Nyquist samples, enabling power-efficient data acquisition, wireless data compression, and recovery of PPG segments corrupted by motion artifacts.
Explore methodMotion Artifact Detection in PPG
Motion artifact detection algorithms automatically identify PPG segments corrupted by physical movement using accelerometer-based activity detection, PPG signal statistics (amplitude excursions, spectral distortion), and machine learning classifiers, enabling quality-gated processing that improves measurement accuracy.
Explore methodBaseline Wander Removal in PPG
Baseline wander in PPG is a low-frequency drift (<0.5 Hz) caused by respiration, vasomotor activity, sensor pressure changes, and temperature variation. Removal methods include high-pass filtering, cubic spline interpolation through onset points, polynomial detrending, and morphological operators.
Explore methodPPG Systolic Peak and Valley Detection
Peak and valley detection algorithms identify systolic maxima (peaks) and pulse onset minima (valleys/feet) in PPG waveforms, providing the fundamental fiducial points for heart rate computation, interbeat interval extraction, and all downstream morphological analysis.
Explore methodDicrotic Notch: Meaning, Physiology and Detection in PPG
The dicrotic notch in PPG corresponds to aortic valve closure and marks the transition from systole to diastole. Its detection enables computation of systolic and diastolic time intervals, reflection index, and arterial stiffness markers — but the notch is often absent or subtle in wrist PPG, challenging automated detection.
Explore methodPulse Rate Variability (PRV) from PPG
Pulse Rate Variability (PRV) computed from PPG interbeat intervals serves as a surrogate for ECG-derived Heart Rate Variability (HRV). PRV closely approximates HRV at rest (correlation >0.95) but diverges during physical activity, positional changes, and cardiovascular disease due to variable pulse transit time effects.
Explore methodDFA (Detrended Fluctuation Analysis) for PPG HRV
Detrended Fluctuation Analysis (DFA) quantifies the fractal scaling properties of interbeat interval time series by measuring how the fluctuation magnitude scales with observation window size. DFA α1 (short-term scaling exponent) is a robust nonlinear HRV metric sensitive to autonomic dysfunction and cardiovascular risk.
Explore methodSample Entropy for PPG Complexity Analysis
Sample Entropy (SampEn) measures the conditional probability that two sequences of m consecutive data points that are similar (within tolerance r) will remain similar when one more point is added. Applied to PPG IBI series, SampEn quantifies cardiac rhythm complexity — lower values indicate more regular, predictable rhythms associated with disease.
Explore methodPoincaré Plot Analysis for PPG HRV
Poincaré plot analysis creates a scatter plot of each interbeat interval against the next (IBIₙ vs IBIₙ₊₁), visualizing cardiac rhythm dynamics. The ellipse fitted to the scatter provides SD1 (minor axis, short-term variability, parasympathetic) and SD2 (major axis, long-term variability, mixed autonomic) metrics.
Explore methodAttention Mechanisms in PPG Neural Networks
Attention mechanisms enable PPG deep learning models to automatically weight important temporal regions, spectral channels, or feature maps, improving classification accuracy for tasks like AF detection, BP estimation, and sleep staging by focusing computational resources on the most informative signal segments.
Explore method