ChatPPG Editorial

Singular Value Decomposition (SVD) for PPG Signal Processing: Methods, Applications & Implementation

Technical guide to SVD methods in PPG signal processing covering noise reduction, motion artifact removal, feature extraction, and multi-channel decomposition.

ChatPPG Research Team
15 min read

Singular Value Decomposition (SVD) for PPG Signal Processing

Singular Value Decomposition is one of the most powerful yet underutilized tools in PPG signal processing. While adaptive filters and deep learning dominate the motion artifact removal literature, SVD offers a mathematically elegant approach to separating physiological signal components from noise without requiring a reference signal or training data. Its ability to decompose a signal into orthogonal components ranked by energy makes it particularly effective for PPG applications where the cardiac pulse, respiratory modulation, and motion artifacts occupy overlapping frequency bands.

This guide covers the mathematical foundations of SVD as applied to PPG, practical implementation strategies for noise reduction and feature extraction, comparisons with alternative decomposition methods, and computational considerations for embedded deployment. For foundational context on PPG signal structure and its components, see our introduction to PPG technology.

Mathematical Foundations of SVD for PPG

Singular Value Decomposition factorizes any real-valued matrix A (m x n) into three matrices:

A = U * Sigma * V^T

where U (m x m) contains the left singular vectors, Sigma (m x n) is a diagonal matrix of singular values in descending order, and V^T (n x n) contains the right singular vectors. The singular values represent the "energy" or importance of each corresponding component, and the decomposition is unique up to sign ambiguity of the singular vectors.

For a one-dimensional PPG time series, SVD cannot be applied directly. The signal must first be restructured into a matrix form. The most common approach is the Hankel matrix (also called the trajectory matrix in the context of Singular Spectrum Analysis), constructed by sliding a window of length L across the N-sample signal:

Each row of the Hankel matrix contains a segment of the PPG signal, and consecutive rows are shifted by one sample. The resulting matrix has dimensions (N - L + 1) x L. The window length L is a critical parameter: typical values for PPG at 100 Hz sampling rate range from 200-500 samples (2-5 seconds), which captures multiple cardiac cycles while maintaining computational tractability.

Applying SVD to this trajectory matrix decomposes the PPG signal into a sum of component signals, each associated with a singular value indicating its contribution to the total signal energy. The key insight for PPG processing is that the cardiac pulse component, being the dominant quasi-periodic signal, concentrates into the first few singular values, while broadband noise distributes across many smaller singular values.

This property was formalized by Bonnet et al. (2012), who demonstrated that for clean PPG signals sampled at 100 Hz, the first 3 singular values contain 92-97% of the cardiac pulse energy, while motion artifacts and baseline wander contribute to singular values 4-10. Their work on 42 subjects showed that reconstructing the signal from only the top 3 singular components achieved a signal-to-noise ratio improvement of 12.4 dB on average (DOI: 10.1016/j.bspc.2012.01.003).

SVD-Based PPG Denoising

The most straightforward application of SVD to PPG is noise reduction through low-rank approximation. The procedure follows four steps: construct the trajectory matrix, compute SVD, select and retain the significant singular components, and reconstruct the denoised signal from the reduced-rank matrix.

Singular Value Selection Strategies

Choosing how many singular values to retain is the central challenge of SVD-based denoising. Several approaches have been applied to PPG signals:

Fixed threshold methods discard singular values below a predetermined fraction of the largest value. Ramasamy and Varadan (2018) found that a threshold of 5-10% of sigma_1 works well for resting PPG, achieving an average SNR improvement of 11.2 dB across 30 subjects with minimal waveform distortion (DOI: 10.1109/JBHI.2017.2784558). However, fixed thresholds are sensitive to the noise level and may over-smooth or under-denoise signals with varying quality.

Cumulative energy methods retain enough singular values to capture a target percentage (typically 90-95%) of the total signal energy, where energy is defined as the sum of squared singular values. This adapts to the signal characteristics but requires careful calibration of the energy threshold for different recording conditions.

Information-theoretic methods use criteria like the Akaike Information Criterion (AIC) or Minimum Description Length (MDL) to automatically determine the optimal number of components. Weng et al. (2019) applied MDL-based rank selection to PPG signals during exercise and reported heart rate estimation errors of 2.3 BPM on the IEEE Signal Processing Cup dataset, competitive with more complex adaptive filtering approaches.

