# Cleaning ECG with Deep Learning: A Denoiser Based on Gated Recurrent Units

Mariana Dias, Phillip Probst, Luís Silva, Hugo Gamboa

► To cite this version:

Mariana Dias, Phillip Probst, Luís Silva, Hugo Gamboa. Cleaning ECG with Deep Learning: A Denoiser Based on Gated Recurrent Units. 14th Doctoral Conference on Computing, Electrical and Industrial Systems (DoCEIS), Jul 2023, Monte Da Caparica, Portugal. pp.149-160, 10.1007/978-3-031-36007-7_11. [https://inria.hal.science/hal-05473065v1](https://inria.hal.science/hal-05473065v1)

HAL Id: hal-05473065

Submitted on 23 Jan 2026

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons CC BY 4.0 - Attribution - International License
<figure><img src="image_2.png" /></figure>

ifip

International Federation for Information Processing

This document is the original author manuscript of a paper submitted to an IFIP
conference proceedings or other IFIP publication by Springer Nature. As such, there
may be some differences in the official published version of the paper. Such
differences, if any, are usually due to reformatting during preparation for publication or
minor corrections made by the author(s) during final proofreading of the publication
manuscript.
<figure><img src="image_3.png" /></figure>

# Cleaning ECG with Deep Learning: A Denoiser
Based on Gated Recurrent Units

Mariana Dias(✉), Phillip Probst, Luís Silva, and Hugo Gamboa

LIBPhys (Laboratory for Instrumentation, Biomedical Engineering, and Radiation Physics),
NOVA School of Science and Technology, NOVA University Lisbon, 2829-516 Caparica,
Lisbon, Portugal

{mag.dias,p.probst}@campus.fct.unl.pt, {lmd.silva, hgamboa}@fct.unl.pt

**Abstract.** The electrocardiogram (ECG) is an established exam to diagnose cardiovascular disease. Due to the increasing popularity of wearables, a wide part of the population has now access to (self-)monitorization of cardiovascular activity. Wearable ECG acquisition systems are prone to noise sources stemming from surrounding muscle activation, electrode movement, and baseline wander. Hence, many attempts have been made to develop algorithms that clean the signal, but their performance falls short when applied to very noisy signals. Acknowledging the demonstrated power of Deep Learning on timeseries processing, we propose a ECG denoiser based on Gated Recurrent Units (GRU). Noisy ECG samples were created by adding noise from the MIT-BIH Noise Stress Test database to ECG samples from the PTB-XL database. The trained network proves to remove various common noise types resulting in high quality ECG signals, while having a much smaller number of parameters compared to state-of-the-art DL approaches.

**Keywords:** ECG · Signal Processing · Deep Learning · Denoiser · GRU

## 1 Introduction

The electrocardiogram (ECG) records the electrical activity of the heart and is a widely used exam to diagnose cardiovascular diseases. A healthy heartbeat signal is represented in Fig. 1(a), being composed of: i) a P wave generated by the atrial depolarization, ii) the QRS complex generated by the ventricular depolarization, and iii) a T wave generated by ventricular re-polarization [1].

ECG monitoring allows capturing information regarding cardiac events, such as arrhythmia, anomalous heartbeats, or fluctuations in heart rate variability. Due to the increasing popularity of wearables, ECG assessments have become more accessible enabling a wide part of the population to (self-)monitor cardiovascular activity. While ECG is relatively straight-forward to capture, acquisition systems are prone to different types of noise that might influence a correct analysis and interpretation. The most common sources of noise in ECG signals are surrounding muscle activation (MA), electrode
movement (EM), and baseline wander (BW) [2]. Artifacts that overlap with the frequency spectrum of the ECG signal (~[1 Hz, 45 Hz]) are especially challenging because these cannot be removed with linear filters (low-, band-, nor high-pass filters) [1].

<figure><img src="image_4.png" /><figcaption>**Fig. 1.** (a) A normal heartbeat ECG and annotated waves. (b) Schematic representation of a GRU cell.</figcaption></figure>

Traditional noise removal techniques include empirical mode decomposition, wavelets, sparsity-based models, Bayesian filters, and hybrid models [3]. Recently, Deep Neural Networks have shown enhanced performance in ECG denoising [4] just like in several other tasks regarding automatic ECG processing and classification [5].

