1 Introduction

Increased blood pressure (BP) is one of the leading risk factors of mortality in the world, which is often caused by coronary heart disease, and ischemic as well as hemorrhagic strokes. Blood pressure levels have been shown to be positively and continuously related to the risk of stroke and coronary heart disease. Therefore, the medical industry that prevents risk factors is increasingly value the continuous monitoring of BP in various countries. With the advancement of the technology, digital transformation of the smart heath care system is highly in demand. For global home healthcare market, the market size was valued at USD 281.8 billion in 2019 and is expected to register a CAGR of 7.9% over the forecast period (Grand view research 2020). There are two increase factors which are population aging around the world and increased patient preference for value-based healthcare to fuel market growth. For these two groups, the blood pressure is an important physiological bio-sign to monitor, since prolonged abnormal blood pressure precipitates different kinds of cardiovascular diseases. The early detection of hypertension is extremely important for the prevention and cure of cardiovascular diseases.

In the recent studies, 24-h ambulatory blood pressure measurement (Ahmad et al. 2010), nighttime measurement (Kitterman et al. 1970), or long-time BP variability are generally accepted as legitimate means of detecting health conditions. Some studies (Dupuis and Eugene 2000; Silvani et al. 2008) reported that clinic BP measurement may not provide normal BP values due to white-coat effects. Continuous measurement can effectively avoid these problems and achieve a more effective prevention of cardiovascular diseases. With the development of biomedical technology, the measurement of blood pressure has become easier. Measurement methods have changed from invasive to non-invasive. Invasive measurement method is neither safe nor convenient, since the sensor and catheter need to be inserted into the blood vessel. As for the conventional non-invasive sensor, the popular sphygmomanometer is of inflatable type. In order to measure blood pressures, one is forced to be with an uncomfortable 200-mmHg pressures by the blood pressure cuff. Therefore, cuff-less BP measurements are in demand. In the references (Tu and Chao 2018; Chiang and Chao 2018; Ahmmed et al. 2019; Song et al. 2019) cuffless type BP and blood flow velocity (BFV) measurement sensors were proposed. The key technology involved is the photoplethysmogram (PPG) sensing, cloud computing and machine learning. The sensed PPG data is transmitted wirelessly to a remote server to perform the cloud-computing-based BP estimation. This leads to a delay, not to mention that signal may be too noisy for BP estimation, thus accuracy degraded. The study (Lazazzera et al. 2019) presented a cuffless method for BP estimation that is based on the time delay, the travel time of the blood volume from the heart to peripheral organs. Due to the complicated calculation, this method requires more computational resources and memories on the hosting device. In other words, it is not easy to implement the algorithm for blood pressure estimation in a single digital chip to achieve the satisfied accuracy. The solution presented in this study is an easier implementation, which is dedicated to forging a novel real-time on-chip implementing the algorithm with a PPG sensor to estimate non-invasive cuffless blood pressures in a digital chip.

The remainder of this study is organized as follows. The proposed PPG sensor is discussed in Sect. 2. On-chip digital signal processing and real-time algorithm in Sect. 3. Simulation and the experimental results are presented in Sect. 4. Finally, Sect. 5 concludes this study.

2 Photoplethysmography

2.1 The photoplethysmography (PPG) sensor

Photoplethysmography and its medical applications have been proved to be effective (Allen 2007; Dresher 2006; Kraitl et al. 2005), since it is a simple, low-cost and non-invasive optical device that can be used to detect microcirculation of tissue. Only a few electro-optic elements are required for the implementation of PPG technology. A novel platform with non-invasive method to measure the blood pressures and heart rate is proposed, as shown in Fig. 1, which demonstrates the work process of the front-end analog circuit, an MCU and the associated algorithmic computation.

Fig. 1
figure 1

Schematic of the overall system