Gap-based methods look for a significant drop in the singular value spectrum, indicating the boundary between signal and noise subspaces. The singular value ratio (sigma_i / sigma_{i+1}) exceeding a threshold (commonly 2-3) identifies this boundary. This method is robust to absolute signal amplitude variations and has been successfully applied to PPG signals recorded under varying skin contact conditions.

Handling Motion Artifacts with SVD

Motion artifacts present a particular challenge for SVD-based denoising because high-amplitude motion components can dominate the first singular values, displacing the cardiac signal to lower-ranked components. This is the inverse of the resting case and requires a modified approach.

Yao and Warren (2005) addressed this by combining SVD with spectral analysis in a two-stage framework. First, SVD separates the signal into components. Then, spectral analysis of each component identifies which ones contain cardiac frequency content (typically 0.8-3.0 Hz with expected harmonic structure). The cardiac components are summed for reconstruction, regardless of their singular value ranking. This approach achieved heart rate estimation errors below 4 BPM during moderate walking activities on a dataset of 25 subjects.

For multi-channel PPG configurations (multiple photodetectors or wavelengths), SVD operates directly on the multi-channel data matrix without the trajectory matrix construction step. Each row represents a channel, and SVD separates spatially correlated components (likely physiological) from spatially uncorrelated ones (likely noise). This approach leverages the fact that the cardiac pulse arrives at all PPG channels simultaneously, while motion artifacts may have channel-specific characteristics. Multi-wavelength SVD denoising has been explored by Lee et al. (2020), who showed that using 3-channel green/red/IR PPG with SVD decomposition reduced heart rate RMSE from 8.7 to 3.1 BPM during treadmill running (DOI: 10.3390/s20030789). For more on multi-wavelength PPG, see our wavelength comparison guide.

Singular Spectrum Analysis (SSA) for PPG

Singular Spectrum Analysis (SSA) is a structured framework that builds on SVD and is particularly well-suited to quasi-periodic signals like PPG. SSA extends basic SVD denoising by adding a grouping step where individual SVD components are combined into meaningful groups (trend, oscillatory components, noise) and a diagonal averaging step that converts the grouped matrix components back into time series.

The SSA procedure for PPG processing follows five stages: embedding (trajectory matrix construction), SVD computation, grouping of elementary components, reconstruction via diagonal averaging, and optional forecasting for gap-filling or prediction.

Krishnan et al. (2018) applied SSA to wrist-PPG signals and compared performance against Empirical Mode Decomposition (EMD), wavelet decomposition, and bandpass filtering for heart rate estimation during activities of daily living. SSA achieved the lowest mean absolute error of 1.8 BPM at rest and 4.2 BPM during walking, outperforming EMD (2.4 / 5.8 BPM), wavelet (2.1 / 5.1 BPM), and bandpass filtering (1.9 / 7.3 BPM). The advantage of SSA was most pronounced during transitional periods between rest and activity, where its ability to adaptively separate quasi-periodic components proved superior to frequency-domain methods.

The window length L in SSA controls the resolution of the decomposition. For PPG applications, L should be chosen to span at least 2-3 complete cardiac cycles. At a heart rate of 60 BPM and 100 Hz sampling rate, one cardiac cycle is 100 samples, suggesting L >= 200-300. Golyandina and Zhigljavsky (2013) provide a theoretical framework for optimal window length selection, recommending L approximately equal to N/3 for periodic signal extraction, though practical PPG applications often use shorter windows (L = N/4 to N/5) to reduce computational cost.

SVD for PPG Feature Extraction

Beyond denoising, SVD provides a compact representation of PPG waveform morphology that is valuable for classification and regression tasks. The singular values and singular vectors themselves serve as features that capture the essential shape characteristics of the PPG pulse wave.

Waveform Morphology Analysis

The left singular vectors from SVD of a PPG trajectory matrix represent the principal waveform shapes present in the signal. The first left singular vector approximates the average pulse shape, while subsequent vectors capture systematic variations in morphology across beats. This representation has been exploited for several clinical applications.

Liang et al. (2018) used SVD-derived features from PPG waveforms for cuffless blood pressure estimation. They constructed a beat-by-beat matrix where each row was a single normalized PPG pulse cycle and applied SVD to extract the first 5 singular values and their corresponding left singular vectors as features. Combined with pulse transit time, these SVD features improved systolic blood pressure estimation accuracy from 8.2 mmHg MAE (PTT alone) to 5.7 mmHg MAE (PTT + SVD features) on a dataset of 110 subjects (DOI: 10.1109/TBME.2018.2855667). For more on PPG-based blood pressure algorithms, see our pulse wave analysis guide.

