Physiological Signal Processing & Resampling

Signal Processing & Prediction2026Signal ProcessingHealthcare

Sample-rate conversion of ECG, PPG and blood-pressure signals with custom polyphase filters, and an analysis of how sampling rate affects pulse, blood-pressure and respiration measures.

The challenge

Physiological signals are often recorded at different sampling rates. To analyse them together they must be brought onto a common time base without aliasing, and you need to know which measures tolerate a low sampling rate and which do not.

The solution

Custom Kaiser-window FIR low-pass filters in polyphase form for rational resampling between 10, 50 and 300 Hz, checked against SciPy. On the resampled signals, peak detection was built for ECG, PPG and blood pressure, and pulse transit time, heart-rate variability, beat-to-beat blood pressure and respiration rate from PPG were computed.

How it was built

The project was carried out in a group; I contributed across data processing, signal processing and evaluation. The work used short laboratory recordings of ECG, PPG and arterial pressure at 10, 50 and 300 Hz. Filter specifications were derived from the Nyquist limits, and the resampling was checked with round-trip tests (RMSE and signal-to-noise ratio) and spectral analysis. The 300 Hz recordings served as the reference for every measure.

Result

The custom polyphase resampling closely matched SciPy’s implementation. Low-frequency signals such as PPG and blood pressure tolerated round-trip resampling well, with signal-to-noise ratios above 30 dB, while ECG lost high-frequency content. At 10 Hz, R-peak detection and the heart-rate-variability measures broke down, while respiration rate and blood-pressure levels changed far less.

Context

A signal-processing project without machine learning, based on short laboratory recordings. The results show methodological effects of sampling rate, not physiological or clinical conclusions. Upsampling cannot recover information lost at a low sampling rate.

Technologies and methods

PythonNumPySciPy (FIR/Kaiser, polyphase resampling, Welch)Peak detectionHeart-rate variability (SDNN, RMSSD)Pulse transit timeRound-trip analysis