A single-wavelength light source is used to calculate the blood pressure, which is the red or the infrared light. Figure 2 shows the photo of the sensor, which has four different wavelengths of light-emitting diodes (LEDs) and a photodiode (PD). The PD measures the change in volume of the light illuminating the skin from a LED. The 660 nm red light or 940 nm infrared light was used to estimate the blood pressure. The other two wavelengths are 530 nm green light and 850 nm infrared light, which are used to study the effects of different wavelengths of lighting on PPG. The system proposed a medical device, which may not only obtain the heart rate (HR) and the blood pressures but also the blood flow, the blood oxygen or even the blood glucose with these four or more different wavelengths of LED arrays. A transimpedance amplifier (TIA) circuit is designed to convert the PD current into the voltage via a series of a differential current-to-voltage (I–V) and a programmable gain amplifier of five channels, in order to transform PPG signal into a near 22-bit-resolution dynamic range of analog-to digital converter (ADC). Between ADC and gain amplifier is a band-pass filter, which can remove the slow-drifting baseline component (DC) caused by motion artifacts and breathing, and high-frequency noises caused by environmental lighting and electronics. The acquired digital PPG signal enters the MCU after the ADC, and then transmitted to a laptop computer for BP calculation by Bluetooth.

Fig. 2
figure 2

The layout of fabricated LED/PD module, where four different wavelengths of emitted lights including the visible and invisible light sources

2.2 Blood pressure estimation

Based on the Bramwell-Hill equation (Zheng et al. 2014; Langewouters et al. 1986; Maganaris et al. 1999), the blood pressure is calculated based on the theory of pulse wave velocity (PWV), following

$$PWV = \sqrt {\frac{V}{\rho }\frac{\Delta P}{{\Delta V}}} ,$$
(1)

where ρ is the blood density, V is the volume of blood in artery, ΔP is the variance between systolic (SBP) and diastolic blood pressures (DBP), and ΔV is the corresponding blood volume change. Due to the fact that the ρ, V, and ΔV are nearly constant for each subject, Eq. (1) can be re-expressed in a different form of

$$SBP - DBP = \frac{\rho \Delta V}{V}(\frac{L}{PTT})^{2} = K_{a} \cdot \frac{1}{{PTT^{2} }},$$
(2)

where PTT is the pulse transit time while Ka is a parameter to be calibrated via experiments for a subject. PTT refers to the time taken by a pressure wave to travel between two arbitrary arterial sites and is inversely related to BP (Sharma et al. 2017). In this study, the reflective PTT (named R-PTT), which is one particular type of PTTs, is considered for estimating BPs. In this study, this R-PTT is intended to be measured by the proposed sensor at wrist artery, and is in fact this R-PTT can be captured well by the duration between the peaks of the percussion (the 1st peak) and reflected (the 2nd peak) waves in a cardiac pulsation cycle (Kao et al. 2019; Tu and Chao 2019) for later BP estimation based on the PWV theory. With R-PTT as PTT, based on Eq. (2), SBP can be re-expressed by

$$SBP = DBP + K_{a} \cdot \frac{1}{{R{ - }PTT^{2} }}.$$
(3)

On the other hand, an alternative way to quantify PWV is to apply the Moens-Korteweg equation; (Moens 1878; Korteweg 1878), that is,

$$PWV = \sqrt {\frac{{E_{in} h}}{2\rho r}} ,$$
(4)

where Ein is elastic modulus of artery, h is the thickness of the artery, r is the radius of artery and ρ is the density of blood. Based on the experiment results obtained by Bank et al. 1995, the mean blood pressure (MBP) can be derived as

$$MBP\left( { \equiv \frac{1}{3}SBP + \frac{2}{3}DBP} \right) = K{}_{b} + \frac{2}{0.031}\ln \left( {\frac{{K{}_{c}}}{{R{ - }PTT}}} \right),$$
(5)

where Kb and Kc are parameters to be calibrated via experiments. Combining Eqs. (3) and (5) yields

$$DBP = K_{b} + \frac{2}{0.031}\ln \frac{{K_{c} }}{{R{ - }PTT}} - \frac{1}{3}\frac{{K_{a} }}{{R{ - }PTT^{2} }}.$$
(6)