The singular value spectrum itself carries diagnostic information. In patients with arterial stiffness, the singular value spectrum shows a faster decay (energy more concentrated in the first component) due to reduced dicrotic notch amplitude and simplified waveform morphology. Conversely, healthy young subjects with compliant arteries show a more gradual singular value decay, reflecting richer waveform features including a prominent dicrotic notch and reflected wave components.

Dimensionality Reduction for Machine Learning

SVD provides an efficient dimensionality reduction technique for PPG-based machine learning models. Rather than feeding raw PPG samples or hand-crafted time-domain features into a classifier, the SVD representation captures the most informative aspects of the signal in a small number of components.

Allen and Murray (2003) demonstrated that the first 5 principal components from SVD of PPG pulse waveforms explained 98.7% of the variance across 1,000 recorded pulses from 50 subjects. This 5-component representation was sufficient for accurate age group classification (accuracy: 87%), peripheral vascular disease detection (sensitivity: 82%, specificity: 91%), and pulse waveform quality assessment (accuracy: 93%). The dramatic dimensionality reduction (from ~100 samples per pulse to 5 components) makes SVD preprocessing particularly valuable for models deployed on resource-constrained wearable devices (DOI: 10.1088/0967-3334/24/2/306).

SVD Combined with Other Methods

SVD rarely operates in isolation in modern PPG processing pipelines. Its strengths complement those of other signal processing techniques, and hybrid approaches often achieve superior performance.

SVD + Adaptive Filtering

A common pipeline uses SVD as a preprocessing step before adaptive filtering. SVD first separates the signal into a reduced set of components, and the adaptive filter (typically NLMS or RLS) then operates on the SVD-reconstructed signal with an accelerometer reference. The SVD step improves adaptive filter convergence by removing broadband noise, effectively increasing the signal-to-noise ratio of the input. This approach was documented in the context of the motion artifact removal pipeline and achieves 10-20% lower heart rate estimation error than adaptive filtering alone.

SVD + Wavelet Decomposition

Combining SVD with wavelet decomposition exploits the complementary strengths of both methods. Wavelets provide time-frequency localization, while SVD provides energy-based component separation. A typical hybrid approach applies wavelet decomposition first to isolate the frequency band of interest, then applies SVD within that band for fine-grained noise removal.

Reddy et al. (2017) proposed a wavelet-SVD hybrid that first applied a 4-level Daubechies wavelet decomposition to isolate the 0.5-4 Hz cardiac band, then constructed a trajectory matrix from the wavelet coefficients and applied SVD for denoising. This approach achieved an SNR improvement of 15.8 dB on motion-corrupted wrist PPG, compared to 11.2 dB for SVD alone and 9.4 dB for wavelets alone (DOI: 10.1016/j.compbiomed.2017.06.017).

SVD + Deep Learning

SVD features can serve as inputs to deep learning models, combining the interpretability and efficiency of SVD with the nonlinear modeling power of neural networks. The SVD representation provides a compact, noise-reduced input that improves training efficiency and generalization compared to raw PPG input.

Torres-Soto and Ashley (2020) demonstrated that feeding SVD-decomposed PPG components into a CNN achieved 94.2% accuracy for atrial fibrillation detection, compared to 91.7% for raw PPG input, while reducing model inference time by 40% due to the reduced input dimensionality. For more on how deep learning is applied to PPG analysis, see our guide on PPG signal processing algorithms. For details on atrial fibrillation detection from PPG, see our AFib detection guide.

Computational Considerations and Real-Time Implementation

The computational complexity of SVD is O(mn * min(m,n)) for an m x n matrix, which can be substantial for long PPG recordings. Several strategies make SVD practical for real-time wearable applications.

Sliding window SVD applies the decomposition to short overlapping segments (typically 5-10 seconds at 100 Hz, yielding matrices of 500-1000 x L). This bounds the computation and enables quasi-real-time operation with a latency equal to the window length.

Incremental SVD algorithms update the decomposition as new samples arrive, avoiding full recomputation. Brand (2006) proposed an incremental SVD algorithm that maintains the decomposition in O(k^2) time per new sample, where k is the retained rank. For PPG with k = 3-5, this is highly efficient and enables sample-by-sample processing.

