1. Introduction
This work presents the development of a portable biomedical system for the acquisition and integration of four cardiac signals: Sismocardiography (SCG), Electrocardiography (ECG), Impedance Cardiography (ICG), and Photoplethysmography (PPG). These are non-invasive methods to obtain records of the heart’s electrical activity, monitor heart rate, blood pressure, oxygen saturation in the blood, and evaluate the hemodynamic status of a patient.
While ECG has been widely used for the precise determination of intervals between successive heartbeats, it can sometimes be affected by noise sources [
1]. PPG records, on the other hand, can complement ECG measurements [
2,
3], providing additional physiological parameters like blood oxygenation and respiratory rate.
However, PPG measurements can be affected by factors like sensor-to-skin distance variations, particularly in patients with conditions like Parkinson’s or tremors. Additionally, high ambient light levels can lead to signal acquisition issues. The Pulse Transit Time (PTT) is another important metric that can be derived from PPG, but its accuracy can be affected by factors like pre-ejection period (PEP).
To address these challenges, Impedance Cardiography (ICG) is implemented to detect aortic valve opening, providing more accurate estimates compared to relying solely on ECG R-wave peaks. This approach has been validated in various clinical scenarios.
Signal analysis of SCG also provides valuable information about aortic and mitral valve events, rapid filling, isovolumetric movement, and other cardiac events. SCG is essential for diagnostic and prognostic processes related to conditions like hemorrhage and ischemia [
4,
5,
6].
In conclusion, while individual signals (ECG, SCG, PPG, and ICG) offer valuable information about cardiovascular performance through non-invasive methods, their simultaneous recording provides healthcare professionals with clearer and more precise information for diagnosing potential cardiovascular conditions. This includes factors like heart rate variation, aortic valve events, and pulse transit time. This system also addresses the challenges faced by elderly patients in attending medical appointments, especially in light of factors like the COVID-19 pandemic. It reduces the need for separate, costly studies and the requirement for specialized personnel to operate the equipment.
2. Methodology
For the acquisition of the ECG signal, the electrode placement configuration used is based on the Holter monitor setup, specifically channel 2. A black electrode (Ch 2 −) is positioned at the top of the sternum, to the left of the bone. A brown electrode (Ch 2 +) is placed on the right side of position V1, on the rib. Finally, a green reference electrode should be placed on the right side, opposite to position V5, on the rib [
7].
The important information in ECG signals is contained within the frequency range of 0.03 Hz to 100 Hz [
8]. For this reason, low-pass filters with cutoff frequencies of 110 Hz and 95 Hz will be implemented. After this filtering, an inversion and level shift are performed to protect the microcontroller, establishing the signal between 0 and 5 Volts. To achieve this, a voltage inverter and summing amplifier will be implemented. The first amplifier will leave the signal in negative voltages with a gain of −1, and the second amplifier will add a negative voltage of 2.5 V. Initially, this second amplifier will not have any amplification properties on the wave; it will only be summed with the value of 2.5 V to serve as the signal’s intermediate value. At this point, the signal is negative because operational amplifiers have been used in inversion mode. Therefore, another inversion and filtering are needed to provide a positive and ideal signal to the microcontroller.
Figure 1 presents the schematic to be implemented for ECG signal acquisition.
For the SCG signal acquisition, the system will utilize a triaxial accelerometer ADXL335 from Analog Devices in Wilmington, United States, which has an output voltage range of 0 to 3.6 V. The sismocardiographic signals oscillate between 0.5 and 50 Hz [
9], and the measurement bandwidth of the ADXL335 accelerometer ranges from 0 to 1600 Hz for the
Y and
X axes, and from 0 to 550 Hz for the
Z axis.
It is necessary to implement high-pass filters with a cutoff frequency of 0.5 Hz, as most of the noise in the original SCG signal occurs below this frequency. Additionally, a low-pass filter with a cutoff frequency of 100 Hz is required.
Figure 2 presents the schematic to be implemented for SCG signal acquisition.
In the proposed system of
Figure 3, a 50 KHz current is generated for bioimpedance measurements, a standard frequency for this type of assessment within the ICG signal acquisition.
The four-electrode method is chosen for its superior measurement precision [
10]. This technique effectively eliminates the impedance of the electrodes, provided their impedance is significantly smaller than that of the circuit used for voltage detection, and that they do not cause saturation in the current-injecting circuits.
The process begins with the generation of a precisely controlled sinusoidal signal at a stable frequency of 50 KHz. This is achieved using specialized generators like the AD9833 from Analog Devices in Wilmington, United States, which can program both the frequency and phase of the signal through software.
Subsequently, the sinusoidal wave is introduced into the second stage, which is responsible for delivering a known and consistent current across the entire frequency range.
This is accomplished by employing a Howland pump configuration, a circuit that can accept an input voltage and produce a known output current. Operational amplifiers like the OPA354 from Texas Instruments in Dallas, United States are integral to this stage.
Lastly, the detection stage captures the voltage generated by the introduced current in the tissue. This voltage is then amplified using an instrumentation amplifier to yield values suitable for further digital processing.
For the acquisition of the PPG signal presented in
Figure 4, an infrared optocoupler (Rpr220 infrared sensor from Rohm Semiconductor in Kyoto, Japan) is used, consisting of an infrared light-emitting diode and a phototransistor. The signal undergoes pre-amplification, which may or may not be necessary depending on the strength of the signal provided by the photoreceptor [
11].
In this case, a high-pass filtering is applied with a cutoff frequency slightly below the modulation signal frequency, but it should be as far removed as possible from the frequencies of potential light interference that the photoreceptor may pick up. This process eliminates the DC component and all low frequencies that may distort the signal of interest.
At the output, a signal with zero mean value is obtained. Next, the signal passes through an amplifier to increase its amplitude. To complete the filtering stage, a low-pass filter is necessary. To be read by the Arduino Nano V3.0 ATMEGA328P, it is essential to add a suitable DC voltage reference to ensure that the signal is within the range of 0 to 5 V.
Figure 4 presents the schematic to be implemented for PPG signal acquisition.
Finally, the four signals will be connected to the microcontroller. This Arduino Nano will transmit the data via Bluetooth 4.0, which will be received by another Arduino connected to a PC via USB cable. The data will then be stored, displayed, and analyzed using a graphical user interface in MATLAB 2021, as shown in
Figure 5.
3. Signal Processing
Signal processing is typically conducted on a computer. MATLAB is the preferred programming environment for receiving, processing, and visualizing data when dealing with multiple signals. For PPG signal processing, a digital bandpass filter with cutoff frequencies of 1 Hz and 7 Hz is necessary to remove existing noise [
12]. Digital filters allow for a reduction in the use of analog filters, which can affect circuit size and cost. The desired result is a clean signal suitable for detecting systolic peaks.
For SCG signals, a high-pass filter followed by a low-pass filter with frequencies of 0.5 Hz and 100 Hz, respectively, were applied. A low-order filter was chosen to minimize data loss. This method effectively visualizes phenomena such as aortic valve opening. A Kaiser-window bandpass FIR filter with cutoff frequencies of 1 Hz and 45 Hz was employed to reduce body movement-induced alterations. Additional median filtering and smoothing algorithms were used to eliminate unwanted peaks, trends, and outliers. Nonlinear trend removal of order 14 was deemed necessary for centering the signal at 0, accomplished using “polyfit” and “polyval” functions. ECG signals underwent digital bandpass filtering (0.5–40 Hz), lowess smoothing, linearization, and nonlinear trend removal of order 6 for enhanced analysis. ICG signals were processed with a FIR bandpass filter (0.7–7 Hz), detrended, and delayed. A derivative filter in the 30 Hz range was applied for further analysis. The goal is to obtain a waveform centered on the x-axis for comprehensive variable analysis, particularly focusing on signal maxima.
4. Development of the GUI
The “BIO4GRAM” application, designed using MATLAB App Designer, serves as a platform for receiving, processing, and visualizing data from various biomedical signals. The key tabs within the application are “Bluetooth and Visualization”.
Initially, the user needs to pair their computer with the Arduino via Bluetooth (HC-05 with default passkey 1234). In the “Bluetooth” tab, a function called “bluetoothlist” is executed by pressing the “Search devices” button, providing information about the discovered Bluetooth devices and their connection status. Once the Arduino indicates “Ready to connect”, the user can proceed to the “Visualization” tab as shown in
Figure 6. Here, the user can select the sampling time (the default is 22 s but this can be extended to 5 min) and press the “Start” button to begin data acquisition. The signals are plotted automatically, and a “Control and Results” panel allows for adjustments to the graph limits, as well as viewing parameters like heart rate and its variability.
Users can further enhance their experience by utilizing features like “Pan”, “Zoom In”, and “Zoom Out” buttons for better navigation and visualization. Additionally, all signals can be viewed together in a single graph, either simultaneously or individually, using the “normalize” function to adjust their values to the same range. Heart rate is calculated using a formula mentioned and the “findpeaks” function is implemented to identify systolic peaks in the PPG and ECG signals. This provides the indices of these peaks for further analysis.
For SCG signals, a similar algorithm is applied to detect aortic valve opening peaks and minimum points using the “islocalmin” function. Additional information is provided by labeling each AO peak with its corresponding time, allowing for easy identification of inter-beat intervals. The application aims to facilitate the diagnosis of atrial fibrillation (AF) by enabling the efficient extraction of intervals between heartbeats. Furthermore, it calculates the pre-ejection period (PEP) and pulse transit time (PTT) from the signals and determines the ejection time (ET) from the ICG signal, and a simple algorithm is developed to locate this point. Finally, it computes the systolic time ratio (STR) and systolic time interval (STI) using the obtained PEP and ET values.
5. Design of the Device
Figure 7 displays the casing that will shield the circuits for each of the signals.
In
Figure 8, the assembly of the box with expanded polystyrene padding is shown, serving as a cushion to absorb impacts. This ensures that the internal boards do not undergo significant deformation while maintaining the uniformity and lightness of the casing.
Figure 9a depicts the prototype of the pulse oximeter for capturing the PPG signal and
Figure 9b provides a cross-sectional view of the component, revealing the compartment designated for housing the RPR-220 optical sensor.
6. Digital Processing Analysis
For the SCG signal, a 4th order filter was implemented, followed by an evaluation of the delay. The results in
Figure 10 show a clear reduction in noise, sufficient for a quick visualization of the aortic valve (AO) opening.
In
Figure 10, between 17 and 18 s, it is evident that there are two peaks with approximately the same magnitude. As a result, it is challenging to pinpoint the AO point with certainty. However, after applying the filter, in the second graph (Filtered Signal), it becomes possible to distinguish the maximum peak, which occurs in many parts of the signal.
Additionally, a median filter of order 3 and a smoothing of order 4 were applied. This proved useful in attenuating small peaks in the signal, providing greater clarity in the analysis of its parameters. Increasing the order, on the other hand, diminished the amplitude of maximum values, such as AO, making their detection more challenging. The results, along with the polynomial fit of order 21 for linearizing the signal, are presented in
Figure 11a. Moreover, it is possible to visualize some additional points in
Figure 11b, such as isovolumic movement (IM), isovolumic contraction (IC), and rapid systolic ejection (RE).
For peak detection in ECG and PPG, an algorithm was implemented to search for values above the average of the data with a minimum separation distance of 0.3 s between them.
Furthermore, heart rate variability is a variable capable of predicting cardiovascular risk. An R-R interval between 0.7 and 0.9 s indicates a moderate risk, while an interval greater than 0.9 s indicates a low risk. With the maximum points identified in both ECG and PPG, it is easy to calculate the PTT value by subtracting the time vectors of both signals only at these points, from an R-peak to a systolic peak [
13,
14]. This parameter provides information about blood pressure, as an increase in PTT is associated with an increase in vascular tone. Additionally, it allows for the detection of micro-awakenings without the need for an electroencephalogram (EEG) [
14]. In the case of patients with cardiac arrhythmias, such as atrial fibrillation, it can also provide valuable insights. The detection of the QRS complex, typically performed manually in short-duration records, is automated using methods such as applying the second derivative of the signal and a FIR derivative filter. This process is applied after specific filtering to highlight the Q, R, and S waves. The results show characteristic points marked as “o” in
Figure 12, providing valuable information about the duration of the QRS complex.
It is important to note that certain cardiac conditions, such as cardiomyopathies, myocardial ischemia, or acute infarction, may alter the morphology of the ECG signal [
15], limiting the effectiveness of the proposed algorithm in such cases. However, identifying peaks in the graph can serve as an indication of potential abnormalities in heart function.
7. Validation
In order to compare the signals with commercial devices, the validation of the device was carried out at the Clínica de la Costa in Barranquilla, Colombia. A COMeN device, model STAR8000E, capable of capturing PPG and ECG signals, was used. Both devices were used simultaneously, as shown in
Figure 13.
The results for the first test are presented in
Figure 14 for a duration of 22 s. The results from the clinic’s equipment are shown in
Figure 15. Since it does not have the functionality to record information, between 5 and 10 photos were taken.
The numerical value in green corresponds to the heart rate with ECG, and the value in blue corresponds to the heart rate with PPG. Only the value for ECG was taken into account, and the average was calculated.
Considering that the actual value is the average of the heart rates from the captures in
Figure 15, this results in an average heart rate of 55.43 beats per minute. For the BIO4GRAM, the output was 54.85 for both PPG and ECG, which corresponds to an error of 1%.
A total of four tests were conducted in the same manner, each with error percentages below 5%. The heart rate obtained through the PPG signal in the BIO4GRAM application closely aligns with the value obtained in the STAR8000E, as evidenced in tests 2 and 3. Therefore, for heart rate value, it is ideal to use the data obtained from PPG. Additionally, both signals exhibited relatively low errors, below 5%, indicating that the device provides accurate results.
Furthermore, the intraclass correlation coefficient (ICC) + was calculated in RStudio (version) to assess the agreement between two biomedical instruments regarding heart rate. A value of 0.954 was obtained. Considering that a value below 0.5 indicates poor reliability, between 0.5 and 0.75 is moderate, between 0.75 and 0.9 is good, and finally, a result exceeding 0.90 is excellent.
In order to compare the results of the SCG signal, two tests were conducted on the same patient using an echocardiogram from SIEMENS with reference to ACUSON SC2000, in conjunction with the BIO4GRAM application. Two variables were evaluated: the AO-AO interval and the AO-AC interval (Aortic valve opening and closing).
In
Figure 16,
Figure 17 and
Figure 18, it can be observed that the AO-AO and AO-AC intervals, for the SC2000 equipment, result in 837 ms and 282 ms, respectively. In the BIO4GRAM, values of 841.2 ms and 290 ms were obtained. This corresponds to an error of 0.502% and 2.84%, respectively.
8. Conclusions
The application serves not only as a means to visualize signals but also enables basic heart studies through algorithms utilizing functions like “findpeaks” and “datatips”. This provides the opportunity for micro-awakening studies, obtaining additional patterns for early detection of atrial fibrillation, studying changes in body impedance, and predicting the patient’s cardiac risk, among other features obtained by capturing all four signals simultaneously. Combining these signals facilitates PEP analysis, as robust algorithms are needed for its identification in ICG, which may not always be precise. In contrast, PEP can be easily obtained with ECG and SCG using only the Q and AO peaks, which are easily captured using “findpeaks” after applying filtering.
It is worth noting that the heart rate shows an insignificant difference when comparing ECG and PPG, less than 1 ppm. This indicates that the circuits are correctly designed and assembled. When tests were conducted on the same patient and compared with results from a Holter monitor and an echocardiograph, error percentages below 4.3% were obtained for heart rate, AO-AO, and AO-AC intervals. This demonstrates that the device provides credible information about the human heart’s condition, especially through the PPG signal. Additionally, an ICC greater than 0.9 was achieved, indicating excellent reliability in the measurements.
Regarding the signals, ECG, PPG, and SCG align with existing literature. However, ICG readings slightly deviate, likely due to differences in electrode configurations. Nevertheless, ICG remains viable, cost-effective, and comfortable. It allows for device placement on the chest, making it highly portable. With careful PCB design and surface-mounted technology (SMT), this feature could be further improved. The SCG signal captured using the MMA7361 sensor was highly effective, particularly in supporting and detecting parameters for ICG and ECG. The ADXL335 sensor, on the other hand, lacks integrated regulation and sensitivity adjustment. Finally, the validation of ICG could not be conducted due to limited access to widely used commercial devices in Colombia. Future studies aim to address this gap.