With R-PTTs extracted from the PPG waveforms measured by the developed BP sensor while SBPs/DBPs obtained from a reference BP monitor, one is able to calibrate the parameters of Ka, Kb and Kc based on Eqs. (3) and (6). The developed BP sensor is then ready for sensing SBP and DBP with satisfactory accuracy. Note herein that for some subjects, the second peak is not obvious and/or too much noise around to find (Suzuki and Ryu 2014), the second derivatives of the PPG waveform are calculated to find the location of its valley, as shown Fig. 3, which is also the location the second peak.

Fig. 3
figure 3

PPG signal and its 2nd derivative

2.3 Digital signal processing

The raw PPG waveforms are often too noisy to identify targeted R-PTTs in the waveforms. Effective filters need to be designed to reduce the noise to derive successful PTTs. To this end, the Fast Fourier Transform is first applied to analyze the signal spectrum, which often presents variations due to physiological conditions such as gender and age. Figure 4 shows the spectrum analysis of four kinds of PPG signals. Most of the data measured are standard PPG signals. Along with the standard PPG signals, PPG signals with multiple reflected waves are also common. These smaller reflected waves may have other physical meanings. In an environment where the weak reflected waves are disturbed by the ambient light, the signal is hard to be identified due to noise. The normal PPG signal in Fig. 4 indicate the normal respiratory rate of 0.2–0.4 Hz and normal heart of 0.8–2 Hz. People with high blood pressure or obesity may have a higher heart rate, but normally it does not exceed 3 Hz. Thus, a 1500-order band-pass Hamming window, as shown in Fig. 5, is designed to provide low cutoff frequencies at 0.6 Hz and a high cutoff filter at 10 Hz to reduce the noise.

Fig. 4
figure 4

Spectrums of PPG signals

Fig. 5
figure 5

Frequency response of high-order band-pass Hamming window

2.4 Feature extraction

The most important part of the PPG signal, which determines whether the blood pressure value is accurate, is the characteristics of first peaks and second peaks. The first peak is the maximum point in the heart period and is easy to obtain. The second peak, called the reflected wave peak, is sometimes not obvious and difficult to obtain. Figure 6 shows the PPG signal with a distinct reflected peak after filtering. The positions of the reflected wave peaks can be easily identified in these signals. Figure 7 shows the comparison in the results of finding the second peaks between the method of straightforward peak-finding and that using the second derivatives, where it is clearly seen that using the second derivatives finds effectively all the secondary peaks, then R-PTT can be easily distilled. This method greatly reduces the difficulty in feature extraction of R-PTTT, then stabilizing the accuracy of the proposed algorithm for estimating BPs.

Fig. 6
figure 6

Peak detection on the filtered PPG waveforms

Fig. 7
figure 7

Peak detection and the feature extraction based on second derivatives of PPG

3 Digital chip implementation

Having conducted PPG signal analysis and feature extraction, the algorithm of BP estimation is to be implemented a digital chip, as shown in Fig. 8. In the experiment system, there are a filter designed on a chip to reduce the noise caused by ambient environments. A moving average filter is designed to reduce the noise of raw PPG signal. Finally, a converter from analog to digital, the filter and the chip with feature extraction is included in chip design.

Fig. 8
figure 8

Signal processing flow

3.1 Moving average filter on a digital chip

High-order hamming windows such as other high-order multi-coefficient filters used in analysis is difficult to implement in a small chip. To make the algorithm developed in the computer into a chip, it is necessary to simplify the calculation process. Therefore, a moving average filter look-up table is proposed to lessen the computation load and reduce the area of a chip. Digital filters are classified into two types: finite impulse response (FIR) and infinite impulse response (IIR) filters according to their impulse response types. The output response of the FIR filter is dependent only on the input signal; whereas, the output response of the IIR filter is dependent both on the input and output signals. Thus, IIR filter has nonlinear phase and stability issues. To reduce the complicated design process, the moving average filter (MAF), which is a special case of FIR filter, is chosen to realize the linear phase algorithm for reducing PPG signal distortion. The filter used in the implementation consists of two 40-order MAFs connected in cascade. According to the convolution definition, the sequences are the coefficients of two polynomials. The coefficients of the ordinary product of the two polynomials are the convolution of the original two sequences. From discrete convolution, the coefficients were obtained for the MAF in cascade. Figure 9 shows the response of the designed moving average filter. Having been filtered, the PPG signal is smoother. Figure 10 shows the original raw signal and the signal filtered by MAF. Having applied filtering, the first and second peaks of the signal can be identified easily. Note herein that the resolution of the PPG signal received by the ADC is 16 bits. For the accuracy of the second derivative, the PPG signal resolution was adjusted to three digits after the decimal point. In the implementation of the chip, the processed signal is about 26 bits. Therefore, the simplified FIR filter is designed as

