1. Introduction
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 [
3]. 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) [
4]. 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 [
7]. 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 V
DD (+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 10
15 Ώ, 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 V
TR 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, 2
l − 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
ΔT
d, 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 2
10 to 2
15.
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 S
pO
2 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 (HbO
2) and lower optical absorption in the near infrared region (IR) [
8]. These differences in the extinction coefficients can be used for the determination of the light absorbed by Hb and HbO
2, and then used to calculate the “
normalised ratio”:
which correlates to S
pO
2 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 S
pO
2 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% [
9].
Sensing algorithm for S
pO
2 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 S
pO
2 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 [
6], this project migrated to FPGA. There are few attempts to use FPGA for PPG signal detection, like one in [
12]. It still uses PIN diode as PD and do not have possibility to measure S
pO
2 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 [
13].
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 S
pO
2 probes can be connected to a single FPGA chip and processed in parallel.
4. Results
The proposed PPG sensor-actuator was tested in both PPG and S
pO
2 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) [
14]. 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 [
15]
(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, S
pO
2 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 S
pO
2 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 S
pO
2 instruments. It is very useful for multi-point blood saturation examination. As example in EP3C120 family about 30 S
pO
2 instruments in configuration 4 LEDs + UART + MUX + ST + FIR F. can be implanted.
The testing experiments for PPG and S
pO
2 accuracy are performed on volunteers of different age and health conditions. About 120 different subjects were examined. The measured value of %S
pO
2 and %HR were compared with Nonin's system, 8000AA sensor + OEM III Eval Kit + Software [
14]. 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 S
pO
2 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.