Pulse wave signals, such as blood pressure and PPG waves, are widely used in clinical medicine and consumer devices for physiological assessment, as they
contain valuable information on cardiovascular function. These signals are influenced by the heart, with heart rate and stroke volume affecting their duration and morphology, and the vasculature, with arterial stiffness and reflection sites influencing their morphology. We have developed several
algorithms for analysing arterial pulse wave signals.
PulseAnalyse is an in-house Matlab
code for extracting cardiovascular indices from pulse waves, including blood pressure and PPG waves. It can analyse either a single pulse wave (e.g., a simulated pulse wave) or a recording (e.g., a 10-minute PPG recording). The algorithm performs several steps: signal quality assessment, noise filtering, fiducial point identification, index calculation, and plot generation of the analyses. It also includes
optional features for estimating a central pressure wave from a peripheral wave and calibrating pressure waves using brachial cuff measurements. The link provides a
user manual,
examples for quick set up, and publications by Charlton
et al. describing the tool (
Am J Physiol, 2019 and
Physiol Measur, 2018).
Central Blood Pressure is a set of in-house Matlab codes for
estimating central blood pressure (cBP) from noninvasive aortic haemodynamic data and a peripheral BP measurement. As described by
Mariscal-Harana et al. (Am J Physiol, 2021), the code includes three algorithms of increasing complexity, each based on a different blood flow model: the two-element and three-element Windkessel models, and a 1-D model of the thoracic aorta.
In addition, algorithms are provided for estimating cardiovascular parameters (left ventricular ejection time, outflow vascular BP, total arterial resistance and compliance, aortic pulse wave velocity, and characteristic impedance) from noninvasive thoracic aorta haemodynamic data and peripheral BP measurements.
Transit Time is an in-house Matlab code for calculating the
transit time between two pulse wave signals (blood pressure or flow waves) using foot-to-foot, least squared difference, or cross-correlation algorithms, as described by
Gaddum et al. (Ann Biomed Eng, 2013). The article provides
criteria for selecting the most accurate and least variable algorithm based on the noise, resolution, and correlation coefficient of the measured waveforms.