Recurrent Neural Networks (RNNs) are a family of neural networks for processing sequential data, such as physiological signals. RNNs include feedback connections among hidden units, which allow a “memory” of previous inputs to persist in the network’s internal state. The mathematical challenge of learning long-term dependencies is that gradients propagated over many timesteps tend to vanish. A variation of an RNN that addresses this problem is the GRU [6]. The basis behind the GRU architecture is a cell (illustrated in Fig. 1(b)) which can maintain its state over time due to two non-linear gates that regulate the information flow into and out of the cell: the reset and update gates. An advantage of the GRU architecture in comparison with other gated RNN architectures (such as the Long Short-Term Memory) is its lower computational complexity.

In this work, we propose a bidirectional GRU-based model for removing MA, EM and BW noise from ECG data. For its development, noisy ECG samples were created by adding noise from the MIT-BIT Noise Stress Test database [7] to ECG samples from the PTB-XL database [8]. This database contains records from more than 18 thousand subjects, both healthy individuals and patients with a variety of CVDs. Employing heterogeneous datasets is a crucial factor as a major difficulty in denoising is preserving the trace of abnormal signals of patients while removing noise. As such, in the present work, the goal was to investigate whether it was possible to build a GRU-based denoiser effective in removing the most common types of noise from ECG signals with diverse characteristics, including healthy and unhealthy patterns.

The main contribution and novelty of our work can be summarized as follows: i) we are the first using a GRU-based network to perform ECG denoising, ii) we are the first using the PTB-XL database in the task of removing MA, EM and BW noise from
ECG signals, and iii) in our approach, we try to mimic noise patterns that are closer to real-world scenarios, e.g., introducing MA and EM as noise bursts instead of corrupting the entire signal.

## 2 Related Work: Deep Learning for ECG Denoising

In recent years Deep Learning (DL) methods have been successfully applied to ECG denoising leading to state-of-the-art results. Extensive reviews of methods that do not use DL can be found in [9] and [3]. Most ECG denoising approaches that employ DL focus on autoencoders (DAE), for which several model architectures have been published, including feed forward neural networks (NN), convolutional neural networks (CNN), and long short-term memory (LSTM).

Rodrigues and Couto [10] presented a feed forward NN and showed that a variety of QRS detectors perform better after using it to denoise ECG signals. In [11] fully connected DAEs were tested on real ECG signals to which Gaussian white noise was added. Arsene, Hankins, and Yin [12] proposed both a CNN and a LSTM based model for ECG denoising which were tested on synthetic and real data and compared with a traditional wavelet approach, showing that the CNN model outperformed the LSTM and the wavelet approach.

Antczack [13] developed an architecture that consists of a LSTM cell followed by several ReLU layers. Their network was pre-trained with synthetic data to find an optimized architecture and subsequently fine-tuned with real data. Both datasets were corrupted by white noise. They compared their network to a wavelet approach and a bandpass filter and their model outperformed these approaches. A DAE that combines CNN and LSTM was proposed by Dasan and Panneerselvam [14]. Their model consists of several convolutional layers followed by a LSTM cell and a dense fully connected layer. The encoded representation is then decoded by convolutional layers and a dense layer that reconstructs the signal.

Recently an approach using a generative adversarial network (GAN) was proposed in [4]. The generator of the GAN receives signals corrupted with noise and is set to recreate the original noise-free signal. The discriminator receives either the output of the generator or a real noise-free ECG signal. It is set to distinguish if the provided input is either a real noise-free signal or a denoised signal. The network was compared to several other DAEs as well as traditional models, managing to outperform all comparative approaches on real ECG data that was exposed to different noise levels and noise types such as EM, MA, BW.

While the presented approaches are all valid, they have certain limitations. With the exception of [11] and [13], all presented papers use either synthetic data and/or the MIT-BIH Arrhythmia database [15], which consists of data from only 47 subjects. There is the possibility that these networks are biased towards arrythmia signals and their denoising results would not translate to other pathologies. Furthermore, in all works noise was applied to the entire sample, which is not necessarily representative of real-world scenarios (e.g., motion or muscle artifacts do generally appear for short amounts of time, unless the subject is moving constantly). Finally, while [11] and [13] used the PTB-XL database they only applied white noise to their ECG samples. This shows that
there is a lack of models that are trained with more diverse datasets (i.e., containing more pathologies and data from healthy subjects) as well as with realistic noise characteristics.