Randomized SVD algorithms (Halko et al., 2011) approximate the top-k singular values and vectors in O(mn * k) time, which is significantly faster than the full O(mn^2) decomposition when only a few components are needed. For PPG denoising where k = 3-8, randomized SVD can be 10-50x faster than full SVD on typical matrix sizes (DOI: 10.1137/090771806).

On a typical ARM Cortex-M4 processor (running at 168 MHz, common in wearable devices), sliding window SVD with a 5-second window at 100 Hz and L = 200 requires approximately 12 ms per window update, well within the 50 ms budget for real-time processing at 20 Hz update rate. Incremental SVD reduces this to under 1 ms per sample, enabling integration into existing heart rate estimation pipelines with minimal computational overhead.

Benchmarks and Performance Comparison

Systematic comparison of SVD-based methods against alternative PPG denoising approaches across published benchmarks reveals consistent patterns.

On the IEEE Signal Processing Cup 2015 dataset (12 subjects, wrist PPG during intensive arm exercises), SVD-based methods achieve heart rate RMSE of 4.5-6.2 BPM depending on the specific variant and parameter settings. This places SVD between simple bandpass filtering (RMSE: 8-12 BPM) and state-of-the-art deep learning methods (RMSE: 2-4 BPM), while requiring significantly less training data and computational resources than neural network approaches.

On resting PPG datasets, SVD denoising consistently achieves SNR improvements of 10-15 dB, comparable to optimized wavelet denoising and superior to simple filtering approaches. The primary advantage of SVD in the resting case is its ability to preserve waveform morphology, including the dicrotic notch and reflected wave components, which are often distorted by aggressive frequency-domain filtering.

The key tradeoff with SVD is the balance between denoising performance and morphological fidelity. Retaining too few singular values produces a clean but over-smoothed signal that loses subtle waveform features. Retaining too many preserves features but leaves residual noise. Adaptive rank selection methods (AIC, MDL, gap-based) provide the best balance but add computational overhead. For applications focused purely on heart rate extraction, aggressive truncation (k = 2-3) is appropriate. For morphology-dependent applications like blood pressure estimation or arterial stiffness assessment, more conservative truncation (k = 5-8) preserves the waveform details needed for accurate clinical measurements.

Conclusion

Singular Value Decomposition provides a mathematically principled and computationally tractable approach to PPG signal processing that occupies a valuable middle ground between simple filtering and complex machine learning methods. Its ability to separate signal components by energy without requiring frequency-domain assumptions makes it particularly effective for PPG signals where cardiac and noise components share overlapping spectral characteristics. When combined with complementary techniques such as adaptive filtering, wavelet decomposition, or deep learning feature extraction, SVD-based methods achieve state-of-the-art performance while maintaining the interpretability and efficiency needed for practical wearable device deployment. Researchers and engineers working on PPG systems should consider SVD as both a standalone denoising tool and a preprocessing component in more complex signal processing pipelines.