$$y[n] = \frac{1}{n}\sum\limits_{i = 0}^{N = 40} {x[n - i]} ,$$
(7)

where x is the incoming bit data while y is the output of the designed moving averaging. For real-time operation, shift registers are used for data buffering. There are 40 temporary registers, thus N = 40 in Eq. (7). The filter in Eq. (7) is a 40-order moving average filter, to be implemented by a digital chip. Note herein that the moving average filter designed in this study cause a latency of (N − 1)/2 = 19.5, where N is 40 as the filter length. Thus, the data-processing rate is up to 500 Hz/19.5 = 25.641 Hz. The cutoff frequency for low-pass filtering is set at 10 Hz to reduce the noise. According to the Nyquist theorem, the sampling rate must be faster than two times of the cutoff frequency. Therefore, time resolution is not loosened in detecting the R-PTT later, as detailed in the next subsection.

Fig. 9
figure 9

Frequency responses of the moving average filter

Fig. 10
figure 10

The original PPG signal and its filtered

3.2 Feature extraction on a digital chip

To extract the most important feature, R-PTT, the first- and second-order differentiations are applied to the measured raw PPG signals, as shown in Fig. 11. The first peak are obtained based on the zero-crossings of the first derivatives, while the second peaks are based on the zero-crossings of the second derivatives, which are actually inflection points of a cardiac PPG cycle. The associated algorithm is coded in Veirlog, the pseudo-code elaborating the algorithm is given in Tables 1 and 2. Also, the detection of valleys is achieved by the same fashion as the peaks. Having found the peaks and valleys, a checking algorithm is implemented to ensure that one valley is found with two peaks, the first and second, also found, to ensure the correctness of the entire algorithm. With the above ensured, the heart rate can successfully be distilled. Note lastly that the aforementioned algorithm allows repeated usages of moving-average filtering to achieve the findings of peaks, inflections and valleys.

Fig. 11
figure 11

PPG signal and its first/second derivatives

Table 1 The pseudo-code of peak detection
Table 2 The pseudo-code of inflection point detection

With the peaks, inflections and valleys found, the features of R-PTTs are extracted and then BPs can be calculated. Figure 12 shows preliminary measurement results of R-PTT extraction. The measurement is conducted to acquire 16 sets of PPG data from eight healthy persons (mean ages 26 ± \(6\)). The devices for measurement includes PPG sensors, a digital chip for analysis of PPG signal, an MCU and a computer for data analysis, display and storage. The R-PTT measured show a distribution of 195 ± 10 ms. On the other hand, the pseudo-code elaborating the algorithm of calculating BP is given in Table 3, which implements the calculations detailed in Sect. 2.2. In this algorithm, the natural logarithm computation involved in Eqs. (5) and (6) are implemented by a look-up table (LUT) to reduce the computation load in the digital chip. For the first-time calibration, R-PTT in Table 3 is obtained from the first three cycles as the input of R-PTT0 to calibrate the parameters of Ka, Kb and Kc. Having obtained these parameters, SBPs and DBPs can be derived. Note herein that for each subject, only one reference measurement on BP needs to be input for calibration, identifying Ka, Kb and Kc.

Fig. 12
figure 12

Boxplot of measured R-PTTs

Table 3 The pseudo-code of the blood pressure algorithm

4 Simulation and the experimental results

4.1 Simulation for register-transfer level