# 3 Contribution to Connected Cyber Physical Spaces

The efforts of digitalization in the industry sector together with recent technological advancements in ubiquitous computing have opened up research opportunities for work-flow and process optimization that also focus on worker health. Within this context the project OPERATOR was initiated. The project aims to take a holistic approach at the industry 4.0 workplace with a major focus on the mental and physical well-being of workers ultimately creating a more human-centered workplace. Part of this project is to develop innovative frameworks that collect quantitative and qualitative data through ubiquitous computing devices, such as wearables, and health-oriented questionnaires. The gathered data will be used to implement decision support systems that help manufactures optimize processes under three perspectives: ergonomics, cognition, and productivity. A key component to track worker health is the ECG as it can indicate how the different work processes influence the cardiac cycle. This allows us to not only see immediate changes in cardiac activity (for example, changes in the heart rate variability due to the presence of fatigue [16]) but also see how cardiac health is affected over longer periods of time. However, acquiring ECG signals in industrial settings comes with its challenges. As workers in this sector are often exposed to work tasks that involve high amounts of movement, recorded ECG signals are prone to motion and muscle artifacts. Hence, it is necessary to develop robust noise removal techniques that can be integrated into the data processing pipeline. The proposed denoiser thus contributes to the topic of "Connected Cyber Physical Spaces" as it will be an essential part of the data acquisition pipeline, ensuring high quality standards for the collected data and in turn the validity of the developed decision support systems.

# 4 Methods

## 4.1 Databases

In this work two databases were used, the PTB-XL database [8] and the MIT-BIH Noise Stress Test database [7], both publicly available in PhysioBank [17].

The PTB-XL database consists of 21837 clinical 10-s ECG records that were acquired from 18885 patients with an age range between 0–95 years and gender evenly distributed. Signals were originally acquired at 400 Hz using a 12-lead ECG. An upsampled version at 500 Hz and a downsampled version at 100 Hz are provided. The database covers pathologies with regards to conduction disturbance, myocardial infarction, hypertrophy, and ST/T change. Additionally, 9528 instances (43.6%) of normal ECG are provided. The data is, according to the authors, of highest quality, with only some instances containing static noise (14.9%), baseline drift (7.4%), burst noise (2.8%), or electrode problems (0.1%).

The MIT-BIH Noise Stress Test database contains three half-hour recordings of BW, MA, and EM noise. Two channels of noise were collected at 250 Hz, by placing the electrodes in such a way that the ECG is not visible.
## 4.2 The Creation of Our Dataset

**Data Pre-processing.** The following pre-processing steps were applied to the ECG data. The 500 Hz version of the PTB-XL database was downsampled to 360 Hz (same as MIT-BIH Arrhythmia database). As some records contained small amounts of noise, a second order bandpass butterworth filter was applied to all ECG signals, with high pass cut-off frequency of 1 Hz and low pass cut-off frequency of 45 Hz for high frequency noise elimination [1]. Lastly, a *Min-Max* normalization was performed (normalization based on the minimum and maximum values of each record). The noise data was also resampled to 360 Hz.

**Training, Validation, and Test Sets.** The ECG data from PTB-XL was divided in training, validation, and test sets, with a proportion of 70%, 15%, and 15%, respectively. For each signal, the three leads with the lowest number of peaks were selected and, for the training set, the 3 leads were used, as separate signals; for the validation and test sets, 1 of the 3 leads was randomly selected. The rationale is: as all leads are records of the same heart activity, a higher number of peaks in one lead is likely due to the presence of noise. This way, we had 45777 (15259 × 3 leads) ECG samples for training, 3270 for validation, and 3270 for testing. Regarding the noise data, both provided channels were used, totaling 60 min of BW, MA, and EM noise. 80% (48 min) was used for training, 10% (6 min) for validation, and the remaining 10% for testing.