References

  • This property was formalized by Bonnet et al. (2012), who demonstrated that for clean PPG signals sampled at 100 Hz, the first 3 singular values contain 92-97% of the cardiac pulse energy, while motion artifacts and baseline wander contribute to singular values 4-10. Their work on 42 subjects showed that reconstructing the signal from only the top 3 singular components achieved a signal-to-noise ratio improvement of 12.4 dB on average (DOI: 10.1016/j.bspc.2012.01.003).
  • Fixed threshold methods* discard singular values below a predetermined fraction of the largest value. Ramasamy and Varadan (2018) found that a threshold of 5-10% of sigma_1 works well for resting PPG, achieving an average SNR improvement of 11.2 dB across 30 subjects with minimal waveform distortion (DOI: 10.1109/JBHI.2017.2784558). However, fixed thresholds are sensitive to the noise level and may over-smooth or under-denoise signals with varying quality.
  • For multi-channel PPG configurations (multiple photodetectors or wavelengths), SVD operates directly on the multi-channel data matrix without the trajectory matrix construction step. Each row represents a channel, and SVD separates spatially correlated components (likely physiological) from spatially uncorrelated ones (likely noise). This approach leverages the fact that the cardiac pulse arrives at all PPG channels simultaneously, while motion artifacts may have channel-specific characteristics. Multi-wavelength SVD denoising has been explored by Lee et al. (2020), who showed that using 3-channel green/red/IR PPG with SVD decomposition reduced heart rate RMSE from 8.7 to 3.1 BPM during treadmill running (DOI: 10.3390/s20030789). For more on multi-wavelength PPG, see our wavelength comparison guide.
  • Liang et al. (2018) used SVD-derived features from PPG waveforms for cuffless blood pressure estimation. They constructed a beat-by-beat matrix where each row was a single normalized PPG pulse cycle and applied SVD to extract the first 5 singular values and their corresponding left singular vectors as features. Combined with pulse transit time, these SVD features improved systolic blood pressure estimation accuracy from 8.2 mmHg MAE (PTT alone) to 5.7 mmHg MAE (PTT + SVD features) on a dataset of 110 subjects (DOI: 10.1109/TBME.2018.2855667). For more on PPG-based blood pressure algorithms, see our pulse wave analysis guide.
  • Allen and Murray (2003) demonstrated that the first 5 principal components from SVD of PPG pulse waveforms explained 98.7% of the variance across 1,000 recorded pulses from 50 subjects. This 5-component representation was sufficient for accurate age group classification (accuracy: 87%), peripheral vascular disease detection (sensitivity: 82%, specificity: 91%), and pulse waveform quality assessment (accuracy: 93%). The dramatic dimensionality reduction (from ~100 samples per pulse to 5 components) makes SVD preprocessing particularly valuable for models deployed on resource-constrained wearable devices (DOI: 10.1088/0967-3334/24/2/306).
  • Reddy et al. (2017) proposed a wavelet-SVD hybrid that first applied a 4-level Daubechies wavelet decomposition to isolate the 0.5-4 Hz cardiac band, then constructed a trajectory matrix from the wavelet coefficients and applied SVD for denoising. This approach achieved an SNR improvement of 15.8 dB on motion-corrupted wrist PPG, compared to 11.2 dB for SVD alone and 9.4 dB for wavelets alone (DOI: 10.1016/j.compbiomed.2017.06.017).
  • Randomized SVD* algorithms (Halko et al., 2011) approximate the top-k singular values and vectors in O(mn * k) time, which is significantly faster than the full O(mn^2) decomposition when only a few components are needed. For PPG denoising where k = 3-8, randomized SVD can be 10-50x faster than full SVD on typical matrix sizes (DOI: 10.1137/090771806).

Frequently Asked Questions

What is SVD and how does it apply to PPG signals?
Singular Value Decomposition (SVD) is a matrix factorization technique that decomposes a data matrix into three component matrices (U, Sigma, V-transpose), separating the signal into orthogonal components ranked by their energy contribution. In PPG signal processing, SVD is used to separate the cardiac pulse component from noise and motion artifacts by constructing a Hankel or trajectory matrix from the PPG time series and retaining only the dominant singular values that correspond to the physiological signal of interest.
How does SVD compare to bandpass filtering for PPG denoising?
SVD-based denoising is fundamentally different from bandpass filtering because it operates in the signal subspace domain rather than the frequency domain. Bandpass filters remove noise based on frequency, which fails when noise and cardiac signal share the same frequency band (as during exercise). SVD separates components based on their energy and correlation structure, enabling it to remove noise that overlaps spectrally with the cardiac signal. Studies show SVD can improve SNR by 8-15 dB compared to 3-6 dB for optimized bandpass filtering in motion-corrupted PPG (Ramasamy & Varadan, 2018).
How many singular values should be retained for PPG signal reconstruction?
The optimal number of retained singular values depends on signal quality and application. For clean resting PPG, the first 2-4 singular values typically capture over 95% of the cardiac pulse energy. For motion-corrupted signals, 3-8 singular values may be needed. Common selection criteria include the singular value ratio (SVR) threshold method, where values below 5-10% of the maximum are discarded, and the cumulative energy threshold method, where enough values are retained to capture 90-95% of total signal energy. Automatic methods based on the Akaike Information Criterion (AIC) or Minimum Description Length (MDL) provide data-driven selection.
Can SVD be used for real-time PPG processing in wearable devices?
Standard SVD has O(mn^2) computational complexity, which makes direct real-time implementation challenging on low-power wearable processors. However, several approaches enable practical real-time use: incremental SVD algorithms that update the decomposition as new samples arrive without full recomputation, randomized SVD methods that approximate the decomposition in O(mn*k) time where k is the target rank, and sliding window approaches that apply SVD to short overlapping segments (typically 5-10 seconds). These techniques have been demonstrated on ARM Cortex-M4 processors at sampling rates up to 100 Hz.