Simulations on the designed digital chip are conducted to validate its expected performance. The inputs to the simulations are the raw PPG signals measured by the optical sensor. A total of 3000 16-bit raw data sets are measured at the sampling rate of 500 Hz for simulation validation. The measured data sets are then input into the designed digital chip to calculate heart rate (HR), SBP and DBP. Simulation on the designed chip is conducted up to the register-transfer level (RTL). The associated tool of Electronic Design Automation (EDA) offered by the National Chip Implementation Center (CIC), Taiwan. The results are shown in Fig. 13, where the raw, filtered, the first- and second-derivatives of the measured PPG are clearly seen and present as expected. The next step to the RTL-level synthesis towards the digital chip implementation of the BP algorithm is the gate-level simulation. The results are shown in Fig. 14, where the raw, filtered, the first- and second-derivatives of the measured PPG are also clearly seen and present as expected, despite of some glitches (shown as spikes) in the filtered, the first- and second-derivatives of PPG. As shown in Fig. 10, the results of Gate-Level Simulation are consistent with RTL-level simulation. Furthermore, the glitches usually disappear in reality with parasitic capacitances and resistances included, thus the glitches do not undermine the accuracy of the next step of algorithm, the extraction of R-PTT. With the raw, filtered, the first- and second-derivatives of the measured PPG successfully derived, another part of digital chip is responsible for the extraction of R-PTT and then computation for HR, SBP and DBP. The gate-level model is further converted to chip layout. The associated post-layout simulation results are presented in Fig. 15, where the computed HRs, SBPs and DBPs are shown. Figure 16 shows the IC layout of the designed signal processing and algorithm, accomplished by the TSMC 0.18-μm process. The operation frequency is 10 kHz. There are 100 test pins in this IC. It has 1 pin for clk, which is 0 or 1; 1 pin for rst_n, which is 0 or 1; 1 pin for in_valid, which is 0 or 1; 8 pins for each SBP0 and DBP0, which are 8-bit decimal integers; 16 pins for PPG signal, which is a 16-bit decimal integer; 9 pins for SBP, DBP and HR, which are 9-bit decimal integers; 8 pins for core power and ground; and 30 pins for IO powers and grounds. Table 4 lists the expected specifications of the designed chip including signal processing and blood pressure algorithm. The supply voltage is 1.8 V, while the chip size is 4 mm2.

Fig. 13
figure 13

Simulation of signal processing and the algorithm at register-transfer level

Fig. 14
figure 14

Simulation of signal processing and the algorithm at gate level

Fig. 15
figure 15

Post layout simulation of the IC of the blood pressure algorithm

Fig. 16
figure 16

The IC layout of the blood pressure algorithm

Table 4 Expected specification of blood pressure algorithm

4.2 Blood Pressure Algorithm Implemented on a digital chip

The designed digital chip implementing the blood pressure algorithm is next fabricated by the TSMC 0.18-μm process. The photo of the chip is shown in Fig. 17a, while Fig. 17b shows the test board of the chip. The experimental setup for testing the chip is shown in Fig. 18. The experimental system includes a power supply, two FPGA boards, a micro control unit, and a personal computer. First, the I/O of FPGA was connected to chip for using FPGA to control the behavior of chip. The power supply is adjusted to a proper voltage level, and connected to the digital voltage supply pin of the chip. Then the test bench was built and the associated firmware is burnt to the FPGA board. Due to the limited FPGA pins, the two FPGA boards were employed. One for inputting signals, while another for displaying results. The input PPG signal is obtained by an optical PPG sensor developed by the laboratory. These data are stored in the read-only memory (ROM) on the FPGA boards. The data sequentially enter the chip. The input clock is the built-in clock on the FPGA boards. With the input PPG data received by the chip, the signal processing and the calculation of the blood pressure value are in operation and then resulted in HR, SBP and DBP. The result is output by the seven-segment display on one of FPGA boards. The MCU and the computer are responsible for displaying the original data stored in the ROM. Figure 19a shows the resulted SBP calculated by the chip, while DBP in Fig. 19b and HR in Fig. 20.

Fig. 17
figure 17

a The die photo of blood pressure algorithm; b the test board of blood pressure algorithm IC

Fig. 18
figure 18

The experiment setup for testing blood pressure algorithm IC

Fig. 19
figure 19

The experimental results of a SBP; b DBP shown on the FPGA board

Fig. 20
figure 20