**The Model's Input: Creation of Noisy Samples.** For training our model, we added to each 10-s clean ECG signal a random portion of noise, with a length of 2 to 6 s. The EM and MA noises were added to a random part of the clean ECG signal while the BW noise was always added to the entire 10 s, as illustrated in Fig. 2. Additionally, to some records, mixed samples of different types of noise were added. The set of all possible combinations was: (MA, EM, BW, BW + MA, BW + EM, MA + EM, BW + MA + EM). There was a probability of 1/3 that the added noise was MA, of 1/3 that the added noise was EM and of 1/3 that the added noise was either BW or any combination. The reason for this is the fact that BW noise is the easiest to remove and having combinations of different noise simultaneously is less likely in the real-world scenarios. In the training set, as we used separately 3 leads from the same signal, a different type of noise was added to each lead. In the training and validation sets, in order to include different proportions of noise, the noise was multiplied by a randomly chosen factor between [0.7, 1.5] before being added to the ECG signal. These boundaries were chosen to ensure that the model was exposed to neither too low nor unrealistically high amounts of noise. Regarding the test set, the added noise had known SNR<sub>in</sub> values of either 0, 5, 7, or 10 dB. The reasoning for this procedure was that the model should be prepared to handle a wide range of noise but at the same time should be tested in a way that would allow for a comparison with the results found in the literature.
<figure><img src="image_5.png" /><figcaption>Fig. 2. Schematic representation of the creation of noisy samples from adding MA, EM and BW noise to the clean ECG samples from PTB-XL.</figcaption></figure>

## 4.3 The GRU-Based Denoiser

Throughout the development of the GRU model, different architectures were tested. The optimized hyperparameters are presented in Table 1 and the two main versions of the architecture are illustrated in Fig. 3: the unidirectional and the bidirectional GRU. The model had as input the ECG signals after the pre-processing and noise addition steps. A Min-Max normalization was performed to the input, prior giving the data to the model. This way, the input consisted of sequences with a length 3600 samples (10 s recorded at 360 Hz) with values between [0, 1]. The desired output was the clean signals after preprocessing.

While the number of layers, neurons, and the dropout rate (applied to the output of GRU layers with the exception of the last) were optimized, there were some parameters of the model that were chosen *a priori*. In the bidirectional approach, only the first or first two (in the cases where there were three) GRU layers were bidirectional. The loss function used was the Root Mean Square Error between the predicted and desired outputs. All models were trained using the *Adam* optimizer, for 130 epochs with a batch size of 256 and an initial learning rate of 0.005. For each approach, the model's parameters from the epoch with the lowest validation loss during training were saved. Finally, validation losses were compared and the model achieving the lowest value was tested on the test set.
<figure><img src="image_6.png" /><figcaption>Fig. 3. Overview of the proposed GRU based framework for ECG denoising.</figcaption></figure>

<table><caption>Table 1. Hyperparameters of the model and corresponding optimized values.</caption><thead><tr><td>Hyperparameter</td><td>Tested values</td></tr></thead><tbody><tr><td>Number of layers</td><td>{2, 3}</td></tr><tr><td>Number of neurons</td><td>{32, 64, 128, 256}</td></tr><tr><td>Dropout rate</td><td>{0, 0.3}</td></tr><tr><td>Bidirectional</td><td>{True, False}</td></tr></tbody></table>

## 4.4 Metrics

To evaluate model performance, common metrics found in the literature were used: the Root-Mean-Square Error (RMSE), the improvement in the Signal-to-Noise Ratio (SNR<sub>imp</sub>), and the Percentage-Root-Mean-Square Difference (PRD) [3]. Equations 1 to 5 describe these metrics, where y is the original clean ECG signal, ŷ is the noisy signal, and ŷ is the denoised signal. Additionally, we used a signal quality metric, the kurtosis (SQI<sub>kur</sub>). It is a statistical measure, that describes the distribution of the signal data throughout the mean [18]. As ECG data follows a Gaussian distribution, the higher the SQI<sub>kur</sub> value, the higher the quality of the signal and, typically, a SQI<sub>kur</sub> > 5 indicates a noise-free signal [18]. It can be computed using Eq. 6, where x(n) denotes the sample point n of the signal x, and μ<sub>x</sub> and σ<sub>x</sub> are, respectively, the mean and the standard deviation of x. The equations that define the used metrics are the following:

$$RMSE = \sqrt{\frac{1}{N} \sum_{n=1}^{N} [y(n) - \hat{y}(n)]^2} \quad (1)$$

$$SNR_{imp} = SNR_{out} - SNR_{in} \quad (2)$$

