Savitzky-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.

The Savitzky-Golay filter performs a weighted moving average where the weights are derived from a local polynomial fit of order p over a window of 2m+1 points. For PPG smoothing, polynomial order 2–4 with window 11–25 points provides effective noise reduction while preserving the systolic peak shape, dicrotic notch, and diastolic wave features. The polynomial coefficients can be precomputed as convolution weights, making real-time implementation as efficient as a standard FIR filter.

A key advantage of Savitzky-Golay filtering is simultaneous computation of smoothed derivatives. The first-derivative coefficients provide the velocity plethysmogram (VPG), and the second-derivative coefficients provide the acceleration plethysmogram (APG) — both essential for morphological feature extraction. This is computationally more efficient and numerically more stable than sequential smoothing followed by finite difference differentiation.

For PPG pulse wave analysis, Savitzky-Golay with order 4 and window 25 points (at 100 Hz) simultaneously provides smoothed PPG, VPG, and APG with minimal distortion of the five APG characteristic waves (a-e). The preservation of peak timing in the smoothed signal makes Savitzky-Golay particularly suitable as a preprocessing step for peak detection and IBI extraction.

Frequently Asked Questions

How do Savitzky-Golay parameters affect PPG analysis?

Higher polynomial order preserves more features but reduces noise smoothing. Larger windows provide more smoothing but may distort rapid transients. Order 3–4 with 15–25 point windows at 100 Hz is a widely used compromise for PPG.

Is Savitzky-Golay better than moving average for PPG?

Yes for morphological analysis. Moving average (equivalent to order-0 Savitzky-Golay) blurs peaks and shifts timing. Polynomial fitting preserves peak position, height, and shape while achieving comparable noise reduction.

Can Savitzky-Golay be applied in real-time?

The standard Savitzky-Golay requires future samples (non-causal), introducing m-sample delay. Causal variants using asymmetric windows enable real-time operation with slightly degraded edge preservation at the expense of latency equal to the window half-width.

Related Algorithms