The experimental results for heart rate shown on the FPGA board

Besides testing with PCB boards, automatic test equipment (ATE) was uesd. The ATE in CIC is the high-end tester PS1600 of ADVANTEST V93000 SmartScale C-CLASS. Before testing, ASCII vector file (.avc File) need to be prepared. An AVC FILE contains the vectors to be used for function test. The chip is mounted onto a device-under-test (DUT) board as shown in  Fig. 21. DUT Board is mounted on the DUT board stiffener. They are mechanically connected to DUT interface. The chip testing can be started after the pre-work is completed. The Shmoo Spec test function is the main test functions involved with an equation-based testing. The test results can be represented by the Shmoo plot shown in Fig. 22. The x-axis of the Shmoo plot is the frequency, while the y-axis is the operating voltage. The green part corresponds to function pass, while the red part is function fail. This Shmoo plot shows that the chip operates properly at various voltages and frequencies. The highest operating frequency of the chip in this paper is about 20 MHz.

Fig. 21
figure 21

The DUT board for testing the tape-out chip

Fig. 22
figure 22

Shmoo plot

4.3 Experimental results

The measured data of the sensor for calculating BPs are obtained from 63 healthy subjects between 20 and 48 years old. The subjects are required not to drink (alcohol), eat, smoke or do exercise 2 h before measuring blood pressure. The non-invasive blood pressure sensor is applied to the subject’s wrist to sense the pulsation of the wrist artery. The computation algorithm is developed with a calibration process proposed along with the usage of a cuff-type blood pressure monitor, OMRON HEM-7310. With the non-invasive blood pressure sensor designed by our lab, the experiment results of 63 different subjects, which accords to the conditions above, demonstrates the feasibility of the use of the algorithm implemented in the designed digital chip. Figure 23a and b show the results of estimating SBP and DBP in Bland–Altman plots, where the error of SBP is − 0.318 ± 5.14 mmHg, while the error of DBP is − 0.44 ± 1.97 mmHg. The mean absolute difference of SBP is 3.27 mmHg. The standard deviation of SBP is 3.27 mmHg. The mean absolute difference of DBP is 1.21 mmHg. The standard deviation of DBP is 1.97 mmHg. Similar studies on SBP and DBP are extended to HR. Figure 24 show the results of estimating HR also in a Bland–Altman plot, where the error of heart rate is 0.37 ± 6.41 bmp. Based on the aforementioned experimental results, the designed digital chip with blood pressure algorithm implemented renders the predictions on SBP, DBP and HR in Grade A, defined by the Association for the Advancement of Medical Instrumentation (AAMI), as shown in Fig. 25.

Fig. 23
figure 23

Bland–Altman plot of the difference between RPTT-estimated and reference a SBPs and b DBPs for all subjects

Fig. 24
figure 24

Bland–Altman plot of the difference between PPG signal estimated and reference heart rates for all subjects

Fig. 25
figure 25

The experiment results of blood pressure prediction and their grades in AAMI

5 Conclusion

A fast digital chip is designed and fabricated successfully to implement the algorithm for estimating blood pressures (BPs) in real time by a non-invasive cuffless photoplethysmogram (PPG) sensor. The blood pressure algorithm with PPG sensor is expected to be able to calculate SBP, DBP and HR quickly and accurately. The blood pressure platform is developed with GUI for long-term cuffless BP measurement. The resulted error of estimating SBP is 3.27 ± 3.27 mmHg (mean absolute difference ± standard deviation). The error of DBP is 1.21 ± 1.97 mmHg. The experiment results of blood pressure algorithm are in Grade A, which is defined by the Association for the Advancement of Medical Instrumentation (AAMI). Compared to other algorithms of earlier studies based on BP estimation by using PPG signal in Grade A (Duan et al. 2016; Mousavi et al. 2019; Gaurav 2016; Lazazzera et al. 2019), the proposed algorithm of this study is easy to execute in a digital chip due to its uncomplicated nature and provides acceptable results in terms of accuracy. Furthermore, the proposed digital chip with blood pressure algorithm implemented for a PPG sensor is ready to be realized in wearable devices.