$$SNR_{in} = 10 \times \log_{10} \left( \frac{\sum_{n=1}^{N} [y(n)]^2}{\sum_{n=1}^{N} [\tilde{y}(n) - y(n)]^2} \right) \quad (3)$$
$$SNR_{out} = 10 \times \log_{10} \left( \frac{\sum_{n=1}^{N} [y(n)]^2}{\sum_{n=1}^{N} [\hat{y}(n) - y(n)]^2} \right) \quad (4)$$

$$PRD = \sqrt{\frac{\sum_{n=1}^{N} [\hat{y}(n) - y(n)]^2}{\sum_{n=1}^{N} [y(n)]^2}} \times 100\% \quad (5)$$

$$SQI_{kur} = \frac{1}{N} \sum_{n=1}^{N} \left[ \frac{x(n) - \mu_{x}}{\sigma_{x}} \right]^{4} \quad (6)$$

# 5 Results and Discussion

Given that we are the first to PTB-XL database as basis for developing a GRU-based denoiser there are no benchmarks available to which our results can be compared. Thus, we opted for comparing our models to traditional denoising approaches and perform a qualitative comparison with state-of-the-art models. From the models described in Sect. 4.3, the one that achieved the lowest RMSE on the validation set was the bidirectional GRU with 2 layers of 64 hidden units with 0 dropout rate. This model has 26121 parameters and achieved the best performance on the validation set after training for 58 epochs. Figure 4 illustrates the evolution of the model performance throughout the training phase: after the first epoch, the model outputs a timeseries that is almost entirely the same as the input; after 10 epochs it gets closer to the clean signal and after training for 58 epochs the noise is essentially removed from the input signal. Figure 5 shows some examples of the performance of the final model on different signals from the test set, corrupted with each type of noise and combination of different noises.

Table 2 demonstrates the mean results over all test signals according to the SNR<sub>in</sub>. When higher amounts of noise are added to the input (i.e., lower SNR<sub>in</sub>) the SNR<sub>imp</sub> is higher. However, PRD and RMSE increase while SQI<sub>kur</sub> decreases, indicating that the output has a higher denoising error and is of lower quality.

Regarding the model's performance on different types of noise, described in Table 3, the results show that the model is most and least effective in cleaning BW and EM, respectively. This is in accordance with results found in the literature. Unexpectedly, the model's performance does not necessarily decline when more than one type of noise corrupts the data. For example, when denoising MA + BW noise, the RMSE is lower than when removing just MA noise and higher than when removing just BW noise. This can be interpreted as if the denoiser removes each type of noise independently and, for the same amount of SNR<sub>in</sub>, when multiple noise sources are present, the error is around the mean of the obtained error for each type of noise alone.
In Fig. 6 we compare our model’s performance with two traditional denoising meth-
ods: the *Neurokit* filter (a 0.5 Hz high-pass butterworth filter of 5th order, followed by
powerline filtering) and the Pan-Tompkins algorithm. These denoisers are implemented
and publicly available in the Neurokit Python Toolbox [19]. The RMSE is 0.029, 0.393,
and 0.405 when using the proposed GRU model, the Neurokit and the Pan-Tompkins
denoisers, respectively, which shows that our model clearly outperforms these traditional
denoisers.

The proposed GRU model achieves good results removing MA, EM and BW noise
from ECG signals, as the output signals have a SQI<sub>kur</sub> > 11. Comparing our results with
state-of-the-art DL models (CDAE-LSTM [14] and GAN [4]), although our mean values
of SNR<sub>imp</sub> and RMSE do not outperform those approaches, our tests were performed on
a significantly higher number of records (3270) with diverse characteristics, achieving
SNR<sub>imp</sub> values of up to 30.6, 28.5, 26.5, and 24.2 dB on records with SNR<sub>in</sub> of 0, 5, 7 and
10 dB, respectively. Regarding the computational expense of these DL approaches, our
model contains only 2.6 × 10<sup>4</sup> parameters, more than 10 times less than the parameters
of the GAN (2.8 x 10<sup>4</sup>) and around 500 times less comparing with the CDAE-LSTM
(1.1 x 10<sup>7</sup>). This is a crucial advantage, as the testing time, especially in light weight
devices, increases exponentially with the number of parameters.

