Wavelet Transform Denoising for PPG Signal Cleaning
Wavelet denoising is arguably the most versatile single-method approach to PPG signal cleaning, providing simultaneous time and frequency localization that neither bandpass filtering nor Fourier methods can match. By decomposing the PPG signal into scale-dependent coefficients and selectively thresholding those coefficients, wavelet methods can suppress noise components at specific time-frequency locations while preserving the cardiac pulse waveform morphology. This makes wavelet denoising effective against a broad spectrum of PPG noise types, from high-frequency electronic noise to low-frequency baseline wander.
This article provides a complete technical treatment of wavelet-based PPG denoising, covering the discrete wavelet transform (DWT), wavelet selection criteria, decomposition level design, thresholding strategies, and published benchmark results. For context on how wavelet methods compare with other PPG processing techniques, see our motion artifact removal guide. For foundational PPG concepts, visit our PPG technology introduction.
Discrete Wavelet Transform Fundamentals
Multi-Resolution Analysis
The discrete wavelet transform decomposes a signal into approximation coefficients (low-frequency content) and detail coefficients (high-frequency content) at each decomposition level. At level j, the signal x(t) is represented as:
x(t) = sum_k a_{J,k} * phi_{J,k}(t) + sum_{j=1}^{J} sum_k d_{j,k} * psi_{j,k}(t)
where a_{J,k} are the approximation coefficients at the coarsest level J, d_{j,k} are the detail coefficients at level j, phi is the scaling function, and psi is the wavelet (mother wavelet) function.
The DWT is implemented efficiently using Mallat's algorithm (Mallat, 1989, DOI: 10.1109/34.192463), which applies a pair of conjugate mirror filters (low-pass and high-pass) followed by downsampling by 2 at each level. The computational cost is O(T * L) where T is the signal length and L is the number of decomposition levels, making it one of the most efficient signal decomposition methods available.
Frequency Band Mapping
Each decomposition level corresponds to a specific frequency band determined by the sampling rate fs:
| Level j | Detail Band (Hz) | Approximation Band (Hz) | |---------|------------------|------------------------| | 1 | fs/4 to fs/2 | 0 to fs/4 | | 2 | fs/8 to fs/4 | 0 to fs/8 | | 3 | fs/16 to fs/8 | 0 to fs/16 | | 4 | fs/32 to fs/16 | 0 to fs/32 | | 5 | fs/64 to fs/32 | 0 to fs/64 | | 6 | fs/128 to fs/64 | 0 to fs/128 |
For a PPG signal sampled at 100 Hz:
| Level | Detail Band | PPG Component | |-------|------------|---------------| | 1 | 25-50 Hz | High-frequency sensor noise | | 2 | 12.5-25 Hz | Electronic noise, EMI | | 3 | 6.25-12.5 Hz | High-frequency motion artifact | | 4 | 3.125-6.25 Hz | Cardiac harmonics, some motion artifact | | 5 | 1.5625-3.125 Hz | Cardiac fundamental (94-188 BPM) | | 6 | 0.78-1.5625 Hz | Cardiac fundamental (47-94 BPM), respiratory | | Approx 6 | 0-0.78 Hz | Baseline wander, vasomotor, drift |
The cardiac pulse fundamental for a heart rate of 60-180 BPM (1-3 Hz) spans levels 5-6 at 100 Hz sampling. Higher cardiac harmonics (2nd, 3rd) extend into levels 3-4. This frequency mapping is the foundation for designing the thresholding strategy.
Wavelet Selection for PPG
Selection Criteria
The choice of mother wavelet determines how well the wavelet basis matches the PPG signal morphology. A well-matched wavelet concentrates the cardiac signal energy into a small number of large coefficients, while noise energy spreads across many small coefficients. This energy compaction improves the separation between signal and noise in the wavelet domain, which directly determines denoising performance.
Key selection criteria for PPG:
-
Waveform similarity. The wavelet shape should resemble the PPG pulse waveform. The PPG pulse has a sharp systolic upstroke, a rounded peak, and a gradual diastolic decay with a dicrotic notch. Wavelets with similar asymmetric, pulse-like shapes provide better energy compaction.
-
Regularity. Smoother wavelets produce smoother reconstructed signals, which is desirable for PPG. The regularity of Daubechies wavelets increases with the filter order N.
-
Support length. The wavelet's time support determines the temporal resolution at each scale. Shorter supports (lower-order wavelets like db2) provide better time localization but coarser frequency resolution. Longer supports (higher-order wavelets like db10) provide better frequency resolution but smear temporal features.
-
Phase properties. Symmetric (linear phase) wavelets like Symlets avoid phase distortion that can shift the timing of PPG features. This is important for applications requiring precise peak timing (e.g., pulse transit time measurement).
Comparative Wavelet Performance for PPG
Multiple studies have systematically compared wavelet families for PPG denoising:
Kamath (2012) tested 15 wavelets from the Daubechies, Symlet, Coiflet, and Biorthogonal families on finger PPG from 30 subjects with controlled noise addition (DOI: 10.5121/ijbb.2012.2301). The ranking by output SNR:
| Wavelet | SNR Improvement (dB) | Waveform Distortion (%) | |---------|----------------------|------------------------| | db4 | 12.3 | 2.1 | | db6 | 12.1 | 1.8 | | sym4 | 11.9 | 2.0 | | db8 | 11.7 | 1.5 | | coif3 | 11.5 | 2.3 | | bior3.3 | 10.8 | 3.1 | | db2 | 9.4 | 4.2 | | haar | 7.1 | 8.7 |
The db4 wavelet achieved the highest SNR improvement, while db8 had the lowest waveform distortion. The Haar wavelet (db1) performed poorly because its rectangular shape does not match the smooth PPG morphology.
Castaneda et al. (2018) confirmed the db4 preference on wrist PPG during ambulatory monitoring of 22 subjects, reporting that db4 with soft thresholding at decomposition level 5 achieved the best heart rate estimation accuracy (MAE = 1.7 BPM at rest, 4.2 BPM during walking). See our algorithms page for implementation details.
Practical Recommendation
For general PPG denoising, use db4 or db8 with the choice depending on the application:
- db4: Best overall SNR improvement, good for heart rate estimation where timing precision is less critical
- db8: Lowest waveform distortion, preferred for pulse wave analysis and morphological feature extraction
- sym4: Good compromise with symmetric (linear phase) properties, preferred when peak timing accuracy matters (e.g., pulse transit time measurement)
Thresholding Strategies
The Denoising Framework
Wavelet denoising follows a three-step procedure introduced by Donoho and Johnstone (1994, DOI: 10.1093/biomet/81.3.425):
- Decompose: Apply the DWT to obtain wavelet coefficients at each level
- Threshold: Modify the detail coefficients at selected levels according to a thresholding rule
- Reconstruct: Apply the inverse DWT to the modified coefficients to obtain the denoised signal
The key decisions are which levels to threshold, what threshold value to use, and whether to apply hard or soft thresholding.
Hard vs. Soft Thresholding
Hard thresholding: d_hat = d if |d| >= T, else 0
This creates a discontinuity at the threshold boundary, which can introduce Gibbs-like ringing artifacts in the reconstructed signal. However, it preserves the amplitude of large coefficients exactly, maintaining the PPG waveform shape for the cardiac component.
Soft thresholding (shrinkage): d_hat = sign(d) * max(|d| - T, 0)
This produces a continuous mapping and generally smoother reconstructed signals. The amplitude bias (all coefficients are reduced by T) can attenuate the systolic peak amplitude, potentially affecting waveform-based analyses.
For PPG heart rate estimation, soft thresholding is preferred because the smooth output produces cleaner spectral peaks. For pulse wave morphology analysis (augmentation index, stiffness index, dicrotic notch detection), hard thresholding better preserves the critical waveform features.
Threshold Value Selection
The threshold value T determines the aggressiveness of noise suppression. Several methods are used:
Universal threshold (VisuShrink): T = sigma * sqrt(2 * ln(T))
where sigma is the noise standard deviation (typically estimated from the level-1 detail coefficients using the median absolute deviation: sigma = MAD(d_1) / 0.6745) and T is the signal length. This provides an upper bound on the threshold that asymptotically ensures complete noise removal with probability approaching 1. For PPG, VisuShrink tends to be too aggressive, removing fine cardiac waveform details.
SureShrink (Stein's Unbiased Risk Estimate): Minimizes Stein's unbiased risk estimate at each decomposition level independently, providing a level-dependent threshold that adapts to the signal-to-noise ratio at each scale. SureShrink is generally recommended for PPG because it automatically balances noise removal against signal preservation at each frequency band (Donoho and Johnstone, 1995, DOI: 10.1080/01621459.1995.10476626).
BayesShrink: T_j = sigma^2 / sigma_j
where sigma_j is the estimated signal standard deviation at level j. This Bayes-optimal threshold adapts to each level's signal content and typically produces less signal distortion than VisuShrink while achieving comparable noise suppression. Krishnan and Bhatt (2013) showed that BayesShrink outperformed VisuShrink and SureShrink for PPG denoising, with 0.8 dB higher output SNR and 15% lower waveform distortion on a 25-subject dataset.
Minimax threshold: Uses the minimax principle to minimize the maximum risk over all signals in a given class. For PPG, the minimax threshold is more conservative than VisuShrink and typically preserves more waveform detail at the cost of leaving more noise.
Level-Dependent Thresholding for PPG
Rather than applying a single threshold across all decomposition levels, level-dependent thresholding allows different aggressiveness at each scale:
- Levels 1-2 (high frequency): Aggressive thresholding (high T). These levels contain primarily sensor noise and high-frequency artifacts with minimal cardiac content.
- Levels 3-4 (mid frequency): Moderate thresholding. These levels contain cardiac harmonics mixed with motion artifact. Over-thresholding removes important waveform detail.
- Levels 5-6 (cardiac fundamental): Minimal or no thresholding. These levels contain the cardiac pulse fundamental and should be preserved.
- Approximation coefficients: Generally not thresholded. Baseline wander in the approximation can be removed separately by subtracting a polynomial fit.
This level-dependent strategy is more effective than uniform thresholding for PPG because the signal-to-noise ratio varies dramatically across frequency bands. Levels 1-2 have SNR < 0 dB (noise dominates), while levels 5-6 have SNR > 10 dB (signal dominates at rest).
Stationary Wavelet Transform for PPG
Motivation
The standard DWT is not shift-invariant: shifting the input signal by one sample can change the wavelet coefficients significantly, producing different denoising results. This is problematic for PPG because the cardiac pulse timing is not aligned to the wavelet decomposition grid. Artifacts can appear in the reconstructed signal at positions where the pulse peaks happen to align with downsampling boundaries.
The Stationary Wavelet Transform (SWT), also called the undecimated or redundant wavelet transform, eliminates downsampling and produces shift-invariant coefficients. The cost is increased computation (O(T * L * 2^L) vs. O(T * L)) and memory (coefficients at each level have the same length as the original signal rather than being halved).
SWT Results for PPG
Raghuveer et al. (2014) compared DWT and SWT denoising on wrist PPG during structured exercise with 18 subjects:
- DWT (db4, level 5, SureShrink): SNR improvement = 11.2 dB, MAE = 3.1 BPM
- SWT (db4, level 5, SureShrink): SNR improvement = 13.4 dB, MAE = 2.4 BPM
The SWT achieved 2.2 dB better SNR and 23% lower heart rate estimation error, attributed to the elimination of shift-dependent artifacts. The computational cost of SWT was 4.5x higher than DWT at 5 decomposition levels, which remains feasible for real-time processing at typical PPG sample rates.
For applications where shift invariance matters (e.g., beat detection, inter-beat interval estimation), SWT is recommended despite the higher cost. For applications focused on spectral estimation (heart rate from FFT), standard DWT is often sufficient.
Wavelet Packet Decomposition
Enhanced Frequency Resolution
The standard DWT decomposes only the approximation coefficients at each level, producing an octave-band frequency decomposition with decreasing resolution at lower frequencies. Wavelet Packet Decomposition (WPD) decomposes both the approximation and detail coefficients at each level, producing a uniform-resolution frequency decomposition with 2^L equal-width subbands at level L.
For PPG, WPD offers finer frequency resolution in the cardiac band, which can better separate cardiac and motion components when their frequencies are close. At level 6 with 100 Hz sampling, WPD provides 64 subbands of 0.78 Hz width, compared to the DWT's non-uniform bands. This allows isolating a cardiac frequency of 1.5 Hz (90 BPM) from a walking cadence of 2.0 Hz in adjacent subbands.
WPD for PPG Heart Rate Estimation
Peng et al. (2014) applied WPD to PPG heart rate estimation during exercise and reported MAE of 2.1 BPM on 15 subjects, compared to 3.3 BPM for standard DWT denoising (DOI: 10.1016/j.bspc.2014.03.006). The improvement was most significant during walking where the cardiac and cadence frequencies were within 1 Hz of each other. However, WPD's computational cost is O(T * 2^L) compared to O(T * L) for DWT, making it 5-10x more expensive at typical decomposition depths.
Benchmark Results and Comparisons
SNR Improvement Studies
Systematic comparison of wavelet denoising against other PPG methods across multiple studies:
| Method | Avg SNR Improvement (dB) | Computational Cost | Reference-Free | |--------|--------------------------|-------------------|----------------| | DWT (db4, soft, SureShrink) | 10-12 | O(T * L) | Yes | | SWT (db4, soft, SureShrink) | 12-14 | O(T * L * 2^L) | Yes | | WPD (db4, best basis) | 13-15 | O(T * 2^L) | Yes | | NLMS adaptive filter | 8-12 | O(N) per sample | No (needs accel) | | EEMD (M=200) | 10-13 | O(M * K * S * T) | Yes | | Bandpass filter (0.5-5 Hz) | 6-8 | O(T) | Yes |
Wavelet methods achieve competitive SNR improvements and, critically, require no reference signal. This makes them the strongest reference-free denoising approach for broadband noise types.
Heart Rate Estimation Accuracy
Wavelet denoising alone (without spectral tracking or adaptive filtering) achieves heart rate estimation accuracy of:
- Rest: MAE = 0.5-1.5 BPM (most noise types well-separated from cardiac band)
- Light motion: MAE = 2-4 BPM (moderate motion artifacts partially removed)
- Vigorous exercise: MAE = 5-12 BPM (periodic motion artifacts overlap cardiac band and resist wavelet separation)
These results indicate that wavelet denoising is highly effective for rest and light motion but insufficient as a standalone method for vigorous exercise. It performs best when combined with other techniques:
Wavelet + adaptive filter: Apply wavelet denoising as pre-processing to remove broadband noise, then apply NLMS or RLS to cancel periodic motion artifacts using the accelerometer reference. This combination achieves 15-25% lower error than either method alone (Lee et al., 2013).
Wavelet + EMD: Apply EMD/EEMD for adaptive decomposition, then apply wavelet thresholding to each IMF for fine-grained noise removal. This hybrid achieves the best reference-free performance reported in the literature (MAE = 2.3 BPM during moderate exercise).
Wavelet + ICA: Apply ICA for source separation on multi-channel PPG, then apply wavelet denoising to the selected cardiac component. This two-stage approach removes both structured interference (via ICA) and residual broadband noise (via wavelets).
Real-Time Implementation
Streaming Wavelet Denoising
For real-time PPG processing, wavelet denoising is applied in overlapping windows:
- Buffer incoming PPG samples into windows of length T (typically 512-2048 samples, 5-20 seconds)
- Apply DWT decomposition
- Threshold detail coefficients
- Reconstruct via inverse DWT
- Use overlap-add or overlap-save to produce continuous output
The window length determines the latency and the frequency resolution of the lowest decomposition level. A 1024-sample window at 100 Hz provides 10.24 seconds of data with lowest detail band 0.78-1.56 Hz, sufficient for cardiac frequencies above 47 BPM.
Memory and Computation Budget
For an embedded implementation at 100 Hz with db4 (filter length 8) and 6 decomposition levels:
- Memory: Wavelet filter coefficients (16 values) + input buffer (1024 samples) + coefficient storage (approximately 2048 values for DWT, double for SWT) = approximately 12-20 KB
- Computation per window: 6 levels * 2 filters * 1024 convolution operations = approximately 12,288 multiply-accumulate operations for DWT; approximately 50,000 for SWT
- Throughput at 50% overlap: One window every 5.12 seconds, requiring approximately 2,400 MACs/second for DWT
This is trivially feasible on any modern embedded processor, making wavelet denoising one of the most practical PPG signal processing methods for resource-constrained wearable devices.
Comparison with Other Methods for Embedded Deployment
| Method | Memory (KB) | MACs/second | Latency (s) | Reference-Free | |--------|------------|-------------|-------------|----------------| | Bandpass IIR | 0.1 | 800 | 0.01 | Yes | | DWT denoising | 12 | 2,400 | 5-10 | Yes | | NLMS (N=32) | 0.5 | 9,600 | 0.01 | No | | RLS (N=16) | 2 | 84,800 | 0.01 | No | | EEMD (M=100) | 50 | 3,200,000 | 5-10 | Yes |
Wavelet denoising occupies a practical middle ground: substantially more effective than simple bandpass filtering, reference-free operation, moderate memory and computation requirements, and latency acceptable for heart rate monitoring (though not for beat-by-beat HRV analysis requiring sub-second resolution).
Advanced Topics
Wavelet Shrinkage with Signal-Dependent Thresholds
Standard thresholding methods (VisuShrink, SureShrink) estimate the noise level from the data and apply a global or level-dependent threshold. For PPG, where the signal amplitude varies with cardiac cycle phase (high during systole, low during diastole), signal-dependent thresholds can improve performance.
Block thresholding groups adjacent wavelet coefficients and thresholds them jointly, exploiting the correlation structure of the signal. For PPG, blocks aligned with the cardiac cycle (one block per beat) can adapt the threshold to the local signal amplitude, preserving weak diastolic features that would be removed by a threshold calibrated to the systolic peak. Cai and Silverman (2001) showed that block thresholding achieves optimal risk convergence rates for signals with inhomogeneous smoothness, which describes the PPG waveform well.
Cross-Scale Coefficient Correlation
Cardiac signal energy propagates across scales in a predictable pattern: large coefficients at one level tend to be accompanied by large coefficients at adjacent levels at the same temporal location. Noise coefficients do not exhibit this cross-scale structure. Cross-scale thresholding exploits this by preserving coefficients that are large at multiple scales and removing those that are large at only one scale.
Xu et al. (2004) applied cross-scale wavelet denoising to arterial blood pressure waveforms (which share morphological characteristics with PPG) and reported 2.5 dB better SNR than single-scale SureShrink (DOI: 10.1109/TBME.2004.831530). This approach has been adapted for PPG by several groups with consistent 1-3 dB improvements, at the cost of doubled coefficient storage and comparison operations. For algorithm implementation details, see our algorithms reference.
Conclusion
Wavelet transform denoising provides a powerful, computationally efficient, and reference-free approach to PPG signal cleaning. The combination of multi-resolution decomposition with intelligent thresholding enables selective noise removal across the full frequency spectrum while preserving the cardiac pulse waveform. The db4 wavelet with SureShrink or BayesShrink thresholding at 5-6 decomposition levels represents a robust default configuration for PPG at typical sampling rates.
For standalone PPG denoising without an accelerometer reference, wavelet methods are the recommended first-line approach. For the highest accuracy during vigorous exercise, wavelet denoising should be combined with adaptive filtering (when an accelerometer is available) or EMD (for reference-free operation). The low computational cost makes wavelet denoising particularly attractive as a pre-processing stage that improves the performance of any downstream algorithm.
Explore our complete algorithms reference for implementation guidance, and visit our conditions pages to understand how clean PPG signals enable accurate monitoring of specific cardiovascular health parameters.