| Literature DB >> 36004994 |
Jesse Fine1, Michael J McShane1,2,3, Gerard L Coté1,2, Christopher G Scully4.
Abstract
Cardiovascular disease is the leading cause of death globally. To provide continuous monitoring of blood pressure (BP), a parameter which has shown to improve health outcomes when monitored closely, many groups are trying to measure blood pressure via noninvasive photoplethysmography (PPG). However, the PPG waveform is subject to variation as a function of patient-specific and device factors and thus a platform to enable the evaluation of these factors on the PPG waveform and subsequent hemodynamic parameter prediction would enable device development. Here, we present a computational workflow that combines Monte Carlo modeling (MC), gaussian combination, and additive noise to create synthetic dataset of volar fingertip PPG waveforms representative of a diverse cohort. First, MC is used to determine PPG amplitude across age, skin tone, and device wavelength. Then, gaussian combination generates accurate PPG waveforms, and signal processing enables data filtration and feature extraction. We improve the limitations of current synthetic PPG frameworks by enabling inclusion of physiological and anatomical effects from body site, skin tone, and age. We then show how the datasets can be used to examine effects of device characteristics such as wavelength, analog to digital converter specifications, filtering method, and feature extraction. Lastly, we demonstrate the use of this framework to show the insensitivity of a support vector machine predictive algorithm compared to a neural network and bagged trees algorithm.Entities:
Keywords: computational modeling and simulation; medical device design; photoplethysmography; remote monitoring
Mesh:
Year: 2022 PMID: 36004994 PMCID: PMC9405581 DOI: 10.3390/bios12080598
Source DB: PubMed Journal: Biosensors (Basel) ISSN: 2079-6374
Common PPG Features.
| Feature Name | Definition |
|---|---|
| Pulse Rise Time | Difference in time from pulse onset to systolic peak |
| Peak Amplitude | Difference in signal amplitude between systolic peak and onset (AC component) |
| “X”% Systolic Width | Difference in time between “Y” and the systolic peak, where “Y” is the time at which “X”% of the peak amplitude is achieved before the systolic peak [ |
| “X”% Diastolic Width | Difference in time between “Y” and the systolic peak, where “Y” is the time at which “X”% of the peak amplitude is achieved after the systolic peak [ |
| Inflection Point Area | The ratio a2/a1, where a2 is the area under the PPG waveform from the dicrotic notch to the next onset and a1 is the area under the PPG waveform from the onset to the dicrotic notch [ |
| Pulse Rate | The number of systolic peaks observed over 60 s |
Figure 1Sample PPG Waveform. Created with BioRender.com (accessed on 26 May 2022).
Figure 2Computational Workflow. Created with Biorender.com (accessed on 26 May 2022).
Figure 3Model Geometry and Source/Detector Geometry. Created with Biorender.com (accessed on 26 May 2022).
Model Optical and Geometric Properties.
| Age (Years) | Wavelength (nm) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 23 | 34.4 | 44.8 | 55 | 515 | 660 | 880 | |||||
| Thickness (mm)/Starting Depth (mm) | µa (cm−1) | µs (cm−1) | µa (cm−1) | µs (cm−1) | µa (cm−1) | µs (cm−1) | |||||
|
| 0.55/0.00 | 0.55/0.00 | 0.55/0.00 | 0.55/0.00 |
| 1.96/6.28/12.43/18.58 | 388.35 | 0.86/2.75/5.44/8.13 | 303.03 | 0.33/1.06/2.09/3.13 | 227.27 |
|
| 0.075/0.55 | 0.071/0.55 | 0.067/0.55 | 0.064/0.55 |
| 1.2166 | 389.99 | 0.5249 | 208.65 | 0.2344 | 118.94 |
|
| 1.2202 | 0.5250 | 0.2346 | ||||||||
|
| 0.04/0.63 | 0.038/0.62 | 0.036/0.62 | 0.033/0.61 |
| 1.5328 | 389.99 | 0.5398 | 208.65 | 0.2546 | 118.94 |
|
| 1.5593 | 0.5410 | 0.2558 | ||||||||
|
| 0.75/0.67 | 0.71/0.66 | 0.67/0.65 | 0.64/0.65 |
| 1.2167 | 389.99 | 0.5256 | 208.65 | 0.2456 | 118.94 |
|
| 1.2202 | 0.5257 | 0.2458 | ||||||||
|
| 0.05/1.42 | 0.05/1.37 | 0.04/1.33 | 0.04/1.28 |
| 1.2896 | 389.99 | 0.5288 | 208.65 | 0.2462 | 118.94 |
|
| 1.2985 | 0.5292 | 0.2466 | ||||||||
|
| 2.00/1.47 | 2.00/1.42 | 2.00/1.37 | 2.00/1.33 | n/a | 6.0798 | 336.18 | 0.2827 | 249.74 | 0.3195 | 191.53 |
PPG Features. The left column is the name of the PPG feature, and the right column is a brief description of the associated feature.
| Feature Name | Definition |
|---|---|
| Mean Peak Amplitude | distance from systolic onset to systolic peak over 30 s window |
| Mean Pulse Rising Time | time from systolic onset to systolic peak over 30 s window |
| x75 Systolic Width Time | Time from systolic peak to the point before the systolic peak with amplitude of 75% of peak amplitude |
| X75 Diastolic Width Time | Time from systolic peak to the point after the systolic peak with amplitude of 75% of peak amplitude |
| X66 Systolic Width Time | Time from systolic peak to the point before the systolic peak with amplitude of 66% of peak amplitude |
| X66 Diastolic Width Time | Time from systolic peak to the point after the systolic peak with amplitude of 66% of peak amplitude |
| X50 Systolic Width Time | Time from systolic peak to the point before the systolic peak with amplitude of 50% of peak amplitude |
| X50 Diastolic Width Time | Time from systolic peak to the point after the systolic peak with amplitude of 50% of peak amplitude |
| X33 Systolic Width Time | Time from systolic peak to the point before the systolic peak with amplitude of 33% of peak amplitude |
| X33 Diastolic Width Time | Time from systolic peak to the point after the systolic peak with amplitude of 33% of peak amplitude |
| X25 Systolic Width Time | Time from systolic peak to the point before the systolic peak with amplitude of 25% of peak amplitude |
| X25 Diastolic Width Time | Time from systolic peak to the point after the systolic peak with amplitude of 25% of peak amplitude |
| X10 Systolic Width Time | Time from systolic peak to the point before the systolic peak with amplitude of 10% of peak amplitude |
| X10 Diastolic Width Time | Time from systolic peak to the point after the systolic peak with amplitude of 10% of peak amplitude |
| X75 Width Time | Time from the point on systolic rising edge to the point after the systolic rising edge where 75% of peak amplitude occurs |
| X66 Width Time | Time from the point on systolic rising edge to the point after the systolic rising edge where 66% of peak amplitude occurs |
| X50 Width Time | Time from the point on systolic rising edge to the point after the systolic rising edge where 50% of peak amplitude occurs |
| X33 Width Time | Time from the point on systolic rising edge to the point after the systolic rising edge where 33% of peak amplitude occurs |
| X25 Width Time | Time from the point on systolic rising edge to the point after the systolic rising edge where 25% of peak amplitude occurs |
| X10 Width Time | Time from the point on systolic rising edge to the point after the systolic rising edge where 10% of peak amplitude occurs |
| X75 Div Width Time | X75 Systolic Width Time/X75 Diastolic Width Time |
| X66 Div Width Time | X66 Systolic Width Time/X66 Diastolic Width Time |
| X50 Div Width Time | X50 Systolic Width Time/X50 Diastolic Width Time |
| X33 Div Width Time | X33 Systolic Width Time/X33 Diastolic Width Time |
| X25 Div Width Time | X25 Systolic Width Time/X25 Diastolic Width Time |
| X10 Div Width Time | X10 Systolic Width Time/X10 Diastolic Width Time |
| Width Difference | The absolute difference of X50 Systolic Width Time and X50 Diastolic Width Time |
| Mean Max Slope | The maximum slope observed across 3 points in the systolic rising edge |
| Inflection Point Area | The integral of the PPG waveform from the dicrotic notch to the next systolic onset divided by the integral of the PPG waveform from the onset to the dicrotic notch |
| Diastolic Time | Time from the systolic peak to the next systolic onset |
| Heart Rate | Systolic peaks identified over 30 s × 2 |
| P2p1 Mean | The ratio of dicrotic notch amplitude to systolic peak amplitude |
| Dicrotic Notch Height | Dicrotic notch amplitude |
| Mean Time Between Peak and Next Notch | Time between the systolic peak and dicrotic notch |
| Cardiac Period | Average time between systolic peaks |
| Onset Period | Average time between systolic onsets |
| PPG Integral | Area under the PPG waveform |
Figure 4Normalized PPG AC amplitude (a) and PPG DC amplitude (b) from Monte-Carlo Simulation Results. Made with Biorender.com (accessed on 26 May 2022).
PPG Waveform Gaussian Parameters and Median Relative Error for GRG nonlinear solver.
| Age (Years) | Gaussian 1 | Gaussian 2 | Gaussian 3 | Median Relative Error (%) |
|---|---|---|---|---|
| 23 | 0.57,0.19,0.09 | 0.47,0.11,0.05 | 0.77,0.39,0.30 | 3.58 |
| 34.4 | 0.80,0.28,0.25 | 0.77,0.59,0.44 | 0.74,0.13,0.11 | 2.12 |
| 44.8 | 0.59,0.21,0.12 | 0.38,0.11,0.06 | 0.75,0.40,0.29 | 4.14 |
| 55.0 | 0.77,0.28,0.25 | 0.67,0.14,0.13 | 0.79,0.58,0.44 | 1.79 |
Figure 5Synthetic vs. literature-derived PPG waveforms for 23 years old (a), 34 years old (b), 45 years old (c), and 55 years old (d) [41].
Figure 6Example synthetic data across wavelengths and ages (VFM = 0.03, Wavelength = 515 nm), without (a) and with (b) noise. Blue is 23 years old, orange is 34 years old, yellow is 45 years old and purple is 55 years old.
Figure 7(a) PPG Morphology at Different ADC Resolutions (blue = 5 bits, red = 8 bits, orange = 11 bits) for 515 nm, 0.03 VFM, and 23 Years old. (b) PPG Morphology at Different ADC Resolutions (blue = 13 bits, red = 16 bits, orange = 19 bits) for 515 nm, 0.30 VFM, and 55 years old. (c) Median Percent Difference Between PPG Morphologies for Large and Small ADC Resolution for two simulated data.
Figure 8Selected Synthetic PPG Feature Values Across Parameters. Filter 1 is a 4th order bandpass Butterworth (0.1–0.7 Hz), Filter 2 is a 4th order bandpass Inverse Chebyshev (0.1–0.7 Hz), Filter 3 is a 4th order Low pass Inverse Chebyshev, and Filter 4 is control data that has no noise and no filters applied. Colormap was determined by normalizing each row. Standard deviations are in parentheses.
Figure A1Synthetic PPG Feature Values Across Parameters, Filter 1 is a 4th order bandpass Butterworth (0.1–0.7 Hz), Filter 2 is a 4th order bandpass Inverse Chebyshev (0.1–0.7 Hz), Filter 3 is a 4th order Low pass Inverse Chebyshev, and Filter 4 is control data that has no noise and no filters applied. Colormap was determined by normalizing each row. Standard deviations are in parentheses.
Algorithm Mean Error and Standard Deviation.
| Support Vector Machine | Bagged Trees | Neural Network | ||||
|---|---|---|---|---|---|---|
| Mean Error (mmHg) | Standard Deviation (mmHg) | Mean Error (mmHg) | Standard Deviation (mmHg) | Mean Error (mmHg) | Standard Deviation (mmHg) | |
| Systolic | 0.55 | 11.56 | −0.02 | 12.4 | −0.36 | 15.53 |
| Diastolic | −0.72 | 8.24 | −0.11 | 8.63 | −0.16 | 10.75 |
| Systolic-Synthetic | N/A | 0.12 | N/A | 3.46 | N/A | 14.53 |
| Diastolic-Synthetic | N/A | 0.10 | N/A | 4.34 | N/A | 9.44 |