<figure><img src="image_7.png" /><figcaption>Fig. 4. Denoiser perfomance after the first, the tenth and the 58th (best) epochs.</figcaption></figure>
<table><caption>**Table 2.** Mean results obtained (SNR<sub>imp</sub>, PRD, SQI<sub>kur</sub>, and RMSE) for each SNR<sub>in</sub>.</caption><thead><tr><th>SNR<sub>in</sub> (dB)</th><th>SNR<sub>imp</sub> (dB)</th><th>PRD (%)</th><th>SQI<sub>kur</sub></th><th>RMSE</th></tr></thead><tbody><tr><td>0</td><td>21.7</td><td>8.9</td><td>12.0</td><td>0.041</td></tr><tr><td>5</td><td>19.5</td><td>6.5</td><td>12.2</td><td>0.029</td></tr><tr><td>7</td><td>18.6</td><td>5.7</td><td>12.4</td><td>0.025</td></tr><tr><td>10</td><td>16.5</td><td>5.4</td><td>12.5</td><td>0.023</td></tr></tbody></table>

<figure><img src="image_8.png" /><figcaption>**Fig. 5.** Denoiser performance. Left: electrode motion (EM), muscle artifact (MA), and baseline wander (BW). Right: samples corrupted with different combinations of noise.</figcaption></figure>

<table><caption>**Table 3.** Results obtained (SNR<sub>imp</sub>, PRD, SQI<sub>kur</sub>, and RMSE) per noise type.</caption><thead><tr><th>Noise type</th><th>SNR<sub>imp</sub> (dB)</th><th>PRD (%)</th><th>SQI<sub>kur</sub></th><th>RMSE</th></tr></thead><tbody><tr><td>MA</td><td>19.2</td><td>6.4</td><td>12.4</td><td>0.029</td></tr><tr><td>EM</td><td>18.2</td><td>7.0</td><td>12.1</td><td>0.032</td></tr><tr><td>BW</td><td>20.6</td><td>5.5</td><td>13.3</td><td>0.024</td></tr><tr><td>MA + BW</td><td>19.4</td><td>6.5</td><td>11.8</td><td>0.027</td></tr><tr><td>EM + BW</td><td>19.5</td><td>6.1</td><td>12.3</td><td>0.027</td></tr><tr><td>MA + EM</td><td>19.2</td><td>6.4</td><td>11.7</td><td>0.029</td></tr><tr><td>MA + EM + BW</td><td>18.9</td><td>6.6</td><td>12.8</td><td>0.029</td></tr></tbody></table>
<figure><img src="image_9.png" /><figcaption>**Fig. 6.** Comparative results of the proposed denoiser (GRU) and two denoisers publicly available through the Neurokit Python toolbox [19]: *Neurokit* and *Pan-Tompkins*.</figcaption></figure>

# 6 Conclusions and Future Work

In this work, a simple GRU-based DL architecture is proposed to execute the task of ECG denoising. For the first time, a DL denoiser was trained and tested on the PTB-XL database for the task of removing MA, EM and BW noise from ECG signals. The developed approach cleans noisy ECG signals and outputs signals with good quality, based on the $SQI_{kur}$, while simultaneously preserving the trace of abnormal signals of patients. Comparing with the state of the art approaches, the proposed model contains an at least 10 times lower number of parameters, which makes it comparatively much more suitable for automatic real time processing of data, useful in contexts of ECG monitoring using wearable sensors. As future work, it would be interesting to understand why the denoiser behaves better in some signals than in others. Furthermore, we will fine-tune the developed model to other types of noise to make it more robust to any situation.

**Acknowledgments.** This work was supported by Project OPERATOR (NORTE01-0247-FEDER-045910), cofinanced by the European Regional Development Fund through the North Portugal Regional Operational Program and Lisbon Regional Operational Program and by the Portuguese Foundation for Science and Technology, under the MIT Portugal Program. M. Dias and P. Probst were supported by the doctoral Grants SFRH/BD/151375/2021 and RT/BD/152843/2021, respectively, financed by the Portuguese Foundation for Science and Technology (FCT), and with funds from State Budget, under the MIT Portugal Program.
## References

1. Li, H.Z., Boulanger, P.: A survey of heart anomaly detection using ambulatory electrocardiogram (ECG). Sensors **20**(5), 1461 (2020). https://doi.org/10.3390/S20051461

