- freely available
Sensors 2013, 13(1), 574-586; doi:10.3390/s130100574
Published: 4 January 2013
Abstract: A fully digital photoplethysmographic (PPG) sensor and actuator has been developed. The sensing circuit uses one Light Emitting Diode (LED) for emitting light into human tissue and one LED for detecting the reflectance light from human tissue. A Field Programmable Gate Array (FPGA) is used to control the LEDs and determine the PPG and Blood Oxygen Saturation (SpO2). The configurations with two LEDs and four LEDs are developed for measuring PPG signal and Blood Oxygen Saturation (SpO2). N-LEDs configuration is proposed for multichannel SpO2 measurements. The approach resulted in better spectral sensitivity, increased and adjustable resolution, reduced noise, small size, low cost and low power consumption.
Photoplethymysography (PPG) is a non-invasive method for the detection of cardiovascular pulse waves propagating across the human body. It is based on the determination of optical properties of vascular tissue using a probe, which consists of LED-photodiode configuration [1,2]. The LEDs run as light emitters and the photodiodes (usually PINs, diode with a wide, lightly doped “near” intrinsic semiconductor region between a p-type semiconductor and an n-type semiconductor region) as light detectors (photo detectors, PDs). The probe can be placed on the periphery of human body, most commonly on a finger or a toe and can operate in reflectance or transmittance mode. The emitted light is reflected, absorbed or scattered by the blood and tissues. The intensity of the light reaching the PD is measured and the variations, caused by blood volume changes, are amplified, filtered and recorded as a voltage signal. This signal is extremely small, subject to noise and in addition to the PD, precise analogue amplifiers, high order filters and analogue-to-digital converters are required . Additional components not only increase the system complexity and cost, but also its size and power consumption. Additionally, the PIN detectors are not ideal as they are not spectrally selective and indiscriminately detect broad spectrum light ranging from near infrared to UV, and all that contributes to the noise and error levels.
On the other hand, it has been neglected that LED in reverse operation mode can also detect light and can be used in a wide range of applications as an inexpensive, readily available optical detector [4–6]. Typically, an LED detects light at a wavelength slightly shorter than the light it emits, making it a wavelength-selective detector, as seen in Figure 1(a) for case of red LED (670 nm) . As such, the LED can be effectively used as an alternative to PIN detector in the case of PPG sensing.
The second challenge is in the fact that, today, numerous miniature, battery powered medical devices tend to be simple, robust and multifunctional . Solution can be achieved by using low-cost sensors and actuator embedded into single platform, preferably System on Chip (SoC), while maintaining necessary accuracy.
Inspired by the possibility to use LEDs as an optical detector as well as by the advantages of nowadays highly integrated chips like FPGA, a PPG sensor requiring only standard LEDs as sensors and FPGA as actuator has been developed. Thus, fully digital, single-chip, solution for multichannel PPG measurement is obtained. 2-LEDs configuration is used for PPG measurement, 4-LEDs configuration for measurement of SpO2, while N-LEDs system can be employed for multichannel SpO2 measurements.
Section 2 continues with the explanation of proposed sensing methodology. The implementation of sensing algorithm in FPGA technology is elaborated in Section 3, while Section 4 presents the test results.
2. Sensing Methodology
The basic sensing circuit is shown in Figure 1(b). It consists of two infrared LEDs, directly connected to the FPGA pins. Emitter (LED1) is driven by the output pin P1, while receiver (LED2) is connected to the pin P2, which can operate in output or input mode depending on I/O DIR. The light is reflected from an obstacle which is located at distance d. The algorithmic steps and electrical models are given in Figure 2. The process starts with switching pin P1 to low state, turning on LED1. Simultaneously, pin P2 is switched to high state, for a very short time Tc (0.1 μs–0.5 μs), charging LED2 to voltage VDD (+5 V or +3.3 V), across very low output impedance Rpino. This charge is held by the sum of the inherent capacitances of the diode and I/O pin itself, Cr = CrLED + Crpin. Typically CrLED = 10 pF–15 pF and Crpin = 3 pF–5 pF. Then, pin P2 is switched into high-impedance (Hi-Z) mode, approximately 1015 Ώ, and digital counter/timer starts.
Under reverse bias conditions and high impedance of pin P2, the LED2 acts as a capacitor Cr discharged by a current source iR(Φ), which models the optically induced photocurrent for incoming light intensity Φ. The process of Cr discharging, assuming that iR(Φ) remains constant during short time, can be expressed as:that means νP2(t) linearly decreases with time t to zero. During discharging νP2(t) is continually polled through its digital equivalent P2in. When P2in changes from logical “1” to “0”, νP2(t) falls below the threshold voltage VTR. For CMOS FPGA devices VTR is about . Immediately, the counter/timer is stopped and the decay time (Td) is read as a number of clock ticks N: where ftclk presents frequency of timer/counter clock.
Experimentally recorded νP2(t) curves, obtained through this project, follow Equation (1) that is illustrated in Figure 3 for three levels of light fluxes, Φ1, Φ2 and Φ3, Φ1 < Φ2 < Φ3. It is apparent that Td decreases when the amount of received light increases and vice versa. For light intensities Φ1, Φ2 and Φ3, N corresponds to N1, N2 and N3. The resolution of Td can be adjusted by ftclk ¸ taking care about overflow, 2l − 1 < Nmax, l is counter length. Usually, ftclk is obtained from main clock fclk by frequency divider with selectable prescale factor Np, ftclk = fclk/Np, Np = 1, 2, 4, 8, 16…. This gives a possibility to adjust resolution of Td, marked as ΔTd, with prescaler Np as:
As example, for fclk = 200 MHz and Np =1, ΔTd can reach value of 5 ns. The sensing cycle repeats with frequency fsl = 1/Tsl, which is in fact the sampling frequency of PPG signal.
In the case of human finger, Figure 4, or toe, due to the configuration of light paths, the photo current is proportional to the volume and the fluctuations of blood inside the finger or lobe. It is in the range of 10−12A (1 pA) in total darkness to about 10−6A (1 μA) under maximal reflectance. The blood cells (especially reds) play role of obstacle. Performed experiments with volunteers shown that for Cr = 15 pF and VTR = VDD/2, Td varies from 0.1 ms to 1 ms that corresponds to the counter resolution of above 210 to 215.
The LED-LED sensing probe is of low energy consumption. If ICCH and ICCL are maximal currents of FPGA's O/I pins during their high and low states, Tsl ≫ Td, Td ≫ Tc, then power dissipation of 2-LEDs system is given as:
As an example, for VDD = 3.3 V, ICCH ≈ ICCL = 25 mA, Td = 0.15 ms and Tsl = 10 ms (fsl = 100 Hz), the dissipation of LED1-LED2 system is about 1.2 mW, while for Tsl = 100 ms (fsl = 10 Hz) it decreases to 0.12 mW.
The PPG configuration from Figure 4 can be easily expanded to include a SpO2 meter, by adding two more red LEDs (Figure 5). Light from LEDs at two different wavelengths is transmitted through the tissue bed and the PD measures the unabsorbed light. The method exploits the fact that deoxyhaemoglobin (Hb) has higher optical extinction in the red region (R) of spectrum than oxyhaemoglobin (HbO2) and lower optical absorption in the near infrared region (IR) . These differences in the extinction coefficients can be used for the determination of the light absorbed by Hb and HbO2, and then used to calculate the “normalised ratio”:which correlates to SpO2 according to empiric equation: where MEAN represents DC component calculated by averaging the signals over a time, RMS AC component, calculated by averaging the square of the signal over a time. The AC component is divided by the DC component in order to eliminate the influence of time invariant absorbance from venous blood or surrounding tissues.
Knowledge of SpO2 can assist in the diagnosis of various respiratory conditions and ischemic states. Normal value is from 95%–100%. A smokers could have values as low as 90% and someone with Chronic Obstructive Pulmonary Disease (COPD) <85% .
Sensing algorithm for SpO2 measurements is practically double algorithm from Figure 2, adding two more red LEDs, which are driven by pins P3 and P4. Two decay times Td = Tdred and Td = Tdir are measured in parallel with separated timers/counters. The power consumption is also double, but does not exceed 2.5 mW.
3. FPGA Implementation
Previously described PPG and SpO2 detection algorithms could be implemented by using general-purpose microcontrollers (MCs) or PLDs. Designers often choose MCs because they traditionally offer better on-chip peripherals, such as timers, ADCs, UARTs, pulse width modulation (PWM) and other integrated I/O for multiple, asynchronous tasks [3,10,11]. Because they are of general purpose, MCs are more flexible and less specialized, which usually makes them easier for understanding and programming. Using MCs in this case is easier and more economical way, but there are several restrictions such as Von Neumann (sequential) architecture, limited numbers of fixed length timers/counters, clock frequency bellow 16 MHz, low DSP capabilities, insufficient parallelism, several software layers etc.
Unlike processors, FPGAs use dedicated hardware for processing logic and do not have an operating system (OS). Since FPGA are there truly parallel in nature, different processing operations do not have to compete for the same resources. FPGAs and processors also differ in compilation. When an application for an FPGA device is compiled, the result is a highly optimized silicon implementation that provides parallel processing with the performance and reliability benefits of dedicated hardware circuitry. Because there is no OS on the FPGA, the code is implemented in a way that ensures maximum performance and reliability. In contrast to early families, nowadays FPGAs do not only offer a lot of logic base cells, but also huge register blocks and memory areas and powerful processor cores, which speed may achieve 500 MHz.
Considering experience and results obtained during development and investigation of MC based PPG sensors , this project migrated to FPGA. There are few attempts to use FPGA for PPG signal detection, like one in . It still uses PIN diode as PD and do not have possibility to measure SpO2 and to perform on-line signal processing.
The FPGA architecture, proposed in this paper, consists of several functional units, Figure 6. Two identical LED drivers and Td meters simultaneously excite emitter diodes LED1and LED3 and simultaneously measure the decay times Tdir and Tr (IR and RED) by tracking voltages on LED2 and LED4. Note that in case of classical pulse oxymeters the time multiplex is used to distinguish between the signals from different light sources. Such multiplex is not necessary here because the LED1, LED3 and LED2, LED4 are switched on and read in parallel. The digital equivalents of Tdir and Tr in form of counter/timer values, are sent to the UART directly or via a Digital filter section, depending on the MUX selection. CLK_DIV determines counter frequency ftclk for different prescaled factors. String fitter (SF) packs the samples in predefined order, IR-RED…-IR-RED, while UART sends the original or filtered data to the host computer in selectable speeds. All functional modules are realised in form of VHDL code functions with generic arguments (data widths, filter order, sampling frequency, communication speed, pipeline and so on).
In order to optimize the design and improve Signal to Noise Ratio (SNR) we investigated several types of digital filters like Mean, FIR, and IIR. The filter function is implemented through the transposed structure which handles all types:where n-1 is the filter order, na is the feedback filter order, and nb is the feedforward filter order. As example, for c = 1/N and b(1) = 0, b(2) = … = b(nb + 1) = 1, a(1) = a(2) = … = a(na + 1) = 0 it becomes mean filter and for c = 1, a(1) = a(2) = … = a(na + 1) = 0 symmetric FIR, etc. Coefficients a(i), b(i) and c are multiplied and rounded in order to be pre-scaled in integer arithmetic .
Today, physiology and cardiology is facing the challenge of performing pulse oximetry measurements at other body locations where arterial blood perfusion is severely degraded. Low and heterogeneous perfusion conditions can be overcome by a multi-channel oximetry approach that simultaneously exploits spatial, frequencies and temporal diversities. The proposed LED-LED FPGA approach is very suitable for such applications, as is shown in Figure 7. Several SpO2 probes can be connected to a single FPGA chip and processed in parallel.
The proposed PPG sensor-actuator was tested in both PPG and SpO2 configurations against qualitative and quantitative criteria. In PPG configuration, the sensing probe comprises an IR(910 nm)-IR(910 nm) 5 mm LED combination and the signal is collected in reflectance mode from a finger. As a substrate, an FPGA chip from Altera, Cyclone III, series, EP3C10 was chosen (device EP3C10E144C8) . The inherent capacitance of its I/O pin is about 4 pF. The I/O pins are configured for 3.3 V operation. Running clock was 48 MHz, allowing maximal resolution of 20 ns, towards temperature of 30 °C. The signals are sampled at 100 Hz or 200 Hz and sent via RS232 interface at 19,200 bps to host computer, where a MATLAB-based virtual instrument is designed for data importing, post-processing and displaying. The virtual instrument allows additional filtering, Fast Fourier Transform (FFT), Time-Frequency Analysis (TFA), statistics, etc., all in real time.
Figure 8(a) shows the original time domain PPG signal obtained by IR-IR combination from a 23-year old male student. The filtered component obtained by 16th order Mean filter is shown in Figure 8(b). The Fourier spectrum of the original signal is shown in Figure 8(c). The heart rate (HR) frequency corresponds to the dominant peak. The frequency that represents a flicker, 50 Hz noise induced from mains or room lights, is also visible. Figure 8(d) shows the Fourier spectrum of the filtered signal. The process parameters are ftclk = 48 MHz, Np = 1 and fsl = 200 Hz.
Figure 9(a) presents an original PPG signal recorded from a 22-year old female student. The signal is processed by 16th order low pass FIR filter with cut-off frequency fc = 10 Hz and fsl = 200 Hz, producing an output given in Figure 9(b). Follow the Fourier spectrums of the original and filtered signals, Figure 9(c) and Figure 9(d). Again HR is detected as a dominant peak.
Qualitative comparison between proposed sensor (A) and its conventional FDA approved equivalent (B), Nonin Model 8000AA  (Adult Articulated Finger Clip), is presented in Figure 10. The signal indicated by dashed line was recorded by model 8000AA. As seen, these two signals match almost perfectly.
Figure 11 presents IR(910 nm) and RED(660 nm) components of PPG signals obtained by 4-LEDs in, SpO2 configuration, fsl = 100 Hz, ftclk = 16 MHz, Np = 3. The original signals are filtered by 3rd order low-pass Butterworth filter with border frequency of fc = 10 Hz. As seen, the original signals contain large DC components or offsets. Superimposed to them are AC components reflecting the pulsatile component of circulation that theoretically can vary between 0.1% and 1% of the DC level. The corresponding MEAN and RMS values are MEAN(RED) = 1,896.95, RMS(RED) = 4.96, MEAN(IR) = 6,165.14, RMS(IR) = 35.14. Using Equation (6) the SpO2 is calculated to 98.53%.
Quantitative testing was performed considering following criteria: occupation of silicon resources for hardware implementation in different configurations, comparison of accuracy PPG and SpO2 measurement against clinical reference and maximal average dissipation for 2-LEDs and 4-LEDs configurations.
Table 1 illustrates the occupancy of silicon resources on target devices (EP3C10 with 10,320 LCs—Logic Cells) for different combinations of built in components. As seen, the FPGA chip of higher capacity can serve several SpO2 instruments. It is very useful for multi-point blood saturation examination. As example in EP3C120 family about 30 SpO2 instruments in configuration 4 LEDs + UART + MUX + ST + FIR F. can be implanted.
The testing experiments for PPG and SpO2 accuracy are performed on volunteers of different age and health conditions. About 120 different subjects were examined. The measured value of %SpO2 and %HR were compared with Nonin's system, 8000AA sensor + OEM III Eval Kit + Software . The experimental values are shown in Table 2.
Additionally, two systems are compared in term of maximal average power consumption. The results are given in Table 3. Although 8000AA is a low power sensor, the proposed solution has lower consumption. A 4-LEDs sensor with a EP3C10 FPGA system has 48 mW consumption that is slightly more than 36 mW for Nonin's solution, but in case of two SpO2 instruments in a single FPGA, the consumption falls to 25 mW per instrument that is better than in Nonin's case.
Obviously, the proposed system is a low cost taking in account prices of LEDs (less than 0.5$ per piece) and FPGA chip (about 15$). The cost of experimental system, presented here, was about 50$, six times less than Nonin's equivalent 8000AA sensor + OEM III Eval Kit.
We have demonstrated the possibility to design an effective system for measurement of PPG signals and blood oxygen saturation by using a LED-LED based configuration in conjunction with a FPGA chip. The proposed sensing technique is fully digital and provides good spectral sensitivity, increased resolution, satisfactory signal to noise ratio, low power consumption, in system flexibility and reconfigurability and miniaturisation. By using the presented approach the challenges of multi-channel oximetry can be overcome.
The authors are thankful to Ministry of Science of Montenegro for funding this research through MESI project. Also, a support from Zoran Jaksic is acknowledged.
- Allen, J. Photoplethysmography and its application in clinical physiological measurement. Physiol. Meas. 2007, 28, R1–R39. [Google Scholar]
- Mendelson, Y. Pulse oximetry: Theory and applications for noninvasive monitoring. Clin. Chem. 1992, 38, 1601–1607. [Google Scholar]
- Rhee, S.; Yang, B.H.; Asada, H.H. Artifact-resistant power-efficient design of finger-ring plethysmographic sensors. IEEE Trans. Biomed. Eng. 2001, 48, 795–805. [Google Scholar]
- Miyazaki, E.; Itami, S.; Araki, T. Using a Light-Emitting Diode as a high-speed, wavelength selective detector. Rev. Sci. Instrum. 1998, 69, 547–588. [Google Scholar]
- Lau, K.T.; Baldwin, S.; Shepherd, R.L.; Dietz, P.H.; Yerzunis, W.S.; Diamond, D. Novel fused-LEDs devices as optical sensors for colorimetric analysis. Talanta 2004, 63, 167–173. [Google Scholar]
- Stojanovic, R.; Karadaglic, D. A LED-LED based photoplethysmography sensor. Physiol. Meas. 2007, 28, N19–N27. [Google Scholar]
- Anliker, U.; Ward, J.A.; Lukowicz, P.; Troster, G.; Dolveck, F.; Baer, M.; Keita, F.; Schenker, E.B.; Catarsi, F.; Coluccini, L.; et al. AMON: A wearable multiparameter medical monitoring and alert system. IEEE Trans. Inf. Technol. Biomed. 2004, 8, 415–427. [Google Scholar]
- Phillips, J.P.; Hickey, M.; Kyriacou, P.A. Evaluation of electrical and optical plethysmography sensors for noninvasive monitoring of hemoglobin concentration. Sensors 2012, 12, 1816–1826. [Google Scholar]
- Soguel Schenkel, N.; Burdet, L.; de Muralt, B.; Fitting, J.W. Oxygen saturation during daily activities in chronic obstructive pulmonary disease. Eur. Respir. J. 1996, 9, 2584–2589. [Google Scholar]
- Gil, Y.; Wu, W.; Lee, J. A synchronous multi-body sensor platform in a wireless body sensor network: design and implementation. Sensors 2012, 12, 10381–10394. [Google Scholar]
- Adochiei, F.; Rotariu, C.; Ciobotariu, R.; Costin, H. A wireless low-power pulse oximetry system for patient telemonitoring. Proceedings of 7th International Symposium on Advanced Topics in Electrical Engineering (ATEE), Bucharest, Romania, 12–14 May 2011; pp. 1–4.
- Jaiganesh, V.; Sankaradass, M. PC based heart rate monitor implemented in XILINX FPGA and analysing the heart rate. Proceedings of the Third IASTED International Conference on Circuits, Signals, and Systems, Marina del Rey, CA, USA, 24–26 October 2005; Oklobdzija, V.G., Ed.; pp. 319–323.
- Stojanović, R.; Lutovac, B.; Lekić, N. Implementation of IIR-FIR filters in fixed point arithmetic and its application in processing of biomedical signals. Proceedings of 54th ETRAN Conference, Donji Milanovac, Serbia, 7–10 June 2010; pp. EK2.4-1–4.
- Altera Corporation. Cyclone III Device Handbook. Available online: http://www.altera.com/literature/hb/cyc3/cyclone3_handbook.pdf (accessed on 10 November 2012).
- Nonin Sensors. Available online: http://www.nonin.com/PulseOximetry/Sensors/ReusableSensors/ (accessed on 10 November 2012).
|Table 1. FPGA resources for different configurations of PPG sensor, expressed in LCs.|
|Configuration||# of LCs||Occupancy in LCs [%], EP3C10|
|2 LEDs + UART + MUX + ST||311||3%|
|2 LEDs + UART + MUX + ST + MEAN F.||861||8.3%|
|2 LEDs + UART + MUX + ST + FIR F.||1,866||18.1%|
|4 LEDs + UART + MUX + ST||634||6.1%|
|4 LEDs + UART + MUX + ST + MEAN F.||1,746||17%|
|4 LEDs + UART + MUX + ST + FIR F.||3,833||37.1%|
|Table 2. Accuracy against industrial reference.|
|# of samples||Mean absolute error of [%] HR||Mean absolute error in [%] SpO2|
|Table 3. Comparison of power consumption.|
|Nonin's 8000AA-2LEDs||3 mW|
|Nonin's 8000AA-2LEDs||6 mW|
|Nonin's 8000AA sensor + OEM III Eval Kit||36 mW|
|Proposed 4-LEDs sensor + EP3C10 FPGA||48 mW|
|Proposed 2 × 4-LEDs sensor + EP3C10 FPGA||54 mW, 27 mW per instrument|
© 2013 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).