2. Joshi, S.L., Vatti, R.A., Tornekar, R.V.: A survey on ECG signal denoising techniques. In: Proceedings - 2013 International Conference on Communication Systems and Network Technologies, CSNT 2013, pp. 60–64 (2013). https://doi.org/10.1109/CSNT.2013.22

3. Chatterjee, S., Thakur, R.S., Yadav, R.N., Gupta, L., Raghuvanshi, D.K.: Review of noise removal techniques in ECG signals. IET Signal Process. **14**(9), 569–590 (2020). https://doi.org/10.1049/IET-SPR.2020.0104

4. Wang, J., et al.: Adversarial de-noising of electrocardiogram. Neurocomputing **349**, 212–224 (2019). https://doi.org/10.1016/J.NEUCOM.2019.03.083

5. Liu, X., Wang, H., Li, Z., Qin, L.: Deep learning in ECG diagnosis: a review. Knowl.-Based Syst. **227**, 107187 (2021). https://doi.org/10.1016/j.knosys.2021.107187

6. Cho, K., et al.: Learning phrase representations using RNN encoder-decoder for statistical machine translation. In: EMNLP 2014 - 2014 Conference on Empirical Methods in Natural Language Processing, pp. 1724–1734 (2014). https://doi.org/10.48550/arxiv.1406.1078

7. Moody, G.B., Muldrow, W., Mark, R.G.: A noise stress test for arrhythmia detectors. Comput. Cardiol. **11**(3), 381–384 (1984)

8. Wagner, P., et al.: PTB-XL, a large publicly available electrocardiography dataset. Sci. Data **7**(1), 1–15 (2020). https://doi.org/10.1038/s41597-020-0495-6

9. Tripathi, P.M., Kumar, A., Komaragiri, R., Kumar, M.: A review on computational methods for denoising and detecting ECG signals to detect cardiovascular diseases. Arch. Comput. Methods Eng. 1–40 (2021). https://doi.org/10.1007/s11831-021-09642-2

10. Rodrigues, R., Couto, P.: A neural network approach to ECG denoising, arXiv (2012). https://doi.org/10.48550/arXiv.1212.5217

11. Marwan, B., Samann, F., Schaanze, T.: Denoising of ECG with single and multiple hidden layer autoencoders. In: Current Directions in Biomedical Engineering, pp. 652–655 (2022). https://doi.org/10.1515/cdbme-2022-1166

12. Arsene, C.T.C., Hankins, R., Yin, H.: Deep learning models for denoising ECG signals. In: European Signal Processing Conference, vol. 2019 (2019). https://doi.org/10.23919/EUSIPCO.2019.8902833

13. Antczak, K.: Deep Recurrent Neural Networks for ECG Signal Denoising (2018). https://doi.org/10.48550/arxiv.1807.11551

14. Dasan, E., Panneerselvam, I.: A novel dimensionality reduction approach for ECG signal via convolutional denoising autoencoder with LSTM. Biomed. Signal Process. Control **63**, 102225 (2021). https://doi.org/10.1016/j.BSPC.2020.102225

15. Moody, G.B., Mark, R.G.: The impact of the MIT-BIH arrhythmia database. IEEE Eng. Med. Biol. Mag. **20**(3), 45–50 (2001). https://doi.org/10.1109/51.932724

16. Carvalho, D., et al.: Cardiovascular reactivity (CVR) during repetitive work in the presence of fatigue. Intell. Hum. Syst. Integr. (IHSI 2023) Integr. People Intell. Syst. **69**(69) (2023). https://doi.org/10.54941/ahfe1002833

17. Goldberger, A.L., et al.: PhysioBank, PhysioToolkit, and PhysioNet: components of a new research resource for complex physiologic signals. Circulation **101**(23), e215–e220 (2000)

18. Karmakar, C., Rahman, S., Natgunanathan, I., Yearwood, J., Palaniswami, M.: Robustness of electrocardiogram signal quality indices (2022). https://doi.org/10.1098/rsif.2022.0012

19. Makowski, D., et al.: NeuroKit2: a Python toolbox for neurophysiological signal processing. Behav. Res. Methods **53**(4), 1689–1696 (2021). https://doi.org/10.3758/s13428-020-01516-y